From 36f3207b277ecbd23a3d4081e4714fc543e25145 Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Fri, 28 Dec 2012 07:49:39 -0600 Subject: libfs: Doxygen Enhancement Task #3 --- cpukit/libfs/src/defaults/default_chown.c | 6 ++++++ cpukit/libfs/src/defaults/default_close.c | 6 ++++++ cpukit/libfs/src/defaults/default_fchmod.c | 6 ++++++ cpukit/libfs/src/defaults/default_fsunmount.c | 6 ++++++ cpukit/libfs/src/defaults/default_link.c | 6 ++++++ cpukit/libfs/src/defaults/default_read.c | 6 ++++++ cpukit/libfs/src/defaults/default_statvfs.c | 6 ++++++ cpukit/libfs/src/rfs/rtems-rfs-buffer-bdbuf.c | 16 +++++++++------- cpukit/libfs/src/rfs/rtems-rfs-buffer-devio.c | 15 +++++++-------- cpukit/libfs/src/rfs/rtems-rfs-buffer.c | 15 +++++++-------- cpukit/libfs/src/rfs/rtems-rfs-dir.c | 18 +++++++++--------- cpukit/libfs/src/rfs/rtems-rfs-file-system.c | 17 ++++++++--------- cpukit/libfs/src/rfs/rtems-rfs-file.c | 18 +++++++++--------- cpukit/libfs/src/rfs/rtems-rfs-format.c | 18 +++++++++--------- cpukit/libfs/src/rfs/rtems-rfs-group.c | 19 ++++++++++--------- cpukit/libfs/src/rfs/rtems-rfs-rtems-dir.c | 13 ++++++------- cpukit/libfs/src/rfs/rtems-rfs-rtems-file.c | 20 ++++++++++---------- cpukit/libfs/src/rfs/rtems-rfs-rtems-utils.c | 14 +++++++------- cpukit/libfs/src/rfs/rtems-rfs-shell.c | 14 +++++++------- cpukit/libfs/src/rfs/rtems-rfs-trace.c | 13 ++++++------- 20 files changed, 146 insertions(+), 106 deletions(-) diff --git a/cpukit/libfs/src/defaults/default_chown.c b/cpukit/libfs/src/defaults/default_chown.c index dc457d2838..2880f8e04a 100644 --- a/cpukit/libfs/src/defaults/default_chown.c +++ b/cpukit/libfs/src/defaults/default_chown.c @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief RTEMS Default File System Change Owner + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_close.c b/cpukit/libfs/src/defaults/default_close.c index 3f650b99fb..5cf35e1c48 100644 --- a/cpukit/libfs/src/defaults/default_close.c +++ b/cpukit/libfs/src/defaults/default_close.c @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief RTEMS Default File System Close + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_fchmod.c b/cpukit/libfs/src/defaults/default_fchmod.c index 5e4b6059dc..0004279130 100644 --- a/cpukit/libfs/src/defaults/default_fchmod.c +++ b/cpukit/libfs/src/defaults/default_fchmod.c @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief RTEMS Default File System Change File Mode + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_fsunmount.c b/cpukit/libfs/src/defaults/default_fsunmount.c index 54dd80eafd..b5e1fd1391 100644 --- a/cpukit/libfs/src/defaults/default_fsunmount.c +++ b/cpukit/libfs/src/defaults/default_fsunmount.c @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief RTEMS Default File System Unmount + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_link.c b/cpukit/libfs/src/defaults/default_link.c index d4b30143c7..ab58c9b6fe 100644 --- a/cpukit/libfs/src/defaults/default_link.c +++ b/cpukit/libfs/src/defaults/default_link.c @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief RTEMS Default File System Link + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_read.c b/cpukit/libfs/src/defaults/default_read.c index 8a463e7452..729b3613f0 100644 --- a/cpukit/libfs/src/defaults/default_read.c +++ b/cpukit/libfs/src/defaults/default_read.c @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief RTEMS Default File System Read + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_statvfs.c b/cpukit/libfs/src/defaults/default_statvfs.c index ed30ff51b2..139d0b0742 100644 --- a/cpukit/libfs/src/defaults/default_statvfs.c +++ b/cpukit/libfs/src/defaults/default_statvfs.c @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief RTEMS Default File System Get Statistics + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/rfs/rtems-rfs-buffer-bdbuf.c b/cpukit/libfs/src/rfs/rtems-rfs-buffer-bdbuf.c index ef382aeecc..552e5df970 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-buffer-bdbuf.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-buffer-bdbuf.c @@ -1,19 +1,21 @@ -/* - * COPYRIGHT (c) 2010 Chris Johns - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - */ /** * @file * + * @brief RTEMS File Systems Buffer Routines * @ingroup rtems-rfs * * RTEMS File Systems Buffer Routines for the RTEMS libblock BD buffer cache. * */ +/* + * COPYRIGHT (c) 2010 Chris Johns + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + #if HAVE_CONFIG_H #include "config.h" #endif diff --git a/cpukit/libfs/src/rfs/rtems-rfs-buffer-devio.c b/cpukit/libfs/src/rfs/rtems-rfs-buffer-devio.c index a855b8f846..6e3a02cb13 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-buffer-devio.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-buffer-devio.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS File Systems Buffer Routines + * @ingroup rtems-rfs + */ + /* * COPYRIGHT (c) 2010 Chris Johns * @@ -5,14 +12,6 @@ * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. */ -/** - * @file - * - * @ingroup rtems-rfs - * - * RTEMS File Systems Buffer Routines. - * - */ #if HAVE_CONFIG_H #include "config.h" diff --git a/cpukit/libfs/src/rfs/rtems-rfs-buffer.c b/cpukit/libfs/src/rfs/rtems-rfs-buffer.c index 5ab86177b3..0a7d3e42cd 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-buffer.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-buffer.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS File Systems Buffer Routines + * @ingroup rtems-rfs + */ + /* * COPYRIGHT (c) 2010 Chris Johns * @@ -5,14 +12,6 @@ * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. */ -/** - * @file - * - * @ingroup rtems-rfs - * - * RTEMS File Systems Buffer Routines. - * - */ #if HAVE_CONFIG_H #include "config.h" diff --git a/cpukit/libfs/src/rfs/rtems-rfs-dir.c b/cpukit/libfs/src/rfs/rtems-rfs-dir.c index 677bdc8571..18de308d8e 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-dir.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-dir.c @@ -1,17 +1,9 @@ -/* - * COPYRIGHT (c) 2010 Chris Johns - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - */ /** * @file * + * @brief RTEMS File Systems Directory Routines * @ingroup rtems-rfs * - * RTEMS File Systems Directory Routines. - * * These functions manage blocks in the directory format. A directory entry is * a variable length record in the block. The entry consists of a length, hash * and the string. The length allows the next entry to be located and the hash @@ -23,6 +15,14 @@ * superblock. */ +/* + * COPYRIGHT (c) 2010 Chris Johns + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + #if HAVE_CONFIG_H #include "config.h" #endif diff --git a/cpukit/libfs/src/rfs/rtems-rfs-file-system.c b/cpukit/libfs/src/rfs/rtems-rfs-file-system.c index bceb08d5df..10909428e4 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-file-system.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-file-system.c @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief RTEMS File Systems Open + * @ingroup rtems-rfs + * + * Open the file system by reading the superblock and then the group data. + */ /* * COPYRIGHT (c) 2010 Chris Johns * @@ -5,15 +13,6 @@ * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. */ -/** - * @file - * - * @ingroup rtems-rfs - * - * RTEMS File Systems Open - * - * Open the file system by reading the superblock and then the group data. - */ #if HAVE_CONFIG_H #include "config.h" diff --git a/cpukit/libfs/src/rfs/rtems-rfs-file.c b/cpukit/libfs/src/rfs/rtems-rfs-file.c index 0cf38c628d..243a8af4b7 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-file.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-file.c @@ -1,20 +1,20 @@ -/* - * COPYRIGHT (c) 2010 Chris Johns - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - */ /** * @file * + * @brief RTEMS File Systems File Routines * @ingroup rtems-rfs * - * RTEMS File Systems File Routines. - * * These functions manage files. */ +/* + * COPYRIGHT (c) 2010 Chris Johns + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + #if HAVE_CONFIG_H #include "config.h" #endif diff --git a/cpukit/libfs/src/rfs/rtems-rfs-format.c b/cpukit/libfs/src/rfs/rtems-rfs-format.c index 6c20218531..78c422c456 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-format.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-format.c @@ -1,3 +1,12 @@ +/** + * @file + * + * @brief RTEMS File Systems Format + * @ingroup rtems-rfs + * + * Format the file system ready for use. + */ + /* * COPYRIGHT (c) 2010 Chris Johns * @@ -5,15 +14,6 @@ * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. */ -/** - * @file - * - * @ingroup rtems-rfs - * - * RTEMS File Systems Format - * - * Format the file system ready for use. - */ #if HAVE_CONFIG_H #include "config.h" diff --git a/cpukit/libfs/src/rfs/rtems-rfs-group.c b/cpukit/libfs/src/rfs/rtems-rfs-group.c index 0edf83d838..4a1f4a1f78 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-group.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-group.c @@ -1,21 +1,22 @@ -/* - * COPYRIGHT (c) 2010 Chris Johns - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - */ /** * @file * + * @brief RTEMS File Systems Group Routines * @ingroup rtems-rfs * - * RTEMS File Systems Group Routines. - * * These functions open and close a group as well as manage bit allocations * within a group. */ +/* + * COPYRIGHT (c) 2010 Chris Johns + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + + #if HAVE_CONFIG_H #include "config.h" #endif diff --git a/cpukit/libfs/src/rfs/rtems-rfs-rtems-dir.c b/cpukit/libfs/src/rfs/rtems-rfs-rtems-dir.c index c04bbea03b..af35809db7 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-rtems-dir.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-rtems-dir.c @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief RTEMS RFS Directory Access Routines + * @ingroup rtems-rfs + */ /* * COPYRIGHT (c) 2010 Chris Johns * @@ -5,13 +11,6 @@ * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. */ -/** - * @file - * - * @ingroup rtems-rfs - * - * RTEMS RFS Directory Access Routines - */ #if HAVE_CONFIG_H #include "config.h" diff --git a/cpukit/libfs/src/rfs/rtems-rfs-rtems-file.c b/cpukit/libfs/src/rfs/rtems-rfs-rtems-file.c index 7de04038e7..ebcc64a5ef 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-rtems-file.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-rtems-file.c @@ -1,21 +1,21 @@ -/* - * COPYRIGHT (c) 2010 Chris Johns - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - */ /** * @file * + * @brief RTEMS RFS File Handlers * @ingroup rtems-rfs - * - * RTEMS RFS File Handlers - * + * * This file contains the set of handlers used to process operations on * RFS file nodes. */ +/* + * COPYRIGHT (c) 2010 Chris Johns + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + #if HAVE_CONFIG_H #include "config.h" #endif diff --git a/cpukit/libfs/src/rfs/rtems-rfs-rtems-utils.c b/cpukit/libfs/src/rfs/rtems-rfs-rtems-utils.c index 76d0392605..04108fb172 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-rtems-utils.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-rtems-utils.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief Set of Utility Functions to Support RTEMS RFS on RTEMS + * @ingroup rtems-rfs + */ + /* * COPYRIGHT (c) 2010 Chris Johns * @@ -5,13 +12,6 @@ * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. */ -/** - * @file - * - * @ingroup rtems-rfs - * - * Set of utility functions to support RTEMS RFS on RTEMS. - */ #if HAVE_CONFIG_H #include "config.h" diff --git a/cpukit/libfs/src/rfs/rtems-rfs-shell.c b/cpukit/libfs/src/rfs/rtems-rfs-shell.c index a1ed928885..0e930a0d63 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-shell.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-shell.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS File Systems Shell Commands Support + * @ingroup rtems-rfs + */ + /* * COPYRIGHT (c) 2010 Chris Johns * @@ -5,13 +12,6 @@ * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. */ -/** - * @file - * - * @ingroup rtems-rfs - * - * RTEMS File Systems Shell Commands Support - */ #if HAVE_CONFIG_H #include "config.h" diff --git a/cpukit/libfs/src/rfs/rtems-rfs-trace.c b/cpukit/libfs/src/rfs/rtems-rfs-trace.c index df0f54ad6b..60a9e0c245 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-trace.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-trace.c @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief RTEMS File Systems Trace Support + * @ingroup rtems-rfs + */ /* * COPYRIGHT (c) 2010 Chris Johns * @@ -5,13 +11,6 @@ * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. */ -/** - * @file - * - * @ingroup rtems-rfs - * - * RTEMS File Systems Trace Support - */ #if HAVE_CONFIG_H #include "config.h" -- cgit v1.2.3 From 4e592763cbeeb457260e029f906a4f3a1e70ed2f Mon Sep 17 00:00:00 2001 From: Mathew Kallada Date: Fri, 28 Dec 2012 08:05:20 -0600 Subject: libfs: Doxygen Enhancement Task #5 --- cpukit/libfs/src/defaults/default_fcntl.c | 7 ++ cpukit/libfs/src/defaults/default_freenode.c | 7 ++ .../src/defaults/default_ftruncate_directory.c | 7 ++ cpukit/libfs/src/defaults/default_open.c | 7 ++ cpukit/libfs/src/defaults/default_readlink.c | 7 ++ cpukit/libfs/src/defaults/default_rmnod.c | 7 ++ cpukit/libfs/src/dosfs/fat.c | 11 +- cpukit/libfs/src/dosfs/msdos.h | 19 ++-- cpukit/libfs/src/dosfs/msdos_eval.c | 9 +- cpukit/libfs/src/dosfs/msdos_mknod.c | 9 +- cpukit/libfs/src/nfsclient/proto/mount_prot.h | 9 +- cpukit/libfs/src/nfsclient/proto/mount_prot_xdr.c | 7 ++ cpukit/libfs/src/nfsclient/proto/nfs_prot.h | 9 +- cpukit/libfs/src/nfsclient/proto/nfs_prot_xdr.c | 7 ++ cpukit/libfs/src/nfsclient/src/cexphelp.c | 7 ++ cpukit/libfs/src/nfsclient/src/dirutils.c | 11 +- cpukit/libfs/src/nfsclient/src/nfs.c | 23 ++-- cpukit/libfs/src/nfsclient/src/nfs.modini.c | 7 ++ cpukit/libfs/src/nfsclient/src/nfsTest.c | 17 ++- cpukit/libfs/src/nfsclient/src/rpcio.c | 14 ++- cpukit/libfs/src/nfsclient/src/rpcio.modini.c | 7 ++ cpukit/libfs/src/nfsclient/src/sock_mbuf.c | 125 +++++++++++---------- cpukit/libfs/src/nfsclient/src/xdr_mbuf.c | 13 ++- 23 files changed, 240 insertions(+), 106 deletions(-) diff --git a/cpukit/libfs/src/defaults/default_fcntl.c b/cpukit/libfs/src/defaults/default_fcntl.c index f05cce2614..bd4a08042c 100644 --- a/cpukit/libfs/src/defaults/default_fcntl.c +++ b/cpukit/libfs/src/defaults/default_fcntl.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default Filesystem - Default FCNTL + * @ingroup libfs + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_freenode.c b/cpukit/libfs/src/defaults/default_freenode.c index f128fb3124..16c111679d 100644 --- a/cpukit/libfs/src/defaults/default_freenode.c +++ b/cpukit/libfs/src/defaults/default_freenode.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default Filesystem - Default Freenode + * @ingroup libfs + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_ftruncate_directory.c b/cpukit/libfs/src/defaults/default_ftruncate_directory.c index e438154d77..ad6af022d3 100644 --- a/cpukit/libfs/src/defaults/default_ftruncate_directory.c +++ b/cpukit/libfs/src/defaults/default_ftruncate_directory.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default Filesystem - Default Ftruncate Directory + * @ingroup libfs + */ + /* * Copyright (c) 2012 embedded brains GmbH. All rights reserved. * diff --git a/cpukit/libfs/src/defaults/default_open.c b/cpukit/libfs/src/defaults/default_open.c index a0e9d00c08..00f03b5231 100644 --- a/cpukit/libfs/src/defaults/default_open.c +++ b/cpukit/libfs/src/defaults/default_open.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default Filesystem - Default Open + * @ingroup libfs + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_readlink.c b/cpukit/libfs/src/defaults/default_readlink.c index a4132639e0..516f5278a8 100644 --- a/cpukit/libfs/src/defaults/default_readlink.c +++ b/cpukit/libfs/src/defaults/default_readlink.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default Filesystem - Default Readlink + * @ingroup libfs + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_rmnod.c b/cpukit/libfs/src/defaults/default_rmnod.c index 3bb6ccfeb8..edb21e7b7d 100644 --- a/cpukit/libfs/src/defaults/default_rmnod.c +++ b/cpukit/libfs/src/defaults/default_rmnod.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default Filesystem - Default Remove Node + * @ingroup libfs + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/dosfs/fat.c b/cpukit/libfs/src/dosfs/fat.c index a672f42c7a..8e9da218ed 100644 --- a/cpukit/libfs/src/dosfs/fat.c +++ b/cpukit/libfs/src/dosfs/fat.c @@ -1,8 +1,11 @@ -/* - * fat.c - * - * Low-level operations on a volume with FAT filesystem +/** + * @file * + * @brief Low-level Operations on a Volume with a DOSFS FAT filesystem + * @ingroup libfs + */ + +/* * Copyright (C) 2001 OKTET Ltd., St.-Petersburg, Russia * Author: Eugeny S. Mints */ diff --git a/cpukit/libfs/src/dosfs/msdos.h b/cpukit/libfs/src/dosfs/msdos.h index ad0841297c..d4f674317f 100644 --- a/cpukit/libfs/src/dosfs/msdos.h +++ b/cpukit/libfs/src/dosfs/msdos.h @@ -80,7 +80,7 @@ extern const rtems_filesystem_file_handlers_r msdos_file_handlers; #define MSDOS_HARD_LINK RTEMS_FILESYSTEM_HARD_LINK /* pseudo type */ /** - * @brief Type of Node that Loc Refers To + * @brief Type of node that loc refers to. * * The following returns the type of node that the loc refers to. * @@ -233,7 +233,7 @@ typedef enum msdos_token_types_e #define MSDOS_DPS512_NUM 16 /** - * @brief Shut Down MSDOS FileSystem + * @brief Shut down the MSDOS filesystem. * * MSDOS shut down handler implementation */ @@ -242,7 +242,7 @@ void msdos_shut_down(rtems_filesystem_mount_table_entry_t *temp_mt_entry); void msdos_eval_path(rtems_filesystem_eval_path_context_t *ctx); /** - * @brief Call Fat-File Close Routine + * @brief Call the Fat-File close routine. * * Free node handler implementation for the filesystem operations table. */ @@ -252,6 +252,11 @@ rtems_filesystem_node_types_t msdos_node_type( const rtems_filesystem_location_info_t *loc ); +/** + * @brief Routine for node creation in a MSDOS filesystem. + * + * MSDOS Directory Handlers Implementation + */ int msdos_mknod( const rtems_filesystem_location_info_t *loc, const char *name, @@ -261,7 +266,7 @@ int msdos_mknod( ); /** - * @brief Remove Node from MSDOS Directory + * @brief Remove node from MSDOS directory. * * MSDOS Directory Handlers Implementation */ @@ -271,7 +276,7 @@ int msdos_rmnod( ); /** - * @brief Rename a MSDOS FileSystem Node + * @brief rename a MSDOS filesystem node * * Routine to rename a MSDOS filesystem node */ @@ -288,7 +293,7 @@ void msdos_lock(const rtems_filesystem_mount_table_entry_t *mt_entry); void msdos_unlock(const rtems_filesystem_mount_table_entry_t *mt_entry); /** - * @brief MSDOS Filesystem Initialization + * @brief The MSDOS filesystem initialization. * * MSDOS Initialization support routine implementation */ @@ -342,7 +347,7 @@ int msdos_dir_stat( ); /** - * @brief Implements wake up version of the "signal" operation + * @brief Implements wake up version of the "signal" operation. * * Routine to create a new MSDOS filesystem node * diff --git a/cpukit/libfs/src/dosfs/msdos_eval.c b/cpukit/libfs/src/dosfs/msdos_eval.c index 19e7406e89..d009f440f9 100644 --- a/cpukit/libfs/src/dosfs/msdos_eval.c +++ b/cpukit/libfs/src/dosfs/msdos_eval.c @@ -1,6 +1,11 @@ -/* - * MSDOS evaluation routines +/** + * @file * + * @brief MSDOS Evaluation Routines + * @ingroup libfs + */ + +/* * Copyright (C) 2001 OKTET Ltd., St.-Petersburg, Russia * Author: Eugeny S. Mints * diff --git a/cpukit/libfs/src/dosfs/msdos_mknod.c b/cpukit/libfs/src/dosfs/msdos_mknod.c index 4cf41089fd..0c247e92fd 100644 --- a/cpukit/libfs/src/dosfs/msdos_mknod.c +++ b/cpukit/libfs/src/dosfs/msdos_mknod.c @@ -1,6 +1,11 @@ -/* - * Routine for node creation in MSDOS filesystem. +/** + * @file * + * @brief Routine for Node Creation in MSDOS Filesystem + * @ingroup libfs_msdos MSDOS FileSystem + */ + +/* * Copyright (C) 2001 OKTET Ltd., St.-Petersburg, Russia * Author: Eugeny S. Mints * diff --git a/cpukit/libfs/src/nfsclient/proto/mount_prot.h b/cpukit/libfs/src/nfsclient/proto/mount_prot.h index 1cde517aea..e74a3cd688 100644 --- a/cpukit/libfs/src/nfsclient/proto/mount_prot.h +++ b/cpukit/libfs/src/nfsclient/proto/mount_prot.h @@ -8,7 +8,12 @@ #include - +/** + * @defgroup libfs_nfsclient_mount_prot Mount Prot + * + * @ingroup libfs + */ +/**@{*/ #ifdef __cplusplus extern "C" { #endif @@ -140,5 +145,5 @@ extern bool_t xdr_exportnode (); #ifdef __cplusplus } #endif - +/**@}*/ #endif /* !_MOUNT_PROT_H_RPCGEN */ diff --git a/cpukit/libfs/src/nfsclient/proto/mount_prot_xdr.c b/cpukit/libfs/src/nfsclient/proto/mount_prot_xdr.c index b439ef341f..a7950c1b39 100644 --- a/cpukit/libfs/src/nfsclient/proto/mount_prot_xdr.c +++ b/cpukit/libfs/src/nfsclient/proto/mount_prot_xdr.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief Mount Prot XDR + * @ingroup libfs_nfsclient_mount_prot Mount Prot + */ + /* * Please do not edit this file. * It was generated using rpcgen. diff --git a/cpukit/libfs/src/nfsclient/proto/nfs_prot.h b/cpukit/libfs/src/nfsclient/proto/nfs_prot.h index 45fddf3ee0..80fd2db9d7 100644 --- a/cpukit/libfs/src/nfsclient/proto/nfs_prot.h +++ b/cpukit/libfs/src/nfsclient/proto/nfs_prot.h @@ -8,7 +8,12 @@ #include - +/** + * @defgroup libfs_nfsclient_nfs_prot NFS Prot + * + * @ingroup libfs + */ +/**@{*/ #ifdef __cplusplus extern "C" { #endif @@ -451,5 +456,5 @@ extern bool_t xdr_statfsres (); #ifdef __cplusplus } #endif - +/**@}*/ #endif /* !_NFS_PROT_H_RPCGEN */ diff --git a/cpukit/libfs/src/nfsclient/proto/nfs_prot_xdr.c b/cpukit/libfs/src/nfsclient/proto/nfs_prot_xdr.c index cde005e2b4..40496a72ff 100644 --- a/cpukit/libfs/src/nfsclient/proto/nfs_prot_xdr.c +++ b/cpukit/libfs/src/nfsclient/proto/nfs_prot_xdr.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief NFS Prot XDR + * @ingroup libfs_nfsclient_nfs_prot NFS Prot + */ + /* * Please do not edit this file. * It was generated using rpcgen. diff --git a/cpukit/libfs/src/nfsclient/src/cexphelp.c b/cpukit/libfs/src/nfsclient/src/cexphelp.c index d0406ad33a..09c73774f6 100644 --- a/cpukit/libfs/src/nfsclient/src/cexphelp.c +++ b/cpukit/libfs/src/nfsclient/src/cexphelp.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief CEXP Help Information + * @ingroup libfs + */ + #if HAVE_CONFIG_H #include "config.h" #endif diff --git a/cpukit/libfs/src/nfsclient/src/dirutils.c b/cpukit/libfs/src/nfsclient/src/dirutils.c index 357aab96df..65e2053ddc 100644 --- a/cpukit/libfs/src/nfsclient/src/dirutils.c +++ b/cpukit/libfs/src/nfsclient/src/dirutils.c @@ -1,8 +1,13 @@ -/* very crude and basic fs utilities for testing the NFS */ - -/* Till Straumann, , 10/2002 */ +/** + * @file + * + * @brief Basic NFS Filesystem Utilities for Testing the NFS + * @ingroup libfs + */ /* + * Author: Till Straumann, , 10/2002 + * * Authorship * ---------- * This software (NFS-2 client implementation for RTEMS) was created by diff --git a/cpukit/libfs/src/nfsclient/src/nfs.c b/cpukit/libfs/src/nfsclient/src/nfs.c index 2627726dc0..e4e9d88bfe 100644 --- a/cpukit/libfs/src/nfsclient/src/nfs.c +++ b/cpukit/libfs/src/nfsclient/src/nfs.c @@ -1,15 +1,20 @@ -/* NFS client implementation for RTEMS; hooks into the RTEMS filesystem */ - -/* Author: Till Straumann 2002 */ +/** + * @file + * + * @brief NFS Client Implementation for RTEMS + * @ingroup libfs + * + * Hooks Into the RTEMS NFS Filesystem + */ /* + * Author: Till Straumann , 2002 + * * Hacked on by others. * * Modifications to support reference counting in the file system are * Copyright (c) 2012 embedded brains GmbH. - */ - -/* + * * Authorship * ---------- * This software (NFS-2 client implementation for RTEMS) was created by @@ -1313,7 +1318,7 @@ int len; } memcpy(&psa->sin_addr, h->h_addr, sizeof (struct in_addr)); - + /* END OF NON-THREAD SAFE REGION */ psa->sin_family = AF_INET; @@ -1770,13 +1775,13 @@ char *path = mt_entry->dev; fprintf (stderr, "error: initialising RPC\n"); return -1; } - + nfsInit(0, 0); #if 0 printf("Trying to mount %s on %s\n",path,mntpoint); #endif - + if ( buildIpAddr(&uid, &gid, &host, &saddr, &path) ) return -1; diff --git a/cpukit/libfs/src/nfsclient/src/nfs.modini.c b/cpukit/libfs/src/nfsclient/src/nfs.modini.c index 22095cf53f..57adf23aa1 100644 --- a/cpukit/libfs/src/nfsclient/src/nfs.modini.c +++ b/cpukit/libfs/src/nfsclient/src/nfs.modini.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief NFS Module Initialize + * @ingroup libfs + */ + #if HAVE_CONFIG_H #include "config.h" #endif diff --git a/cpukit/libfs/src/nfsclient/src/nfsTest.c b/cpukit/libfs/src/nfsclient/src/nfsTest.c index 18bd0a3cb4..5b6951af58 100644 --- a/cpukit/libfs/src/nfsclient/src/nfsTest.c +++ b/cpukit/libfs/src/nfsclient/src/nfsTest.c @@ -1,8 +1,10 @@ -/* Test program for evaluating NFS read throughput */ - -/* Author: Till Straumann , 2006 */ - -/* This test code allows for evaluating NFS read performance +/** + * @file + * + * @brief Test Program for Evaluating NFS Read Throughput + * @ingroup libfs + * + * This test code allows for evaluating NFS read performance * under various scenarios: * - synchronous reads with various buffer sizes (select * 'num_readers' == 0, see below). @@ -48,7 +50,12 @@ * performed at 'big block' boundaries (num_readers * chunk_size). */ + + + /* + * Author: Till Straumann , 2006 + * * Authorship * ---------- * This software (NFS-2 client implementation for RTEMS) was created by diff --git a/cpukit/libfs/src/nfsclient/src/rpcio.c b/cpukit/libfs/src/nfsclient/src/rpcio.c index eeadd53f58..e1bc4c59ba 100644 --- a/cpukit/libfs/src/nfsclient/src/rpcio.c +++ b/cpukit/libfs/src/nfsclient/src/rpcio.c @@ -1,8 +1,10 @@ -/* RPC multiplexor for a multitasking environment */ - -/* Author: Till Straumann , 2002 */ - -/* This code funnels arbitrary task's UDP/RPC requests +/** + * @file + * + * @brief RPC Multiplexor for a Multitasking Environment + * @ingroup libfs + * + * This code funnels arbitrary task's UDP/RPC requests * through one socket to arbitrary servers. * The replies are gathered and dispatched to the * requestors. @@ -15,6 +17,8 @@ */ /* + * Author: Till Straumann , 2002 + * * Authorship * ---------- * This software (NFS-2 client implementation for RTEMS) was created by diff --git a/cpukit/libfs/src/nfsclient/src/rpcio.modini.c b/cpukit/libfs/src/nfsclient/src/rpcio.modini.c index 7aa802fe51..f0359974de 100644 --- a/cpukit/libfs/src/nfsclient/src/rpcio.modini.c +++ b/cpukit/libfs/src/nfsclient/src/rpcio.modini.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RPCIO Module Initialize + * @ingroup libfs + */ + #if HAVE_CONFIG_H #include "config.h" #endif diff --git a/cpukit/libfs/src/nfsclient/src/sock_mbuf.c b/cpukit/libfs/src/nfsclient/src/sock_mbuf.c index e07c63bcf2..3f07b757b5 100644 --- a/cpukit/libfs/src/nfsclient/src/sock_mbuf.c +++ b/cpukit/libfs/src/nfsclient/src/sock_mbuf.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief Sock Mbuf + * @ingroup libfs + */ + /* * NOTE: * This is derived from libnetworking/rtems/rtems_syscall.c @@ -9,70 +16,64 @@ * Till Straumann, * Licensing: 'LICENSE.NET' file in the RTEMS top source directory * for more information. + * + * The RTEMS TCP/IP stack is a port of the FreeBSD TCP/IP stack. The following + * copyright and licensing information applies to this code. + * + * This code is found under the c/src/libnetworking directory but does not + * constitute the entire contents of that subdirectory. + * + * + * Copyright (c) 1980, 1983, 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * 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. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgment: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. + + * Portions Copyright (c) 1993 by Digital Equipment Corporation. + + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies, and that + * the name of Digital Equipment Corporation not be used in advertising or + * publicity pertaining to distribution of the document or software without + * specific, written prior permission. + + * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT + * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. */ -/* -The RTEMS TCP/IP stack is a port of the FreeBSD TCP/IP stack. The following -copyright and licensing information applies to this code. - -This code is found under the c/src/libnetworking directory but does not -constitute the entire contents of that subdirectory. - -============================================================================= - -Copyright (c) 1980, 1983, 1988, 1993 - The Regents of the University of California. All rights reserved. - -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. -3. All advertising materials mentioning features or use of this software - must display the following acknowledgment: - This product includes software developed by the University of - California, Berkeley and its contributors. -4. Neither the name of the University nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. - -- -Portions Copyright (c) 1993 by Digital Equipment Corporation. - -Permission to use, copy, modify, and distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies, and that -the name of Digital Equipment Corporation not be used in advertising or -publicity pertaining to distribution of the document or software without -specific, written prior permission. - -THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL -WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT -CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL -DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR -PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS -ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. - -============================================================================= -*/ - #if HAVE_CONFIG_H #include "config.h" #endif diff --git a/cpukit/libfs/src/nfsclient/src/xdr_mbuf.c b/cpukit/libfs/src/nfsclient/src/xdr_mbuf.c index 3c73639750..0f71538419 100644 --- a/cpukit/libfs/src/nfsclient/src/xdr_mbuf.c +++ b/cpukit/libfs/src/nfsclient/src/xdr_mbuf.c @@ -1,8 +1,15 @@ -/* xdr_mbuf is derived from xdr_mem */ - -/* Author (mbuf specifica): Till Straumann , 10/2002 */ +/** + * @file + * + * @brief XDR Implementation Using mbuf Buffers + * @ingroup libfs + * + * xdr_mbuf is derived from xdr_mem + */ /* + * Author (mbuf specifica): Till Straumann , 10/2002 + * * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users -- cgit v1.2.3 From 8587b018b9f5f47c8ea04f81d8c3f2ce2208d90d Mon Sep 17 00:00:00 2001 From: Ayush Awasthi Date: Fri, 28 Dec 2012 08:26:30 -0600 Subject: libfs: Doxygen Enhancement Task #4 --- cpukit/libfs/src/defaults/default_are_nodes_equal.c | 7 +++++++ cpukit/libfs/src/defaults/default_clone.c | 7 +++++++ cpukit/libfs/src/defaults/default_eval_path.c | 7 +++++++ cpukit/libfs/src/defaults/default_fsmount.c | 7 +++++++ cpukit/libfs/src/defaults/default_fstat.c | 7 +++++++ cpukit/libfs/src/defaults/default_fsync.c | 7 +++++++ cpukit/libfs/src/defaults/default_fsync_success.c | 7 +++++++ cpukit/libfs/src/defaults/default_ftruncate.c | 7 +++++++ cpukit/libfs/src/defaults/default_ioctl.c | 7 +++++++ cpukit/libfs/src/defaults/default_lock_and_unlock.c | 7 +++++++ cpukit/libfs/src/defaults/default_lseek.c | 7 +++++++ cpukit/libfs/src/defaults/default_lseek_directory.c | 7 +++++++ cpukit/libfs/src/defaults/default_lseek_file.c | 7 +++++++ cpukit/libfs/src/defaults/default_mknod.c | 7 +++++++ cpukit/libfs/src/defaults/default_mount.c | 7 +++++++ cpukit/libfs/src/defaults/default_rename.c | 7 +++++++ cpukit/libfs/src/defaults/default_symlink.c | 7 +++++++ cpukit/libfs/src/defaults/default_unmount.c | 7 +++++++ cpukit/libfs/src/defaults/default_utime.c | 7 +++++++ cpukit/libfs/src/defaults/default_write.c | 7 +++++++ 20 files changed, 140 insertions(+) diff --git a/cpukit/libfs/src/defaults/default_are_nodes_equal.c b/cpukit/libfs/src/defaults/default_are_nodes_equal.c index c1e7777c40..b20da2de23 100644 --- a/cpukit/libfs/src/defaults/default_are_nodes_equal.c +++ b/cpukit/libfs/src/defaults/default_are_nodes_equal.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System has nodes equal + * @ingroup LibIOFSOps File System Operations + */ + /* * Copyright (c) 2012 embedded brains GmbH. All rights reserved. * diff --git a/cpukit/libfs/src/defaults/default_clone.c b/cpukit/libfs/src/defaults/default_clone.c index 5224b01d19..576a07ce03 100644 --- a/cpukit/libfs/src/defaults/default_clone.c +++ b/cpukit/libfs/src/defaults/default_clone.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System creates a child process + * @ingroup LibIOFSOps File System Operations + */ + /* * Copyright (c) 2012 embedded brains GmbH. All rights reserved. * diff --git a/cpukit/libfs/src/defaults/default_eval_path.c b/cpukit/libfs/src/defaults/default_eval_path.c index e639f9985c..868d2e5769 100644 --- a/cpukit/libfs/src/defaults/default_eval_path.c +++ b/cpukit/libfs/src/defaults/default_eval_path.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System evaluates relative pathname to absolute + * @ingroup LibIOFSOps File System Operations + */ + /* * Copyright (c) 2012 embedded brains GmbH. All rights reserved. * diff --git a/cpukit/libfs/src/defaults/default_fsmount.c b/cpukit/libfs/src/defaults/default_fsmount.c index 924ba313fc..b505142746 100644 --- a/cpukit/libfs/src/defaults/default_fsmount.c +++ b/cpukit/libfs/src/defaults/default_fsmount.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System Mounts + * @ingroup LibIOFSOps File System Operations + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_fstat.c b/cpukit/libfs/src/defaults/default_fstat.c index 42b7339e0b..e12d8c0fe0 100644 --- a/cpukit/libfs/src/defaults/default_fstat.c +++ b/cpukit/libfs/src/defaults/default_fstat.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System gets file status + * @ingroup LibIOFSOps File System Operations + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_fsync.c b/cpukit/libfs/src/defaults/default_fsync.c index 276c059bb5..53dce0c260 100644 --- a/cpukit/libfs/src/defaults/default_fsync.c +++ b/cpukit/libfs/src/defaults/default_fsync.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System Synchronises changes to a file + * @ingroup LibIOFSOps File System Operations + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_fsync_success.c b/cpukit/libfs/src/defaults/default_fsync_success.c index 591527e3e8..1d02e82b29 100644 --- a/cpukit/libfs/src/defaults/default_fsync_success.c +++ b/cpukit/libfs/src/defaults/default_fsync_success.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default Filesystem succeeds synchronizing file's in-core state + * @ingroup LibIOFSOps File System Operations + */ + /* * Copyright (c) 2012 embedded brains GmbH. All rights reserved. * diff --git a/cpukit/libfs/src/defaults/default_ftruncate.c b/cpukit/libfs/src/defaults/default_ftruncate.c index 2455a7b9f2..8016956ecb 100644 --- a/cpukit/libfs/src/defaults/default_ftruncate.c +++ b/cpukit/libfs/src/defaults/default_ftruncate.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System Truncates a file to indicated length + * @ingroup LibIOFSOps File System Operations + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_ioctl.c b/cpukit/libfs/src/defaults/default_ioctl.c index edd1c622ba..f9e9a9cf29 100644 --- a/cpukit/libfs/src/defaults/default_ioctl.c +++ b/cpukit/libfs/src/defaults/default_ioctl.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System controls a STREAMS device + * @ingroup LibIOFSOps File System Operations + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_lock_and_unlock.c b/cpukit/libfs/src/defaults/default_lock_and_unlock.c index a88a99d4a5..2efcdba6e5 100644 --- a/cpukit/libfs/src/defaults/default_lock_and_unlock.c +++ b/cpukit/libfs/src/defaults/default_lock_and_unlock.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System locks and unlocks rtems filesystem + * @ingroup LibIOFSOps File System Operations + */ + /* * Copyright (c) 2012 embedded brains GmbH. All rights reserved. * diff --git a/cpukit/libfs/src/defaults/default_lseek.c b/cpukit/libfs/src/defaults/default_lseek.c index 5af355513e..2dc2e654ac 100644 --- a/cpukit/libfs/src/defaults/default_lseek.c +++ b/cpukit/libfs/src/defaults/default_lseek.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System reposits the read/write file offset + * @ingroup LibIOFSOps File System Operations + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_lseek_directory.c b/cpukit/libfs/src/defaults/default_lseek_directory.c index e50eefd667..15ac19a5a3 100644 --- a/cpukit/libfs/src/defaults/default_lseek_directory.c +++ b/cpukit/libfs/src/defaults/default_lseek_directory.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System reposits read/write file offset directory + * @ingroup LibIOFSOps File System Operations + */ + /* * Copyright (c) 2012 embedded brains GmbH. All rights reserved. * diff --git a/cpukit/libfs/src/defaults/default_lseek_file.c b/cpukit/libfs/src/defaults/default_lseek_file.c index 9d80b2a176..cafc4dcf76 100644 --- a/cpukit/libfs/src/defaults/default_lseek_file.c +++ b/cpukit/libfs/src/defaults/default_lseek_file.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System reposits the offset of the open file fd + * @ingroup LibIOFSOps File System Operations + */ + /* * Copyright (c) 2012 embedded brains GmbH. All rights reserved. * diff --git a/cpukit/libfs/src/defaults/default_mknod.c b/cpukit/libfs/src/defaults/default_mknod.c index 2527cc89b8..9a6ce7cc16 100644 --- a/cpukit/libfs/src/defaults/default_mknod.c +++ b/cpukit/libfs/src/defaults/default_mknod.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System creates a special or ordinary file + * @ingroup LibIOFSOps File System Operations + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_mount.c b/cpukit/libfs/src/defaults/default_mount.c index 24c164dd8e..902f1182b3 100644 --- a/cpukit/libfs/src/defaults/default_mount.c +++ b/cpukit/libfs/src/defaults/default_mount.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System mounts a filesystem + * @ingroup LibIOFSOps File System Operations + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_rename.c b/cpukit/libfs/src/defaults/default_rename.c index c3b1a5a0d3..5b5bafaf08 100644 --- a/cpukit/libfs/src/defaults/default_rename.c +++ b/cpukit/libfs/src/defaults/default_rename.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTESM Default File System Rename Files + * @ingroup LibIOFSOps File System Operations + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_symlink.c b/cpukit/libfs/src/defaults/default_symlink.c index 0652fc03a1..55852abb05 100644 --- a/cpukit/libfs/src/defaults/default_symlink.c +++ b/cpukit/libfs/src/defaults/default_symlink.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System creates a symbolic link to a file + * @ingroup LibIOFSOps File System Operations + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_unmount.c b/cpukit/libfs/src/defaults/default_unmount.c index b4820b9410..de520c1033 100644 --- a/cpukit/libfs/src/defaults/default_unmount.c +++ b/cpukit/libfs/src/defaults/default_unmount.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System Unmounts + * @ingroup LibIOFSOps File System Operations + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_utime.c b/cpukit/libfs/src/defaults/default_utime.c index 5d1dd82a04..f9ec57c41a 100644 --- a/cpukit/libfs/src/defaults/default_utime.c +++ b/cpukit/libfs/src/defaults/default_utime.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System sets file access and modification times + * @ingroup LibIOFSOps File System Operations + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/libfs/src/defaults/default_write.c b/cpukit/libfs/src/defaults/default_write.c index 7328c81eb7..c5aff4b534 100644 --- a/cpukit/libfs/src/defaults/default_write.c +++ b/cpukit/libfs/src/defaults/default_write.c @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief RTEMS Default File System sends a message to another user + * @ingroup LibIOFSOps File System Operations + */ + /* * COPYRIGHT (c) 2010. * On-Line Applications Research Corporation (OAR). -- cgit v1.2.3 From b8fc260ff3b9008d260febeadd092f31fd37c10a Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 28 Dec 2012 09:48:37 -0600 Subject: Miscellaneous Doxygen clean-up --- cpukit/libcsupport/include/rtems/assoc.h | 2 +- cpukit/libmisc/mouse/mouse_parser.h | 2 ++ cpukit/posix/include/rtems/posix/semaphore.h | 2 ++ cpukit/rtems/include/rtems/rtems/barrier.h | 3 ++- cpukit/rtems/include/rtems/rtems/options.h | 6 +++++- cpukit/score/cpu/sparc/rtems/score/cpu.h | 2 ++ 6 files changed, 14 insertions(+), 3 deletions(-) diff --git a/cpukit/libcsupport/include/rtems/assoc.h b/cpukit/libcsupport/include/rtems/assoc.h index 06a74849ef..0ed3ded50f 100644 --- a/cpukit/libcsupport/include/rtems/assoc.h +++ b/cpukit/libcsupport/include/rtems/assoc.h @@ -10,7 +10,7 @@ #define _RTEMS_RTEMS_ASSOC_H /** - * @defgroup Associativity Routines + * @defgroup Associativity Associativity Routines */ /**@{*/ diff --git a/cpukit/libmisc/mouse/mouse_parser.h b/cpukit/libmisc/mouse/mouse_parser.h index 8b42c4464f..2e02e1ff34 100644 --- a/cpukit/libmisc/mouse/mouse_parser.h +++ b/cpukit/libmisc/mouse/mouse_parser.h @@ -114,4 +114,6 @@ void mouse_parser_enqueue( } #endif +/**@}*/ + #endif diff --git a/cpukit/posix/include/rtems/posix/semaphore.h b/cpukit/posix/include/rtems/posix/semaphore.h index 08ace7684f..6390f22110 100644 --- a/cpukit/posix/include/rtems/posix/semaphore.h +++ b/cpukit/posix/include/rtems/posix/semaphore.h @@ -189,5 +189,7 @@ int _POSIX_Semaphore_Translate_core_semaphore_return_code( } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/barrier.h b/cpukit/rtems/include/rtems/rtems/barrier.h index b7e74839a5..a7508b462e 100644 --- a/cpukit/rtems/include/rtems/rtems/barrier.h +++ b/cpukit/rtems/include/rtems/rtems/barrier.h @@ -31,7 +31,8 @@ * * @ingroup ClassicRTEMS * - * This encapsulates functionality which XXX + * This encapsulates functionality which implements the Classic API + * Barrier Manager. */ /**@{*/ diff --git a/cpukit/rtems/include/rtems/rtems/options.h b/cpukit/rtems/include/rtems/rtems/options.h index 6b30cc3044..c42af1c431 100644 --- a/cpukit/rtems/include/rtems/rtems/options.h +++ b/cpukit/rtems/include/rtems/rtems/options.h @@ -25,7 +25,11 @@ extern "C" { /** * @defgroup ClassicOptions Classic API Options * - * This encapsulates functionality which XXX + * @ingroup ClassicRTEMS + * + * This encapsulates functionality related to the options argument + * to Classic API blocking operations. The primary option is whether + * or not a task is willing to wait for the operation to complete. */ /**@{*/ diff --git a/cpukit/score/cpu/sparc/rtems/score/cpu.h b/cpukit/score/cpu/sparc/rtems/score/cpu.h index 6e88b9efcb..686d0e25d0 100644 --- a/cpukit/score/cpu/sparc/rtems/score/cpu.h +++ b/cpukit/score/cpu/sparc/rtems/score/cpu.h @@ -354,6 +354,8 @@ typedef struct { /** * @defgroup Contexts SPARC Context Structures * + * @ingroup Score + * * Generally there are 2 types of context to save. * + Interrupt registers to save * + Task level registers to save -- cgit v1.2.3 From f11858aca20c23f77e7b387751662162e05b8fb5 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 28 Dec 2012 10:34:13 -0600 Subject: libmisc/mouse: Doxygen Group Clean Up --- cpukit/libmisc/mouse/mouse_parser.h | 8 ++++++-- cpukit/libmisc/mouse/serial_mouse.h | 5 ++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/cpukit/libmisc/mouse/mouse_parser.h b/cpukit/libmisc/mouse/mouse_parser.h index 2e02e1ff34..cdd50826cf 100644 --- a/cpukit/libmisc/mouse/mouse_parser.h +++ b/cpukit/libmisc/mouse/mouse_parser.h @@ -1,6 +1,8 @@ /** * @file rtems/mouse_parser.h * + * @brief Mouse Parser Engine + * * This file is the header file for the Mouse Parser Engine. */ @@ -37,9 +39,11 @@ #include /** - * @defgroup libmisc_mouse Mouse Parser Engine - * + * @defgroup libmisc_mouse Mouse Support * @ingroup libmisc + * + * @defgroup libmisc_mouseparser Mouse Parser Engine + * @ingroup libmisc_mouse */ /**@{*/ #ifdef __cplusplus diff --git a/cpukit/libmisc/mouse/serial_mouse.h b/cpukit/libmisc/mouse/serial_mouse.h index 314e49bbd0..a84bf7f916 100644 --- a/cpukit/libmisc/mouse/serial_mouse.h +++ b/cpukit/libmisc/mouse/serial_mouse.h @@ -25,9 +25,8 @@ /* functions */ /** - * @defgroup libmisc_mouse Serial Mouse Driver - * - * @ingroup libmisc + * @defgroup libmisc_serialmouse Serial Mouse Driver + * @ingroup libmisc_mouse */ /**@{*/ #ifdef __cplusplus -- cgit v1.2.3 From 9ab091e1e4b5572c0d327722dfbfd9d1bbccd405 Mon Sep 17 00:00:00 2001 From: Mathew Kallada Date: Fri, 28 Dec 2012 10:35:32 -0600 Subject: Header File Doxygen Enhancement Task #2 --- cpukit/include/rtems/bspIo.h | 2 ++ cpukit/libblock/include/rtems/bdpart.h | 2 +- cpukit/libblock/include/rtems/blkdev.h | 2 +- cpukit/libblock/include/rtems/diskdevs.h | 8 +++--- cpukit/libblock/include/rtems/flashdisk.h | 2 ++ cpukit/libcsupport/include/clockdrv.h | 2 ++ cpukit/libcsupport/include/timerdrv.h | 4 ++- cpukit/libcsupport/include/zilog/z8036.h | 2 ++ cpukit/libfs/src/pipe/pipe.h | 14 +++++----- cpukit/libfs/src/rfs/rtems-rfs-format.h | 17 ++++++------ cpukit/libmisc/bspcmdline/bspcmdline.h | 3 +++ cpukit/libmisc/fb/mw_uid.h | 7 +++-- cpukit/libmisc/serdbg/serdbgcnf.h | 6 +++++ cpukit/libmisc/serdbg/termios_printk_cnf.h | 6 +++++ cpukit/libmisc/stackchk/stackchk.h | 10 ++++--- cpukit/libqos/qreslib.h | 7 +++-- cpukit/sapi/include/confdefs.h | 43 ++++++++++++++++-------------- cpukit/sapi/include/rtems/cbs.h | 7 +++-- cpukit/sapi/include/rtems/config.h | 2 ++ 19 files changed, 96 insertions(+), 50 deletions(-) diff --git a/cpukit/include/rtems/bspIo.h b/cpukit/include/rtems/bspIo.h index dc5f304821..db9ac038c1 100644 --- a/cpukit/include/rtems/bspIo.h +++ b/cpukit/include/rtems/bspIo.h @@ -1,6 +1,8 @@ /** * @file rtems/bspIo.h * + * @brief Interface to Kernel Print Methods + * * This include file defines the interface to kernel print methods. */ diff --git a/cpukit/libblock/include/rtems/bdpart.h b/cpukit/libblock/include/rtems/bdpart.h index 27daae0046..566864d423 100644 --- a/cpukit/libblock/include/rtems/bdpart.h +++ b/cpukit/libblock/include/rtems/bdpart.h @@ -3,7 +3,7 @@ * * @ingroup rtems_bdpart * - * Block device partition management. + * @brief Block Device Partition Management */ /* diff --git a/cpukit/libblock/include/rtems/blkdev.h b/cpukit/libblock/include/rtems/blkdev.h index f29a34987f..fb2dcd4f00 100644 --- a/cpukit/libblock/include/rtems/blkdev.h +++ b/cpukit/libblock/include/rtems/blkdev.h @@ -3,7 +3,7 @@ * * @ingroup rtems_blkdev * - * Block device management. + * @brief Block Device Management */ /* diff --git a/cpukit/libblock/include/rtems/diskdevs.h b/cpukit/libblock/include/rtems/diskdevs.h index 3a9967ecb2..ece629abbf 100644 --- a/cpukit/libblock/include/rtems/diskdevs.h +++ b/cpukit/libblock/include/rtems/diskdevs.h @@ -1,9 +1,9 @@ /** * @file * - * @ingroup rtems_disk + * @brief Block Device Disk Management API * - * @brief Block device disk management API. + * @ingroup rtems_disk */ /* @@ -94,7 +94,7 @@ typedef struct { typedef struct { /** * @brief Read hit count. - * + * * A read hit occurs in the rtems_bdbuf_read() function in case the block is * in the cached or modified state. */ @@ -102,7 +102,7 @@ typedef struct { /** * @brief Read miss count. - * + * * A read miss occurs in the rtems_bdbuf_read() function in case the block is * in the empty state and a read transfer must be initiated to read the data * from the device. diff --git a/cpukit/libblock/include/rtems/flashdisk.h b/cpukit/libblock/include/rtems/flashdisk.h index c9f8fd433b..4dcdabe059 100644 --- a/cpukit/libblock/include/rtems/flashdisk.h +++ b/cpukit/libblock/include/rtems/flashdisk.h @@ -3,6 +3,8 @@ * * @ingroup RTEMSFDisk * + * @brief Interface to a Flash Disk Block Device + * * This file defines the interface to a flash disk block device. */ diff --git a/cpukit/libcsupport/include/clockdrv.h b/cpukit/libcsupport/include/clockdrv.h index fc85c7abf6..6acf83e894 100644 --- a/cpukit/libcsupport/include/clockdrv.h +++ b/cpukit/libcsupport/include/clockdrv.h @@ -1,6 +1,8 @@ /** * @file rtems/clockdrv.h * + * @brief Clock Driver for all Boards + * * This file describes the Clock Driver for all boards. */ diff --git a/cpukit/libcsupport/include/timerdrv.h b/cpukit/libcsupport/include/timerdrv.h index c51768bb4b..b5eb6a1765 100644 --- a/cpukit/libcsupport/include/timerdrv.h +++ b/cpukit/libcsupport/include/timerdrv.h @@ -1,7 +1,9 @@ /** * @file rtems/timerdrv.h * - * This file describes the Timer Driver for all boards. + * @brief Timer Driver for all Boards + * + * This file describes the Timer Driver for all boards. */ /* diff --git a/cpukit/libcsupport/include/zilog/z8036.h b/cpukit/libcsupport/include/zilog/z8036.h index 260003646d..0e585e1c17 100644 --- a/cpukit/libcsupport/include/zilog/z8036.h +++ b/cpukit/libcsupport/include/zilog/z8036.h @@ -1,6 +1,8 @@ /** * @file rtems/zilog/z8036.h * + * @brief Zilog Z8036 Counter/Timer/IO Chip + * * This include file defines information related to a Zilog Z8036 * Counter/Timer/IO Chip. It is a memory mapped part. * diff --git a/cpukit/libfs/src/pipe/pipe.h b/cpukit/libfs/src/pipe/pipe.h index 6ba3c5ef42..158cde5e35 100644 --- a/cpukit/libfs/src/pipe/pipe.h +++ b/cpukit/libfs/src/pipe/pipe.h @@ -1,6 +1,8 @@ /** * @file rtems/pipe.h * + * @brief Defines the Interface to the POSIX FIFO/pipe File System Support + * * This include file defines the interface to the POSIX FIFO/pipe file system * support. */ @@ -24,7 +26,7 @@ extern "C" { /** * @defgroup FIFO_PIPE FIFO/pipe File System Support - * + * * @brief Interface to the POSIX FIFO/pipe File System */ @@ -50,7 +52,7 @@ typedef struct pipe_control { /** * @brief Create an Anonymous Pipe - * + * * Called by pipe() to create an anonymous pipe. */ extern int pipe_create( @@ -59,7 +61,7 @@ extern int pipe_create( /** * @brief Release a Pipe - * + * * Interface to file system close. * * *pipep points to pipe control structure. When the last user releases pipe, @@ -85,7 +87,7 @@ extern int fifo_open( /** * @brief Pipe Read - * + * * Interface to file system read. */ extern ssize_t pipe_read( @@ -97,7 +99,7 @@ extern ssize_t pipe_read( /** * @brief Pipe Write - * + * * Interface to file system write. */ extern ssize_t pipe_write( @@ -109,7 +111,7 @@ extern ssize_t pipe_write( /** * @brief Pipe IO Control - * + * * Interface to file system ioctl. */ extern int pipe_ioctl( diff --git a/cpukit/libfs/src/rfs/rtems-rfs-format.h b/cpukit/libfs/src/rfs/rtems-rfs-format.h index b9774264f7..56b1aa9d82 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-format.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-format.h @@ -1,20 +1,21 @@ -/* - * COPYRIGHT (c) 2010 Chris Johns - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - */ /** * @file * * @ingroup rtems-rfs * - * RTEMS File System Format. + * @brief RTEMS File System Format * * This function lets you format a disk in the RFS format. */ +/* + * COPYRIGHT (c) 2010 Chris Johns + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + #if !defined (_RTEMS_RFS_FORMAT_H_) #define _RTEMS_RFS_FORMAT_H_ diff --git a/cpukit/libmisc/bspcmdline/bspcmdline.h b/cpukit/libmisc/bspcmdline/bspcmdline.h index 7fa03c9492..1e489835af 100644 --- a/cpukit/libmisc/bspcmdline/bspcmdline.h +++ b/cpukit/libmisc/bspcmdline/bspcmdline.h @@ -1,6 +1,9 @@ /** * @file rtems/bspcmdline.h * + * @brief Related Prototypes and Specifications to + * BSP Command Line String and helper routines. + * * This include file contains all prototypes and specifications * related to the BSP Command Line String and associated helper * routines. The helpers are useful for locating command line diff --git a/cpukit/libmisc/fb/mw_uid.h b/cpukit/libmisc/fb/mw_uid.h index ba91a76b8c..794378b70b 100644 --- a/cpukit/libmisc/fb/mw_uid.h +++ b/cpukit/libmisc/fb/mw_uid.h @@ -1,8 +1,11 @@ /** * @file rtems/mw_uid.h * - * This file defines the interface for input devices used by MicroWindows - * in an embedded system environment. + * @brief Input device Interface for MicroWindows in an + * Embedded System Enviroment + * + * This file defines the interface for input devices used by + * MicroWindows in an embedded system environment. */ /* diff --git a/cpukit/libmisc/serdbg/serdbgcnf.h b/cpukit/libmisc/serdbg/serdbgcnf.h index 90e2d80134..9d4087ae69 100644 --- a/cpukit/libmisc/serdbg/serdbgcnf.h +++ b/cpukit/libmisc/serdbg/serdbgcnf.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief Adds a GDB remote Debug Stub to an RTEMS System + */ + /*===============================================================*\ | Project: RTEMS configure remote gdb over serial line | +-----------------------------------------------------------------+ diff --git a/cpukit/libmisc/serdbg/termios_printk_cnf.h b/cpukit/libmisc/serdbg/termios_printk_cnf.h index a69926e0e0..03c3090c38 100644 --- a/cpukit/libmisc/serdbg/termios_printk_cnf.h +++ b/cpukit/libmisc/serdbg/termios_printk_cnf.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief Adds printk Support via Polled termios + */ + /*===============================================================*\ | Project: RTEMS configure remote gdb over serial line | +-----------------------------------------------------------------+ diff --git a/cpukit/libmisc/stackchk/stackchk.h b/cpukit/libmisc/stackchk/stackchk.h index e4931715c9..a5a9bca534 100644 --- a/cpukit/libmisc/stackchk/stackchk.h +++ b/cpukit/libmisc/stackchk/stackchk.h @@ -1,7 +1,11 @@ -/** @file rtems/stackchk.h +/** + * @file rtems/stackchk.h + * + * @brief Information Necessary to Utilize and Install the + * Stack Checker Mechanism * - * This include file contains information necessary to utilize - * and install the stack checker mechanism. + * This include file contains information necessary to utilize + * and install the stack checker mechanism. */ /* diff --git a/cpukit/libqos/qreslib.h b/cpukit/libqos/qreslib.h index 8b5af82ca5..110cc2f6be 100644 --- a/cpukit/libqos/qreslib.h +++ b/cpukit/libqos/qreslib.h @@ -1,8 +1,11 @@ /** * @file qreslib.h * - * This include file contains all the constants and structures associated - * with the QoS RES library in RTEMS. + * @brief Constants and Structures Associated + * with the QoS RES library in RTEMS + * + * This include file contains all the constants and structures + * associated with the QoS RES library in RTEMS. * * @note The library is available only together with CBS scheduler. */ diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h index 3939cf1e34..2c0be5364f 100644 --- a/cpukit/sapi/include/confdefs.h +++ b/cpukit/sapi/include/confdefs.h @@ -1,6 +1,9 @@ /** * @file rtems/confdefs.h * + * @brief Configuration Table Template that will be Instantiated + * by an Application + * * 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 @@ -175,11 +178,11 @@ rtems_fs_init_functions_t rtems_fs_init_helper = * If configured for SMP, then we need to know the maximum CPU cores. */ #if !defined(CONFIGURE_SMP_APPLICATION) - #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS) + #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS) #define CONFIGURE_SMP_MAXIMUM_PROCESSORS 1 #endif #else - #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS) + #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS) #error "CONFIGURE_SMP_MAXIMUM_PROCESSORS not specified for SMP Application" #endif #endif @@ -259,7 +262,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #error "Configured filesystems but root filesystem was not IMFS!" #error "Filesystems could be disabled, DEVFS is root, or" #error " miniIMFS is root!" - #endif + #endif #endif /* @@ -297,7 +300,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = /** * This defines the miniIMFS file system table entry. - */ + */ #if !defined(CONFIGURE_FILESYSTEM_ENTRY_miniIMFS) && \ defined(CONFIGURE_FILESYSTEM_MINIIMFS) #define CONFIGURE_FILESYSTEM_ENTRY_miniIMFS \ @@ -315,7 +318,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #ifndef RTEMS_SCHEDSIM /** * This defines the IMFS file system table entry. - */ + */ #if !defined(CONFIGURE_FILESYSTEM_ENTRY_IMFS) && \ defined(CONFIGURE_FILESYSTEM_IMFS) #if defined(CONFIGURE_FIFOS_ENABLED) @@ -352,7 +355,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = /** * DEVFS - */ + */ #if !defined(CONFIGURE_FILESYSTEM_ENTRY_DEVFS) && \ defined(CONFIGURE_FILESYSTEM_DEVFS) #include @@ -363,9 +366,9 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #ifdef RTEMS_NETWORKING /** * FTPFS - */ + */ #if !defined(CONFIGURE_FILESYSTEM_ENTRY_FTPFS) && \ - defined(CONFIGURE_FILESYSTEM_FTPFS) + defined(CONFIGURE_FILESYSTEM_FTPFS) #include #define CONFIGURE_FILESYSTEM_ENTRY_FTPFS \ { RTEMS_FILESYSTEM_TYPE_FTPFS, rtems_ftpfs_initialize } @@ -373,7 +376,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = /** * TFTPFS - */ + */ #if !defined(CONFIGURE_FILESYSTEM_ENTRY_TFTPFS) && \ defined(CONFIGURE_FILESYSTEM_TFTPFS) #include @@ -383,7 +386,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = /** * NFS - */ + */ #if !defined(CONFIGURE_FILESYSTEM_ENTRY_NFS) && \ defined(CONFIGURE_FILESYSTEM_NFS) #include @@ -394,7 +397,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = /** * DOSFS - */ + */ #if !defined(CONFIGURE_FILESYSTEM_ENTRY_DOSFS) && \ defined(CONFIGURE_FILESYSTEM_DOSFS) #include @@ -404,7 +407,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = /** * RFS - */ + */ #if !defined(CONFIGURE_FILESYSTEM_ENTRY_RFS) && \ defined(CONFIGURE_FILESYSTEM_RFS) #include @@ -574,7 +577,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = /* * Scheduler configuration. * - * The scheduler configuration allows an application to select the + * The scheduler configuration allows an application to select the * scheduling policy to use. The supported configurations are: * CONFIGURE_SCHEDULER_USER - user provided scheduler * CONFIGURE_SCHEDULER_PRIORITY - Deterministic Priority Scheduler @@ -582,13 +585,13 @@ rtems_fs_init_functions_t rtems_fs_init_helper = * CONFIGURE_SCHEDULER_SIMPLE_SMP - Simple SMP Priority Scheduler * CONFIGURE_SCHEDULER_EDF - EDF Scheduler * CONFIGURE_SCHEDULER_CBS - CBS Scheduler - * - * If no configuration is specified by the application, then + * + * If no configuration is specified by the application, then * CONFIGURE_SCHEDULER_PRIORITY is assumed to be the default. * * An application can define its own scheduling policy by defining * CONFIGURE_SCHEDULER_USER and the following: - * - CONFIGURE_SCHEDULER_ENTRY_POINTS + * - CONFIGURE_SCHEDULER_ENTRY_POINTS * - CONFIGURE_MEMORY_FOR_SCHEDULER - base memory * - CONFIGURE_MEMORY_PER_TASK_FOR_SCHEDULER - per task memory */ @@ -612,7 +615,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif #endif -/* +/* * If the Priority Scheduler is selected, then configure for it. */ #if defined(CONFIGURE_SCHEDULER_PRIORITY) @@ -630,7 +633,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = _Configure_From_workspace(sizeof(Scheduler_priority_Per_thread)) ) #endif -/* +/* * If the Simple Priority Scheduler is selected, then configure for it. */ #if defined(CONFIGURE_SCHEDULER_SIMPLE) @@ -705,7 +708,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = _Configure_From_workspace(sizeof(Scheduler_CBS_Per_thread))) #endif -/* +/* * Set up the scheduler entry points table. The scheduling code uses * this code to know which scheduler is configured by the user. */ @@ -858,7 +861,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #define CONFIGURE_UNIFIED_WORK_AREAS #endif #endif - + #ifdef CONFIGURE_UNIFIED_WORK_AREAS Heap_Control *RTEMS_Malloc_Heap = &_Workspace_Area; #else diff --git a/cpukit/sapi/include/rtems/cbs.h b/cpukit/sapi/include/rtems/cbs.h index 9113204bdf..dda56e27b0 100644 --- a/cpukit/sapi/include/rtems/cbs.h +++ b/cpukit/sapi/include/rtems/cbs.h @@ -1,8 +1,11 @@ /** * @file rtems/cbs.h * - * This include file contains all the constants and structures associated - * with the CBS library in RTEMS. + * @brief Constants and Structures Associated + * with the CBS library in RTEMS + * + * This include file contains all the constants and structures associated + * with the CBS library in RTEMS. */ /* diff --git a/cpukit/sapi/include/rtems/config.h b/cpukit/sapi/include/rtems/config.h index 983af84abf..9a35437b4f 100644 --- a/cpukit/sapi/include/rtems/config.h +++ b/cpukit/sapi/include/rtems/config.h @@ -1,6 +1,8 @@ /** * @file rtems/config.h * + * @brief Table of User Defined Configuration Parameters + * * This include file contains the table of user defined configuration * parameters. */ -- cgit v1.2.3 From 1ccbfe2d7e6bcb5bb516177bab60ff5f0164644d Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 28 Dec 2012 10:45:30 -0600 Subject: posixapi.h: Add POSIX API Doxygen group --- cpukit/posix/include/rtems/posix/posixapi.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cpukit/posix/include/rtems/posix/posixapi.h b/cpukit/posix/include/rtems/posix/posixapi.h index cb61ba0036..dd8f8c2873 100644 --- a/cpukit/posix/include/rtems/posix/posixapi.h +++ b/cpukit/posix/include/rtems/posix/posixapi.h @@ -20,6 +20,14 @@ #include #include +/** + * @defgroup POSIXAPI RTEMS POSIX API + * + * RTEMS POSIX API definitions and modules. + * + * @{ + */ + /** * @brief Initialize POSIX API * @@ -50,5 +58,7 @@ int _POSIX_Name_to_id( size_t *len ); +/**@}*/ + #endif /* end of include file */ -- cgit v1.2.3 From 4ce0d45a06e5acd90634dcb8353fb965738cdb75 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 28 Dec 2012 10:45:53 -0600 Subject: barrier.h: Use POSIX API Doxygen group --- cpukit/posix/include/rtems/posix/barrier.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cpukit/posix/include/rtems/posix/barrier.h b/cpukit/posix/include/rtems/posix/barrier.h index ce75358d5e..e5de9dceaa 100644 --- a/cpukit/posix/include/rtems/posix/barrier.h +++ b/cpukit/posix/include/rtems/posix/barrier.h @@ -23,6 +23,16 @@ #ifndef _RTEMS_POSIX_BARRIER_H #define _RTEMS_POSIX_BARRIER_H +/** + * @defgroup POSIXBarrier POSIX Barriers + * + * @ingroup POSIXAPI + * + * This encapsulates functionality which implements the RTEMS API + * Barrier Manager. + */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif @@ -82,5 +92,7 @@ int _POSIX_Barrier_Translate_core_barrier_return_code( } #endif +/**@}*/ + #endif /* end of include file */ -- cgit v1.2.3 From c5782a26b304202546a073a036cbe9e00a789307 Mon Sep 17 00:00:00 2001 From: Mathew Kallada Date: Fri, 28 Dec 2012 11:16:29 -0600 Subject: Header File Doxygen Enhancement Task #7 --- cpukit/include/rtems/btimer.h | 4 ++-- cpukit/libblock/include/rtems/nvdisk.h | 2 +- cpukit/libcsupport/include/ringbuf.h | 2 ++ cpukit/libcsupport/include/rtems/assoc.h | 4 +++- cpukit/libcsupport/include/rtems/error.h | 16 ++++++++------- cpukit/libcsupport/include/rtems/framebuffer.h | 2 ++ cpukit/libcsupport/include/rtems/libio.h | 8 ++++---- cpukit/libi2c/libi2c.h | 2 +- cpukit/libmisc/capture/capture.h | 3 +++ cpukit/libmisc/cpuuse/cpuuse.h | 3 +++ cpukit/rtems/include/rtems/rtems/attr.h | 2 ++ cpukit/rtems/include/rtems/rtems/dpmem.h | 27 ++++++++++++++------------ cpukit/rtems/include/rtems/rtems/object.h | 2 ++ cpukit/rtems/include/rtems/rtems/rtemsapi.h | 2 +- cpukit/rtems/include/rtems/rtems/sem.h | 2 ++ cpukit/rtems/include/rtems/rtems/signal.h | 2 ++ cpukit/rtems/include/rtems/rtems/tasks.h | 2 ++ cpukit/sapi/include/rtems/init.h | 2 ++ cpukit/sapi/include/rtems/mptables.h | 3 +++ cpukit/score/include/rtems/bspsmp.h | 18 +++++++++-------- 20 files changed, 71 insertions(+), 37 deletions(-) diff --git a/cpukit/include/rtems/btimer.h b/cpukit/include/rtems/btimer.h index 0e02799734..fb38fd68b2 100644 --- a/cpukit/include/rtems/btimer.h +++ b/cpukit/include/rtems/btimer.h @@ -1,7 +1,7 @@ /** * @file rtems/btimer.h * - * RTEMS benchmark timer API for all boards. + * @brief RTEMS Benchmark Timer API for all Boards */ /* @@ -16,7 +16,7 @@ * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. */ - + /* * All the functions declared as extern after this comment * MUST be implemented in each BSP. diff --git a/cpukit/libblock/include/rtems/nvdisk.h b/cpukit/libblock/include/rtems/nvdisk.h index c7693fb6fb..0f9cc8fe9d 100644 --- a/cpukit/libblock/include/rtems/nvdisk.h +++ b/cpukit/libblock/include/rtems/nvdisk.h @@ -1,7 +1,7 @@ /** * @file rtems/nvdisk.h * - * Non-volatile disk block device implementation + * @brief Non-volatile Disk Block Device Implementation */ /* diff --git a/cpukit/libcsupport/include/ringbuf.h b/cpukit/libcsupport/include/ringbuf.h index 71b0532f41..0e86f39ce9 100644 --- a/cpukit/libcsupport/include/ringbuf.h +++ b/cpukit/libcsupport/include/ringbuf.h @@ -1,6 +1,8 @@ /** * @file rtems/ringbuf.h * + * @brief Simple Ring Buffer Functionality + * * This file provides simple ring buffer functionality. */ diff --git a/cpukit/libcsupport/include/rtems/assoc.h b/cpukit/libcsupport/include/rtems/assoc.h index 0ed3ded50f..c4933159e0 100644 --- a/cpukit/libcsupport/include/rtems/assoc.h +++ b/cpukit/libcsupport/include/rtems/assoc.h @@ -1,6 +1,8 @@ /** * @file rtems/assoc.h * + * @brief RTEMS Associativity Routines + * * RTEMS associativity routines. Mainly used to convert a value from * one space to another (eg: our errno's to host errno's and vice-versa) */ @@ -139,7 +141,7 @@ const rtems_assoc_t *rtems_assoc_ptr_by_local( /** * @brief RTEMS Associate Bad Name - * + * * what to return if a value is not found * this is not reentrant, but it really shouldn't be invoked anyway */ diff --git a/cpukit/libcsupport/include/rtems/error.h b/cpukit/libcsupport/include/rtems/error.h index 056fb8f9c0..31a37e025b 100644 --- a/cpukit/libcsupport/include/rtems/error.h +++ b/cpukit/libcsupport/include/rtems/error.h @@ -1,10 +1,12 @@ /** * @file rtems/error.h * + * @brief RTEMS Error Reporting + * * Defines and externs for rtems error reporting - * + * * Currently just used by RTEMS monitor. - * + * * These routines provide general purpose error reporting. * rtems_error reports an error to stderr and allows use of * printf style formatting. A newline is appended to all messages. @@ -53,9 +55,9 @@ extern "C" { * @defgroup ErrorPanicSupport Error And Panic Support * * @ingroup libcsupport - * + * * @brief Defines and externs for rtems error reporting - * + * */ typedef Internal_errors_t rtems_error_code_t; @@ -82,13 +84,13 @@ const char *rtems_status_text(rtems_status_code sc); /** * @brief Report an Error - * + * * @param[in] error_code can be specified as any of the following: * RTEMS_ERROR_ERRNO -- include errno text in output * RTEMS_ERROR_PANIC -- halts local system after output * RTEMS_ERROR_ABORT -- abort after output - * - * @param[in] printf_format is a normal printf(3) format string, + * + * @param[in] printf_format is a normal printf(3) format string, * with its concommitant arguments * * @return the number of characters written. diff --git a/cpukit/libcsupport/include/rtems/framebuffer.h b/cpukit/libcsupport/include/rtems/framebuffer.h index 8a05f5ac75..a0548d3499 100644 --- a/cpukit/libcsupport/include/rtems/framebuffer.h +++ b/cpukit/libcsupport/include/rtems/framebuffer.h @@ -1,6 +1,8 @@ /** * @file rtems/framebuffer.h * + * @brief Frame Buffer Device Driver for all Boards + * * This file describes the Frame Buffer Device Driver for all boards. */ diff --git a/cpukit/libcsupport/include/rtems/libio.h b/cpukit/libcsupport/include/rtems/libio.h index 84f3dc7451..e7d34b63a9 100644 --- a/cpukit/libcsupport/include/rtems/libio.h +++ b/cpukit/libcsupport/include/rtems/libio.h @@ -3,8 +3,8 @@ * * @ingroup LibIO * - * @brief Basic IO API. - * + * @brief Basic IO API + * * This file contains the support infrastructure used to manage the * table of integer style file descriptors used by the low level * POSIX system calls like open(), read, fstat(), etc. @@ -1257,7 +1257,7 @@ typedef struct { /** * @brief RTEMS LibIO Initialization - * + * * Called by BSP startup code to initialize the libio subsystem. */ void rtems_libio_init(void); @@ -1384,7 +1384,7 @@ static inline rtems_device_minor_number rtems_filesystem_dev_minor_t( /** * @brief Base File System Initialization - * + * * Initialize the foundation of the file system. This is specified * by the structure rtems_filesystem_mount_table. The usual * configuration is a single instantiation of the IMFS or miniIMFS with diff --git a/cpukit/libi2c/libi2c.h b/cpukit/libi2c/libi2c.h index 04c20a64b7..8c2f072da2 100644 --- a/cpukit/libi2c/libi2c.h +++ b/cpukit/libi2c/libi2c.h @@ -3,7 +3,7 @@ * * @ingroup libi2c * - * @brief I2C library. + * @brief I2C Library */ #ifndef _RTEMS_LIBI2C_H diff --git a/cpukit/libmisc/capture/capture.h b/cpukit/libmisc/capture/capture.h index 034bdb9c86..d75f675b27 100644 --- a/cpukit/libmisc/capture/capture.h +++ b/cpukit/libmisc/capture/capture.h @@ -1,6 +1,9 @@ /** * @file rtems/capture.h * + * @brief Capture Engine Component of the RTEMS Measurement and + * Monitoring System + * * This is the Capture Engine component of the RTEMS Measurement and * Monitoring system. */ diff --git a/cpukit/libmisc/cpuuse/cpuuse.h b/cpukit/libmisc/cpuuse/cpuuse.h index 7dfe5ba388..a89c7dd346 100644 --- a/cpukit/libmisc/cpuuse/cpuuse.h +++ b/cpukit/libmisc/cpuuse/cpuuse.h @@ -1,6 +1,9 @@ /** * @file rtems/cpuuse.h * + * @brief Information Necessary to Utilize + * and Install the CPU Usage Reporting Mechanism + * * This include file contains information necessary to utilize * and install the cpu usage reporting mechanism. */ diff --git a/cpukit/rtems/include/rtems/rtems/attr.h b/cpukit/rtems/include/rtems/rtems/attr.h index 674ee08eff..20c4ae2f16 100644 --- a/cpukit/rtems/include/rtems/rtems/attr.h +++ b/cpukit/rtems/include/rtems/rtems/attr.h @@ -1,6 +1,8 @@ /** * @file rtems/rtems/attr.h * + * @brief Information about the Object Attributes Handler + * * This include file contains all information about the Object Attributes * Handler. */ diff --git a/cpukit/rtems/include/rtems/rtems/dpmem.h b/cpukit/rtems/include/rtems/rtems/dpmem.h index 42601d5779..1ea1e02faf 100644 --- a/cpukit/rtems/include/rtems/rtems/dpmem.h +++ b/cpukit/rtems/include/rtems/rtems/dpmem.h @@ -1,6 +1,9 @@ /** * @file rtems/rtems/dpmem.h * + * @brief Constants and Structures Associated with the Dual Ported Memory + * Manager + * * This include file contains all the constants and structures associated * with the Dual Ported Memory Manager. This manager provides a mechanism * for converting addresses between internal and external representations @@ -92,13 +95,13 @@ void _Dual_ported_memory_Manager_initialization(void); * memory of length bytes which has internal_start and external_start * as the internal and external starting addresses, respectively. * It returns the id of the created port in ID. - * + * * @param[in] name is the user defined port name * @param[in] internal_start is the internal start address of port * @param[in] external_start is the external start address of port * @param[in] length is the physical length in bytes * @param[out] id is the address of port id to set - * + * * @return This method returns RTEMS_SUCCESSFUL if there was not an * error. Otherwise, a status code is returned indicating the * source of the error. If successful, the id will @@ -118,10 +121,10 @@ rtems_status_code rtems_port_create( * This routine implements the rtems_port_ident directive. This directive * returns the port ID associated with name. If more than one port is * named name, then the port to which the ID belongs is arbitrary. - * + * * @param[in] name is the user defined port name * @param[out] id is the pointer to port id - * + * * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful */ rtems_status_code rtems_port_ident( @@ -134,9 +137,9 @@ rtems_status_code rtems_port_ident( * * This routine implements the rtems_port_delete directive. It deletes * the port associated with ID. - * + * * @param[in] id is the dual-ported memory area id - * + * * @return This method returns RTEMS_SUCCESSFUL if there was not an * error. Otherwise, a status code is returned indicating the * source of the error. @@ -151,13 +154,13 @@ rtems_status_code rtems_port_delete( * This routine implements the rtems_port_external_to_internal directive. * It returns the internal port address which maps to the provided * external port address for the specified port ID.If the given external - * address is an invalid dual-ported address, then the internal address is + * address is an invalid dual-ported address, then the internal address is * set to the given external address. - * + * * @param[in] id is the id of dp memory object * @param[in] external is the external address * @param[out] internal is the pointer of internal address to set - * + * * @return RTEMS_SUCCESSFUL */ rtems_status_code rtems_port_external_to_internal( @@ -174,12 +177,12 @@ rtems_status_code rtems_port_external_to_internal( * internal port address for the specified port ID. If the given * internal address is an invalid dual-ported address, then the * external address is set to the given internal address. - * + * * @param[in] id is the id of dual-ported memory object * @param[in] internal is the internal address to set * @param[in] external is the pointer to external address - * - * @return RTEMS_SUCCESSFUL and the external will be filled in + * + * @return RTEMS_SUCCESSFUL and the external will be filled in * with the external addresses */ rtems_status_code rtems_port_internal_to_external( diff --git a/cpukit/rtems/include/rtems/rtems/object.h b/cpukit/rtems/include/rtems/rtems/object.h index 7baa80c652..c4e99cbeff 100644 --- a/cpukit/rtems/include/rtems/rtems/object.h +++ b/cpukit/rtems/include/rtems/rtems/object.h @@ -1,6 +1,8 @@ /** * @file rtems/rtems/object.h * + * @brief Classic API interfaces to Object Services + * * This include file defines Classic API interfaces to Object Services. */ diff --git a/cpukit/rtems/include/rtems/rtems/rtemsapi.h b/cpukit/rtems/include/rtems/rtems/rtemsapi.h index 5d74fa6790..29b4d1be37 100644 --- a/cpukit/rtems/include/rtems/rtems/rtemsapi.h +++ b/cpukit/rtems/include/rtems/rtems/rtemsapi.h @@ -1,7 +1,7 @@ /** * @file rtems/rtems/rtemsapi.h * - * RTEMS API Support + * @brief RTEMS API Support */ /* COPYRIGHT (c) 1989-2008. diff --git a/cpukit/rtems/include/rtems/rtems/sem.h b/cpukit/rtems/include/rtems/rtems/sem.h index ea0aea32ca..5e851bcdc2 100644 --- a/cpukit/rtems/include/rtems/rtems/sem.h +++ b/cpukit/rtems/include/rtems/rtems/sem.h @@ -1,6 +1,8 @@ /** * @file rtems/rtems/sem.h * + * @brief Constants and Structures Associated with the Semaphore Manager + * * This include file contains all the constants and structures associated * with the Semaphore Manager. This manager utilizes standard Dijkstra * counting semaphores to provide synchronization and mutual exclusion diff --git a/cpukit/rtems/include/rtems/rtems/signal.h b/cpukit/rtems/include/rtems/rtems/signal.h index 6e242544a3..b6430e251a 100644 --- a/cpukit/rtems/include/rtems/rtems/signal.h +++ b/cpukit/rtems/include/rtems/rtems/signal.h @@ -1,6 +1,8 @@ /** * @file rtems/rtems/signal.h * + * @brief Constants and Structures Associated with the Signal Manager + * * This include file contains all the constants and structures associated * with the Signal Manager. This manager provides capabilities required * for asynchronous communication between tasks via signal sets. diff --git a/cpukit/rtems/include/rtems/rtems/tasks.h b/cpukit/rtems/include/rtems/rtems/tasks.h index 607f87ca57..c4ccafb824 100644 --- a/cpukit/rtems/include/rtems/rtems/tasks.h +++ b/cpukit/rtems/include/rtems/rtems/tasks.h @@ -1,6 +1,8 @@ /** * @file rtems/rtems/tasks.h * + * @brief Constants and Structures Associated with RTEMS Tasks + * * This include file contains all constants and structures associated * with RTEMS tasks. This manager provides a comprehensive set of directives * to create, delete, and administer tasks. diff --git a/cpukit/sapi/include/rtems/init.h b/cpukit/sapi/include/rtems/init.h index 8b5fab91fd..d357c113df 100644 --- a/cpukit/sapi/include/rtems/init.h +++ b/cpukit/sapi/include/rtems/init.h @@ -1,6 +1,8 @@ /** * @file rtems/init.h * + * @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 diff --git a/cpukit/sapi/include/rtems/mptables.h b/cpukit/sapi/include/rtems/mptables.h index c46a367a33..52db445833 100644 --- a/cpukit/sapi/include/rtems/mptables.h +++ b/cpukit/sapi/include/rtems/mptables.h @@ -1,6 +1,9 @@ /** * @file rtems/mptables.h * + * @brief Executive's Pre-Initialized Tables used in a + * Multiprocessor Configuration + * * This include file contains the executive's pre-initialized tables * used in a multiprocessor configuration. */ diff --git a/cpukit/score/include/rtems/bspsmp.h b/cpukit/score/include/rtems/bspsmp.h index 9c040efeda..fa1b65b815 100644 --- a/cpukit/score/include/rtems/bspsmp.h +++ b/cpukit/score/include/rtems/bspsmp.h @@ -1,9 +1,11 @@ /** * @file rtems/bspsmp.h * + * @brief Interface Between RTEMS and an SMP Aware BSP + * * This include file defines the interface between RTEMS and an * SMP aware BSP. These methods will only be used when RTEMS - * is configured with SMP support enabled. + * is configured with SMP support enabled. */ /* @@ -25,7 +27,7 @@ * @defgroup RTEMS BSP SMP Interface * * This defines the interface between RTEMS and the BSP for - * SMP support. The interface uses the term primary + * SMP support. The interface uses the term primary * to refer to the "boot" processor and secondary to refer * to the "application" processors. Different architectures * use different terminology. @@ -51,7 +53,7 @@ extern "C" { * indicate the Maximum number of CPUs in this system. */ extern uint32_t rtems_configuration_smp_maximum_processors; - + /** * @brief Initialize Secondary CPUs * @@ -97,11 +99,11 @@ void rtems_smp_send_message( * @brief Generate a Interprocessor Broadcast Interrupt * * This method is invoked when RTEMS wants to let all of the other - * CPUs know that it has sent them message. CPUs not including + * CPUs know that it has sent them message. CPUs not including * the originating CPU should receive the interrupt. * - * @note On CPUs without the capability to generate a broadcast + * @note On CPUs without the capability to generate a broadcast * to all other CPUs interrupt, this can be implemented by * a loop of sending interrupts to specific CPUs. */ @@ -152,7 +154,7 @@ void bsp_smp_secondary_cpu_initialize(int cpu); * @note This is provided by RTEMS. */ void rtems_smp_secondary_cpu_initialize(void); - + /** * This method is invoked by the BSP to initialize the per CPU structure * for the specified @a cpu while it is bringing the secondary CPUs @@ -167,7 +169,7 @@ void rtems_smp_initialize_per_cpu(int cpu); * @brief RTEMS SMP Proccess Interrupt * * This is the method called by the BSP's interrupt handler - * to process the incoming interprocessor request. + * to process the incoming interprocessor request. */ void rtems_smp_process_interrupt(void); @@ -184,7 +186,7 @@ void bsp_smp_wait_for( #endif #else - #define bsp_smp_processor_id() 0 + #define bsp_smp_processor_id() 0 #endif #endif -- cgit v1.2.3 From f3255a6f2243de82f7500641c16aa4360e29447a Mon Sep 17 00:00:00 2001 From: Mathew Kallada Date: Fri, 28 Dec 2012 11:30:27 -0600 Subject: Header File Doxygen Enhancement Task #11 --- cpukit/include/rtems/fs.h | 2 ++ cpukit/libcsupport/include/sys/statvfs.h | 2 ++ cpukit/libcsupport/include/sys/termios.h | 2 +- cpukit/libcsupport/include/sys/utsname.h | 2 ++ cpukit/libmisc/devnull/devzero.h | 2 ++ cpukit/libmisc/monitor/monitor.h | 2 +- cpukit/libmisc/shell/shell.h | 2 +- cpukit/posix/include/rtems/posix/semaphore.h | 2 ++ cpukit/rtems/include/rtems.h | 6 +++--- 9 files changed, 16 insertions(+), 6 deletions(-) diff --git a/cpukit/include/rtems/fs.h b/cpukit/include/rtems/fs.h index 6270877ee5..a403e66f3c 100644 --- a/cpukit/include/rtems/fs.h +++ b/cpukit/include/rtems/fs.h @@ -1,6 +1,8 @@ /** * @file rtems/fs.h * + * @brief Basic Filesystem Types + * * This file defines basic filesystem types */ diff --git a/cpukit/libcsupport/include/sys/statvfs.h b/cpukit/libcsupport/include/sys/statvfs.h index 13185e7e2e..8872670d80 100644 --- a/cpukit/libcsupport/include/sys/statvfs.h +++ b/cpukit/libcsupport/include/sys/statvfs.h @@ -1,6 +1,8 @@ /** * @file sys/statvfs.h * + * @brief Interface to the statvfs() set of API Methods + * * This include file defines the interface to the statvfs() set of * API methods. The statvfs as defined by the SUS: * diff --git a/cpukit/libcsupport/include/sys/termios.h b/cpukit/libcsupport/include/sys/termios.h index 1046eb8c87..cc8440891a 100644 --- a/cpukit/libcsupport/include/sys/termios.h +++ b/cpukit/libcsupport/include/sys/termios.h @@ -1,7 +1,7 @@ /** * @file sys/termios.h * - * @brief POSIX termios implementation for RTEMS console device driver. + * @brief POSIX termios Implementation for RTEMS Console Device Driver * * The Open Group Base Specifications Issue 6 * IEEE Std 1003.1, 2004 Edition diff --git a/cpukit/libcsupport/include/sys/utsname.h b/cpukit/libcsupport/include/sys/utsname.h index a56d74abfd..df3cc675ad 100644 --- a/cpukit/libcsupport/include/sys/utsname.h +++ b/cpukit/libcsupport/include/sys/utsname.h @@ -1,6 +1,8 @@ /** * @file sys/utsname.h * + * @brief Interface to the POSIX utsname() Service + * * This include file defines the interface to the POSIX utsname() service. */ diff --git a/cpukit/libmisc/devnull/devzero.h b/cpukit/libmisc/devnull/devzero.h index aaf084cc32..f1b3d5228f 100644 --- a/cpukit/libmisc/devnull/devzero.h +++ b/cpukit/libmisc/devnull/devzero.h @@ -1,6 +1,8 @@ /** * @file rtems/devzero.h * + * @brief Interface to the RTEMS /dev/zero Device Driver + * * This include file defines the interface to the RTEMS /dev/zero * device driver. */ diff --git a/cpukit/libmisc/monitor/monitor.h b/cpukit/libmisc/monitor/monitor.h index ba3a61e62b..aedde1a848 100644 --- a/cpukit/libmisc/monitor/monitor.h +++ b/cpukit/libmisc/monitor/monitor.h @@ -1,7 +1,7 @@ /** * @file rtems/monitor.h * - * The RTEMS monitor task. + * @brief The RTEMS Monitor Task */ diff --git a/cpukit/libmisc/shell/shell.h b/cpukit/libmisc/shell/shell.h index eb55361a67..079ef667af 100644 --- a/cpukit/libmisc/shell/shell.h +++ b/cpukit/libmisc/shell/shell.h @@ -1,7 +1,7 @@ /** * @file rtems/shell.h * - * Instantatiate a new terminal shell. + * @brief Instantatiate a New Terminal Shell */ /* diff --git a/cpukit/posix/include/rtems/posix/semaphore.h b/cpukit/posix/include/rtems/posix/semaphore.h index 6390f22110..d7263b3e72 100644 --- a/cpukit/posix/include/rtems/posix/semaphore.h +++ b/cpukit/posix/include/rtems/posix/semaphore.h @@ -1,6 +1,8 @@ /** * @file rtems/posix/semaphore.h * + * @brief Private Support Information for POSIX Semaphores + * * This include file contains all the private support information for * POSIX Semaphores. */ diff --git a/cpukit/rtems/include/rtems.h b/cpukit/rtems/include/rtems.h index 68c6a0b7b9..d989a02aac 100644 --- a/cpukit/rtems/include/rtems.h +++ b/cpukit/rtems/include/rtems.h @@ -3,7 +3,7 @@ * * @ingroup ClassicRTEMS * - * @brief Provides the public interface to the RTEMS Classic API. + * @brief Provides the Public Interface to the RTEMS Classic API */ /* COPYRIGHT (c) 1989-2008. @@ -158,7 +158,7 @@ const char *rtems_get_version_string(void); * risk of blown stacks for most user applications. Using this constant when * specifying the task stack size, indicates that the stack size will be at * least RTEMS_MINIMUM_STACK_SIZE bytes in size. If the user configured minimum - * stack size is larger than the recommended minimum, then it will be used. + * stack size is larger than the recommended minimum, then it will be used. */ #define RTEMS_MINIMUM_STACK_SIZE STACK_MINIMUM_SIZE @@ -174,7 +174,7 @@ const char *rtems_get_version_string(void); * minimum stack size value, you may get a stack size that is smaller or larger * than the recommended minimum. This can be used to provide large stacks for * all tasks on complex applications or small stacks on applications that are - * trying to conserve memory. + * trying to conserve memory. */ #define RTEMS_CONFIGURED_MINIMUM_STACK_SIZE 0 -- cgit v1.2.3 From 7ee5bc4ce1d2b596356a5c99ca1e2240ea1f8b62 Mon Sep 17 00:00:00 2001 From: Mathew Kallada Date: Fri, 28 Dec 2012 17:23:21 -0600 Subject: rtems: Doxygen Clean Up Task #3 --- cpukit/rtems/inline/rtems/rtems/attr.inl | 38 ++++++++++++++++++---------- cpukit/rtems/inline/rtems/rtems/dpmem.inl | 10 +++++--- cpukit/rtems/inline/rtems/rtems/eventset.inl | 8 +++--- cpukit/rtems/inline/rtems/rtems/message.inl | 7 ++--- cpukit/rtems/inline/rtems/rtems/modes.inl | 15 ++++++----- cpukit/rtems/inline/rtems/rtems/options.inl | 4 +-- cpukit/rtems/inline/rtems/rtems/part.inl | 20 ++++++++------- cpukit/rtems/inline/rtems/rtems/ratemon.inl | 16 +++++++----- cpukit/rtems/inline/rtems/rtems/sem.inl | 12 +++++---- cpukit/rtems/inline/rtems/rtems/status.inl | 4 +-- cpukit/rtems/inline/rtems/rtems/tasks.inl | 10 ++++---- 11 files changed, 82 insertions(+), 62 deletions(-) diff --git a/cpukit/rtems/inline/rtems/rtems/attr.inl b/cpukit/rtems/inline/rtems/rtems/attr.inl index 75d62ad601..126259a067 100644 --- a/cpukit/rtems/inline/rtems/rtems/attr.inl +++ b/cpukit/rtems/inline/rtems/rtems/attr.inl @@ -29,7 +29,7 @@ */ /** - * @brief Attributes_Set + * @brief Sets the requested new_attributes in the attribute_set passed in. * * This function sets the requested new_attributes in the attribute_set * passed in. The result is returned to the user. @@ -43,7 +43,8 @@ RTEMS_INLINE_ROUTINE rtems_attribute _Attributes_Set ( } /** - * @brief Attributes_Clear + * @brief Clears the requested new_attributes in the attribute_set + * passed in. * * This function clears the requested new_attributes in the attribute_set * passed in. The result is returned to the user. @@ -57,7 +58,8 @@ RTEMS_INLINE_ROUTINE rtems_attribute _Attributes_Clear ( } /** - * @brief Attributes_Is_floating_point + * @brief Checks if the floating point attribute is + * enabled in the attribute_set. * * This function returns TRUE if the floating point attribute is * enabled in the attribute_set and FALSE otherwise. @@ -71,7 +73,8 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_floating_point( #if defined(RTEMS_MULTIPROCESSING) /** - * @brief Attributes_Is_global + * @brief Checks if the global object attribute is enabled in + * the attribute_set. * * This function returns TRUE if the global object attribute is * enabled in the attribute_set and FALSE otherwise. @@ -85,7 +88,7 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_global( #endif /** - * @brief Attributes_Is_priority + * @brief Checks if the priority attribute is enabled in the attribute_set. * * This function returns TRUE if the priority attribute is * enabled in the attribute_set and FALSE otherwise. @@ -98,7 +101,8 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_priority( } /** - * @brief Attributes_Is_binary_semaphore + * @brief Checks if the binary semaphore attribute is + * enabled in the attribute_set. * * This function returns TRUE if the binary semaphore attribute is * enabled in the attribute_set and FALSE otherwise. @@ -111,21 +115,23 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_binary_semaphore( } /** - * @brief Attributes_Is_simple_binary_semaphore + * @brief Checks if the simple binary semaphore attribute is + * enabled in the attribute_set * * This function returns TRUE if the simple binary semaphore attribute is * enabled in the attribute_set and FALSE otherwise. */ RTEMS_INLINE_ROUTINE bool _Attributes_Is_simple_binary_semaphore( rtems_attribute attribute_set -) +) { return ((attribute_set & RTEMS_SEMAPHORE_CLASS) == RTEMS_SIMPLE_BINARY_SEMAPHORE); -} +} /** - * @brief Attributes_Is_counting_semaphore + * @brief Checks if the counting semaphore attribute is + * enabled in the attribute_set * * This function returns TRUE if the counting semaphore attribute is * enabled in the attribute_set and FALSE otherwise. @@ -138,7 +144,8 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_counting_semaphore( } /** - * @brief Attributes_Is_inherit_priority + * @brief Checks if the priority inheritance attribute + * is enabled in the attribute_set * * This function returns TRUE if the priority inheritance attribute * is enabled in the attribute_set and FALSE otherwise. @@ -151,7 +158,8 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_inherit_priority( } /** - * @brief Attributes_Is_priority_ceiling + * @brief Checks if the priority ceiling attribute + * is enabled in the attribute_set * * This function returns TRUE if the priority ceiling attribute * is enabled in the attribute_set and FALSE otherwise. @@ -164,7 +172,8 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_priority_ceiling( } /** - * @brief Attributes_Is_barrier_automatic + * @brief Checks if the barrier automatic release + * attribute is enabled in the attribute_set * * This function returns TRUE if the barrier automatic release * attribute is enabled in the attribute_set and FALSE otherwise. @@ -177,7 +186,8 @@ RTEMS_INLINE_ROUTINE bool _Attributes_Is_barrier_automatic( } /** - * @brief Attributes_Is_system_task + * @brief Checks if the system task attribute + * is enabled in the attribute_set. * * This function returns TRUE if the system task attribute * is enabled in the attribute_set and FALSE otherwise. diff --git a/cpukit/rtems/inline/rtems/rtems/dpmem.inl b/cpukit/rtems/inline/rtems/rtems/dpmem.inl index c445603a9d..19a4addbca 100644 --- a/cpukit/rtems/inline/rtems/rtems/dpmem.inl +++ b/cpukit/rtems/inline/rtems/rtems/dpmem.inl @@ -26,7 +26,8 @@ */ /** - * @brief Dual_ported_memory_Allocate + * @brief Allocates a port control block from the inactive chain + * of free port control blocks. * * This routine allocates a port control block from the inactive chain * of free port control blocks. @@ -39,7 +40,8 @@ RTEMS_INLINE_ROUTINE Dual_ported_memory_Control } /** - * @brief Dual_ported_memory_Free + * @brief Frees a port control block to the inactive chain + * of free port control blocks. * * This routine frees a port control block to the inactive chain * of free port control blocks. @@ -52,7 +54,7 @@ RTEMS_INLINE_ROUTINE void _Dual_ported_memory_Free ( } /** - * @brief Dual_ported_memory_Get + * @brief Maps port IDs to port control blocks. * * This function maps port IDs to port control blocks. If ID * corresponds to a local port, then it returns the_port control @@ -71,7 +73,7 @@ RTEMS_INLINE_ROUTINE Dual_ported_memory_Control *_Dual_ported_memory_Get ( } /** - * @brief Dual_ported_memory_Is_null + * @brief Checks if the_port is NULL. * * This function returns true if the_port is NULL and false otherwise. */ diff --git a/cpukit/rtems/inline/rtems/rtems/eventset.inl b/cpukit/rtems/inline/rtems/rtems/eventset.inl index 22919eaff5..ee9447caa2 100644 --- a/cpukit/rtems/inline/rtems/rtems/eventset.inl +++ b/cpukit/rtems/inline/rtems/rtems/eventset.inl @@ -27,7 +27,7 @@ */ /** - * @brief Event_sets_Is_empty + * @brief Checks if on events are posted in the event_set. * * This function returns TRUE if on events are posted in the event_set, * and FALSE otherwise. @@ -40,7 +40,7 @@ RTEMS_INLINE_ROUTINE bool _Event_sets_Is_empty( } /** - * @brief Event_sets_Post + * @brief Posts the given new_events into the event_set passed in. * * This routine posts the given new_events into the event_set * passed in. The result is returned to the user in event_set. @@ -54,7 +54,7 @@ RTEMS_INLINE_ROUTINE void _Event_sets_Post( } /** - * @brief Event_sets_Get + * @brief Returns the events in event_condition that are set in event_set. * * This function returns the events in event_condition which are * set in event_set. @@ -68,7 +68,7 @@ RTEMS_INLINE_ROUTINE rtems_event_set _Event_sets_Get( } /** - * @brief Event_sets_Clear + * @brief Removes the events in mask from the event_set passed in. * * This function removes the events in mask from the event_set * passed in. The result is returned to the user in event_set. diff --git a/cpukit/rtems/inline/rtems/rtems/message.inl b/cpukit/rtems/inline/rtems/rtems/message.inl index 06a596ecc7..16c15c75a9 100644 --- a/cpukit/rtems/inline/rtems/rtems/message.inl +++ b/cpukit/rtems/inline/rtems/rtems/message.inl @@ -28,7 +28,7 @@ */ /** - * @brief Message_queue_Is_null + * @brief Check whether message queue is null. * * This function places the_message at the rear of the outstanding * messages on the_message_queue. @@ -42,7 +42,8 @@ RTEMS_INLINE_ROUTINE bool _Message_queue_Is_null ( /** - * @brief Message_queue_Free + * @brief Deallocates a message queue control block into + * the inactive chain of free message queue control blocks. * * This routine deallocates a message queue control block into * the inactive chain of free message queue control blocks. @@ -55,7 +56,7 @@ RTEMS_INLINE_ROUTINE void _Message_queue_Free ( } /** - * @brief Message_queue_Get + * @brief Maps message queue IDs to message queue control blocks. * * This function maps message queue IDs to message queue control * blocks. If ID corresponds to a local message queue, then it diff --git a/cpukit/rtems/inline/rtems/rtems/modes.inl b/cpukit/rtems/inline/rtems/rtems/modes.inl index d1ad842c54..034032154e 100644 --- a/cpukit/rtems/inline/rtems/rtems/modes.inl +++ b/cpukit/rtems/inline/rtems/rtems/modes.inl @@ -26,7 +26,7 @@ */ /** - * @brief Modes_Mask_changed + * @brief Checks if any of the mode flags in mask are set in mode_set. * * This function returns TRUE if any of the mode flags in mask * are set in mode_set, and FALSE otherwise. @@ -40,7 +40,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Mask_changed ( } /** - * @brief Modes_Is_asr_disabled + * @brief Checks if mode_set says that Asynchronous Signal Processing is disabled. * * This function returns TRUE if mode_set indicates that Asynchronous * Signal Processing is disabled, and FALSE otherwise. @@ -53,7 +53,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Is_asr_disabled ( } /** - * @brief Modes_Is_preempt + * @brief Checks if mode_set indicates that preemption is enabled. * * This function returns TRUE if mode_set indicates that preemption * is enabled, and FALSE otherwise. @@ -66,7 +66,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Is_preempt ( } /** - * @brief Modes_Is_timeslice + * @brief Checks if mode_set indicates that timeslicing is enabled. * * This function returns TRUE if mode_set indicates that timeslicing * is enabled, and FALSE otherwise. @@ -79,7 +79,7 @@ RTEMS_INLINE_ROUTINE bool _Modes_Is_timeslice ( } /** - * @brief Modes_Get_interrupt_level + * @brief Gets the interrupt level portion of the mode_set. * * This function returns the interrupt level portion of the mode_set. */ @@ -91,7 +91,7 @@ RTEMS_INLINE_ROUTINE ISR_Level _Modes_Get_interrupt_level ( } /** - * @brief Modes_Set_interrupt_level + * @brief Sets the current interrupt level to that specified in the mode_set. * * This routine sets the current interrupt level to that specified * in the mode_set. @@ -104,7 +104,8 @@ RTEMS_INLINE_ROUTINE void _Modes_Set_interrupt_level ( } /** - * @brief Modes_Change + * @brief Changes the modes in old_mode_set indicated by + * mask to the requested values in new_mode_set. * * This routine changes the modes in old_mode_set indicated by * mask to the requested values in new_mode_set. The resulting diff --git a/cpukit/rtems/inline/rtems/rtems/options.inl b/cpukit/rtems/inline/rtems/rtems/options.inl index 4341b14599..c3c0a5bf9e 100644 --- a/cpukit/rtems/inline/rtems/rtems/options.inl +++ b/cpukit/rtems/inline/rtems/rtems/options.inl @@ -28,7 +28,7 @@ */ /** - * @brief Options_Is_no_wait + * @brief Checks if the RTEMS_NO_WAIT option is enabled in option_set. * * This function returns TRUE if the RTEMS_NO_WAIT option is enabled in * option_set, and FALSE otherwise. @@ -41,7 +41,7 @@ RTEMS_INLINE_ROUTINE bool _Options_Is_no_wait ( } /** - * @brief Options_Is_any + * @brief Checks if the RTEMS_EVENT_ANY option is enabled in OPTION_SET. * * This function returns TRUE if the RTEMS_EVENT_ANY option is enabled in * OPTION_SET, and FALSE otherwise. diff --git a/cpukit/rtems/inline/rtems/rtems/part.inl b/cpukit/rtems/inline/rtems/rtems/part.inl index 6f921a900e..355ed49377 100644 --- a/cpukit/rtems/inline/rtems/rtems/part.inl +++ b/cpukit/rtems/inline/rtems/rtems/part.inl @@ -26,7 +26,7 @@ */ /** - * @brief Partition_Allocate_buffer + * @brief Allocate a buffer from the_partition. * * This function attempts to allocate a buffer from the_partition. * If successful, it returns the address of the allocated buffer. @@ -40,7 +40,7 @@ RTEMS_INLINE_ROUTINE void *_Partition_Allocate_buffer ( } /** - * @brief Partition_Free_buffer + * @brief Frees the_buffer to the_partition. * * This routine frees the_buffer to the_partition. */ @@ -53,7 +53,7 @@ RTEMS_INLINE_ROUTINE void _Partition_Free_buffer ( } /** - * @brief Partition_Is_buffer_on_boundary + * @brief Checks whether is on a valid buffer boundary for the_partition. * * This function returns TRUE if the_buffer is on a valid buffer * boundary for the_partition, and FALSE otherwise. @@ -74,7 +74,7 @@ RTEMS_INLINE_ROUTINE bool _Partition_Is_buffer_on_boundary ( } /** - * @brief Partition_Is_buffer_valid + * @brief Checks whether the_buffer is a valid buffer from the_partition. * * This function returns TRUE if the_buffer is a valid buffer from * the_partition, otherwise FALSE is returned. @@ -97,7 +97,7 @@ RTEMS_INLINE_ROUTINE bool _Partition_Is_buffer_valid ( } /** - * @brief Partition_Is_buffer_size_aligned + * @brief Checks if partition is buffer size aligned. * * This function returns TRUE if the use of the specified buffer_size * will result in the allocation of buffers whose first byte is @@ -111,7 +111,8 @@ RTEMS_INLINE_ROUTINE bool _Partition_Is_buffer_size_aligned ( } /** - * @brief Partition_Allocate + * @brief Allocates a partition control block from the + * inactive chain of free partition control blocks. * * This function allocates a partition control block from * the inactive chain of free partition control blocks. @@ -122,7 +123,8 @@ RTEMS_INLINE_ROUTINE Partition_Control *_Partition_Allocate ( void ) } /** - * @brief Partition_Free + * @brief Frees a partition control block to the + * inactive chain of free partition control blocks. * * This routine frees a partition control block to the * inactive chain of free partition control blocks. @@ -135,7 +137,7 @@ RTEMS_INLINE_ROUTINE void _Partition_Free ( } /** - * @brief Partition_Get + * @brief Maps partition IDs to partition control blocks. * * This function maps partition IDs to partition control blocks. * If ID corresponds to a local partition, then it returns @@ -155,7 +157,7 @@ RTEMS_INLINE_ROUTINE Partition_Control *_Partition_Get ( } /** - * @brief Partition_Is_null + * @brief Checks if the_partition is NULL. * * This function returns TRUE if the_partition is NULL * and FALSE otherwise. diff --git a/cpukit/rtems/inline/rtems/rtems/ratemon.inl b/cpukit/rtems/inline/rtems/rtems/ratemon.inl index 6c40998809..30b0361451 100644 --- a/cpukit/rtems/inline/rtems/rtems/ratemon.inl +++ b/cpukit/rtems/inline/rtems/rtems/ratemon.inl @@ -26,7 +26,8 @@ */ /** - * @brief Rate_monotonic_Allocate + * @brief Allocates a period control block from + * the inactive chain of free period control blocks. * * This function allocates a period control block from * the inactive chain of free period control blocks. @@ -38,7 +39,8 @@ RTEMS_INLINE_ROUTINE Rate_monotonic_Control *_Rate_monotonic_Allocate( void ) } /** - * @brief Rate_monotonic_Free + * @brief Allocates a period control block from + * the inactive chain of free period control blocks. * * This routine allocates a period control block from * the inactive chain of free period control blocks. @@ -51,7 +53,7 @@ RTEMS_INLINE_ROUTINE void _Rate_monotonic_Free ( } /** - * @brief Rate_monotonic_Get + * @brief Maps period IDs to period control blocks. * * This function maps period IDs to period control blocks. * If ID corresponds to a local period, then it returns @@ -69,7 +71,7 @@ RTEMS_INLINE_ROUTINE Rate_monotonic_Control *_Rate_monotonic_Get ( } /** - * @brief Rate_monotonic_Is_active + * @brief Checks if the_period is in the ACTIVE state. * * This function returns TRUE if the_period is in the ACTIVE state, * and FALSE otherwise. @@ -82,7 +84,7 @@ RTEMS_INLINE_ROUTINE bool _Rate_monotonic_Is_active ( } /** - * @brief Rate_monotonic_Is_inactive + * @brief Checks if the_period is in the ACTIVE state. * * This function returns TRUE if the_period is in the ACTIVE state, * and FALSE otherwise. @@ -95,7 +97,7 @@ RTEMS_INLINE_ROUTINE bool _Rate_monotonic_Is_inactive ( } /** - * @brief Rate_monotonic_Is_expired + * @brief Checks if the_period is in the EXPIRED state. * * This function returns TRUE if the_period is in the EXPIRED state, * and FALSE otherwise. @@ -108,7 +110,7 @@ RTEMS_INLINE_ROUTINE bool _Rate_monotonic_Is_expired ( } /** - * @brief Rate_monotonic_Is_null + * @brief Checks if the_period is NULL. * * This function returns TRUE if the_period is NULL and FALSE otherwise. */ diff --git a/cpukit/rtems/inline/rtems/rtems/sem.inl b/cpukit/rtems/inline/rtems/rtems/sem.inl index 7b6d0d928f..22699e67ba 100644 --- a/cpukit/rtems/inline/rtems/rtems/sem.inl +++ b/cpukit/rtems/inline/rtems/rtems/sem.inl @@ -26,7 +26,8 @@ */ /** - * @brief Semaphore_Allocate + * @brief Allocates a semaphore control block from + * the inactive chain of free semaphore control blocks. * * This function allocates a semaphore control block from * the inactive chain of free semaphore control blocks. @@ -37,7 +38,8 @@ RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Allocate( void ) } /** - * @brief Semaphore_Free + * @brief Frees a semaphore control block to the + * inactive chain of free semaphore control blocks. * * This routine frees a semaphore control block to the * inactive chain of free semaphore control blocks. @@ -50,7 +52,7 @@ RTEMS_INLINE_ROUTINE void _Semaphore_Free ( } /** - * @brief Semaphore_Get + * @brief Maps semaphore IDs to semaphore control blocks. * * This function maps semaphore IDs to semaphore control blocks. * If ID corresponds to a local semaphore, then it returns @@ -70,7 +72,7 @@ RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Get ( } /** - * @brief Semaphore_Get (Interrupts disabled) + * @brief Maps semaphore IDs to semaphore control blocks. * * This function maps semaphore IDs to semaphore control blocks. * If ID corresponds to a local semaphore, then it returns @@ -91,7 +93,7 @@ RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Get_interrupt_disable ( } /** - * @brief Semaphore_Is_null + * @brief Checks if the_semaphore is NULL. * * This function returns TRUE if the_semaphore is NULL and FALSE otherwise. */ diff --git a/cpukit/rtems/inline/rtems/rtems/status.inl b/cpukit/rtems/inline/rtems/rtems/status.inl index 1ad22fdfa7..caeb03da88 100644 --- a/cpukit/rtems/inline/rtems/rtems/status.inl +++ b/cpukit/rtems/inline/rtems/rtems/status.inl @@ -28,7 +28,7 @@ */ /** - * @brief rtems_is_status_successful + * @brief Checks if the status code is equal to RTEMS_SUCCESSFUL. * * This function returns TRUE if the status code is equal to RTEMS_SUCCESSFUL, * and FALSE otherwise. @@ -41,7 +41,7 @@ RTEMS_INLINE_ROUTINE bool rtems_is_status_successful( } /** - * @brief rtems_are_statuses_equal + * @brief Checks if the status code1 is equal to code2. * * This function returns TRUE if the status code1 is equal to code2, * and FALSE otherwise. diff --git a/cpukit/rtems/inline/rtems/rtems/tasks.inl b/cpukit/rtems/inline/rtems/rtems/tasks.inl index 193b0ad79c..3bf82121d7 100644 --- a/cpukit/rtems/inline/rtems/rtems/tasks.inl +++ b/cpukit/rtems/inline/rtems/rtems/tasks.inl @@ -26,7 +26,7 @@ */ /** - * @brief RTEMS_tasks_Allocate + * @brief Allocates a task control block. * * This function allocates a task control block from * the inactive chain of free task control blocks. @@ -37,7 +37,7 @@ RTEMS_INLINE_ROUTINE Thread_Control *_RTEMS_tasks_Allocate( void ) } /** - * @brief RTEMS_tasks_Free + * @brief Frees a task control block. * * This routine frees a task control block to the * inactive chain of free task control blocks. @@ -46,14 +46,14 @@ RTEMS_INLINE_ROUTINE void _RTEMS_tasks_Free ( Thread_Control *the_task ) { - _Objects_Free( + _Objects_Free( _Objects_Get_information_id( the_task->Object.id ), &the_task->Object ); } /** - * @brief RTEMS_tasks_Priority_to_Core + * @brief Converts an RTEMS API priority into a core priority. * * This function converts an RTEMS API priority into a core priority. */ @@ -65,7 +65,7 @@ RTEMS_INLINE_ROUTINE Priority_Control _RTEMS_tasks_Priority_to_Core( } /** - * @brief RTEMS_tasks_Priority_is_valid + * @brief Checks whether the priority is a valid user task. * * This function returns TRUE if the_priority is a valid user task priority * and FALSE otherwise. -- cgit v1.2.3 From 3cf4031c1979c1ce29cb0ff1b4e10f4f9de8005a Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Fri, 28 Dec 2012 17:48:12 -0600 Subject: Header File Doxygen Enhancement Task #1 --- cpukit/include/rtems/status-checks.h | 2 +- cpukit/include/rtems/userenv.h | 1 + cpukit/libblock/include/rtems/bdbuf.h | 3 +-- cpukit/libblock/include/rtems/ide_part_table.h | 6 +++--- cpukit/libblock/include/rtems/ramdisk.h | 4 +--- cpukit/libcsupport/include/rtems/libcsupport.h | 6 ++++-- cpukit/libcsupport/include/rtems/libio_.h | 4 +++- cpukit/libcsupport/include/vmeintr.h | 4 +++- cpukit/libfs/src/devfs/devfs.h | 10 ++++++---- cpukit/libfs/src/rfs/rtems-rfs-shell.h | 19 +++++++++++-------- cpukit/libmisc/devnull/devnull.h | 4 +++- cpukit/libmisc/dumpbuf/dumpbuf.h | 4 +++- cpukit/libmisc/mouse/serial_mouse.h | 16 +++++++++------- cpukit/libmisc/untar/untar.h | 4 +++- cpukit/libnetworking/memory.h | 4 ++-- cpukit/posix/include/aio.h | 4 +++- cpukit/posix/include/mqueue.h | 4 +++- cpukit/sapi/include/rtems/io.h | 4 +--- cpukit/sapi/include/rtems/timespec.h | 8 +++----- cpukit/score/include/rtems/system.h | 10 ++++++---- 20 files changed, 70 insertions(+), 51 deletions(-) diff --git a/cpukit/include/rtems/status-checks.h b/cpukit/include/rtems/status-checks.h index ce23e25c14..631c9f40fa 100644 --- a/cpukit/include/rtems/status-checks.h +++ b/cpukit/include/rtems/status-checks.h @@ -1,7 +1,7 @@ /** * @file * - * @brief Header file for status checks. + * @brief Header File for Status Checks * * @warning Do not include this file in other header files. Use it only in * source files. diff --git a/cpukit/include/rtems/userenv.h b/cpukit/include/rtems/userenv.h index 8cc7a7c39f..53ec42dcf6 100644 --- a/cpukit/include/rtems/userenv.h +++ b/cpukit/include/rtems/userenv.h @@ -2,6 +2,7 @@ * @file * * @ingroup LibIOEnv + * @brief User Environment Support */ /* diff --git a/cpukit/libblock/include/rtems/bdbuf.h b/cpukit/libblock/include/rtems/bdbuf.h index 7f1c13d7b0..197c20dfcf 100644 --- a/cpukit/libblock/include/rtems/bdbuf.h +++ b/cpukit/libblock/include/rtems/bdbuf.h @@ -2,8 +2,7 @@ * @file * * @ingroup rtems_bdbuf - * - * Block device buffer management. + * @brief Block Device Buffer Management */ /* diff --git a/cpukit/libblock/include/rtems/ide_part_table.h b/cpukit/libblock/include/rtems/ide_part_table.h index ea3dcb331d..3868a3dea7 100644 --- a/cpukit/libblock/include/rtems/ide_part_table.h +++ b/cpukit/libblock/include/rtems/ide_part_table.h @@ -1,7 +1,7 @@ /** - * @file rtems/ide_part_table.h - * - * Support for "MS-DOS-style" partition tables + * @file + * + * @brief "MS-DOS-style" Partition Tables Support */ /* diff --git a/cpukit/libblock/include/rtems/ramdisk.h b/cpukit/libblock/include/rtems/ramdisk.h index 690864ceea..aaa940b7c4 100644 --- a/cpukit/libblock/include/rtems/ramdisk.h +++ b/cpukit/libblock/include/rtems/ramdisk.h @@ -1,9 +1,7 @@ /** * @file * - * @ingroup rtems_ramdisk - * - * @brief RAM disk block device API. + * @brief RAM Disk Block Device API */ /* diff --git a/cpukit/libcsupport/include/rtems/libcsupport.h b/cpukit/libcsupport/include/rtems/libcsupport.h index 2c498848b5..32ed8a8798 100644 --- a/cpukit/libcsupport/include/rtems/libcsupport.h +++ b/cpukit/libcsupport/include/rtems/libcsupport.h @@ -1,6 +1,8 @@ /** - * @file rtems/libcsupport.h - * + * @file + * + * @brief Standard C Library Support + * * This include file contains the information regarding the * RTEMS specific support for the standard C library. */ diff --git a/cpukit/libcsupport/include/rtems/libio_.h b/cpukit/libcsupport/include/rtems/libio_.h index 6ef4b6ccb6..c8e91ded99 100644 --- a/cpukit/libcsupport/include/rtems/libio_.h +++ b/cpukit/libcsupport/include/rtems/libio_.h @@ -1,6 +1,8 @@ /** - * @file rtems/libio_.h + * @file * + * @brief LibIO Internal Interface + * * This file is the libio internal interface. */ diff --git a/cpukit/libcsupport/include/vmeintr.h b/cpukit/libcsupport/include/vmeintr.h index 7e88bd0965..4fdc8ac772 100644 --- a/cpukit/libcsupport/include/vmeintr.h +++ b/cpukit/libcsupport/include/vmeintr.h @@ -1,5 +1,7 @@ /** - * @file rtems/vmeintr.h + * @file + * + * @brief VMEbus Interface Library * * This file is the specification for the VMEbus interface library * which should be provided by all BSPs for VMEbus Single Board diff --git a/cpukit/libfs/src/devfs/devfs.h b/cpukit/libfs/src/devfs/devfs.h index 2317b10852..0f5e248225 100644 --- a/cpukit/libfs/src/devfs/devfs.h +++ b/cpukit/libfs/src/devfs/devfs.h @@ -1,8 +1,10 @@ /** -* @file libfs/devfs/devfs.h -* -* This include file contains all constants and structures associated -* with the 'device-only' filesystem. +* @file +* +* @brief 'device-only' File System Support +* +* This include file contains all constants and structures associated +* with the 'device-only' filesystem. */ #ifndef _RTEMS_DEVFS_H diff --git a/cpukit/libfs/src/rfs/rtems-rfs-shell.h b/cpukit/libfs/src/rfs/rtems-rfs-shell.h index f4e56227b7..135290d3e9 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-shell.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-shell.h @@ -1,17 +1,20 @@ -/* - * COPYRIGHT (c) 2010 Chris Johns - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - */ /** * @file * + * * @ingroup rtems-rfs + * @brief RTEMS File Systems Shell Commands * * RTEMS File Systems Shell commands provide a CLI interface to support and - * development od the RFS file system. + * development of the RFS file system. + */ + +/* + * COPYRIGHT (c) 2010 Chris Johns + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #if !defined (_RTEMS_RFS_SHELL_H_) diff --git a/cpukit/libmisc/devnull/devnull.h b/cpukit/libmisc/devnull/devnull.h index 84e1475471..61fa60a33a 100644 --- a/cpukit/libmisc/devnull/devnull.h +++ b/cpukit/libmisc/devnull/devnull.h @@ -1,6 +1,8 @@ /** - * @file rtems/devnull.h + * @file * + * @brief RTEMS /dev/null Device Driver + * * This include file defines the interface to the RTEMS /dev/null * device driver. */ diff --git a/cpukit/libmisc/dumpbuf/dumpbuf.h b/cpukit/libmisc/dumpbuf/dumpbuf.h index d03274a1bc..02e5304673 100644 --- a/cpukit/libmisc/dumpbuf/dumpbuf.h +++ b/cpukit/libmisc/dumpbuf/dumpbuf.h @@ -1,6 +1,8 @@ /** - * @file rtems/dumpbuf.h + * @file * + * @brief Print a Memory Buffer + * * This file defines the interface to the RTEMS methods to print a * memory buffer in a style similar to many ROM monitors and debuggers. */ diff --git a/cpukit/libmisc/mouse/serial_mouse.h b/cpukit/libmisc/mouse/serial_mouse.h index a84bf7f916..44d46338d7 100644 --- a/cpukit/libmisc/mouse/serial_mouse.h +++ b/cpukit/libmisc/mouse/serial_mouse.h @@ -1,13 +1,15 @@ /** - * @file rtems/serial_mouse.h + * @file + * + * @brief Serial Mouse Driver * - * This file describes the Serial Mouse Driver for all boards. - * This driver assumes that the BSP or application will provide - * an implementation of the method bsp_get_serial_mouse_device() - * which tells the driver what serial port device to open() and - * what type of mouse is connected. + * This file describes the Serial Mouse Driver for all boards. + * This driver assumes that the BSP or application will provide + * an implementation of the method bsp_get_serial_mouse_device() + * which tells the driver what serial port device to open() and + * what type of mouse is connected. * - * This driver relies on the Mouse Parser Engine. + * This driver relies on the Mouse Parser Engine. */ /* diff --git a/cpukit/libmisc/untar/untar.h b/cpukit/libmisc/untar/untar.h index 81cbd0e8ba..84b0efe62e 100644 --- a/cpukit/libmisc/untar/untar.h +++ b/cpukit/libmisc/untar/untar.h @@ -1,6 +1,8 @@ /** - * @file rtems/untar.h + * @file * + * @brief Untar an Image + * * This file defines the interface to methods which can untar an image. */ diff --git a/cpukit/libnetworking/memory.h b/cpukit/libnetworking/memory.h index 99fdb5e1e4..ee8bd4089e 100644 --- a/cpukit/libnetworking/memory.h +++ b/cpukit/libnetworking/memory.h @@ -1,7 +1,7 @@ /** - * @file memory.h + * @file * - * Dummy include file for FreeBSD routines + * @brief Dummy Include File for FreeBSD Routines */ #include diff --git a/cpukit/posix/include/aio.h b/cpukit/posix/include/aio.h index f4f824ab69..3ad7a400e6 100644 --- a/cpukit/posix/include/aio.h +++ b/cpukit/posix/include/aio.h @@ -1,6 +1,8 @@ /** - * @file aio.h + * @file * + * @brief POSIX Asynchronous Input and Output + * * This file contains the definitions related to POSIX Asynchronous * Input and Output, */ diff --git a/cpukit/posix/include/mqueue.h b/cpukit/posix/include/mqueue.h index a35d94ccc4..0f937f5f2b 100644 --- a/cpukit/posix/include/mqueue.h +++ b/cpukit/posix/include/mqueue.h @@ -1,6 +1,8 @@ /** - * @file mqueue.h + * @file * + * @brief POSIX Message Queues + * * This file contains the definitions related to POSIX Message Queues. * * The structure of the routines is identical to that of POSIX diff --git a/cpukit/sapi/include/rtems/io.h b/cpukit/sapi/include/rtems/io.h index 2a268fa51e..8f02a34e2c 100644 --- a/cpukit/sapi/include/rtems/io.h +++ b/cpukit/sapi/include/rtems/io.h @@ -1,9 +1,7 @@ /** * @file * - * @ingroup ClassicIO - * - * @brief Classic Input/Output Manager API. + * @brief Classic Input/Output Manager API * * This file emulates the old Classic RTEMS IO manager directives * which register and lookup names using the in-memory filesystem. diff --git a/cpukit/sapi/include/rtems/timespec.h b/cpukit/sapi/include/rtems/timespec.h index d502de3eac..fcea746445 100644 --- a/cpukit/sapi/include/rtems/timespec.h +++ b/cpukit/sapi/include/rtems/timespec.h @@ -1,11 +1,9 @@ /** - * @file rtems/sapi/timespec.h + * @file * - * @ingroup + * @brief Timespec API * - * @brief Timespec API - * - * This include file contains API for manipulating timespecs. + * This include file contains API for manipulating timespecs. */ /* diff --git a/cpukit/score/include/rtems/system.h b/cpukit/score/include/rtems/system.h index 46f080b46a..96318f7c3b 100644 --- a/cpukit/score/include/rtems/system.h +++ b/cpukit/score/include/rtems/system.h @@ -1,9 +1,11 @@ /** - * @file rtems/system.h + * @file + * + * @brief Information Included in Every Function in the Executive * - * This include file contains information that is included in every - * function in the executive. This must be the first include file - * included in all internal RTEMS files. + * This include file contains information that is included in every + * function in the executive. This must be the first include file + * included in all internal RTEMS files. */ /* -- cgit v1.2.3 From 319cb20efbf1e4759b4bb22ace32fbc60df8bf3d Mon Sep 17 00:00:00 2001 From: Mathew Kallada Date: Fri, 28 Dec 2012 18:04:01 -0600 Subject: score: Doxygen Clean Up Task #2 --- cpukit/score/include/rtems/score/basedefs.h | 13 +++- cpukit/score/include/rtems/score/bitfield.h | 10 ++- cpukit/score/include/rtems/score/copyrt.h | 12 +++- cpukit/score/include/rtems/score/coremsg.h | 84 +++++++++++----------- cpukit/score/include/rtems/score/coremutex.h | 46 ++++++------ cpukit/score/include/rtems/score/corerwlock.h | 19 ++--- cpukit/score/include/rtems/score/heap.h | 4 +- cpukit/score/include/rtems/score/interr.h | 4 +- cpukit/score/include/rtems/score/rbtree.h | 34 ++++----- cpukit/score/include/rtems/score/schedulercbs.h | 69 +++++++++--------- .../score/include/rtems/score/schedulerpriority.h | 37 +++++----- cpukit/score/include/rtems/score/smp.h | 16 +++-- cpukit/score/include/rtems/score/sysstate.h | 2 +- cpukit/score/include/rtems/score/thread.h | 81 +++++++++++---------- cpukit/score/include/rtems/score/threadq.h | 53 +++++++------- cpukit/score/include/rtems/score/timestamp.h | 58 +++++++-------- cpukit/score/include/rtems/score/tod.h | 30 ++++---- cpukit/score/include/rtems/score/userext.h | 2 +- cpukit/score/include/rtems/score/userextimpl.h | 8 ++- 19 files changed, 324 insertions(+), 258 deletions(-) diff --git a/cpukit/score/include/rtems/score/basedefs.h b/cpukit/score/include/rtems/score/basedefs.h index e91467d84d..8796e79d3a 100644 --- a/cpukit/score/include/rtems/score/basedefs.h +++ b/cpukit/score/include/rtems/score/basedefs.h @@ -3,7 +3,7 @@ * * @ingroup Score * - * @brief Basic definitions. + * @brief Basic Definitions */ /* @@ -20,6 +20,13 @@ #ifndef _RTEMS_BASEDEFS_H #define _RTEMS_BASEDEFS_H +/** + * @defgroup ScoreBaseDefs Basic Definitions + * + * @ingroup Score + */ +/**@{*/ + #include #ifndef ASM @@ -189,4 +196,6 @@ typedef void * proc_ptr; #endif -#endif /* _RTEMS_BASEDEFS_H */ +/**@}*/ + +#endif /* _RTEMS_BASEDEFS_H */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/bitfield.h b/cpukit/score/include/rtems/score/bitfield.h index cfb9bf8753..d73857c9b0 100644 --- a/cpukit/score/include/rtems/score/bitfield.h +++ b/cpukit/score/include/rtems/score/bitfield.h @@ -1,7 +1,9 @@ /** - * @file rtems/score/bitfield.h + * @file rtems/score/bitfield.h * - * This include file contains all bit field manipulation routines. + * @brief Bit Field Manipulation Routines + * + * This include file contains all bit field manipulation routines. */ /* @@ -64,6 +66,8 @@ const unsigned char __log2table[256] = { #endif /** + * @brief Gets the @a _bit_number of the first bit set in the specified value. + * * This routine returns the @a _bit_number of the first bit set * in the specified value. The correspondence between @a _bit_number * and actual bit position is processor dependent. The search for @@ -103,4 +107,4 @@ const unsigned char __log2table[256] = { /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/copyrt.h b/cpukit/score/include/rtems/score/copyrt.h index 87e652026b..58c1809af8 100644 --- a/cpukit/score/include/rtems/score/copyrt.h +++ b/cpukit/score/include/rtems/score/copyrt.h @@ -1,6 +1,8 @@ /** * @file rtems/score/copyrt.h * + * @brief Copyright Notice for RTEMS + * * This include file contains the copyright notice for RTEMS * which is included in every binary copy of the executive. */ @@ -17,6 +19,13 @@ #ifndef _RTEMS_SCORE_COPYRT_H #define _RTEMS_SCORE_COPYRT_H +/** + * @defgroup SuperCore RTEMS Copyright Notice + * + * @ingroup Score + */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif @@ -36,5 +45,6 @@ extern const char _Copyright_Notice[]; } #endif +/**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/coremsg.h b/cpukit/score/include/rtems/score/coremsg.h index 0f468c83bf..c88a32643b 100644 --- a/cpukit/score/include/rtems/score/coremsg.h +++ b/cpukit/score/include/rtems/score/coremsg.h @@ -1,6 +1,8 @@ /** * @file rtems/score/coremsg.h * + * @brief Constants and Structures Associated with the Message Queue Handler. + * * This include file contains all the constants and structures associated * with the Message queue Handler. */ @@ -64,7 +66,7 @@ extern "C" { #endif /** - * @brief Message Queue MP Callback Prototype + * @brief Callout provides to support global/multiprocessor operations. * * The following type defines the callout which the API provides * to support global/multiprocessor operations on message_queues. @@ -75,7 +77,7 @@ typedef void ( *CORE_message_queue_API_mp_support_callout )( ); /** - * @brief Message Buffer Contents Management Structure + * @brief Data types needed to manipulate the contents of message buffers. * * The following defines the data types needed to manipulate * the contents of message buffers. @@ -91,7 +93,7 @@ typedef struct { } CORE_message_queue_Buffer; /** - * @brief Message Structure + * @brief The organization of a message buffer. * * The following records define the organization of a message * buffer. @@ -108,7 +110,7 @@ typedef struct { } CORE_message_queue_Buffer_control; /** - * @brief Message Queue Blocking Disciplines + * @brief The possible blocking disciplines for a message queue. * * This enumerated types defines the possible blocking disciplines * for a message queue. @@ -121,7 +123,7 @@ typedef enum { } CORE_message_queue_Disciplines; /** - * @brief Message Priority for Appending + * @brief Used when appending messages onto a message queue. * * This is the priority constant used when appending messages onto * a message queue. @@ -129,7 +131,7 @@ typedef enum { #define CORE_MESSAGE_QUEUE_SEND_REQUEST INT_MAX /** - * @brief Message Priority for Prepending + * @brief Used when prepending messages onto a message queue. * * This is the priority constant used when prepending messages onto * a message queue. @@ -137,7 +139,7 @@ typedef enum { #define CORE_MESSAGE_QUEUE_URGENT_REQUEST INT_MIN /** - * @brief Message Insertion Operation Types + * @brief The modes in which a message may be submitted to a message queue. * * The following type details the modes in which a message * may be submitted to a message queue. The message may be posted @@ -149,7 +151,7 @@ typedef enum { typedef int CORE_message_queue_Submit_types; /** - * @brief Core Message Queue Return Statuses + * @brief The possible set of Core Message Queue handler return statuses. * * This enumerated type defines the possible set of Core Message * Queue handler return statuses. @@ -178,14 +180,14 @@ typedef enum { } CORE_message_queue_Status; /** - * @brief Core Message Queue Last Status + * @brief Core message queue last status value. * * This is the last status value. */ #define CORE_MESSAGE_QUEUE_STATUS_LAST CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED_WAIT /** - * @brief Message Queue Attributes Type + * @brief Control block used to manage the attributes of each message queue. * * The following defines the control block used to manage the * attributes of each message queue. @@ -197,7 +199,7 @@ typedef struct { #if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION) /** - * @brief Message Queue Notification Callback Prototype + * @brief Type for a notification handler. * * The following defines the type for a Notification handler. A * notification handler is invoked when the message queue makes a @@ -207,10 +209,10 @@ typedef struct { #endif /** - * @brief Core Message Queue Control Structure + * @brief Control block used to manage each message queue. * * The following defines the control block used to manage each - * Message Queue + * Message Queue. */ typedef struct { /** This field is the Waiting Queue used to manage the set of tasks @@ -256,15 +258,15 @@ typedef struct { } CORE_message_queue_Control; /** - * @brief Initialize a Message Queue - * + * @brief Initialize a message queue. + * * DESCRIPTION: * * This package is the implementation of the CORE Message Queue Handler. * This core object provides task synchronization and communication functions * via messages passed to queue objects. * - * This routine initializes @a the_message_queue + * This routine initializes @a the_message_queue * based on the parameters passed. * * @param[in] the_message_queue points to the message queue to initialize @@ -275,7 +277,7 @@ typedef struct { * @param[in] maximum_message_size is the size of largest message that * may be sent to this message queue instance * - * @return true if the message queue can be initialized. In general, + * @retval true if the message queue can be initialized. In general, * false will only be returned if memory for the pending * messages cannot be allocated. */ @@ -287,8 +289,8 @@ bool _CORE_message_queue_Initialize( ); /** - * @brief Close a Message Queue - * + * @brief Close a message queue. + * * DESCRIPTION: * This package is the implementation of the CORE Message Queue Handler. * This core object provides task synchronization and communication functions @@ -310,8 +312,8 @@ void _CORE_message_queue_Close( ); /** - * @brief Flush Pending Messages - * + * @brief Flush pending messages. + * * DESCRIPTION: * This package is the implementation of the CORE Message Queue Handler. * This core object provides task synchronization and communication functions @@ -322,21 +324,21 @@ void _CORE_message_queue_Close( * * @param[in] the_message_queue points to the message queue to flush * - * @return This method returns the number of message pending messages flushed. + * @retval This method returns the number of message pending messages flushed. */ uint32_t _CORE_message_queue_Flush( CORE_message_queue_Control *the_message_queue ); /** - * @brief Flush Messages Support Routine + * @brief Flush all outstanding messages. * * This routine flushes all outstanding messages and returns * them to the inactive message chain. * * @param[in] the_message_queue points to the message queue to flush * - * @return This method returns the number of pending messages flushed. + * @retval This method returns the number of pending messages flushed. * * - INTERRUPT LATENCY: * + single case @@ -347,15 +349,15 @@ uint32_t _CORE_message_queue_Flush_support( #if defined(FUNCTIONALITY_NOT_CURRENTLY_USED_BY_ANY_API) /** - * @brief Flush Waiting Threads. + * @brief Flush waiting threads. * * This function flushes the threads which are blocked on * @a the_message_queue's pending message queue. They are - * unblocked whether blocked sending or receiving. It returns + * unblocked whether blocked sending or receiving. It returns * the number of messages flushed from the queue. * * @param[in] the_message_queue points to the message queue to flush - * @return number of messages flushed from the queue + * @retval number of messages flushed from the queue */ void _CORE_message_queue_Flush_waiting_threads( CORE_message_queue_Control *the_message_queue @@ -363,8 +365,8 @@ uint32_t _CORE_message_queue_Flush_support( #endif /** - * @brief Broadcast a Message to the Message Queue - * + * @brief Broadcast a message to the message queue. + * * DESCRIPTION: * This package is the implementation of the CORE Message Queue Handler. * This core object provides task synchronization and communication functions @@ -382,8 +384,8 @@ uint32_t _CORE_message_queue_Flush_support( * a thread that is unblocked is actually a remote thread. * @param[out] count points to the variable that will contain the * number of tasks that are sent this message - * @return @a *count will contain the number of messages sent - * @return indication of the successful completion or reason for failure + * @retval @a *count will contain the number of messages sent + * @retval indication of the successful completion or reason for failure */ CORE_message_queue_Status _CORE_message_queue_Broadcast( CORE_message_queue_Control *the_message_queue, @@ -395,7 +397,7 @@ CORE_message_queue_Status _CORE_message_queue_Broadcast( ); /** - * @brief Submit a Message to the Message Queue + * @brief Submit a message to the message queue. * * This routine implements the send and urgent message functions. It * processes a message that is to be submitted to the designated @@ -417,7 +419,7 @@ CORE_message_queue_Status _CORE_message_queue_Broadcast( * if the message queue is full. * @param[in] timeout is the maximum number of clock ticks that the calling * thread is willing to block if the message queue is full. - * @return indication of the successful completion or reason for failure + * @retval indication of the successful completion or reason for failure */ CORE_message_queue_Status _CORE_message_queue_Submit( CORE_message_queue_Control *the_message_queue, @@ -431,8 +433,8 @@ CORE_message_queue_Status _CORE_message_queue_Submit( ); /** - * @brief Size a Message from the Message Queue - * + * @brief Size a message from the message queue. + * * DESCRIPTION: * This package is the implementation of the CORE Message Queue Handler. * This core object provides task synchronization and communication functions @@ -455,9 +457,9 @@ CORE_message_queue_Status _CORE_message_queue_Submit( * @param[in] timeout is the maximum number of clock ticks that the calling * thread is willing to block if the message queue is empty. * - * @return indication of the successful completion or reason for failure + * @retval indication of the successful completion or reason for failure * @note Returns message priority via return are in TCB. - * + * * - INTERRUPT LATENCY: * + available * + wait @@ -472,8 +474,8 @@ void _CORE_message_queue_Seize( ); /** - * @brief Insert a Message into the Message Queue - * + * @brief Insert a message into the message queue. + * * This kernel routine inserts the specified message into the * message queue. It is assumed that the message has been filled * in before this routine is called. @@ -482,7 +484,7 @@ void _CORE_message_queue_Seize( * @param[in] the_message is the message to enqueue * @param[in] submit_type determines whether the message is prepended, * appended, or enqueued in priority order. - * + * * - INTERRUPT LATENCY: * + insert */ @@ -503,4 +505,4 @@ void _CORE_message_queue_Insert_message( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/coremutex.h b/cpukit/score/include/rtems/score/coremutex.h index 9c0fce34cc..2839d6bf33 100644 --- a/cpukit/score/include/rtems/score/coremutex.h +++ b/cpukit/score/include/rtems/score/coremutex.h @@ -1,6 +1,8 @@ /** * @file rtems/score/coremutex.h * + * @brief Constants and Structures Associated with the Mutex Handler + * * This include file contains all the constants and structures associated * with the Mutex Handler. A mutex is an enhanced version of the standard * Dijkstra binary semaphore used to provide synchronization and mutual @@ -40,7 +42,7 @@ extern "C" { #include /** - * @brief MP Support Callback Prototype + * @brief Callout which provides to support global/multiprocessor operations. * * The following type defines the callout which the API provides * to support global/multiprocessor operations on mutexes. @@ -51,7 +53,7 @@ typedef void ( *CORE_mutex_API_mp_support_callout )( ); /** - * @brief Blocking Disciplines Enumerated Type + * @brief The blocking disciplines for a mutex. * * This enumerated type defines the blocking disciplines for a mutex. */ @@ -71,7 +73,7 @@ typedef enum { } CORE_mutex_Disciplines; /** - * @brief Mutex method return statuses + * @brief The possible Mutex handler return statuses. * * This enumerated type defines the possible Mutex handler return statuses. */ @@ -118,14 +120,14 @@ typedef enum { } CORE_mutex_Status; /** - * @brief Core Mutex Last Status + * @brief The last status value. * * This is the last status value. */ #define CORE_MUTEX_STATUS_LAST CORE_MUTEX_STATUS_CEILING_VIOLATED /** - * @brief Mutex Lock Nesting Behavior Enumeration + * @brief The possible behaviors for lock nesting. * * This enumerated type defines the possible behaviors for * lock nesting. @@ -170,7 +172,7 @@ typedef enum { #define CORE_MUTEX_LOCKED 0 /** - * @brief Core Mutex Attributes + * @brief The control block used to manage attributes of each mutex. * * The following defines the control block used to manage the * attributes of each mutex. @@ -195,7 +197,8 @@ typedef struct { } CORE_mutex_Attributes; #ifdef __RTEMS_STRICT_ORDER_MUTEX__ -/*@brief Core Mutex Lock_Chain Struct +/** + * @brief The control block to manage lock chain of priority inheritance mutex. * * The following defines the control block used to manage lock chain of * priority inheritance mutex. @@ -214,7 +217,7 @@ typedef struct { #endif /** - * @brief Core Mutex Control Structure + * @brief Control block used to manage each mutex. * * The following defines the control block used to manage each mutex. */ @@ -251,7 +254,7 @@ typedef struct { } CORE_mutex_Control; /** - * @brief Initialize a Core Mutex + * @brief Initializes the mutex based on the parameters passed. * * This routine initializes the mutex based on the parameters passed. * @@ -260,7 +263,7 @@ typedef struct { * mutex instance * @param[in] initial_lock is the initial value of the mutex * - * @return This method returns CORE_MUTEX_STATUS_SUCCESSFUL if successful. + * @retval This method returns CORE_MUTEX_STATUS_SUCCESSFUL if successful. */ CORE_mutex_Status _CORE_mutex_Initialize( CORE_mutex_Control *the_mutex, @@ -270,7 +273,7 @@ CORE_mutex_Status _CORE_mutex_Initialize( #ifndef __RTEMS_APPLICATION__ /** - * @brief Seize Mutex with Quick Success Path + * @brief Attempt to receive a unit from the_mutex. * * This routine attempts to receive a unit from the_mutex. * If a unit is available or if the wait flag is false, then the routine @@ -280,7 +283,7 @@ CORE_mutex_Status _CORE_mutex_Initialize( * @param[in] the_mutex is the mutex to attempt to lock * @param[in] level_p is the interrupt level holder * - * @return This routine returns 0 if "trylock" can resolve whether or not + * @retval This routine returns 0 if "trylock" can resolve whether or not * the mutex is immediately obtained or there was an error attempting to * get it. It returns 1 to indicate that the caller cannot obtain * the mutex and will have to block to do so. @@ -296,7 +299,8 @@ RTEMS_INLINE_ROUTINE int _CORE_mutex_Seize_interrupt_trylock_body( #if defined(__RTEMS_DO_NOT_INLINE_CORE_MUTEX_SEIZE__) /** - * @brief Trylock CORE Mutex Seize Interrupt + * @brief Interrupt trylock CORE mutex seize. + * * When doing test coverage analysis or trying to minimize the code * space for RTEMS, it is often helpful to not inline this method * multiple times. It is fairly large and has a high branch complexity @@ -322,7 +326,7 @@ RTEMS_INLINE_ROUTINE int _CORE_mutex_Seize_interrupt_trylock_body( #endif /** - * @brief Seize Mutex with Blocking + * @brief Performs the blocking portion of a mutex obtain. * * This routine performs the blocking portion of a mutex obtain. * It is an actual subroutine and is not implemented as something @@ -336,13 +340,13 @@ void _CORE_mutex_Seize_interrupt_blocking( Watchdog_Interval timeout ); /** - * @brief Sieze Interrupt Wrapper + * @brief Verifies that a mutex blocking seize is performed safely. * * This macro is to verify that a mutex blocking seize is * performed from a safe system state. For example, one * cannot block inside an isr. * - * @return this method returns true if dispatch is in an unsafe state. + * @retval this method returns true if dispatch is in an unsafe state. */ #ifdef RTEMS_SMP #define _CORE_mutex_Check_dispatch_for_seize(_wait) 0 @@ -354,7 +358,7 @@ void _CORE_mutex_Seize_interrupt_blocking( #endif /** - * @brief Sieze Interrupt Wrapper + * @brief Attempt to obtain the mutex. * * This routine attempts to obtain the mutex. If the mutex is available, * then it will return immediately. Otherwise, it will invoke the @@ -430,7 +434,7 @@ void _CORE_mutex_Seize_interrupt_blocking( #endif /** - * @brief Surrender the Mutex + * @brief Frees a unit to the mutex. * * This routine frees a unit to the mutex. If a task was blocked waiting for * a unit from this mutex, then that task will be readied and the unit @@ -441,7 +445,7 @@ void _CORE_mutex_Seize_interrupt_blocking( * @param[in] api_mutex_mp_support is the routine that will be called when * unblocking a remote mutex * - * @return an indication of whether the routine succeeded or failed + * @retval an indication of whether the routine succeeded or failed */ CORE_mutex_Status _CORE_mutex_Surrender( CORE_mutex_Control *the_mutex, @@ -450,7 +454,7 @@ CORE_mutex_Status _CORE_mutex_Surrender( ); /** - * @brief Flush all waiting threads + * @brief Flush all waiting threads. * * This routine assists in the deletion of a mutex by flushing the associated * wait queue. @@ -477,4 +481,4 @@ void _CORE_mutex_Flush( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/corerwlock.h b/cpukit/score/include/rtems/score/corerwlock.h index 3b70d80701..2279a75bfe 100644 --- a/cpukit/score/include/rtems/score/corerwlock.h +++ b/cpukit/score/include/rtems/score/corerwlock.h @@ -1,6 +1,8 @@ /** * @file rtems/score/corerwlock.h * + * @brief Constants and Structures Associated with the RWLock Handler + * * This include file contains all the constants and structures associated * with the RWLock Handler. */ @@ -125,7 +127,7 @@ typedef struct { } CORE_RWLock_Control; /** - * @brief Initialize a RWlock + * @brief Initialize a RWlock. * * This routine initializes the RWLock based on the parameters passed. * @@ -138,7 +140,8 @@ void _CORE_RWLock_Initialize( ); /** - * @brief Obtain RWLock for reading + * @brief Obtain RWLock for reading. + * * This routine attempts to obtain the RWLock for read access. * * @param[in] the_rwlock is the RWLock to wait for @@ -161,8 +164,8 @@ void _CORE_RWLock_Obtain_for_reading( ); /** - * @brief RWLock Obtain for Writing - * + * @brief Obtain RWLock for writing. + * * This routine attempts to obtain the RWLock for write exclusive access. * * @param[in] the_rwlock is the RWLock to wait for @@ -184,14 +187,14 @@ void _CORE_RWLock_Obtain_for_writing( ); /** - * @brief Releases the RWLock + * @brief Release the RWLock. * * This routine manually releases @a the_rwlock. All of the threads waiting * for the RWLock will be readied. * * @param[in] the_rwlock is the RWLock to surrender * - * @return Status is returned to indicate successful or failure. + * @retval Status is returned to indicate successful or failure. */ CORE_RWLock_Status _CORE_RWLock_Release( CORE_RWLock_Control *the_rwlock @@ -214,7 +217,7 @@ CORE_RWLock_Status _CORE_RWLock_Release( ) /** - * @brief RWLock Specific Thread Queue Timeout + * @brief RWLock specific thread queue timeout. * * This routine processes a thread which timeouts while waiting on * an RWLock's thread queue. It is called by the watchdog handler. @@ -240,4 +243,4 @@ void _CORE_RWLock_Timeout( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/heap.h b/cpukit/score/include/rtems/score/heap.h index f3d259d6cf..cd54db7e27 100644 --- a/cpukit/score/include/rtems/score/heap.h +++ b/cpukit/score/include/rtems/score/heap.h @@ -3,7 +3,7 @@ * * @ingroup ScoreHeap * - * @brief Heap Handler API. + * @brief Heap Handler API */ /* @@ -786,4 +786,4 @@ Heap_Block *_Heap_Block_allocate( #endif #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/interr.h b/cpukit/score/include/rtems/score/interr.h index 522e1576e2..5a23013a75 100644 --- a/cpukit/score/include/rtems/score/interr.h +++ b/cpukit/score/include/rtems/score/interr.h @@ -1,6 +1,8 @@ /** * @file rtems/score/interr.h * + * @brief Constants and Prototypes Related to the Internal Error Handler + * * This include file contains constants and prototypes related * to the Internal Error Handler. */ @@ -214,4 +216,4 @@ void _Internal_error_Occurred( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/rbtree.h b/cpukit/score/include/rtems/score/rbtree.h index 5a03d7ca8d..3ce9226bc0 100644 --- a/cpukit/score/include/rtems/score/rbtree.h +++ b/cpukit/score/include/rtems/score/rbtree.h @@ -1,6 +1,8 @@ /** * @file rtems/score/rbtree.h * + * @brief Constants and Structures Associated with the Red-Black Tree Handler + * * This include file contains all the constants and structures associated * with the Red-Black Tree Handler. */ @@ -80,7 +82,7 @@ struct RBTree_Node_struct { }; /** - * @brief macro to return the structure containing the @a node. + * @brief Macro to return the structure containing the @a node. * * This macro returns a pointer of type @a container_type that points * to the structure containing @a node, where @a node_field_name is the @@ -184,12 +186,12 @@ RBTree_Control name = RBTREE_INITIALIZER_EMPTY(name) RBTree_Node name = RBTREE_NODE_INITIALIZER_EMPTY(name) /** - * @brief Initialize a RBTree Header + * @brief Initialize a RBTree Header. * * This routine initializes @a the_rbtree structure to manage the * contiguous array of @a number_nodes nodes which starts at * @a starting_address. Each node is of @a node_size bytes. - * + * * @param[in] the_rbtree is the pointer to rbtree header * @param[in] starting_address is the starting address of first node * @param[in] number_nodes is the number of nodes in rbtree @@ -205,13 +207,13 @@ void _RBTree_Initialize( ); /** - * @brief Obtain the min or max node of a rbtree + * @brief Obtain the min or max node of a rbtree. * * This function removes the min or max node from @a the_rbtree and returns * a pointer to that node. If @a the_rbtree is empty, then NULL is returned. * @a dir specifies whether to return the min (0) or max (1). * - * @return This method returns a pointer to a node. If a node was removed, + * @retval This method returns a pointer to a node. If a node was removed, * then a pointer to that node is returned. If @a the_rbtree was * empty, then NULL is returned. * @@ -223,20 +225,20 @@ RBTree_Node *_RBTree_Get( ); /** - * @brief Find the node with given key in the tree + * @brief Find the node with given key in the tree. * * This function returns a pointer to the node with key equal to a key * of @a the_node if it exists in the Red-Black Tree @a the_rbtree, * and NULL if not. - * + * * @param[in] the_rbtree pointer to rbtree control * @param[in] the_node node with the key to search for - * @return This method returns pointer to control header of rbtree. * + * @retval This method returns pointer to control header of rbtree. * * If there is no control header available (the node is not part * of a tree), then NULL is returned. * * * - INTERRUPT LATENCY: - * + single case + * + single case */ RBTree_Node *_RBTree_Find( RBTree_Control *the_rbtree, @@ -244,7 +246,7 @@ RBTree_Node *_RBTree_Find( ); /** - * @brief Find the control structure of the tree containing the given node + * @brief Find the control structure of the tree containing the given node. * * This function returns a pointer called @a return_header to the control structure of the tree * containing @a the_node, if it exists, and @a NULL if not. @@ -252,7 +254,7 @@ RBTree_Node *_RBTree_Find( * @param[in] the_node is the pointer to the rbtree node. * @param[out] return_header is the pointer to control header of rbtree. * @param[out] NULL is returned if there is no control header available. - * + * * -INTERRUPT LATENCY: * + single case */ @@ -261,7 +263,7 @@ RBTree_Control *_RBTree_Find_header( ); /** - * @brief Insert a Node (unprotected) + * @brief Insert @a the_node on the Red-Black Tree @a the_rbtree (unprotected). * * This routine inserts @a the_node on the Red-Black Tree @a the_rbtree. * @@ -279,7 +281,7 @@ RBTree_Node *_RBTree_Insert_unprotected( ); /** - * @brief Insert a node on a rbtree + * @brief Insert a node on a rbtree. * * This routine inserts @a the_node on the tree @a the_rbtree. * @@ -298,7 +300,7 @@ RBTree_Node *_RBTree_Insert( /** - * @brief Extract a Node (unprotected) + * @brief Extracts (removes) @a the_node from @a the_rbtree (unprotected). * * This routine extracts (removes) @a the_node from @a the_rbtree. * @@ -311,7 +313,7 @@ void _RBTree_Extract_unprotected( ); /** - * @brief Delete a node from the rbtree + * @brief Delete a node from the rbtree. * * This routine deletes @a the_node from @a the_rbtree. * @@ -391,4 +393,4 @@ void _RBTree_Iterate_unprotected( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/schedulercbs.h b/cpukit/score/include/rtems/score/schedulercbs.h index d0bc5ee109..96fd6fac3f 100644 --- a/cpukit/score/include/rtems/score/schedulercbs.h +++ b/cpukit/score/include/rtems/score/schedulercbs.h @@ -1,6 +1,8 @@ /** * @file rtems/score/schedulercbs.h * + * @brief Thread manipulation for the CBS scheduler + * * This include file contains all the constants and structures associated * with the manipulation of threads for the CBS scheduler. */ @@ -31,8 +33,11 @@ extern "C" { #endif /** - * @addtogroup ScoreScheduler + * @defgroup ScoreScheduler CBS Scheduler * + * @ingroup Score + * + * @addtogroup ScoreScheduler */ /**@{*/ @@ -131,12 +136,12 @@ typedef struct { extern Scheduler_CBS_Server **_Scheduler_CBS_Server_list; /** - * @brief Unblocks a Thread from the Queue + * @brief Unblocks a thread from the queue. * * This routine adds @a the_thread to the scheduling decision, that is, * adds it to the ready queue and updates any appropriate scheduling - * variables, for example the heir thread. It is checked whether the - * remaining budget is sufficient. If not, the thread continues as a + * variables, for example the heir thread. It is checked whether the + * remaining budget is sufficient. If not, the thread continues as a * new job in order to protect concurrent threads. * * @param[in] the_thread will be unblocked. @@ -148,7 +153,7 @@ void _Scheduler_CBS_Unblock( ); /** - * @brief Scheduler CBS Release job + * @brief Called when a new job of task is released. * * This routine is called when a new job of task is released. * It is called only from Rate Monotonic manager in the beginning @@ -169,16 +174,16 @@ void _Scheduler_CBS_Release_job ( * * Initializes the CBS library. * - * @return status code. + * @retval status code. */ int _Scheduler_CBS_Initialize(void); /** - * @brief Attach Scheduler CBS Thread + * @brief Attach a task to an already existing server. * * Attach a task to an already existing server. * - * @return status code. + * @retval status code. */ int _Scheduler_CBS_Attach_thread ( Scheduler_CBS_Server_id server_id, @@ -186,11 +191,11 @@ int _Scheduler_CBS_Attach_thread ( ); /** - * @brief _Scheduler_CBS_Detach_thread + * @brief Detach from the CBS Server. * * Detach from the CBS Server. * - * @return status code. + * @retval status code. */ int _Scheduler_CBS_Detach_thread ( Scheduler_CBS_Server_id server_id, @@ -198,20 +203,20 @@ int _Scheduler_CBS_Detach_thread ( ); /** - * @brief _Scheduler_CBS_Cleanup + * @brief Cleanup resources associated to the CBS Library. * * Cleanup resources associated to the CBS Library. * - * @return status code. + * @retval status code. */ int _Scheduler_CBS_Cleanup (void); /** - * @brief _Scheduler_CBS_Create_server + * @brief Create a new server with specified parameters. * * Create a new server with specified parameters. * - * @return status code. + * @retval status code. */ int _Scheduler_CBS_Create_server ( Scheduler_CBS_Parameters *params, @@ -220,25 +225,25 @@ int _Scheduler_CBS_Create_server ( ); /** - * @brief _Scheduler_CBS_Destroy_server + * @brief Detach all tasks from a server and destroy it. * * Detach all tasks from a server and destroy it. * * @param[in] server_id is the ID of the server * - * @return status code. + * @retval status code. */ int _Scheduler_CBS_Destroy_server ( Scheduler_CBS_Server_id server_id ); /** - * @brief _Scheduler_CBS_Get_approved_budget + * @brief Retrieve the approved budget. * * Retrieve the budget that has been approved for the subsequent * server instances. * - * @return status code. + * @retval status code. */ int _Scheduler_CBS_Get_approved_budget ( Scheduler_CBS_Server_id server_id, @@ -246,11 +251,11 @@ int _Scheduler_CBS_Get_approved_budget ( ); /** - * @brief _Scheduler_CBS_Get_remaining_budget + * @brief Retrieve remaining budget for the current server instance. * * Retrieve remaining budget for the current server instance. * - * @return status code. + * @retval status code. */ int _Scheduler_CBS_Get_remaining_budget ( Scheduler_CBS_Server_id server_id, @@ -258,15 +263,15 @@ int _Scheduler_CBS_Get_remaining_budget ( ); /** - * @brief Get relative time info + * @brief Get relative time info. * * Retrieve time info relative to @a server_id. The server status code is returned. * * @param[in] server_id is the server to get the status code from. * @param[in] exec_time is the execution time. - * @param[in] abs_time is not apparently used. + * @param[in] abs_time is not apparently used. * - * @return status code. + * @retval status code. */ int _Scheduler_CBS_Get_execution_time ( Scheduler_CBS_Server_id server_id, @@ -275,11 +280,11 @@ int _Scheduler_CBS_Get_execution_time ( ); /** - * @brief _Scheduler_CBS_Get_parameters + * @brief Retrieve CBS scheduling parameters. * * Retrieve CBS scheduling parameters. * - * @return status code. + * @retval status code. */ int _Scheduler_CBS_Get_parameters ( Scheduler_CBS_Server_id server_id, @@ -287,12 +292,12 @@ int _Scheduler_CBS_Get_parameters ( ); /** - * @brief Scheduler CBS Get Server id + * @brief Get a thread server id. * * Get a thread server id, or SCHEDULER_CBS_ERROR_NOT_FOUND if it is not * attached to any server. * - * @return status code. + * @retval status code. */ int _Scheduler_CBS_Get_server_id ( rtems_id task_id, @@ -300,14 +305,14 @@ int _Scheduler_CBS_Get_server_id ( ); /** - * @brief Set Parameters for CBS Scheduling + * @brief Set parameters for CBS scheduling. * * Change CBS scheduling parameters. * * @param[in] server_id is the ID of the server. * @param[in] parameters are the parameters to set. * - * @return status code. + * @retval status code. */ int _Scheduler_CBS_Set_parameters ( Scheduler_CBS_Server_id server_id, @@ -315,7 +320,7 @@ int _Scheduler_CBS_Set_parameters ( ); /** - * @brief Scheduler CBS Budget overrun + * @brief Invoked when a limited time quantum is exceeded. * * This routine is invoked when a limited time quantum is exceeded. */ @@ -324,7 +329,7 @@ void _Scheduler_CBS_Budget_callout( ); /** - * @brief Scheduler CBS Allocate + * @brief Allocates CBS specific information of @a the_thread. * * This routine allocates CBS specific information of @a the_thread. * @@ -341,4 +346,4 @@ void *_Scheduler_CBS_Allocate( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/schedulerpriority.h b/cpukit/score/include/rtems/score/schedulerpriority.h index 3432937062..9c2dc8cbbb 100644 --- a/cpukit/score/include/rtems/score/schedulerpriority.h +++ b/cpukit/score/include/rtems/score/schedulerpriority.h @@ -1,6 +1,8 @@ /** * @file rtems/score/schedulerpriority.h * + * @brief Thread Manipulation with the Priority-Based Scheduler + * * This include file contains all the constants and structures associated * with the manipulation of threads for the priority-based scheduler. */ @@ -26,8 +28,11 @@ extern "C" { #endif /** - * @addtogroup ScoreScheduler + * @defgroup ScoreScheduler Priority-based Scheduler + * + * @ingroup Score * + * @addtogroup ScoreScheduler */ /**@{*/ @@ -64,13 +69,13 @@ typedef struct { } Scheduler_priority_Per_thread; /** - * @brief Initialize Scheduler Priority + * @brief Initializes the priority scheduler. * This routine initializes the priority scheduler. */ void _Scheduler_priority_Initialize(void); /** - * @brief Scheduler priority Block + * @brief Removes @a the_thread from the scheduling decision. * * This routine removes @a the_thread from the scheduling decision, * that is, removes it from the ready queue. It performs @@ -84,7 +89,7 @@ void _Scheduler_priority_Block( ); /** - * @brief schedule entry point + * @brief Sets the heir thread to be the next ready thread. * * This kernel routine sets the heir thread to be the next ready thread * by invoking the_scheduler->ready_queue->operations->first(). @@ -92,7 +97,7 @@ void _Scheduler_priority_Block( void _Scheduler_priority_Schedule(void); /** - * @brief Allocate Scheduler Priority + * @brief Allocates @a the_thread->scheduler. * * This routine allocates @a the_thread->scheduler. * @@ -104,7 +109,7 @@ void * _Scheduler_priority_Allocate( ); /** - * @brief Free Scheduler Priority + * @brief Frees @a the_thread->scheduler. * * This routine frees @a the_thread->scheduler. * @@ -116,7 +121,7 @@ void _Scheduler_priority_Free( ); /** - * @brief Update Scheduler priority + * @brief Update the scheduler priority. * This routine updates @a the_thread->scheduler based on @a the_scheduler * structures and thread state. * @@ -128,7 +133,7 @@ void _Scheduler_priority_Update( ); /** - * @brief Scheduler Priority Unblock + * @brief Add @a the_thread to the scheduling decision. * * This routine adds @a the_thread to the scheduling decision, * that is, adds it to the ready queue and @@ -141,7 +146,7 @@ void _Scheduler_priority_Unblock( ); /** - * @brief Scheduler Priority Yield + * @brief Remove the running THREAD to the rear of this chain. * * This routine is invoked when a thread wishes to voluntarily * transfer control of the processor to another thread in the queue. @@ -160,7 +165,7 @@ void _Scheduler_priority_Unblock( void _Scheduler_priority_Yield( void ); /** - * @brief Scheduler Priority Enqueue + * @brief Puts @a the_thread on to the priority-based ready queue. * * This routine puts @a the_thread on to the priority-based ready queue. * @@ -171,7 +176,7 @@ void _Scheduler_priority_Enqueue( ); /** - * @brief Scheduler Priority Enqueue First + * @brief Puts @a the_thread to the head of the ready queue. * * This routine puts @a the_thread to the head of the ready queue. * For priority-based ready queues, the thread will be the first thread @@ -184,7 +189,7 @@ void _Scheduler_priority_Enqueue_first( ); /** - * @brief Removes a specific thread from scheduler + * @brief Remove a specific thread from scheduler. * * This routine removes a specific thread from the scheduler's set * of ready threads. @@ -196,7 +201,7 @@ void _Scheduler_priority_Extract( ); /** - * @brief Scheduler priority Priority compare + * @brief Compare two priorities. * * This routine compares two priorities. */ @@ -206,7 +211,7 @@ int _Scheduler_priority_Priority_compare( ); /** - * @brief Scheduler priority Release job + * @brief Called when a new job of task is released. * * This routine is called when a new job of task is released. * @@ -220,7 +225,7 @@ void _Scheduler_priority_Release_job ( ); /** - * @brief Deterministic Priority Scheduler Tick Method + * @brief Determines if the current thread allows timeslicing. * * This routine is invoked as part of processing each clock tick. * It is responsible for determining if the current thread allows @@ -249,4 +254,4 @@ extern Priority_bit_map_Control _Priority_Bit_map[16] CPU_STRUCTURE_ALIGNMENT; /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/smp.h b/cpukit/score/include/rtems/score/smp.h index 38ac681bcd..b3d964b8d2 100644 --- a/cpukit/score/include/rtems/score/smp.h +++ b/cpukit/score/include/rtems/score/smp.h @@ -1,6 +1,8 @@ /** * @file rtems/score/smp.h * + * @brief Interface to the SuperCore SMP Support used Internally to RTEMS + * * This include file defines the interface to the SuperCore * SMP support that is used internally to RTEMS. */ @@ -65,7 +67,7 @@ extern "C" { #ifndef ASM /** - * @brief Number of CPUs in SMP System + * @brief Number of CPUs in a SMP system. * * This variable is set during the SMP initialization sequence to * indicate the number of CPUs in this system. @@ -73,7 +75,7 @@ extern "C" { SCORE_EXTERN uint32_t _SMP_Processor_count; /** - * @brief Make Request of Others CPUs + * @brief Request of others CPUs. * * This method is invoked by RTEMS when it needs to make a request * of the other CPUs. It should be implemented using some type of @@ -87,7 +89,7 @@ void _SMP_Broadcast_message( ); /** - * @brief Request Other Cores to Perform First Context Switch + * @brief Request other cores to perform first context switch. * * Send message to other cores requesting them to perform * their first context switch operation. @@ -95,7 +97,7 @@ void _SMP_Broadcast_message( void _SMP_Request_other_cores_to_perform_first_context_switch(void); /** - * @brief Request Dispatch on Other Cores + * @brief Request dispatch on other cores. * * Send message to other cores requesting them to perform * a thread dispatch operation. @@ -103,7 +105,7 @@ void _SMP_Request_other_cores_to_perform_first_context_switch(void); void _SMP_Request_other_cores_to_dispatch(void); /** - * @Brief Request Other Cores to Shutdown + * @Brief Request other cores to shutdown. * * Send message to other cores requesting them to shutdown. */ @@ -116,5 +118,7 @@ void _SMP_Request_other_cores_to_shutdown(void); #endif #endif + +/**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/sysstate.h b/cpukit/score/include/rtems/score/sysstate.h index b847dc842f..9223820bf9 100644 --- a/cpukit/score/include/rtems/score/sysstate.h +++ b/cpukit/score/include/rtems/score/sysstate.h @@ -3,7 +3,7 @@ * * @ingroup ScoreSysState * - * @brief System State Handler API. + * @brief System State Handler API */ /* diff --git a/cpukit/score/include/rtems/score/thread.h b/cpukit/score/include/rtems/score/thread.h index 623b56251f..5b0ecd90ba 100644 --- a/cpukit/score/include/rtems/score/thread.h +++ b/cpukit/score/include/rtems/score/thread.h @@ -1,6 +1,8 @@ /** * @file rtems/score/thread.h * + * @brief Constants and Structures Related with the Thread Control Block + * * This include file contains all constants and structures associated * with the thread control block. */ @@ -185,14 +187,14 @@ typedef enum { typedef void (*Thread_CPU_budget_algorithm_callout )( Thread_Control * ); /** - * @brief Per Task Variable Manager Structure Forward Reference + * @brief Forward reference to the per task variable structure.. * * Forward reference to the per task variable structure. */ struct rtems_task_variable_tt; /** - * @brief Per Task Variable Manager Structure + * @brief Internal structure used to manager per task variables. * * This is the internal structure used to manager per Task Variables. */ @@ -275,7 +277,7 @@ typedef union { } Thread_Wait_information_Object_argument_type; /** - * @brief Thread Blocking Management Information + * @brief Information required to manage a thread while it is blocked. * * This contains the information required to manage a thread while it is * blocked and to return information to it. @@ -503,14 +505,14 @@ SCORE_EXTERN Thread_Control *_Thread_Allocated_fp; */ SCORE_EXTERN struct _reent **_Thread_libc_reent; /** - * @brief Initialize Thread Handler + * @brief Initialize thread handler. * * This routine performs the initialization necessary for this handler. */ void _Thread_Handler_initialization(void); /** - * @brief Create Idle Thread + * @brief Create idle thread. * * This routine creates the idle thread. * @@ -519,7 +521,7 @@ void _Thread_Handler_initialization(void); void _Thread_Create_idle(void); /** - * @brief Start Thread Multitasking + * @brief Start thread multitasking. * * This routine initiates multitasking. It is invoked only as * part of initialization and its invocation is the last act of @@ -533,7 +535,7 @@ void _Thread_Create_idle(void); void _Thread_Start_multitasking( void ); /** - * @brief Dispatch Thread + * @brief Dispatch thread. * * This routine is responsible for transferring control of the * processor from the executing thread to the heir thread. Once the @@ -553,7 +555,7 @@ void _Thread_Start_multitasking( void ); void _Thread_Dispatch( void ); /** - * @brief Stack Allocate Helper + * @brief Allocate the requested stack space for the thread. * * Allocate the requested stack space for the thread. * Set the Start.stack field to the address of the stack. @@ -569,7 +571,7 @@ size_t _Thread_Stack_Allocate( ); /** - * @brief Deallocate Thread Stack + * @brief Deallocate thread stack. * * Deallocate the Thread's stack. */ @@ -578,7 +580,8 @@ void _Thread_Stack_Free( ); /** - * @brief Initialize Thread + * @brief Initialize thread. + * * This routine initializes the specified the thread. It allocates * all memory associated with this thread. It completes by adding * the thread to the local object table so operations on this @@ -604,14 +607,14 @@ bool _Thread_Initialize( ); /** - * @brief Initializes Thread and Executes it + * @brief Initializes thread and executes it. * * This routine initializes the executable information for a thread * and makes it ready to execute. After this routine executes, the * thread competes with all other threads for CPU time. * * @param the_thread is the thread to be initialized - * @param the_prototype + * @param the_prototype * @param entry_point * @param pointer_argument * @param numeric_argument @@ -625,7 +628,8 @@ bool _Thread_Start( ); /** - * @brief Restart Thread + * @brief Restarts the specified thread. + * * This support routine restarts the specified task in a way that the * next time this thread executes, it will begin execution at its * original starting point. @@ -639,7 +643,7 @@ bool _Thread_Restart( ); /** - * @brief Resets a thread to its initial state + * @brief Resets a thread to its initial state. * * This routine resets a thread to its initial state but does * not restart it. Some APIs do this in separate @@ -656,7 +660,7 @@ void _Thread_Reset( ); /** - * @brief Thread Close + * @brief Frees all memory associated with the specified thread. * * This routine frees all memory associated with the specified * thread and removes it from the local object table so no further @@ -668,7 +672,7 @@ void _Thread_Close( ); /** - * @brief Thread Ready + * @brief Removes any set states for @a the_thread. * * This routine removes any set states for @a the_thread. It performs * any necessary scheduling operations including the selection of @@ -683,7 +687,7 @@ void _Thread_Ready( ); /** - * @brief Clear Thread state + * @brief Clears the indicated STATES for @a the_thread. * * This routine clears the indicated STATES for @a the_thread. It performs * any necessary scheduling operations including the selection of @@ -699,13 +703,13 @@ void _Thread_Clear_state( ); /** - * @brief Sets States for a Thread + * @brief Sets the indicated @a state for @a the_thread. * * This routine sets the indicated @a state for @a the_thread. It performs * any necessary scheduling operations including the selection of * a new heir thread. * - * @param[in] the_thread is the thread to set the state for. + * @param[in] the_thread is the thread to set the state for. * @param[in] state is the state to set the_thread to. * * - INTERRUPT LATENCY: @@ -718,7 +722,7 @@ void _Thread_Set_state( ); /** - * @brief Sets the Transient state for a Thread + * @brief Sets the transient state for a thread. * * This routine sets the Transient state for @a the_thread. It performs * any necessary scheduling operations including the selection of @@ -734,11 +738,11 @@ void _Thread_Set_transient( ); /** - * @brief Initializes Enviroment for A Thread + * @brief Initializes enviroment for a thread. * * This routine initializes the context of @a the_thread to its * appropriate starting state. - * + * * @param[in] the_thread is the pointer to the thread control block. */ void _Thread_Load_environment( @@ -746,7 +750,8 @@ void _Thread_Load_environment( ); /** - * @brief Thread Handler + * @brief Wrapper function for all threads. + * * This routine is the wrapper function for all threads. It is * the starting point for all threads. The user provided thread * entry point is invoked by this routine. Operations @@ -761,14 +766,14 @@ void _Thread_Load_environment( * interrupts may already be at there proper level. Either way, * setting the initial isr level properly here is safe. * - * Input parameters: NONE + * @param[in]: NONE * - * Output parameters: NONE + * @param[out]: NONE */ void _Thread_Handler( void ); /** - * @brief Ended the delay of a Thread + * @brief Ended the delay of a thread. * * This routine is invoked when a thread must be unblocked at the * end of a time based delay (i.e. wake after or wake when). @@ -782,7 +787,7 @@ void _Thread_Delay_ended( ); /** - * @brief Changes the priority of a thread + * @brief Change the priority of a thread. * * This routine changes the current priority of @a the_thread to * @a new_priority. It performs any necessary scheduling operations @@ -799,7 +804,7 @@ void _Thread_Change_priority ( ); /** - * @brief Set Thread Priority + * @brief Set thread priority. * * This routine updates the priority related fields in the_thread * control block to indicate the current priority is now new_priority. @@ -840,7 +845,7 @@ void *_Thread_Idle_body( typedef void (*rtems_per_thread_routine)( Thread_Control * ); /** - * @brief Iterates Over All Threads + * @brief Iterates over all threads. * This routine iterates over all threads regardless of API and * invokes the specified routine. */ @@ -849,7 +854,7 @@ void rtems_iterate_over_all_threads( ); /** - * @brief Maps THread Id to a TCB Pointer + * @brief Maps thread Id to a TCB pointer. * * This function maps thread IDs to thread control * blocks. If ID corresponds to a local thread, then it @@ -875,7 +880,7 @@ Thread_Control *_Thread_Get ( ); /** - * @brief Cancel a blocking operation due to ISR + * @brief Cancel a blocking operation due to ISR. * * This method is used to cancel a blocking operation that was * satisfied from an ISR while the thread executing was in the @@ -900,14 +905,14 @@ void _Thread_blocking_operation_Cancel( #if defined(RTEMS_SMP) /** - * @brief _Thread_Dispatch_initialization + * @brief Initializes the thread dispatching subsystem. * * This routine initializes the thread dispatching subsystem. */ void _Thread_Dispatch_initialization(void); /** - * @brief _Thread_Dispatch_in_critical_section + * @brief Checks if thread dispatch says that we are in a critical section. * * This routine returns true if thread dispatch indicates * that we are in a critical section. @@ -915,14 +920,14 @@ void _Thread_blocking_operation_Cancel( bool _Thread_Dispatch_in_critical_section(void); /** - * @brief _Thread_Dispatch_get_disable_level + * @brief Returns value of the the thread dispatch level. * * This routine returns value of the the thread dispatch level. */ uint32_t _Thread_Dispatch_get_disable_level(void); /** - * @brief _Thread_Dispatch_set_disable_level + * @brief Sets thread dispatch level to the value passed in. * * This routine sets thread dispatch level to the * value passed in. @@ -930,14 +935,14 @@ void _Thread_blocking_operation_Cancel( uint32_t _Thread_Dispatch_set_disable_level(uint32_t value); /** - * @brief _Thread_Dispatch_increment_disable_level + * @brief Increments the thread dispatch level. * * This rountine increments the thread dispatch level */ uint32_t _Thread_Dispatch_increment_disable_level(void); /** - * @brief _Thread_Dispatch_decrement_disable_level + * @brief Decrements the thread dispatch level. * * This routine decrements the thread dispatch level. */ @@ -963,4 +968,4 @@ void _Thread_blocking_operation_Cancel( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/threadq.h b/cpukit/score/include/rtems/score/threadq.h index a2653b3a02..494fe01f58 100644 --- a/cpukit/score/include/rtems/score/threadq.h +++ b/cpukit/score/include/rtems/score/threadq.h @@ -1,6 +1,8 @@ /** * @file rtems/score/threadq.h * + * Constants and Structures Associated with the Manipulation of Objects + * * This include file contains all the constants and structures associated * with the manipulation of objects. */ @@ -60,7 +62,7 @@ typedef void ( *Thread_queue_Timeout_callout )( ); /** - * @brief Thread Queue Dequeue + * @brief Gets a pointer to a thread waiting on the_thread_queue. * * This function returns a pointer to a thread waiting on * the_thread_queue. The selection of this thread is based on @@ -72,7 +74,7 @@ Thread_Control *_Thread_queue_Dequeue( ); /** - * @brief Thread Queue Enqueue Wrapper + * @brief Enqueues the currently executing thread on the_thread_queue. * * This routine enqueues the currently executing thread on * the_thread_queue with an optional timeout. @@ -84,7 +86,7 @@ Thread_Control *_Thread_queue_Dequeue( _Thread_queue_Timeout ) /** - * @brief Thread Queue Enqueue + * @brief Blocks a thread and places it on a thread. * * This routine blocks a thread, places it on a thread, and optionally * starts a timeout timer. @@ -102,7 +104,7 @@ void _Thread_queue_Enqueue_with_handler( ); /** - * @brief Thread Queue Requeue + * @brief Invoked when a thread changes priority and is blocked. * * This routine is invoked when a thread changes priority and is * blocked on a thread queue. If the queue is priority ordered, @@ -119,7 +121,7 @@ void _Thread_queue_Requeue( ); /** - * @brief Extracts Thread from Thread Queue + * @brief Extracts thread from thread queue. * * This routine removes @a the_thread from @a the_thread_queue * and cancels any timeouts associated with this blocking. @@ -133,7 +135,7 @@ void _Thread_queue_Extract( ); /** - * @brief Thread Queue Extract with proxy + * @brief Extracts the_thread from the_thread_queue. * * This routine extracts the_thread from the_thread_queue * and ensures that if there is a proxy for this task on @@ -144,7 +146,7 @@ bool _Thread_queue_Extract_with_proxy( ); /** - * @brief Thread Queue First + * @brief Gets a pointer to the "first" thread on the_thread_queue. * * This function returns a pointer to the "first" thread * on the_thread_queue. The "first" thread is selected @@ -152,14 +154,14 @@ bool _Thread_queue_Extract_with_proxy( * * @param[in] the_thread_queue pointer to thread queue * - * @return first thread or NULL + * @retval first thread or NULL */ Thread_Control *_Thread_queue_First( Thread_queue_Control *the_thread_queue ); /** - * @brief Thread Queue Flush + * @brief Unblocks all threads blocked on the_thread_queue. * * This routine unblocks all threads blocked on the_thread_queue * and cancels any associated timeouts. @@ -171,7 +173,7 @@ void _Thread_queue_Flush( ); /** - * @brief Thread Queue Initialize + * @brief Initialize the_thread_queue. * * This routine initializes the_thread_queue based on the * discipline indicated in attribute_set. The state set on @@ -190,7 +192,8 @@ void _Thread_queue_Initialize( ); /** - * @brief Thread Queue Dequeue priority + * @brief Removes a thread from the specified PRIORITY based + * threadq, unblocks it, and cancels its timeout timer. * * This routine removes a thread from the specified PRIORITY based * threadq, unblocks it, and cancels its timeout timer. @@ -208,7 +211,7 @@ Thread_Control *_Thread_queue_Dequeue_priority( ); /** - * @brief Thread Queue Enqueue Priority + * @brief Enqueues the currently executing thread on the_thread_queue. * * This routine enqueues the currently executing thread on * the_thread_queue with an optional timeout using the @@ -228,7 +231,7 @@ Thread_blocking_operation_States _Thread_queue_Enqueue_priority ( ); /** - * @brief Thread Queue Extract priority Helper + * @brief Removes the_thread and cancels related timeouts. * * This routine removes the_thread from the_thread_queue * and cancels any timeouts associated with this blocking. @@ -246,7 +249,7 @@ void _Thread_queue_Extract_priority_helper( ); /** - * @brief Thread Queue Extract priority + * @brief Wraps the underlying call and hides the requeuing argument. * * This macro wraps the underlying call and hides the requeuing argument. */ @@ -254,21 +257,21 @@ void _Thread_queue_Extract_priority_helper( #define _Thread_queue_Extract_priority( _the_thread_queue, _the_thread ) \ _Thread_queue_Extract_priority_helper( _the_thread_queue, _the_thread, false ) /** - * @brief Returns highest priority thread on the_thread_queue + * @brief Get highest priority thread on the_thread_queue. * * This function returns a pointer to the "first" thread * on @a the_thread_queue. The "first" thread is the highest * priority thread waiting on @a the_thread_queue. * * @param[in] the_thread_queue is the pointer to the thread queue - * @return first thread or NULL + * @retval first thread or NULL */ Thread_Control *_Thread_queue_First_priority( Thread_queue_Control *the_thread_queue ); /** - * @brief Thread Queue Dequeue FIFO + * @brief Gets a pointer to the thread which has been waiting the longest. * * This function returns a pointer to the thread which has * been waiting the longest on the_thread_queue. If no @@ -276,7 +279,7 @@ Thread_Control *_Thread_queue_First_priority( * * @param[in] the_thread_queue is the pointer to threadq * - * @return thread dequeued or NULL + * @retval thread dequeued or NULL * * - INTERRUPT LATENCY: * + check sync @@ -287,7 +290,7 @@ Thread_Control *_Thread_queue_Dequeue_fifo( ); /** - * @brief Thread Queue Enqueue FIFO + * @brief Enqueues the currently executing thread on the_thread_queue. * * This routine enqueues the currently executing thread on * the_thread_queue with an optional timeout using the @@ -307,7 +310,7 @@ Thread_blocking_operation_States _Thread_queue_Enqueue_fifo ( ); /** - * @brief Thread Queue Extract FIFO + * @brief Removes the_thread from the_thread_queue and cancels any timeouts. * * This routine removes the_thread from the_thread_queue * and cancels any timeouts associated with this blocking. @@ -318,7 +321,7 @@ void _Thread_queue_Extract_fifo( ); /** - * @brief Thread Queue First FIFO + * @brief Gets a pointer to the "first" thread on the_thread_queue. * * This function returns a pointer to the "first" thread * on the_thread_queue. The first thread is the thread @@ -326,14 +329,14 @@ void _Thread_queue_Extract_fifo( * * @param[in] the_thread_queue is the pointer to threadq * - * @return first thread or NULL + * @retval first thread or NULL */ Thread_Control *_Thread_queue_First_fifo( Thread_queue_Control *the_thread_queue ); /** - * @brief Thread Queue Timeout + * @brief Thread queue timeout. * * This routine is invoked when a task's request has not * been satisfied after the timeout interval specified to @@ -349,7 +352,7 @@ void _Thread_queue_Timeout ( ); /** - * @brief Process Thread Queue Timeout + * @brief Process thread queue timeout. * * This is a shared helper routine which makes it easier to have multiple * object class specific timeout routines. @@ -375,4 +378,4 @@ void _Thread_queue_Process_timeout( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/timestamp.h b/cpukit/score/include/rtems/score/timestamp.h index 951c37413d..fb297da06d 100644 --- a/cpukit/score/include/rtems/score/timestamp.h +++ b/cpukit/score/include/rtems/score/timestamp.h @@ -1,6 +1,8 @@ /** * @file rtems/score/timestamp.h * + * @brief Helpers for Manipulating Timestamps + * * This include file contains helpers for manipulating timestamps. */ @@ -73,7 +75,7 @@ extern "C" { #endif /** - * @brief Set Timestamp to Specified Seconds and Nanoseconds + * @brief Set timestamp to specified seconds and nanoseconds. * * This method sets the timestamp to the specified @a _seconds and @a _nanoseconds * value. @@ -91,7 +93,7 @@ extern "C" { #endif /** - * @brief Zero Timestamp + * @brief Sets the timestamp to zero. * * This method sets the timestamp to zero. * value. @@ -107,13 +109,13 @@ extern "C" { #endif /** - * @brief Is Timestamp Valid + * @brief Determines the validity of a timestamp. * * This method determines the validity of a timestamp. * * @param[in] _time points to the timestamp instance to validate. * - * @return This method returns true if @a time is valid and + * @retval This method returns true if @a time is valid and * false otherwise. */ #if CPU_TIMESTAMP_USE_STRUCT_TIMESPEC == TRUE @@ -125,14 +127,14 @@ extern "C" { #endif /** - * @brief Timestamp Less Than Operator + * @brief Less than operator for timestamps. * * This method is the less than operator for timestamps. * * @param[in] _lhs points to the left hand side timestamp * @param[in] _rhs points to the right hand side timestamp * - * @return This method returns true if @a _lhs is less than the @a _rhs and + * @retval This method returns true if @a _lhs is less than the @a _rhs and * false otherwise. */ #if CPU_TIMESTAMP_USE_STRUCT_TIMESPEC == TRUE @@ -144,28 +146,28 @@ extern "C" { #endif /** - * @brief Timestamp Greater Than Operator + * @brief Greater than operator for timestamps. * * This method is the greater than operator for timestamps. * * @param[in] _lhs points to the left hand side timestamp * @param[in] _rhs points to the right hand side timestamp * - * @return This method returns true if @a _lhs is greater than the @a _rhs and + * @retval This method returns true if @a _lhs is greater than the @a _rhs and * false otherwise. */ #define _Timestamp_Greater_than( _lhs, _rhs ) \ _Timestamp_Less_than( _rhs, _lhs ) /** - * @brief Timestamp equal to Operator + * @brief Equal to than operator for timestamps. * * This method is the is equal to than operator for timestamps. * * @param[in] _lhs points to the left hand side timestamp * @param[in] _rhs points to the right hand side timestamp * - * @return This method returns true if @a _lhs is equal to @a _rhs and + * @retval This method returns true if @a _lhs is equal to @a _rhs and * false otherwise. */ #if CPU_TIMESTAMP_USE_STRUCT_TIMESPEC == TRUE @@ -177,7 +179,7 @@ extern "C" { #endif /** - * @brief Add to a Timestamp + * @brief Adds two timestamps. * * This routine adds two timestamps. The second argument is added * to the first. @@ -185,7 +187,7 @@ extern "C" { * @param[in] _time points to the base time to be added to * @param[in] _add points to the timestamp to add to the first argument * - * @return This method returns the number of seconds @a time increased by. + * @retval This method returns the number of seconds @a time increased by. */ #if CPU_TIMESTAMP_USE_STRUCT_TIMESPEC == TRUE #define _Timestamp_Add_to( _time, _add ) \ @@ -196,14 +198,14 @@ extern "C" { #endif /** - * @brief Convert Timestamp to Number of Ticks + * @brief Convert timestamp to number of clock ticks. * * This routine convert the @a time timestamp to the corresponding number * of clock ticks. * * @param[in] _time points to the time to be converted * - * @return This method returns the number of ticks computed. + * @retval This method returns the number of ticks computed. */ #if CPU_TIMESTAMP_USE_STRUCT_TIMESPEC == TRUE #define _Timestamp_To_ticks( _time ) \ @@ -214,7 +216,7 @@ extern "C" { #endif /** - * @brief Convert Ticks to Timestamp + * @brief Converts the @a _ticks value to timestamp format. * * This routine converts the @a _ticks value to the corresponding * timestamp format @a _time. @@ -231,7 +233,7 @@ extern "C" { #endif /** - * @brief Subtract Two Timestamp + * @brief Subtracts two timestamps. * * This routine subtracts two timestamps. @a result is set to * @a end - @a start. @@ -241,7 +243,7 @@ extern "C" { * @param[in] _result points to the difference between * starting and ending time. * - * @return This method fills in @a _result. + * @retval This method fills in @a _result. */ #if CPU_TIMESTAMP_USE_STRUCT_TIMESPEC == TRUE #define _Timestamp_Subtract( _start, _end, _result ) \ @@ -252,7 +254,7 @@ extern "C" { #endif /** - * @brief Divide Timestamp By Integer + * @brief Divides a timestamp by an integer value. * * This routine divides a timestamp by an integer value. The expected * use is to assist in benchmark calculations where you typically @@ -262,7 +264,7 @@ extern "C" { * @param[in] _iterations is the number of iterations * @param[in] _result points to the average time. * - * @return This method fills in @a result. + * @retval This method fills in @a result. */ #if CPU_TIMESTAMP_USE_STRUCT_TIMESPEC == TRUE #define _Timestamp_Divide_by_integer( _time, _iterations, _result ) \ @@ -273,7 +275,7 @@ extern "C" { #endif /** - * @brief Divide Timestamp + * @brief Divides a timestamp by another timestamp. * * This routine divides a timestamp by another timestamp. The * intended use is for calculating percentages to three decimal points. @@ -283,7 +285,7 @@ extern "C" { * @param[in] _ival_percentage points to the integer portion of the average * @param[in] _fval_percentage points to the thousandths of percentage * - * @return This method fills in @a result. + * @retval This method fills in @a result. */ #if CPU_TIMESTAMP_USE_STRUCT_TIMESPEC == TRUE #define _Timestamp_Divide( _lhs, _rhs, _ival_percentage, _fval_percentage ) \ @@ -294,13 +296,13 @@ extern "C" { #endif /** - * @brief Get Seconds Portion of Timestamp + * @brief Get seconds portion of timestamp. * * This method returns the seconds portion of the specified timestamp * * @param[in] _time points to the timestamp * - * @return The seconds portion of @a _time. + * @retval The seconds portion of @a _time. */ #if CPU_TIMESTAMP_USE_STRUCT_TIMESPEC == TRUE #define _Timestamp_Get_seconds( _time ) \ @@ -311,13 +313,13 @@ extern "C" { #endif /** - * @brief Get Nanoseconds Portion of Timestamp + * @brief Get nanoseconds portion of timestamp. * * This method returns the nanoseconds portion of the specified timestamp * * @param[in] _time points to the timestamp * - * @return The nanoseconds portion of @a _time. + * @retval The nanoseconds portion of @a _time. */ #if CPU_TIMESTAMP_USE_STRUCT_TIMESPEC == TRUE #define _Timestamp_Get_nanoseconds( _time ) \ @@ -328,7 +330,7 @@ extern "C" { #endif /** - * @brief Convert Timestamp to Struct Timespec + * @brief Convert timestamp to struct timespec. * * This method returns the seconds portion of the specified @a _timestamp. * @@ -345,7 +347,7 @@ extern "C" { #endif /** - * @brief Convert Timestamp to struct timeval + * @brief Convert timestamp to struct timeval. * * @param[in] _timestamp points to the timestamp * @param[in] _timeval points to the timeval @@ -368,4 +370,4 @@ extern "C" { /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/tod.h b/cpukit/score/include/rtems/score/tod.h index eb743b737a..6213e51da5 100644 --- a/cpukit/score/include/rtems/score/tod.h +++ b/cpukit/score/include/rtems/score/tod.h @@ -1,6 +1,8 @@ /** * @file rtems/score/tod.h * + * @brief Constants and Structures Associated with the Time of Day Handler. + * * This include file contains all the constants and structures associated * with the Time of Day Handler. */ @@ -105,7 +107,7 @@ extern "C" { (4 * TOD_SECONDS_PER_DAY)) /** - * @brief RTEMS Epoch Year + * @brief Earliest year to which an time of day can be initialized. * * The following constant define the earliest year to which an * time of day can be initialized. This is considered the @@ -157,7 +159,7 @@ typedef struct { SCORE_EXTERN TOD_Control _TOD; /** - * @brief Seconds Since RTEMS Epoch + * @brief Number of seconds Since RTEMS epoch. * * The following contains the number of seconds from 00:00:00 * January 1, TOD_BASE_YEAR until the current time of day. @@ -166,14 +168,14 @@ SCORE_EXTERN TOD_Control _TOD; _Timestamp_Get_seconds(&_TOD.now) /** - * @brief Initializes the Time of Day Handler + * @brief Initializes the time of day handler. * * Performs the initialization necessary for the Time Of Day handler. */ void _TOD_Handler_initialization(void); /** - * @brief Sets the time of day from timestamp + * @brief Sets the time of day from timestamp. * * The @a tod_as_timestamp timestamp represents the time since UNIX epoch. * The watchdog seconds chain will be adjusted. @@ -206,7 +208,7 @@ static inline void _TOD_Set( * @param[out] snapshot The snapshot. * @param[in] source The clock. * - * @return The snapshot. + * @retval The snapshot. */ Timestamp_Control *_TOD_Get_with_nanoseconds( Timestamp_Control *snapshot, @@ -226,7 +228,7 @@ static inline void _TOD_Get( } /** - * @brief _TOD_Get_uptime + * @brief Gets the system uptime with potential accuracy to the nanosecond. * * This routine returns the system uptime with potential accuracy * to the nanosecond. @@ -241,7 +243,7 @@ static inline void _TOD_Get_uptime( } /** - * @brief _TOD_Get_uptime_as_timespec + * @brief Gets the system uptime with potential accuracy to the nanosecond. * * This routine returns the system uptime with potential accuracy * to the nanosecond. @@ -253,7 +255,7 @@ void _TOD_Get_uptime_as_timespec( ); /** - * @brief Increments time of day at each clock tick + * @brief Increments time of day at each clock tick. * * This routine increments the ticks field of the current time of * day at each clock tick. @@ -261,7 +263,7 @@ void _TOD_Get_uptime_as_timespec( void _TOD_Tickle_ticks( void ); /** - * @brief TOD_MILLISECONDS_TO_MICROSECONDS + * @brief Converts an interval expressed in milliseconds to microseconds. * * This routine converts an interval expressed in milliseconds to microseconds. * @@ -270,7 +272,7 @@ void _TOD_Tickle_ticks( void ); #define TOD_MILLISECONDS_TO_MICROSECONDS(_ms) ((uint32_t)(_ms) * 1000L) /** - * @brief Converts microseconds to ticks + * @brief Converts an interval expressed in microseconds to ticks. * * This routine converts an interval expressed in microseconds to ticks. * @@ -281,7 +283,7 @@ uint32_t TOD_MICROSECONDS_TO_TICKS( ); /** - * @brief TOD_MILLISECONDS_TO_TICKS + * @brief Converts an interval expressed in milliseconds to ticks. * * This routine converts an interval expressed in milliseconds to ticks. * @@ -292,7 +294,7 @@ uint32_t TOD_MILLISECONDS_TO_TICKS( ); /** - * @brief How many ticks in a second? + * @brief Gets number of ticks in a second. * * This method returns the number of ticks in a second. * @@ -302,7 +304,7 @@ uint32_t TOD_MILLISECONDS_TO_TICKS( uint32_t TOD_TICKS_PER_SECOND_method(void); /** - * @brief Method to return number of ticks in a second + * @brief Gets number of ticks in a second. * * This method exists to hide the fact that TOD_TICKS_PER_SECOND can not * be implemented as a macro in a .h file due to visibility issues. @@ -322,4 +324,4 @@ uint32_t TOD_TICKS_PER_SECOND_method(void); /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/userext.h b/cpukit/score/include/rtems/score/userext.h index 6071d7ab3b..078c3deec8 100644 --- a/cpukit/score/include/rtems/score/userext.h +++ b/cpukit/score/include/rtems/score/userext.h @@ -3,7 +3,7 @@ * * @ingroup ScoreUserExt * - * @brief User Extension Handler API. + * @brief User Extension Handler API */ /* diff --git a/cpukit/score/include/rtems/score/userextimpl.h b/cpukit/score/include/rtems/score/userextimpl.h index 7a89d9af0c..4eaa137bf7 100644 --- a/cpukit/score/include/rtems/score/userextimpl.h +++ b/cpukit/score/include/rtems/score/userextimpl.h @@ -3,7 +3,7 @@ * * @ingroup ScoreUserExt * - * @brief User Extension Handler API. + * @brief User Extension Handler API */ /* @@ -25,6 +25,10 @@ extern "C" { #endif /** + * @defgroup ScoreUserExt User Extension Handler + * + * @ingroup Score + * * @addtogroup ScoreUserExt * * @{ @@ -246,4 +250,4 @@ static inline void _User_extensions_Fatal( #endif #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file -- cgit v1.2.3 From a65f4b19da641374e3562385f2492c9ec02c4313 Mon Sep 17 00:00:00 2001 From: Mathew Kallada Date: Fri, 28 Dec 2012 18:12:12 -0600 Subject: score: Doxygen Clean Up Task #7 --- cpukit/score/cpu/avr/avr/delay.h | 77 ++++++++------ cpukit/score/cpu/avr/avr/io.h | 196 ++++++++++++++++++----------------- cpukit/score/cpu/avr/avr/io8535.h | 85 ++++++++------- cpukit/score/cpu/avr/avr/io90pwm2b.h | 95 +++++++++-------- cpukit/score/cpu/avr/avr/ioa6289.h | 86 ++++++++------- cpukit/score/cpu/avr/avr/iocan32.h | 84 +++++++++------ cpukit/score/cpu/avr/avr/iom103.h | 85 ++++++++------- cpukit/score/cpu/avr/avr/iom169pa.h | 86 ++++++++------- cpukit/score/cpu/avr/avr/iom3290.h | 86 ++++++++------- cpukit/score/cpu/avr/avr/iom32c1.h | 86 ++++++++------- cpukit/score/cpu/avr/avr/iom32m1.h | 86 ++++++++------- cpukit/score/cpu/avr/avr/iom640.h | 81 +++++++++------ cpukit/score/cpu/avr/avr/iomxx4.h | 80 ++++++++------ cpukit/score/cpu/avr/avr/iotn15.h | 83 ++++++++------- cpukit/score/cpu/avr/avr/iotn85.h | 81 +++++++++------ cpukit/score/cpu/avr/avr/iotnx61.h | 86 ++++++++------- cpukit/score/cpu/avr/avr/iousbxx2.h | 84 ++++++++------- cpukit/score/cpu/avr/avr/iox256d3.h | 95 +++++++++-------- cpukit/score/cpu/avr/avr/parity.h | 77 ++++++++------ cpukit/score/cpu/avr/avr/pgmspace.h | 192 +++++++++++++++++----------------- 20 files changed, 1086 insertions(+), 825 deletions(-) diff --git a/cpukit/score/cpu/avr/avr/delay.h b/cpukit/score/cpu/avr/avr/delay.h index 42f10c1912..9cf488f882 100644 --- a/cpukit/score/cpu/avr/avr/delay.h +++ b/cpukit/score/cpu/avr/avr/delay.h @@ -1,38 +1,55 @@ -/* Copyright (c) 2005 Joerg Wunsch - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ +/** + * @file + * + * @brief Moved to + */ + +/* + * Copyright (c) 2005 Joerg Wunsch + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_DELAY_H_ #define _AVR_DELAY_H_ +/** + * @defgroup AvrDelay Delay + * + * @ingroup avr + * + * @{ + */ + #warning "This file has been moved to ." #include -#endif /* _AVR_DELAY_H_ */ +/** @} */ +#endif /* _AVR_DELAY_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/io.h b/cpukit/score/cpu/avr/avr/io.h index d4198f14ae..b54575ad5a 100644 --- a/cpukit/score/cpu/avr/avr/io.h +++ b/cpukit/score/cpu/avr/avr/io.h @@ -1,100 +1,109 @@ -/* Copyright (c) 2002,2003,2005,2006,2007 Marek Michalkiewicz, Joerg Wunsch - Copyright (c) 2007 Eric B. Weddington - All rights reserved. +/** + * @file + * + * @brief AVR device-specific IO Definitions + * + * This header file includes the apropriate IO definitions for the + * device that has been specified by the -mmcu= compiler + * command-line switch. This is done by diverting to the appropriate + * file <avr/ioXXXX.h> which should + * never be included directly. Some register names common to all + * AVR devices are defined directly within <avr/common.h>, + * which is included in <avr/io.h>, + * but most of the details come from the respective include file. + * + * Note that this file always includes the following files: + * \code + * #include + * #include + * #include + * #include + * \endcode + * See \ref avr_sfr for more details about that header file. + * + * Included are definitions of the IO register set and their + * respective bit values as specified in the Atmel documentation. + * Note that inconsistencies in naming conventions, + * so even identical functions sometimes get different names on + * different devices. + * + * Also included are the specific names useable for interrupt + * function definitions as documented + * \ref avr_signames "here". + * + * Finally, the following macros are defined: + * + * - \b RAMEND + *
+ * The last on-chip RAM address. + *
+ * - \b XRAMEND + *
+ * The last possible RAM location that is addressable. This is equal to + * RAMEND for devices that do not allow for external RAM. For devices + * that allow external RAM, this will be larger than RAMEND. + *
+ * - \b E2END + *
+ * The last EEPROM address. + *
+ * - \b FLASHEND + *
+ * The last byte address in the Flash program space. + *
+ * - \b SPM_PAGESIZE + *
+ * For devices with bootloader support, the flash pagesize + * (in bytes) to be used for the \c SPM instruction. + * - \b E2PAGESIZE + *
+ * The size of the EEPROM page. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/** \file */ -/** \defgroup avr_io : AVR device-specific IO definitions - \code #include \endcode - - This header file includes the apropriate IO definitions for the - device that has been specified by the -mmcu= compiler - command-line switch. This is done by diverting to the appropriate - file <avr/ioXXXX.h> which should - never be included directly. Some register names common to all - AVR devices are defined directly within <avr/common.h>, - which is included in <avr/io.h>, - but most of the details come from the respective include file. - - Note that this file always includes the following files: - \code - #include - #include - #include - #include - \endcode - See \ref avr_sfr for more details about that header file. - - Included are definitions of the IO register set and their - respective bit values as specified in the Atmel documentation. - Note that inconsistencies in naming conventions, - so even identical functions sometimes get different names on - different devices. - - Also included are the specific names useable for interrupt - function definitions as documented - \ref avr_signames "here". - - Finally, the following macros are defined: - - - \b RAMEND -
- The last on-chip RAM address. -
- - \b XRAMEND -
- The last possible RAM location that is addressable. This is equal to - RAMEND for devices that do not allow for external RAM. For devices - that allow external RAM, this will be larger than RAMEND. -
- - \b E2END -
- The last EEPROM address. -
- - \b FLASHEND -
- The last byte address in the Flash program space. -
- - \b SPM_PAGESIZE -
- For devices with bootloader support, the flash pagesize - (in bytes) to be used for the \c SPM instruction. - - \b E2PAGESIZE -
- The size of the EEPROM page. - -*/ +/* + * Copyright (c) 2002,2003,2005,2006,2007 Marek Michalkiewicz, Joerg Wunsch + * Copyright (c) 2007 Eric B. Weddington + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ #define _AVR_IO_H_ +/** + * @defgroup avr_io Input Output + * + * @ingroup avr + * + * @{ + */ + #include #if defined (__AVR_AT94K__) @@ -416,4 +425,5 @@ /* Include lock.h after individual IO header files. */ #include -#endif /* _AVR_IO_H_ */ +/** @} */ +#endif /* _AVR_IO_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/io8535.h b/cpukit/score/cpu/avr/avr/io8535.h index f0c419b8f5..156245d29b 100644 --- a/cpukit/score/cpu/avr/avr/io8535.h +++ b/cpukit/score/cpu/avr/avr/io8535.h @@ -1,41 +1,46 @@ -/* Copyright (c) 2002, Marek Michalkiewicz - All rights reserved. +/** + * @file avr/io8535.h + * + * @brief Definitions for AT90S8535 + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/io8535.h - definitions for AT90S8535 */ +/* + * Copyright (c) 2002, Marek Michalkiewicz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO8535_H_ #define _AVR_IO8535_H_ 1 -/* This file should only be included from , never directly. */ - #ifndef _AVR_IO_H_ # error "Include instead of this file." #endif @@ -44,7 +49,15 @@ # define _AVR_IOXXX_H_ "io8535.h" #else # error "Attempt to include more than one file." -#endif +#endif + +/** + * @defgroup AvrDef_io8535 AT90S8535 Definitions + * + * @ingroup avr + * + * @{ + */ /* I/O registers */ @@ -563,5 +576,5 @@ #define SIGNATURE_1 0x93 #define SIGNATURE_2 0x03 - -#endif /* _AVR_IO8535_H_ */ +/** @} */ +#endif /* _AVR_IO8535_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/io90pwm2b.h b/cpukit/score/cpu/avr/avr/io90pwm2b.h index 14a3893366..f97d277cf9 100644 --- a/cpukit/score/cpu/avr/avr/io90pwm2b.h +++ b/cpukit/score/cpu/avr/avr/io90pwm2b.h @@ -1,38 +1,42 @@ -/* Copyright (c) 2007 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. -*/ - - -/* avr/io90pwm2b.h - definitions for AT90PWM2B */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/io90pwm2b.h + * + * @brief Definitions for AT90PWM2B + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2007 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -42,12 +46,20 @@ # define _AVR_IOXXX_H_ "io90pwm2b.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_IO90PWM2B_H_ #define _AVR_IO90PWM2B_H_ 1 +/** + * @defgroup Avr_io90pwm2b AT90PWM2B Definitions + * + * @ingroup avr + * + * @{ + */ + /* Registers and associated bit numbers */ #define PINB _SFR_IO8(0x03) @@ -79,7 +91,7 @@ #define PORTB5 5 #define PORTB6 6 #define PORTB7 7 - + #define PINC _SFR_IO8(0x06) #define PINC0 0 #define PINC1 1 @@ -817,7 +829,7 @@ #define STP0 0 #define STP1 1 #define F1617 2 -#define FEM 3 +#define FEM 3 #define MUBRR _SFR_MEM16(0xCC) @@ -1362,7 +1374,7 @@ #define FUSE_SPIEN (unsigned char)~_BV(5) /* Enable Serial programming and Data Downloading */ #define FUSE_DWEN (unsigned char)~_BV(6) /* debugWIRE Enable */ #define FUSE_RSTDISBL (unsigned char)~_BV(7) /* External Reset Disable */ -#define HFUSE_DEFAULT (FUSE_SPIEN) +#define HFUSE_DEFAULT (FUSE_SPIEN) /* Extended Fuse Byte */ @@ -1379,7 +1391,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -1388,4 +1400,5 @@ #define SIGNATURE_2 0x83 -#endif /* _AVR_IO90PWM2B_H_ */ +/** @} */ +#endif /* _AVR_IO90PWM2B_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/ioa6289.h b/cpukit/score/cpu/avr/avr/ioa6289.h index b5bde6ae40..48c4c7764f 100644 --- a/cpukit/score/cpu/avr/avr/ioa6289.h +++ b/cpukit/score/cpu/avr/avr/ioa6289.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2008 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/ioa6289.h - definitions for ATA6289 */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/ioa6289.h + * + * @brief Definitions for ATA6289 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2008 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,19 @@ # define _AVR_IOXXX_H_ "ioa6289.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATA6289_H_ #define _AVR_ATA6289_H_ 1 +/** + * @defgroup Avr_ioa6289 ATA6289 Definitions + * + * @ingroup avr + * + * @{ + */ /* Registers and associated bit numbers. */ @@ -839,5 +851,5 @@ #define SIGNATURE_2 0x82 -#endif /* _AVR_ATA6289_H_ */ - +/** @} */ +#endif /* _AVR_ATA6289_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iocan32.h b/cpukit/score/cpu/avr/avr/iocan32.h index 8833f653f0..099c44ffcf 100644 --- a/cpukit/score/cpu/avr/avr/iocan32.h +++ b/cpukit/score/cpu/avr/avr/iocan32.h @@ -1,39 +1,54 @@ -/* Copyright (c) 2004,2005, Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* iocan32.h - definitions for CAN32 */ +/** + * @file iocan32.h + * + * @brief Definitions for CAN32 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2004,2005, Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOCAN32_H_ #define _AVR_IOCAN32_H_ 1 +/** + * @defgroup AvrDef_CAN32 CAN32 Defintions + * + * @ingroup avr + * + * @{ + */ + #include /* Constants */ @@ -81,7 +96,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -90,4 +105,5 @@ #define SIGNATURE_2 0x81 -#endif /* _AVR_IOCAN32_H_ */ +/** @} */ +#endif /* _AVR_IOCAN32_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom103.h b/cpukit/score/cpu/avr/avr/iom103.h index 0f4816ff07..654318b6fd 100644 --- a/cpukit/score/cpu/avr/avr/iom103.h +++ b/cpukit/score/cpu/avr/avr/iom103.h @@ -1,41 +1,46 @@ -/* Copyright (c) 2002, Marek Michalkiewicz - All rights reserved. +/** + * @file avr/iom103.h + * + * @brief Definitions for ATmega103 + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom103.h - definitions for ATmega103 */ +/* + * Copyright (c) 2002, Marek Michalkiewicz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM103_H_ #define _AVR_IOM103_H_ 1 -/* This file should only be included from , never directly. */ - #ifndef _AVR_IO_H_ # error "Include instead of this file." #endif @@ -44,7 +49,15 @@ # define _AVR_IOXXX_H_ "iom103.h" #else # error "Attempt to include more than one file." -#endif +#endif + +/** + * @defgroup AvrDef_iom103 ATmega103 Definitions + * + * @ingroup avr + * + * @{ + */ /* I/O registers */ @@ -670,5 +683,5 @@ #define SIGNATURE_1 0x97 #define SIGNATURE_2 0x01 - -#endif /* _AVR_IOM103_H_ */ +/** @} */ +#endif /* _AVR_IOM103_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom169pa.h b/cpukit/score/cpu/avr/avr/iom169pa.h index a2403f0546..75f0b4f111 100644 --- a/cpukit/score/cpu/avr/avr/iom169pa.h +++ b/cpukit/score/cpu/avr/avr/iom169pa.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom169pa.h - definitions for ATmega169PA */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iom169pa.h + * + * @brief Definitions for ATmega169PA + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,8 +46,15 @@ # define _AVR_IOXXX_H_ "iom169pa.h" #else # error "Attempt to include more than one file." -#endif +#endif +/** + * @defgroup AvrDef_iom169pa ATmega169PA Defintions + * + * @ingroup avr + * + * @{ + */ #ifndef _AVR_ATmega169PA_H_ #define _AVR_ATmega169PA_H_ 1 @@ -1467,5 +1479,5 @@ #define ADC0_PIN PINF #define ADC0_BIT 0 -#endif /* _AVR_ATmega169PA_H_ */ - +/** @} */ +#endif /* _AVR_ATmega169PA_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom3290.h b/cpukit/score/cpu/avr/avr/iom3290.h index b8ddf19cc6..9d9066fc6c 100644 --- a/cpukit/score/cpu/avr/avr/iom3290.h +++ b/cpukit/score/cpu/avr/avr/iom3290.h @@ -1,35 +1,41 @@ -/* Copyright (c) 2004 Eric B. Weddington - Copyright (c) 2005, 2006, 2007 Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - -/* avr/iom3290.h - definitions for ATmega3290 and ATmega3290P. */ +/** + * @file avr/iom3290.h + * + * @brief Definitions for ATmega3290 and ATmega3290P + */ + +/* + * Copyright (c) 2004 Eric B. Weddington + * Copyright (c) 2005, 2006, 2007 Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM3290_H_ #define _AVR_IOM3290_H_ 1 @@ -44,7 +50,15 @@ # define _AVR_IOXXX_H_ "iom3290.h" #else # error "Attempt to include more than one file." -#endif +#endif + +/** + * @defgroup AvrDef_iom3290 ATmega3290, ATmega3290P Defintions + * + * @ingroup avr + * + * @{ + */ /* Registers and associated bit numbers */ @@ -1143,7 +1157,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -1151,5 +1165,5 @@ #define SIGNATURE_1 0x95 #define SIGNATURE_2 0x04 - -#endif /* _AVR_IOM3290_H_ */ +/** @} */ +#endif /* _AVR_IOM3290_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom32c1.h b/cpukit/score/cpu/avr/avr/iom32c1.h index 0147aee979..ba558b80e8 100644 --- a/cpukit/score/cpu/avr/avr/iom32c1.h +++ b/cpukit/score/cpu/avr/avr/iom32c1.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom32c1.h - definitions for ATmega32C1 */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iom32c1.h + * + * @brief Definitions for ATmega32C1 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,19 @@ # define _AVR_IOXXX_H_ "iom32c1.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATmega32C1_H_ #define _AVR_ATmega32C1_H_ 1 +/** + * @defgroup Avr_iom32c1 ATmega32C1 Definitions + * + * @ingroup avr + * + * @{ + */ /* Registers and associated bit numbers. */ @@ -1292,5 +1304,5 @@ #define SIGNATURE_2 0x86 -#endif /* _AVR_ATmega32C1_H_ */ - +/** @} */ +#endif /* _AVR_ATmega32C1_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom32m1.h b/cpukit/score/cpu/avr/avr/iom32m1.h index bf12d9f513..e9ba6ae60b 100644 --- a/cpukit/score/cpu/avr/avr/iom32m1.h +++ b/cpukit/score/cpu/avr/avr/iom32m1.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2008-2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom32m1.h - definitions for ATmega32M1 */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iom32m1.h + * + * @brief Definitions for ATmega32M1 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2008-2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,19 @@ # define _AVR_IOXXX_H_ "iom32m1.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATmega32M1_H_ #define _AVR_ATmega32M1_H_ 1 +/** + * @defgroup AvrDef_iom32m1 ATmega32M1 Definitions + * + * @ingroup avr + * + * @{ + */ /* Registers and associated bit numbers. */ @@ -1566,5 +1578,5 @@ #define SIGNATURE_2 0x84 -#endif /* _AVR_ATmega32M1_H_ */ - +/** @} */ +#endif /* _AVR_ATmega32M1_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom640.h b/cpukit/score/cpu/avr/avr/iom640.h index f3fe369042..33559fc21f 100644 --- a/cpukit/score/cpu/avr/avr/iom640.h +++ b/cpukit/score/cpu/avr/avr/iom640.h @@ -1,39 +1,52 @@ -/* Copyright (c) 2005 Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom640.h - definitions for ATmega640 */ +/** + * @file avr/iom640.h + * + * @brief Definitions for ATmega640 + */ + +/* + * Copyright (c) 2005 Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM640_H_ #define _AVR_IOM640_H_ 1 +/** + * @defgroup Avr_iom640 ATmega640 Definitions + * + * @ingroup avr + * + * @{ + */ + #include /* Constants */ @@ -81,7 +94,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -89,5 +102,5 @@ #define SIGNATURE_1 0x96 #define SIGNATURE_2 0x08 - +/** @} */ #endif /* _AVR_IOM640_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iomxx4.h b/cpukit/score/cpu/avr/avr/iomxx4.h index 4b88642f74..03c1cfc39b 100644 --- a/cpukit/score/cpu/avr/avr/iomxx4.h +++ b/cpukit/score/cpu/avr/avr/iomxx4.h @@ -1,40 +1,53 @@ -/* Copyright (c) 2005, 2006, 2007 Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - -/* avr/iomXX4.h - definitions for ATmega164P/324P/644P and ATmega644 */ +/** + * @file avr/iomXX4.h + * + * @brief Definitions for ATmega164P/324P/644P and ATmega644 + * + * This file should only be included from , never directly. + */ +/* + * Copyright (c) 2005, 2006, 2007 Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOMXX4_H_ #define _AVR_IOMXX4_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup AvrDef_iomXX4 ATmega164P/324P/644P , ATmega644 Defintions + * + * @ingroup avr + * + * @{ + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -865,4 +878,5 @@ #endif /* defined(__AVR_ATmega644__) */ -#endif /* _AVR_IOMXX4_H_ */ +/** @} */ +#endif /* _AVR_IOMXX4_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn15.h b/cpukit/score/cpu/avr/avr/iotn15.h index ffffee1798..1740ca6fae 100644 --- a/cpukit/score/cpu/avr/avr/iotn15.h +++ b/cpukit/score/cpu/avr/avr/iotn15.h @@ -1,40 +1,53 @@ -/* Copyright (c) 2002,2005 Marek Michalkiewicz - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - +/** + * @file avr/iotn15.h + * + * @brief Definitions for ATtiny15 + * + * This file should only be included from , never directly. + */ -/* avr/iotn15.h - definitions for ATtiny15 */ +/* + * Copyright (c) 2002,2005 Marek Michalkiewicz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOTN15_H_ #define _AVR_IOTN15_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup AvrDef_iotn15 ATtiny15 Definitions + * + * @ingroup avr + * + * @{ + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +57,7 @@ # define _AVR_IOXXX_H_ "iotn15.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef __ASSEMBLER__ # warning "MCU not supported by the C compiler" @@ -328,5 +341,5 @@ #define SIGNATURE_1 0x90 #define SIGNATURE_2 0x06 - -#endif /* _AVR_IOTN15_H_ */ +/** @} */ +#endif /* _AVR_IOTN15_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn85.h b/cpukit/score/cpu/avr/avr/iotn85.h index 34cf692eb3..72c75a5bce 100644 --- a/cpukit/score/cpu/avr/avr/iotn85.h +++ b/cpukit/score/cpu/avr/avr/iotn85.h @@ -1,39 +1,52 @@ -/* Copyright (c) 2005, Joerg Wunsch - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iotn85.h - definitions for ATtiny85 */ +/** + * @file avr/iotn85.h + * + * @brief Definitions for ATtiny85 + */ + +/* + * Copyright (c) 2005, Joerg Wunsch + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOTN85_H_ #define _AVR_IOTN85_H_ 1 +/** + * @defgroup Avr_iotn85 ATtiny85 Definitions + * + * @ingroup avr + * + * @{ + */ + #include /* Constants */ @@ -84,5 +97,5 @@ #define SIGNATURE_1 0x93 #define SIGNATURE_2 0x0B - -#endif /* _AVR_IOTN85_H_ */ +/** @} */ +#endif /* _AVR_IOTN85_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotnx61.h b/cpukit/score/cpu/avr/avr/iotnx61.h index 6a4bd87553..d39949f2d1 100644 --- a/cpukit/score/cpu/avr/avr/iotnx61.h +++ b/cpukit/score/cpu/avr/avr/iotnx61.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2006, 2007 Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iotnx61.h - definitions for ATtiny261, ATtiny461 and ATtiny861 */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iotnx61.h + * + * @brief Definitions for ATtiny261, ATtiny461 and ATtiny861 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2006, 2007 Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,11 +46,19 @@ # define _AVR_IOXXX_H_ "iotnx61.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_IOTNx61_H_ #define _AVR_IOTNx61_H_ 1 +/** + * @defgroup AvrDef_iotnx61 ATtiny261, ATtiny461, ATtiny861 Definitions + * + * @ingroup avr + * + * @{ + */ + /* Registers and associated bit numbers */ #define TCCR1E _SFR_IO8(0x00) @@ -511,4 +524,5 @@ #define _VECTORS_SIZE 38 -#endif /* _AVR_IOTNx61_H_ */ +/** @} */ +#endif /* _AVR_IOTNx61_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iousbxx2.h b/cpukit/score/cpu/avr/avr/iousbxx2.h index cf1840c557..5b39243869 100644 --- a/cpukit/score/cpu/avr/avr/iousbxx2.h +++ b/cpukit/score/cpu/avr/avr/iousbxx2.h @@ -1,40 +1,53 @@ -/* Copyright (c) 2007 Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* iousbxx2.h - definitions for AT90USB82 and AT90USB162. */ +/** + * @file iousbxx2.h + * + * @brief Definitions for AT90USB82 and AT90USB162 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2007 Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOUSBXX2_H_ #define _AVR_IOUSBXX2_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup AvrDef_iousbxx2 AT90USB82, AT90USB162 Definitions + * + * @ingroup avr + * + * @{ + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +57,7 @@ # define _AVR_IOXXX_H_ "iousbxx2.h" #else # error "Attempt to include more than one file." -#endif +#endif /* Registers and associated bit numbers */ @@ -174,7 +187,7 @@ #define INT4 4 #define INT3 3 #define INT2 2 -#define INT1 1 +#define INT1 1 #define INT0 0 #define GPIOR0 _SFR_IO8(0x1E) @@ -762,4 +775,5 @@ #define _VECTORS_SIZE 116 +/** @} */ #endif /* _AVR_IOUSBXX2_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iox256d3.h b/cpukit/score/cpu/avr/avr/iox256d3.h index 83d242f865..e1a2815265 100644 --- a/cpukit/score/cpu/avr/avr/iox256d3.h +++ b/cpukit/score/cpu/avr/avr/iox256d3.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. +/** + * @file avr/iox256d3.h + * + * @brief Definitions for ATxmega256D3 + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iox256d3.h - definitions for ATxmega256D3 */ - -/* This file should only be included from , never directly. */ +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,19 @@ # define _AVR_IOXXX_H_ "iox256d3.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATxmega256D3_H_ #define _AVR_ATxmega256D3_H_ 1 +/** + * @defgroup AvrDef_iox256d3 ATxmega256D3 Definitions + * + * @ingroup avr + * + * @{ + */ /* Ungrouped common registers */ #define GPIOR0 _SFR_MEM8(0x0000) /* General Purpose IO Register 0 */ @@ -5103,21 +5115,21 @@ IO Module Instances. Mapped to memory. // Generic Port Pins -#define PIN0_bm 0x01 +#define PIN0_bm 0x01 #define PIN0_bp 0 #define PIN1_bm 0x02 #define PIN1_bp 1 -#define PIN2_bm 0x04 +#define PIN2_bm 0x04 #define PIN2_bp 2 -#define PIN3_bm 0x08 +#define PIN3_bm 0x08 #define PIN3_bp 3 -#define PIN4_bm 0x10 +#define PIN4_bm 0x10 #define PIN4_bp 4 -#define PIN5_bm 0x20 +#define PIN5_bm 0x20 #define PIN5_bp 5 -#define PIN6_bm 0x40 +#define PIN6_bm 0x40 #define PIN6_bp 6 -#define PIN7_bm 0x80 +#define PIN7_bm 0x80 #define PIN7_bp 7 @@ -5451,5 +5463,6 @@ IO Module Instances. Mapped to memory. #define SIGNATURE_2 0x44 +/** @} */ #endif /* _AVR_ATxmega256D3_H_ */ diff --git a/cpukit/score/cpu/avr/avr/parity.h b/cpukit/score/cpu/avr/avr/parity.h index 06fd41db96..228c0ccd97 100644 --- a/cpukit/score/cpu/avr/avr/parity.h +++ b/cpukit/score/cpu/avr/avr/parity.h @@ -1,38 +1,55 @@ -/* Copyright (c) 2005 Joerg Wunsch - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ +/** + * @file + * + * @brief Koved to + */ + +/* + * Copyright (c) 2005 Joerg Wunsch + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_PARITY_H_ #define _AVR_PARITY_H_ +/** + * @defgroup AvrParity Parity + * + * @ingroup avr + * + * @{ + */ + #warning "This file has been moved to ." #include -#endif /* _AVR_PARITY_H_ */ +/** @} */ +#endif /* _AVR_PARITY_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/pgmspace.h b/cpukit/score/cpu/avr/avr/pgmspace.h index 4036f68275..1077bb5ba6 100644 --- a/cpukit/score/cpu/avr/avr/pgmspace.h +++ b/cpukit/score/cpu/avr/avr/pgmspace.h @@ -1,80 +1,85 @@ -/* Copyright (c) 2002 - 2007 Marek Michalkiewicz - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * 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. - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - +/** + * @file pgmspace.h + * + * @brief Definitions for ATmega640 + * + * The functions in this module provide interfaces for a program to access + * data stored in program space (flash memory) of the device. In order to + * use these functions, the target device must support either the \c LPM or + * \c ELPM instructions. + * + * @note These functions are an attempt to provide some compatibility with + * header files that come with IAR C, to make porting applications between + * different compilers easier. This is not 100% compatibility though (GCC + * does not have full support for multiple address spaces yet). + * + * @note If you are working with strings which are completely based in ram, + * use the standard string functions described in \ref avr_string. + * + * \note If possible, put your constant tables in the lower 64 KB and use + * pgm_read_byte_near() or pgm_read_word_near() instead of + * pgm_read_byte_far() or pgm_read_word_far() since it is more efficient that + * way, and you can still use the upper 64K for executable code. + * All functions that are suffixed with a \c _P \e require their + * arguments to be in the lower 64 KB of the flash ROM, as they do + * not use ELPM instructions. This is normally not a big concern as + * the linker setup arranges any program space constants declared + * using the macros from this header file so they are placed right after + * the interrupt vectors, and in front of any executable code. However, + * it can become a problem if there are too many of these constants, or + * for bootloaders on devices with more than 64 KB of ROM. + * All these functions will not work in that situation. + * + * Contributors: + * Created by Marek Michalkiewicz + * Eric B. Weddington + * Wolfgang Haidinger (pgm_read_dword()) + * Ivanov Anton (pgm_read_float()) + */ /* - pgmspace.h - - Contributors: - Created by Marek Michalkiewicz - Eric B. Weddington - Wolfgang Haidinger (pgm_read_dword()) - Ivanov Anton (pgm_read_float()) + * Copyright (c) 2002 - 2007 Marek Michalkiewicz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. */ -/** \file */ -/** \defgroup avr_pgmspace : Program Space Utilities - \code - #include - #include - \endcode - - The functions in this module provide interfaces for a program to access - data stored in program space (flash memory) of the device. In order to - use these functions, the target device must support either the \c LPM or - \c ELPM instructions. - - \note These functions are an attempt to provide some compatibility with - header files that come with IAR C, to make porting applications between - different compilers easier. This is not 100% compatibility though (GCC - does not have full support for multiple address spaces yet). - - \note If you are working with strings which are completely based in ram, - use the standard string functions described in \ref avr_string. - - \note If possible, put your constant tables in the lower 64 KB and use - pgm_read_byte_near() or pgm_read_word_near() instead of - pgm_read_byte_far() or pgm_read_word_far() since it is more efficient that - way, and you can still use the upper 64K for executable code. - All functions that are suffixed with a \c _P \e require their - arguments to be in the lower 64 KB of the flash ROM, as they do - not use ELPM instructions. This is normally not a big concern as - the linker setup arranges any program space constants declared - using the macros from this header file so they are placed right after - the interrupt vectors, and in front of any executable code. However, - it can become a problem if there are too many of these constants, or - for bootloaders on devices with more than 64 KB of ROM. - All these functions will not work in that situation. -*/ - #ifndef __PGMSPACE_H_ #define __PGMSPACE_H_ 1 +/** + * @defgroup avr_pgmspace Program Space Utilities + * + * @ingroup avr + * + * @{ + */ + #define __need_size_t #include #include @@ -402,7 +407,7 @@ typedef uint64_t prog_uint64_t PROGMEM; /** \ingroup avr_pgmspace \def pgm_read_byte_near(address_short) - Read a byte from the program space with a 16-bit (near) address. + Read a byte from the program space with a 16-bit (near) address. \note The address is a byte address. The address is in the program space. */ @@ -410,16 +415,16 @@ typedef uint64_t prog_uint64_t PROGMEM; /** \ingroup avr_pgmspace \def pgm_read_word_near(address_short) - Read a word from the program space with a 16-bit (near) address. - \note The address is a byte address. + Read a word from the program space with a 16-bit (near) address. + \note The address is a byte address. The address is in the program space. */ #define pgm_read_word_near(address_short) __LPM_word((uint16_t)(address_short)) /** \ingroup avr_pgmspace \def pgm_read_dword_near(address_short) - Read a double word from the program space with a 16-bit (near) address. - \note The address is a byte address. + Read a double word from the program space with a 16-bit (near) address. + \note The address is a byte address. The address is in the program space. */ #define pgm_read_dword_near(address_short) \ @@ -427,8 +432,8 @@ typedef uint64_t prog_uint64_t PROGMEM; /** \ingroup avr_pgmspace \def pgm_read_float_near(address_short) - Read a float from the program space with a 16-bit (near) address. - \note The address is a byte address. + Read a float from the program space with a 16-bit (near) address. + \note The address is a byte address. The address is in the program space. */ #define pgm_read_float_near(address_short) \ @@ -718,10 +723,10 @@ typedef uint64_t prog_uint64_t PROGMEM; __result; \ })) -/* -Check for architectures that implement RAMPD (avrxmega3, avrxmega5, +/* +Check for architectures that implement RAMPD (avrxmega3, avrxmega5, avrxmega7) as they need to save/restore RAMPZ for ELPM macros so it does -not interfere with data accesses. +not interfere with data accesses. */ #if defined (__AVR_HAVE_RAMPD__) @@ -753,16 +758,16 @@ not interfere with data accesses. /** \ingroup avr_pgmspace \def pgm_read_byte_far(address_long) - Read a byte from the program space with a 32-bit (far) address. + Read a byte from the program space with a 32-bit (far) address. - \note The address is a byte address. + \note The address is a byte address. The address is in the program space. */ #define pgm_read_byte_far(address_long) __ELPM((uint32_t)(address_long)) /** \ingroup avr_pgmspace \def pgm_read_word_far(address_long) - Read a word from the program space with a 32-bit (far) address. + Read a word from the program space with a 32-bit (far) address. \note The address is a byte address. The address is in the program space. */ @@ -771,7 +776,7 @@ not interfere with data accesses. /** \ingroup avr_pgmspace \def pgm_read_dword_far(address_long) - Read a double word from the program space with a 32-bit (far) address. + Read a double word from the program space with a 32-bit (far) address. \note The address is a byte address. The address is in the program space. */ @@ -780,7 +785,7 @@ not interfere with data accesses. /** \ingroup avr_pgmspace \def pgm_read_float_far(address_long) - Read a float from the program space with a 32-bit (far) address. + Read a float from the program space with a 32-bit (far) address. \note The address is a byte address. The address is in the program space. */ @@ -791,36 +796,36 @@ not interfere with data accesses. /** \ingroup avr_pgmspace \def pgm_read_byte(address_short) - Read a byte from the program space with a 16-bit (near) address. + Read a byte from the program space with a 16-bit (near) address. - \note The address is a byte address. + \note The address is a byte address. The address is in the program space. */ #define pgm_read_byte(address_short) pgm_read_byte_near(address_short) /** \ingroup avr_pgmspace \def pgm_read_word(address_short) - Read a word from the program space with a 16-bit (near) address. + Read a word from the program space with a 16-bit (near) address. - \note The address is a byte address. + \note The address is a byte address. The address is in the program space. */ #define pgm_read_word(address_short) pgm_read_word_near(address_short) /** \ingroup avr_pgmspace \def pgm_read_dword(address_short) - Read a double word from the program space with a 16-bit (near) address. + Read a double word from the program space with a 16-bit (near) address. - \note The address is a byte address. + \note The address is a byte address. The address is in the program space. */ #define pgm_read_dword(address_short) pgm_read_dword_near(address_short) /** \ingroup avr_pgmspace \def pgm_read_float(address_short) - Read a float from the program space with a 16-bit (near) address. + Read a float from the program space with a 16-bit (near) address. - \note The address is a byte address. + \note The address is a byte address. The address is in the program space. */ #define pgm_read_float(address_short) pgm_read_float_near(address_short) @@ -878,4 +883,5 @@ extern char *strtok_rP(char *__s, PGM_P __delim, char **__last); } #endif +/** @} */ #endif /* __PGMSPACE_H_ */ -- cgit v1.2.3 From 38fcda7f49620f36496f9fa39c1e393329f95e5f Mon Sep 17 00:00:00 2001 From: Mathew Kallada Date: Sat, 29 Dec 2012 06:17:51 -0600 Subject: score: Doxygen Clean Up Task #8 --- cpukit/score/cpu/avr/avr/common.h | 99 +++++---- cpukit/score/cpu/avr/avr/io86r401.h | 83 ++++--- cpukit/score/cpu/avr/avr/iom1284p.h | 88 ++++---- cpukit/score/cpu/avr/avr/iom16.h | 92 ++++---- cpukit/score/cpu/avr/avr/iom168.h | 80 ++++--- cpukit/score/cpu/avr/avr/iom168p.h | 92 ++++---- cpukit/score/cpu/avr/avr/iom16u4.h | 86 ++++---- cpukit/score/cpu/avr/avr/iom32.h | 84 ++++--- cpukit/score/cpu/avr/avr/iom48.h | 78 ++++--- cpukit/score/cpu/avr/avr/iom644pa.h | 85 +++---- cpukit/score/cpu/avr/avr/iom649.h | 87 ++++---- cpukit/score/cpu/avr/avr/iom8515.h | 84 ++++--- cpukit/score/cpu/avr/avr/iomxx0_1.h | 92 ++++---- cpukit/score/cpu/avr/avr/iotn44.h | 79 ++++--- cpukit/score/cpu/avr/avr/iotn48.h | 89 ++++---- cpukit/score/cpu/avr/avr/iousb1286.h | 82 ++++--- cpukit/score/cpu/avr/avr/iousbxx6_7.h | 86 ++++---- cpukit/score/cpu/avr/avr/power.h | 403 ++++++---------------------------- cpukit/score/cpu/avr/avr/version.h | 109 ++++----- 19 files changed, 961 insertions(+), 1017 deletions(-) diff --git a/cpukit/score/cpu/avr/avr/common.h b/cpukit/score/cpu/avr/avr/common.h index 0901a6c741..c44de85feb 100644 --- a/cpukit/score/cpu/avr/avr/common.h +++ b/cpukit/score/cpu/avr/avr/common.h @@ -1,53 +1,65 @@ -/* Copyright (c) 2007 Eric B. Weddington - All rights reserved. +/** + * @file + * + * @brief Common Symbols and Define Undefined Registers + * + * This purpose of this header is to define registers that have not been + * previously defined in the individual device IO header files, and to define + * other symbols that are common across AVR device families. + * + * This file is designed to be included in after the individual + * device IO header files, and after + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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) 2007 Eric B. Weddington + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_COMMON_H #define _AVR_COMMON_H -#include - -/* -This purpose of this header is to define registers that have not been -previously defined in the individual device IO header files, and to define -other symbols that are common across AVR device families. - -This file is designed to be included in after the individual -device IO header files, and after +/** + * @defgroup Avr_common Common Data + * + * @ingroup avr + */ +/**@{*/ -*/ +#include /*------------ Registers Not Previously Defined ------------*/ -/* +/* These are registers that are not previously defined in the individual IO header files, OR they are defined here because they are used in parts of avr-libc even if a device is not selected but a general architecture has @@ -58,7 +70,7 @@ been selected. /* Stack pointer register. -AVR architecture 1 has no RAM, thus no stack pointer. +AVR architecture 1 has no RAM, thus no stack pointer. All other architectures do have a stack pointer. Some devices have only less than 256 bytes of possible RAM locations (128 Bytes of SRAM @@ -75,7 +87,7 @@ for them. # ifndef SP # define SP _SFR_MEM16(0x3D) # endif -#elif __AVR_ARCH__ != 1 +#elif __AVR_ARCH__ != 1 # ifndef SPL # define SPL _SFR_IO8(0x3D) # endif @@ -192,7 +204,7 @@ keep the EEPROM-related definitions here. /*------------ Common Symbols ------------*/ -/* +/* Generic definitions for registers that are common across multiple AVR devices and families. */ @@ -319,4 +331,5 @@ and families. # endif #endif -#endif /* _AVR_COMMON_H */ +/**@}*/ +#endif /* _AVR_COMMON_H */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/io86r401.h b/cpukit/score/cpu/avr/avr/io86r401.h index 5fa29c25b4..4baa8912a0 100644 --- a/cpukit/score/cpu/avr/avr/io86r401.h +++ b/cpukit/score/cpu/avr/avr/io86r401.h @@ -1,39 +1,52 @@ -/* Copyright (c) 2002, Colin O'Flynn - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - -/* avr/io86r401.h - definitions for AT86RF401 */ +/** + * @file avr/io86r401.h + * + * @brief Definitions for AT86RF401 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2002, Colin O'Flynn + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO86RF401_H_ #define _AVR_IO86RF401_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_io86r401 AT86RF401 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -83,7 +96,7 @@ #define BTCNT _SFR_IO8(0x20) -/* +/* NOTE: EEPROM name's changed to have D in front on them, per datasheet, but you may want to remove the leading D. */ @@ -304,5 +317,5 @@ you may want to remove the leading D. #define SIGNATURE_1 0x91 #define SIGNATURE_2 0x81 - -#endif /* _AVR_IO86RF401_H_ */ +/**@}*/ +#endif /* _AVR_IO86RF401_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom1284p.h b/cpukit/score/cpu/avr/avr/iom1284p.h index 0e5a6f5cd6..95a0b0f678 100644 --- a/cpukit/score/cpu/avr/avr/iom1284p.h +++ b/cpukit/score/cpu/avr/avr/iom1284p.h @@ -1,38 +1,42 @@ -/* Copyright (c) 2007 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. -*/ - - -/* avr/iom1284p.h - definitions for ATmega1284P. */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iom1284p.h + * + * @brief Definitions for ATmega1284P + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2007 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -42,12 +46,18 @@ # define _AVR_IOXXX_H_ "iom1284p.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_IOM1284P_H_ #define _AVR_IOM1284P_H_ 1 +/** + * @defgroup Avr_iom1284p ATmega1284P Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers */ @@ -1119,7 +1129,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -1127,5 +1137,5 @@ #define SIGNATURE_1 0x97 #define SIGNATURE_2 0x05 - -#endif /* _AVR_IOM1284P_H_ */ +/**@}*/ +#endif /* _AVR_IOM1284P_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom16.h b/cpukit/score/cpu/avr/avr/iom16.h index a9ac82b42f..732e746a9f 100644 --- a/cpukit/score/cpu/avr/avr/iom16.h +++ b/cpukit/score/cpu/avr/avr/iom16.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2004 Eric B. Weddington - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom16.h - definitions for ATmega16 */ +/** + * @file avr/iom16.h + * + * @brief Definitions for ATmega16 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2004 Eric B. Weddington + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM16_H_ #define _AVR_IOM16_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iom16 ATmega16 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "iom16.h" #else # error "Attempt to include more than one file." -#endif +#endif /* Registers and associated bit numbers */ @@ -368,9 +380,9 @@ #define COM1A0 6 #define COM1A1 7 -/* - The ADHSM bit has been removed from all documentation, - as being not needed at all since the comparator has proven +/* + The ADHSM bit has been removed from all documentation, + as being not needed at all since the comparator has proven to be fast enough even without feeding it more power. */ @@ -601,7 +613,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -609,5 +621,5 @@ #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x03 - -#endif /* _AVR_IOM16_H_ */ +/**@}*/ +#endif /* _AVR_IOM16_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom168.h b/cpukit/score/cpu/avr/avr/iom168.h index 9470d22a39..f228906c8e 100644 --- a/cpukit/score/cpu/avr/avr/iom168.h +++ b/cpukit/score/cpu/avr/avr/iom168.h @@ -1,37 +1,51 @@ -/* Copyright (c) 2004, Theodore A. Roth - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - +/** + * @file + * + * @brief Definitions for iom168 + */ + +/* + * Copyright (c) 2004, Theodore A. Roth + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM168_H_ #define _AVR_IOM168_H_ 1 +/** + * @defgroup Avr_iom168 iom168 Definitions + * + * @ingroup avr + */ +/**@{*/ + #include /* Constants */ @@ -78,7 +92,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -86,5 +100,5 @@ #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x06 - -#endif /* _AVR_IOM168_H_ */ +/**@}*/ +#endif /* _AVR_IOM168_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom168p.h b/cpukit/score/cpu/avr/avr/iom168p.h index 7c62bc3a29..4567cbba77 100644 --- a/cpukit/score/cpu/avr/avr/iom168p.h +++ b/cpukit/score/cpu/avr/avr/iom168p.h @@ -1,38 +1,43 @@ -/* Copyright (c) 2007 Atmel Corporation - All rights reserved. +/** + * @file avr/iom168p.h + * + * @brief Definitions for ATmega168P + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2007 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. -*/ - - -/* avr/iom168p.h - definitions for ATmega168P. */ - -/* This file should only be included from , never directly. */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -42,12 +47,19 @@ # define _AVR_IOXXX_H_ "iom168p.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_IOM168P_H_ #define _AVR_IOM168P_H_ 1 +/** + * @defgroup Avr_iom168p ATmega168P Definitions + * + * @ingroup avr + */ +/**@{*/ + /* Registers and associated bit numbers */ #define PINB _SFR_IO8(0x03) @@ -330,7 +342,7 @@ #define WDRF 3 #define MCUCR _SFR_IO8(0x35) -#define IVCE 0 +#define IVCE 0 #define IVSEL 1 #define PUD 4 #define BODSE 5 @@ -795,7 +807,7 @@ #define TIMER2_OVF_vect _VECTOR(9) /* Timer/Counter2 Overflow */ #define TIMER1_CAPT_vect _VECTOR(10) /* Timer/Counter1 Capture Event */ #define TIMER1_COMPA_vect _VECTOR(11) /* Timer/Counter1 Compare Match A */ -#define TIMER1_COMPB_vect _VECTOR(12) /* Timer/Counter1 Compare Match B */ +#define TIMER1_COMPB_vect _VECTOR(12) /* Timer/Counter1 Compare Match B */ #define TIMER1_OVF_vect _VECTOR(13) /* Timer/Counter1 Overflow */ #define TIMER0_COMPA_vect _VECTOR(14) /* TimerCounter0 Compare Match A */ #define TIMER0_COMPB_vect _VECTOR(15) /* TimerCounter0 Compare Match B */ @@ -861,7 +873,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -869,5 +881,5 @@ #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x0B - -#endif /* _AVR_IOM168P_H_ */ +/**@}*/ +#endif /* _AVR_IOM168P_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom16u4.h b/cpukit/score/cpu/avr/avr/iom16u4.h index d87bfd2a7a..6c145f02bb 100644 --- a/cpukit/score/cpu/avr/avr/iom16u4.h +++ b/cpukit/score/cpu/avr/avr/iom16u4.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom16u4.h - definitions for ATmega16U4 */ - -/* This file should only be included from , never directly. */ +/** + * @file aavr/iom16u4.h + * + * @brief Definitions for ATmega16U4 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iom16u4.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATmega16U4_H_ #define _AVR_ATmega16U4_H_ 1 +/** + * @defgroup Avr_iom16u4 ATmega16U4 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers. */ @@ -1351,6 +1362,5 @@ #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x88 - -#endif /* _AVR_ATmega16U4_H_ */ - +/**@}*/ +#endif /* _AVR_ATmega16U4_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom32.h b/cpukit/score/cpu/avr/avr/iom32.h index 7338261d75..11e332ec28 100644 --- a/cpukit/score/cpu/avr/avr/iom32.h +++ b/cpukit/score/cpu/avr/avr/iom32.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2002, Steinar Haugen - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - +/** + * @file avr/iom32.h + * + * @brief Definitions for ATmega32 + * + * This file should only be included from , never directly. + */ -/* avr/iom32.h - definitions for ATmega32 */ +/* + * Copyright (c) 2002, Steinar Haugen + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM32_H_ #define _AVR_IOM32_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iom32 ATmega32 Definitons + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "iom32.h" #else # error "Attempt to include more than one file." -#endif +#endif /* I/O registers */ @@ -683,7 +695,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -691,5 +703,5 @@ #define SIGNATURE_1 0x95 #define SIGNATURE_2 0x02 - -#endif /* _AVR_IOM32_H_ */ +/**@}*/ +#endif /* _AVR_IOM32_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom48.h b/cpukit/score/cpu/avr/avr/iom48.h index 57d345e23b..9a79a53c82 100644 --- a/cpukit/score/cpu/avr/avr/iom48.h +++ b/cpukit/score/cpu/avr/avr/iom48.h @@ -1,37 +1,51 @@ -/* Copyright (c) 2004, Theodore A. Roth - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - +/** + * @file + * + * @brief Definitions for iom48 + */ + +/* + * Copyright (c) 2004, Theodore A. Roth + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM48_H_ #define _AVR_IOM48_H_ 1 +/** + * @defgroup Avr_iom48 iom48 Definitions + * + * @ingroup avr + */ +/**@{*/ + #include /* Constants */ @@ -82,5 +96,5 @@ #define SIGNATURE_1 0x92 #define SIGNATURE_2 0x05 - -#endif /* _AVR_IOM48_H_ */ +/**@}*/ +#endif /* _AVR_IOM48_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom644pa.h b/cpukit/score/cpu/avr/avr/iom644pa.h index 0bcf3e6e50..39bdebab2a 100644 --- a/cpukit/score/cpu/avr/avr/iom644pa.h +++ b/cpukit/score/cpu/avr/avr/iom644pa.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom644PA.h - definitions for ATmega644PA */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iom644PA.h + * + * @brief Definitions for ATmega644PA + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iom644PA.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATmega644PA_H_ #define _AVR_ATmega644PA_H_ 1 +/** + * @defgroup Avr_iom644PA ATmega644PA Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers. */ @@ -1365,5 +1376,5 @@ #define PCINT12_PIN PINB #define PCINT12_BIT 4 -#endif /* _AVR_ATmega644PA_H_ */ - +/**@}*/ +#endif /* _AVR_ATmega644PA_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom649.h b/cpukit/score/cpu/avr/avr/iom649.h index c9d5058a24..c2cad87d79 100644 --- a/cpukit/score/cpu/avr/avr/iom649.h +++ b/cpukit/score/cpu/avr/avr/iom649.h @@ -1,40 +1,53 @@ -/* Copyright (c) 2004 Eric B. Weddington - Copyright (c) 2005,2006 Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - -/* avr/iom649.h - definitions for ATmega649 */ +/** + * @file avr/iom649.h + * + * @brief Definitions for ATmega649 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2004 Eric B. Weddington + * Copyright (c) 2005,2006 Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM649_H_ #define _AVR_IOM649_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iom649 ATmega649 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +57,7 @@ # define _AVR_IOXXX_H_ "iom649.h" #else # error "Attempt to include more than one file." -#endif +#endif /* Registers and associated bit numbers */ @@ -980,7 +993,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -988,5 +1001,5 @@ #define SIGNATURE_1 0x96 #define SIGNATURE_2 0x03 - -#endif /* _AVR_IOM649_H_ */ +/**@}*/ +#endif /* _AVR_IOM649_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom8515.h b/cpukit/score/cpu/avr/avr/iom8515.h index 0516670064..f653afce92 100644 --- a/cpukit/score/cpu/avr/avr/iom8515.h +++ b/cpukit/score/cpu/avr/avr/iom8515.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2002, Steinar Haugen - All rights reserved. +/** + * @file avr/iom8515.h + * + * @brief Definitions for ATmega8515 + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom8515.h - definitions for ATmega8515 */ +/* + * Copyright (c) 2002, Steinar Haugen + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM8515_H_ #define _AVR_IOM8515_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iom8515 ATmega8515 Definitons + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "iom8515.h" #else # error "Attempt to include more than one file." -#endif +#endif /* I/O registers */ @@ -623,7 +635,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -631,5 +643,5 @@ #define SIGNATURE_1 0x93 #define SIGNATURE_2 0x06 - -#endif /* _AVR_IOM8515_H_ */ +/**@}*/ +#endif /* _AVR_IOM8515_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iomxx0_1.h b/cpukit/score/cpu/avr/avr/iomxx0_1.h index 3abc5cb0ea..a2c8690195 100644 --- a/cpukit/score/cpu/avr/avr/iomxx0_1.h +++ b/cpukit/score/cpu/avr/avr/iomxx0_1.h @@ -1,41 +1,52 @@ -/* Copyright (c) 2005 Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iomxx0_1.h - definitions for ATmega640, Atmega1280, ATmega1281, - ATmega2560 and ATmega2561. */ +/** + * @file avr/iomxx0_1.h + * + * @brief Definitions for ATmega640/1280/1281/2560/2561 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2005, Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOMXX0_1_H_ #define _AVR_IOMXX0_1_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iomxx0_1 ATmega640/1280/1281/2560/2561 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -45,7 +56,7 @@ # define _AVR_IOXXX_H_ "iomxx0_1.h" #else # error "Attempt to include more than one file." -#endif +#endif #if defined(__AVR_ATmega640__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) # define __ATmegaxx0__ @@ -298,7 +309,7 @@ #define TOV5 0 #define PCIFR _SFR_IO8(0x1B) -#if defined(__ATmegaxx0__) +#if defined(__ATmegaxx0__) # define PCIF2 2 #endif /* __ATmegaxx0__ */ #define PCIF1 1 @@ -321,7 +332,7 @@ #define INT4 4 #define INT3 3 #define INT2 2 -#define INT1 1 +#define INT1 1 #define INT0 0 #define GPIOR0 _SFR_IO8(0x1E) @@ -555,7 +566,7 @@ #define PCINT9 1 #define PCINT8 0 -#if defined(__ATmegaxx0__) +#if defined(__ATmegaxx0__) # define PCMSK2 _SFR_MEM8(0x6D) # define PCINT23 7 # define PCINT22 6 @@ -1250,7 +1261,7 @@ /* Reserved [0x12E..0x12F] */ -#if defined(__ATmegaxx0__) +#if defined(__ATmegaxx0__) # define UCSR3A _SFR_MEM8(0x130) # define RXC3 7 @@ -1549,4 +1560,5 @@ # undef __ATmegaxx1__ #endif -#endif /* _AVR_IOMXX0_1_H_ */ +/**@}*/ +#endif /* _AVR_IOMXX0_1_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn44.h b/cpukit/score/cpu/avr/avr/iotn44.h index 7a49d39e13..6bd14a4d1f 100644 --- a/cpukit/score/cpu/avr/avr/iotn44.h +++ b/cpukit/score/cpu/avr/avr/iotn44.h @@ -1,39 +1,52 @@ -/* Copyright (c) 2005, Anatoly Sokolov - All rights reserved. +/** + * @file avr/iotn44.h + * + * @brief Definitions for ATtiny44 + */ + +/* + * Copyright (c) 2005, Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iotn44.h - definitions for ATtiny44 */ #ifndef _AVR_IOTN44_H_ #define _AVR_IOTN44_H_ 1 +/** + * @defgroup Avr_iotn44 ATtiny44 Definitions + * + * @ingroup avr + */ +/**@{*/ + #include /* Constants */ @@ -84,5 +97,5 @@ #define SIGNATURE_1 0x92 #define SIGNATURE_2 0x07 - -#endif /* _AVR_IOTN44_H_ */ +/**@}*/ +#endif /* _AVR_IOTN44_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn48.h b/cpukit/score/cpu/avr/avr/iotn48.h index b9204a562c..54fa7468fa 100644 --- a/cpukit/score/cpu/avr/avr/iotn48.h +++ b/cpukit/score/cpu/avr/avr/iotn48.h @@ -1,38 +1,42 @@ -/* Copyright (c) 2007 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. -*/ - - -/* avr/iotn48.h - definitions for ATtiny48 */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iotn48.h + * + * @brief Definitions for ATtiny48 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2007 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -42,12 +46,19 @@ # define _AVR_IOXXX_H_ "iotn48.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_IOTN48_H_ #define _AVR_IOTN48_H_ 1 +/** + * @defgroup Avr_iotn48 ATtiny48 Definitons + * + * @ingroup avr + */ +/**@{*/ + /* Registers and associated bit numbers */ #define PINB _SFR_IO8(0x03) @@ -736,7 +747,7 @@ #define FUSE_SPIEN (unsigned char)~_BV(5) /* Enable Serial programming and Data Downloading */ #define FUSE_DWEN (unsigned char)~_BV(6) /* debugWIRE Enable */ #define FUSE_RSTDISBL (unsigned char)~_BV(7) /* External reset disable */ -#define HFUSE_DEFAULT (FUSE_SPIEN) +#define HFUSE_DEFAULT (FUSE_SPIEN) /* Extended Fuse Byte */ #define FUSE_SELFPRGEN (unsigned char)~_BV(0) /* Self Programming Enable */ @@ -752,5 +763,5 @@ #define SIGNATURE_1 0x92 #define SIGNATURE_2 0x09 - -#endif /* _AVR_IOTN48_H_ */ +/**@}*/ +#endif /* _AVR_IOTN48_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iousb1286.h b/cpukit/score/cpu/avr/avr/iousb1286.h index b245b95b05..ed480a1dac 100644 --- a/cpukit/score/cpu/avr/avr/iousb1286.h +++ b/cpukit/score/cpu/avr/avr/iousb1286.h @@ -1,39 +1,51 @@ -/* Copyright (c) 2006 Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iousb1286.h - definitions for AT90USB1286 */ +/** + * @file avr/iousb1286.h + * + * @brief Definitions for AT90USB1286 + */ + +/* + * Copyright (c) 2006 Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_AT90USB1286_H_ #define _AVR_AT90USB1286_H_ 1 +/** + * @defgroup Avr_iousb1286 AT90USB1286 Definitons + * + * @ingroup avr + */ +/**@{*/ + #include /* Constants */ @@ -81,7 +93,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -89,5 +101,5 @@ #define SIGNATURE_1 0x97 #define SIGNATURE_2 0x82 - -#endif /* _AVR_AT90USB1286_H_ */ +/**@}*/ +#endif /* _AVR_AT90USB1286_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iousbxx6_7.h b/cpukit/score/cpu/avr/avr/iousbxx6_7.h index ee4fe1e6a2..8f6f279c65 100644 --- a/cpukit/score/cpu/avr/avr/iousbxx6_7.h +++ b/cpukit/score/cpu/avr/avr/iousbxx6_7.h @@ -1,41 +1,52 @@ -/* Copyright (c) 2006, Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* iousbxx6_7.h - definitions for AT90USB646, AT90USB647, AT90USB1286 - and AT90USB1287 */ +/** + * @file iousbxx6_7.h + * + * @brief Definitions for AT90USB646, AT90USB647, AT90USB1286, AT90USB1287 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2006, Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOUSBXX6_7_H_ #define _AVR_IOUSBXX6_7_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iomxx0_1 AT90USB-646/647/1286/1287 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -45,7 +56,7 @@ # define _AVR_IOXXX_H_ "iousbxx6_7.h" #else # error "Attempt to include more than one file." -#endif +#endif #if defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__) # define __AT90USBxx6__ 1 @@ -283,7 +294,7 @@ #define INT4 4 #define INT3 3 #define INT2 2 -#define INT1 1 +#define INT1 1 #define INT0 0 #define GPIOR0 _SFR_IO8(0x1E) @@ -1281,4 +1292,5 @@ # undef __AT90USBxx7__ #endif /* __AT90USBxx7__ */ -#endif /* _AVR_IOUSBXX6_7_H_ */ +/**@}*/ +#endif /* _AVR_IOUSBXX6_7_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/power.h b/cpukit/score/cpu/avr/avr/power.h index cf44b10866..180f9a2e4a 100644 --- a/cpukit/score/cpu/avr/avr/power.h +++ b/cpukit/score/cpu/avr/avr/power.h @@ -1,30 +1,56 @@ -/* Copyright (c) 2006, 2007, 2008 Eric B. Weddington - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * 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. - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ +/** + * @file avr/iom644PA.h + * + * @brief Power Reduction Management + * + * Many AVRs contain a Power Reduction Register (PRR) or Registers (PRRx) that + * allow you to reduce power consumption by disabling or enabling various on-board + * peripherals as needed. + * + * There are many macros in this header file that provide an easy interface + * to enable or disable on-board peripherals to reduce power. See the table below. + * + * @note Not all AVR devices have a Power Reduction Register (for example + * the ATmega128). On those devices without a Power Reduction Register, these + * macros are not available. + * + * @note Not all AVR devices contain the same peripherals (for example, the LCD + * interface), or they will be named differently (for example, USART and + * USART0). Please consult your device's datasheet, or the header file, to + * find out which macros are applicable to your device. + */ + +/* + * Copyright (c) 2006, 2007, 2008 Eric B. Weddington + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_POWER_H_ @@ -33,311 +59,14 @@ #include #include - -/** \file */ -/** \defgroup avr_power : Power Reduction Management - -\code #include \endcode - -Many AVRs contain a Power Reduction Register (PRR) or Registers (PRRx) that -allow you to reduce power consumption by disabling or enabling various on-board -peripherals as needed. - -There are many macros in this header file that provide an easy interface -to enable or disable on-board peripherals to reduce power. See the table below. - -\note Not all AVR devices have a Power Reduction Register (for example -the ATmega128). On those devices without a Power Reduction Register, these -macros are not available. - -\note Not all AVR devices contain the same peripherals (for example, the LCD -interface), or they will be named differently (for example, USART and -USART0). Please consult your device's datasheet, or the header file, to -find out which macros are applicable to your device. - -*/ - - -/** \addtogroup avr_power - -\anchor avr_powermacros - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Power MacroDescriptionApplicable for device
power_adc_enable()Enable the Analog to Digital Converter module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861
power_adc_disable()Disable the Analog to Digital Converter module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861
power_lcd_enable()Enable the LCD module.ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490
power_lcd_disable().Disable the LCD module.ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490
power_psc0_enable()Enable the Power Stage Controller 0 module.AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
power_psc0_disable()Disable the Power Stage Controller 0 module.AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
power_psc1_enable()Enable the Power Stage Controller 1 module.AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
power_psc1_disable()Disable the Power Stage Controller 1 module.AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
power_psc2_enable()Enable the Power Stage Controller 2 module.AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
power_psc2_disable()Disable the Power Stage Controller 2 module.AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
power_spi_enable()Enable the Serial Peripheral Interface module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168
power_spi_disable()Disable the Serial Peripheral Interface module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168
power_timer0_enable()Enable the Timer 0 module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM216, AT90PWM316, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861
power_timer0_disable()Disable the Timer 0 module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861
power_timer1_enable()Enable the Timer 1 module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861
power_timer1_disable()Disable the Timer 1 module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861
power_timer2_enable()Enable the Timer 2 module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168
power_timer2_disable()Disable the Timer 2 module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168
power_timer3_enable()Enable the Timer 3 module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287
power_timer3_disable()Disable the Timer 3 module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287
power_timer4_enable()Enable the Timer 4 module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561
power_timer4_disable()Disable the Timer 4 module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561
power_timer5_enable()Enable the Timer 5 module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561
power_timer5_disable()Disable the Timer 5 module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561
power_twi_enable()Enable the Two Wire Interface module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168
power_twi_disable()Disable the Two Wire Interface module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168
power_usart_enable()Enable the USART module.AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
power_usart_disable()Disable the USART module.AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
power_usart0_enable()Enable the USART 0 module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168
power_usart0_disable()Disable the USART 0 module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega48, ATmega88, ATmega168
power_usart1_enable()Enable the USART 1 module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P
power_usart1_disable()Disable the USART 1 module.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega164P, ATmega324P
power_usart2_enable()Enable the USART 2 module.ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561
power_usart2_disable()Disable the USART 2 module.ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561
power_usart3_enable()Enable the USART 3 module.ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561
power_usart3_disable()Disable the USART 3 module.ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561
power_usb_enable()Enable the USB module.AT90USB646, AT90USB647, AT90USB1286, AT90USB1287
power_usb_disable()Disable the USB module.AT90USB646, AT90USB647, AT90USB1286, AT90USB1287
power_usi_enable()Enable the Universal Serial Interface module.ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861
power_usi_disable()Disable the Universal Serial Interface module.ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861
power_vadc_enable()Enable the Voltage ADC module.ATmega406
power_vadc_disable()Disable the Voltage ADC module.ATmega406
power_all_enable()Enable all modules.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861
power_all_disable()Disable all modules.ATmega640, ATmega1280, ATmega1281, ATmega128RFA1, ATmega2560, ATmega2561, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, ATmega165, ATmega165P, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega169, ATmega169P, ATmega329, ATmega3290, ATmega649, ATmega6490, ATmega164P, ATmega324P, ATmega644, ATmega406, ATmega48, ATmega88, ATmega168, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861
-
-
- -@} */ +/** + * @defgroup avr_power Power Reduction Management + * + * @ingroup avr + * + * @addtogroup avr_power + */ +/**@{*/ #if defined(__AVR_ATxmega16A4__) \ @@ -481,7 +210,7 @@ do { \ || defined(__AVR_ATmega1280__) \ || defined(__AVR_ATmega1281__) \ || defined(__AVR_ATmega2560__) \ -|| defined(__AVR_ATmega2561__) +|| defined(__AVR_ATmega2561__) #define power_adc_enable() (PRR0 &= (uint8_t)~(1 << PRADC)) #define power_adc_disable() (PRR0 |= (uint8_t)(1 << PRADC)) @@ -1341,7 +1070,7 @@ without a Clock Prescale Register, these macros are not available. /** \addtogroup avr_power -\code +\code typedef enum { clock_div_1 = 0, @@ -1468,7 +1197,5 @@ void clock_prescale_set(clock_div_t __x) #endif - - - -#endif /* _AVR_POWER_H_ */ +/**@}*/ +#endif /* _AVR_POWER_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/version.h b/cpukit/score/cpu/avr/avr/version.h index 7e0c3a3649..b5abcb9a7a 100644 --- a/cpukit/score/cpu/avr/avr/version.h +++ b/cpukit/score/cpu/avr/avr/version.h @@ -1,53 +1,63 @@ -/* Copyright (c) 2005, Joerg Wunsch -*- c -*- - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/** \defgroup avr_version : avr-libc version macros - \code #include \endcode - - This header file defines macros that contain version numbers and - strings describing the current version of avr-libc. +/** + * @file avr/iom644PA.h + * + * @brief Current Version of avr-libc + * + * This header file defines macros that contain version numbers and + * strings describing the current version of avr-libc. + * + * The version number itself basically consists of three pieces that + * are separated by a dot: the major number, the minor number, and + * the revision number. For development versions (which use an odd + * minor number), the string representation additionally gets the + * date code (YYYYMMDD) appended. + * + * This file will also be included by \c . That way, + * portable tests can be implemented using \c that can be + * used in code that wants to remain backwards-compatible to library + * versions prior to the date when the library version API had been + * added, as referenced but undefined C preprocessor macros + * automatically evaluate to 0. + */ - The version number itself basically consists of three pieces that - are separated by a dot: the major number, the minor number, and - the revision number. For development versions (which use an odd - minor number), the string representation additionally gets the - date code (YYYYMMDD) appended. +/* + * Copyright (c) 2005, Joerg Wunsch + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ - This file will also be included by \c . That way, - portable tests can be implemented using \c that can be - used in code that wants to remain backwards-compatible to library - versions prior to the date when the library version API had been - added, as referenced but undefined C preprocessor macros - automatically evaluate to 0. -*/ +/** + * @defgroup avr_version avr-libc Version Macros + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_VERSION_H_ #define _AVR_VERSION_H_ @@ -86,4 +96,5 @@ Library revision number. */ #define __AVR_LIBC_REVISION__ 8 -#endif /* _AVR_VERSION_H_ */ +/**@}*/ +#endif /* _AVR_VERSION_H_ */ \ No newline at end of file -- cgit v1.2.3 From 9abeca85e54e3213fd8a62e570586a30468440a7 Mon Sep 17 00:00:00 2001 From: Jennifer Averett Date: Sat, 29 Dec 2012 06:22:26 -0600 Subject: cpukit avr: Replace dos eol with unix eol. --- cpukit/score/cpu/avr/avr/iom1284p.h | 2280 +++++++++++++++++------------------ 1 file changed, 1140 insertions(+), 1140 deletions(-) diff --git a/cpukit/score/cpu/avr/avr/iom1284p.h b/cpukit/score/cpu/avr/avr/iom1284p.h index 95a0b0f678..8f08249cc0 100644 --- a/cpukit/score/cpu/avr/avr/iom1284p.h +++ b/cpukit/score/cpu/avr/avr/iom1284p.h @@ -1,1141 +1,1141 @@ -/** - * @file avr/iom1284p.h - * - * @brief Definitions for ATmega1284P - * - * This file should only be included from , never directly. - */ - -/* - * Copyright (c) 2007 Atmel Corporation - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * 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. - * - * * Neither the name of the copyright holders nor the names of - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * 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. - */ - -#ifndef _AVR_IO_H_ -# error "Include instead of this file." -#endif - -#ifndef _AVR_IOXXX_H_ -# define _AVR_IOXXX_H_ "iom1284p.h" -#else -# error "Attempt to include more than one file." -#endif - - -#ifndef _AVR_IOM1284P_H_ -#define _AVR_IOM1284P_H_ 1 - -/** - * @defgroup Avr_iom1284p ATmega1284P Definitions - * - * @ingroup avr - */ -/**@{*/ - -/* Registers and associated bit numbers */ - -#define PINA _SFR_IO8(0x00) -#define PINA0 0 -#define PINA1 1 -#define PINA2 2 -#define PINA3 3 -#define PINA4 4 -#define PINA5 5 -#define PINA6 6 -#define PINA7 7 - -#define DDRA _SFR_IO8(0x01) -#define DDA0 0 -#define DDA1 1 -#define DDA2 2 -#define DDA3 3 -#define DDA4 4 -#define DDA5 5 -#define DDA6 6 -#define DDA7 7 - -#define PORTA _SFR_IO8(0x02) -#define PORTA0 0 -#define PORTA1 1 -#define PORTA2 2 -#define PORTA3 3 -#define PORTA4 4 -#define PORTA5 5 -#define PORTA6 6 -#define PORTA7 7 - -#define PINB _SFR_IO8(0x03) -#define PINB0 0 -#define PINB1 1 -#define PINB2 2 -#define PINB3 3 -#define PINB4 4 -#define PINB5 5 -#define PINB6 6 -#define PINB7 7 - -#define DDRB _SFR_IO8(0x04) -#define DDB0 0 -#define DDB1 1 -#define DDB2 2 -#define DDB3 3 -#define DDB4 4 -#define DDB5 5 -#define DDB6 6 -#define DDB7 7 - -#define PORTB _SFR_IO8(0x05) -#define PORTB0 0 -#define PORTB1 1 -#define PORTB2 2 -#define PORTB3 3 -#define PORTB4 4 -#define PORTB5 5 -#define PORTB6 6 -#define PORTB7 7 - -#define PINC _SFR_IO8(0x06) -#define PINC0 0 -#define PINC1 1 -#define PINC2 2 -#define PINC3 3 -#define PINC4 4 -#define PINC5 5 -#define PINC6 6 -#define PINC7 7 - -#define DDRC _SFR_IO8(0x07) -#define DDC0 0 -#define DDC1 1 -#define DDC2 2 -#define DDC3 3 -#define DDC4 4 -#define DDC5 5 -#define DDC6 6 -#define DDC7 7 - -#define PORTC _SFR_IO8(0x08) -#define PORTC0 0 -#define PORTC1 1 -#define PORTC2 2 -#define PORTC3 3 -#define PORTC4 4 -#define PORTC5 5 -#define PORTC6 6 -#define PORTC7 7 - -#define PIND _SFR_IO8(0x09) -#define PIND0 0 -#define PIND1 1 -#define PIND2 2 -#define PIND3 3 -#define PIND4 4 -#define PIND5 5 -#define PIND6 6 -#define PIND7 7 - -#define DDRD _SFR_IO8(0x0A) -#define DDD0 0 -#define DDD1 1 -#define DDD2 2 -#define DDD3 3 -#define DDD4 4 -#define DDD5 5 -#define DDD6 6 -#define DDD7 7 - -#define PORTD _SFR_IO8(0x0B) -#define PORTD0 0 -#define PORTD1 1 -#define PORTD2 2 -#define PORTD3 3 -#define PORTD4 4 -#define PORTD5 5 -#define PORTD6 6 -#define PORTD7 7 - -#define TIFR0 _SFR_IO8(0x15) -#define TOV0 0 -#define OCF0A 1 -#define OCF0B 2 - -#define TIFR1 _SFR_IO8(0x16) -#define TOV1 0 -#define OCF1A 1 -#define OCF1B 2 -#define ICF1 5 - -#define TIFR2 _SFR_IO8(0x17) -#define TOV2 0 -#define OCF2A 1 -#define OCF2B 2 - -#define TIFR3 _SFR_IO8(0x18) -#define TOV3 0 -#define OCF3A 1 -#define OCF3B 2 -#define ICF3 5 - -#define PCIFR _SFR_IO8(0x1B) -#define PCIF0 0 -#define PCIF1 1 -#define PCIF2 2 -#define PCIF3 3 - -#define EIFR _SFR_IO8(0x1C) -#define INTF0 0 -#define INTF1 1 -#define INTF2 2 - -#define EIMSK _SFR_IO8(0x1D) -#define INT0 0 -#define INT1 1 -#define INT2 2 - -#define GPIOR0 _SFR_IO8(0x1E) -#define GPIOR00 0 -#define GPIOR01 1 -#define GPIOR02 2 -#define GPIOR03 3 -#define GPIOR04 4 -#define GPIOR05 5 -#define GPIOR06 6 -#define GPIOR07 7 - -#define EECR _SFR_IO8(0x1F) -#define EERE 0 -#define EEPE 1 -#define EEMPE 2 -#define EERIE 3 -#define EEPM0 4 -#define EEPM1 5 - -#define EEDR _SFR_IO8(0x20) -#define EEDR0 0 -#define EEDR1 1 -#define EEDR2 2 -#define EEDR3 3 -#define EEDR4 4 -#define EEDR5 5 -#define EEDR6 6 -#define EEDR7 7 - -#define EEAR _SFR_IO16(0x21) - -#define EEARL _SFR_IO8(0x21) -#define EEAR0 0 -#define EEAR1 1 -#define EEAR2 2 -#define EEAR3 3 -#define EEAR4 4 -#define EEAR5 5 -#define EEAR6 6 -#define EEAR7 7 - -#define EEARH _SFR_IO8(0x22) -#define EEAR8 0 -#define EEAR9 1 -#define EEAR10 2 -#define EEAR11 3 - -#define GTCCR _SFR_IO8(0x23) -#define PSRSYNC 0 -#define PSRASY 1 -#define TSM 7 - -#define TCCR0A _SFR_IO8(0x24) -#define WGM00 0 -#define WGM01 1 -#define COM0B0 4 -#define COM0B1 5 -#define COM0A0 6 -#define COM0A1 7 - -#define TCCR0B _SFR_IO8(0x25) -#define CS00 0 -#define CS01 1 -#define CS02 2 -#define WGM02 3 -#define FOC0B 6 -#define FOC0A 7 - -#define TCNT0 _SFR_IO8(0x26) -#define TCNT0_0 0 -#define TCNT0_1 1 -#define TCNT0_2 2 -#define TCNT0_3 3 -#define TCNT0_4 4 -#define TCNT0_5 5 -#define TCNT0_6 6 -#define TCNT0_7 7 - -#define OCR0A _SFR_IO8(0x27) -#define OCR0A_0 0 -#define OCR0A_1 1 -#define OCR0A_2 2 -#define OCR0A_3 3 -#define OCR0A_4 4 -#define OCR0A_5 5 -#define OCR0A_6 6 -#define OCR0A_7 7 - -#define OCR0B _SFR_IO8(0x28) -#define OCR0B_0 0 -#define OCR0B_1 1 -#define OCR0B_2 2 -#define OCR0B_3 3 -#define OCR0B_4 4 -#define OCR0B_5 5 -#define OCR0B_6 6 -#define OCR0B_7 7 - -#define GPIOR1 _SFR_IO8(0x2A) -#define GPIOR10 0 -#define GPIOR11 1 -#define GPIOR12 2 -#define GPIOR13 3 -#define GPIOR14 4 -#define GPIOR15 5 -#define GPIOR16 6 -#define GPIOR17 7 - -#define GPIOR2 _SFR_IO8(0x2B) -#define GPIOR20 0 -#define GPIOR21 1 -#define GPIOR22 2 -#define GPIOR23 3 -#define GPIOR24 4 -#define GPIOR25 5 -#define GPIOR26 6 -#define GPIOR27 7 - -#define SPCR _SFR_IO8(0x2C) -#define SPR0 0 -#define SPR1 1 -#define CPHA 2 -#define CPOL 3 -#define MSTR 4 -#define DORD 5 -#define SPE 6 -#define SPIE 7 - -#define SPSR _SFR_IO8(0x2D) -#define SPI2X 0 -#define WCOL 6 -#define SPIF 7 - -#define SPDR _SFR_IO8(0x2E) -#define SPDR0 0 -#define SPDR1 1 -#define SPDR2 2 -#define SPDR3 3 -#define SPDR4 4 -#define SPDR5 5 -#define SPDR6 6 -#define SPDR7 7 - -#define ACSR _SFR_IO8(0x30) -#define ACIS0 0 -#define ACIS1 1 -#define ACIC 2 -#define ACIE 3 -#define ACI 4 -#define ACO 5 -#define ACBG 6 -#define ACD 7 - -#define OCDR _SFR_IO8(0x31) -#define OCDR0 0 -#define OCDR1 1 -#define OCDR2 2 -#define OCDR3 3 -#define OCDR4 4 -#define OCDR5 5 -#define OCDR6 6 -#define OCDR7 7 - -#define SMCR _SFR_IO8(0x33) -#define SE 0 -#define SM0 1 -#define SM1 2 -#define SM2 3 - -#define MCUSR _SFR_IO8(0x34) -#define PORF 0 -#define EXTRF 1 -#define BORF 2 -#define WDRF 3 -#define JTRF 4 - -#define MCUCR _SFR_IO8(0x35) -#define IVCE 0 -#define IVSEL 1 -#define PUD 4 -#define BODSE 5 -#define BODS 6 -#define JTD 7 - -#define SPMCSR _SFR_IO8(0x37) -#define SPMEN 0 -#define PGERS 1 -#define PGWRT 2 -#define BLBSET 3 -#define RWWSRE 4 -#define SIGRD 5 -#define RWWSB 6 -#define SPMIE 7 - -#define RAMPZ _SFR_IO8(0x3B) -#define RAMPZ0 0 - -#define WDTCSR _SFR_MEM8(0x60) -#define WDP0 0 -#define WDP1 1 -#define WDP2 2 -#define WDE 3 -#define WDCE 4 -#define WDP3 5 -#define WDIE 6 -#define WDIF 7 - -#define CLKPR _SFR_MEM8(0x61) -#define CLKPS0 0 -#define CLKPS1 1 -#define CLKPS2 2 -#define CLKPS3 3 -#define CLKPCE 7 - -#define PRR0 _SFR_MEM8(0x64) -#define PRADC 0 -#define PRUSART0 1 -#define PRSPI 2 -#define PRTIM1 3 -#define PRUSART1 4 -#define PRTIM0 5 -#define PRTIM2 6 -#define PRTWI 7 - -#define PRR1 _SFR_MEM8(0x65) -#define PRTIM3 0 - -#define OSCCAL _SFR_MEM8(0x66) -#define CAL0 0 -#define CAL1 1 -#define CAL2 2 -#define CAL3 3 -#define CAL4 4 -#define CAL5 5 -#define CAL6 6 -#define CAL7 7 - -#define PCICR _SFR_MEM8(0x68) -#define PCIE0 0 -#define PCIE1 1 -#define PCIE2 2 -#define PCIE3 3 - -#define EICRA _SFR_MEM8(0x69) -#define ISC00 0 -#define ISC01 1 -#define ISC10 2 -#define ISC11 3 -#define ISC20 4 -#define ISC21 5 - -#define PCMSK0 _SFR_MEM8(0x6B) -#define PCINT0 0 -#define PCINT1 1 -#define PCINT2 2 -#define PCINT3 3 -#define PCINT4 4 -#define PCINT5 5 -#define PCINT6 6 -#define PCINT7 7 - -#define PCMSK1 _SFR_MEM8(0x6C) -#define PCINT8 0 -#define PCINT9 1 -#define PCINT10 2 -#define PCINT11 3 -#define PCINT12 4 -#define PCINT13 5 -#define PCINT14 6 -#define PCINT15 7 - -#define PCMSK2 _SFR_MEM8(0x6D) -#define PCINT16 0 -#define PCINT17 1 -#define PCINT18 2 -#define PCINT19 3 -#define PCINT20 4 -#define PCINT21 5 -#define PCINT22 6 -#define PCINT23 7 - -#define TIMSK0 _SFR_MEM8(0x6E) -#define TOIE0 0 -#define OCIE0A 1 -#define OCIE0B 2 - -#define TIMSK1 _SFR_MEM8(0x6F) -#define TOIE1 0 -#define OCIE1A 1 -#define OCIE1B 2 -#define ICIE1 5 - -#define TIMSK2 _SFR_MEM8(0x70) -#define TOIE2 0 -#define OCIE2A 1 -#define OCIE2B 2 - -#define TIMSK3 _SFR_MEM8(0x71) -#define TOIE3 0 -#define OCIE3A 1 -#define OCIE3B 2 -#define ICIE3 5 - -#define PCMSK3 _SFR_MEM8(0x73) -#define PCINT24 0 -#define PCINT25 1 -#define PCINT26 2 -#define PCINT27 3 -#define PCINT28 4 -#define PCINT29 5 -#define PCINT30 6 -#define PCINT31 7 - -#ifndef __ASSEMBLER__ -#define ADC _SFR_MEM16(0x78) -#endif -#define ADCW _SFR_MEM16(0x78) - -#define ADCL _SFR_MEM8(0x78) -#define ADCL0 0 -#define ADCL1 1 -#define ADCL2 2 -#define ADCL3 3 -#define ADCL4 4 -#define ADCL5 5 -#define ADCL6 6 -#define ADCL7 7 - -#define ADCH _SFR_MEM8(0x79) -#define ADCH0 0 -#define ADCH1 1 -#define ADCH2 2 -#define ADCH3 3 -#define ADCH4 4 -#define ADCH5 5 -#define ADCH6 6 -#define ADCH7 7 - -#define ADCSRA _SFR_MEM8(0x7A) -#define ADPS0 0 -#define ADPS1 1 -#define ADPS2 2 -#define ADIE 3 -#define ADIF 4 -#define ADATE 5 -#define ADSC 6 -#define ADEN 7 - -#define ADCSRB _SFR_MEM8(0x7B) -#define ADTS0 0 -#define ADTS1 1 -#define ADTS2 2 -#define ACME 6 - -#define ADMUX _SFR_MEM8(0x7C) -#define MUX0 0 -#define MUX1 1 -#define MUX2 2 -#define MUX3 3 -#define MUX4 4 -#define ADLAR 5 -#define REFS0 6 -#define REFS1 7 - -#define DIDR0 _SFR_MEM8(0x7E) -#define ADC0D 0 -#define ADC1D 1 -#define ADC2D 2 -#define ADC3D 3 -#define ADC4D 4 -#define ADC5D 5 -#define ADC6D 6 -#define ADC7D 7 - -#define DIDR1 _SFR_MEM8(0x7F) -#define AIN0D 0 -#define AIN1D 1 - -#define TCCR1A _SFR_MEM8(0x80) -#define WGM10 0 -#define WGM11 1 -#define COM1B0 4 -#define COM1B1 5 -#define COM1A0 6 -#define COM1A1 7 - -#define TCCR1B _SFR_MEM8(0x81) -#define CS10 0 -#define CS11 1 -#define CS12 2 -#define WGM12 3 -#define WGM13 4 -#define ICES1 6 -#define ICNC1 7 - -#define TCCR1C _SFR_MEM8(0x82) -#define FOC1B 6 -#define FOC1A 7 - -#define TCNT1 _SFR_MEM16(0x84) - -#define TCNT1L _SFR_MEM8(0x84) -#define TCNT1L0 0 -#define TCNT1L1 1 -#define TCNT1L2 2 -#define TCNT1L3 3 -#define TCNT1L4 4 -#define TCNT1L5 5 -#define TCNT1L6 6 -#define TCNT1L7 7 - -#define TCNT1H _SFR_MEM8(0x85) -#define TCNT1H0 0 -#define TCNT1H1 1 -#define TCNT1H2 2 -#define TCNT1H3 3 -#define TCNT1H4 4 -#define TCNT1H5 5 -#define TCNT1H6 6 -#define TCNT1H7 7 - -#define ICR1 _SFR_MEM16(0x86) - -#define ICR1L _SFR_MEM8(0x86) -#define ICR1L0 0 -#define ICR1L1 1 -#define ICR1L2 2 -#define ICR1L3 3 -#define ICR1L4 4 -#define ICR1L5 5 -#define ICR1L6 6 -#define ICR1L7 7 - -#define ICR1H _SFR_MEM8(0x87) -#define ICR1H0 0 -#define ICR1H1 1 -#define ICR1H2 2 -#define ICR1H3 3 -#define ICR1H4 4 -#define ICR1H5 5 -#define ICR1H6 6 -#define ICR1H7 7 - -#define OCR1A _SFR_MEM16(0x88) - -#define OCR1AL _SFR_MEM8(0x88) -#define OCR1AL0 0 -#define OCR1AL1 1 -#define OCR1AL2 2 -#define OCR1AL3 3 -#define OCR1AL4 4 -#define OCR1AL5 5 -#define OCR1AL6 6 -#define OCR1AL7 7 - -#define OCR1AH _SFR_MEM8(0x89) -#define OCR1AH0 0 -#define OCR1AH1 1 -#define OCR1AH2 2 -#define OCR1AH3 3 -#define OCR1AH4 4 -#define OCR1AH5 5 -#define OCR1AH6 6 -#define OCR1AH7 7 - -#define OCR1B _SFR_MEM16(0x8A) - -#define OCR1BL _SFR_MEM8(0x8A) -#define OCR1AL0 0 -#define OCR1AL1 1 -#define OCR1AL2 2 -#define OCR1AL3 3 -#define OCR1AL4 4 -#define OCR1AL5 5 -#define OCR1AL6 6 -#define OCR1AL7 7 - -#define OCR1BH _SFR_MEM8(0x8B) -#define OCR1AH0 0 -#define OCR1AH1 1 -#define OCR1AH2 2 -#define OCR1AH3 3 -#define OCR1AH4 4 -#define OCR1AH5 5 -#define OCR1AH6 6 -#define OCR1AH7 7 - -#define TCCR3A _SFR_MEM8(0x90) -#define WGM30 0 -#define WGM31 1 -#define COM3B0 4 -#define COM3B1 5 -#define COM3A0 6 -#define COM3A1 7 - -#define TCCR3B _SFR_MEM8(0x91) -#define CS30 0 -#define CS31 1 -#define CS32 2 -#define WGM32 3 -#define WGM33 4 -#define ICES3 6 -#define ICNC3 7 - -#define TCCR3C _SFR_MEM8(0x92) -#define FOC3B 6 -#define FOC3A 7 - -#define TCNT3 _SFR_MEM16(0x94) - -#define TCNT3L _SFR_MEM8(0x94) -#define TCNT3L0 0 -#define TCNT3L1 1 -#define TCNT3L2 2 -#define TCNT3L3 3 -#define TCNT3L4 4 -#define TCNT3L5 5 -#define TCNT3L6 6 -#define TCNT3L7 7 - -#define TCNT3H _SFR_MEM8(0x95) -#define TCNT3H0 0 -#define TCNT3H1 1 -#define TCNT3H2 2 -#define TCNT3H3 3 -#define TCNT3H4 4 -#define TCNT3H5 5 -#define TCNT3H6 6 -#define TCNT3H7 7 - -#define ICR3 _SFR_MEM16(0x96) - -#define ICR3L _SFR_MEM8(0x96) -#define ICR3L0 0 -#define ICR3L1 1 -#define ICR3L2 2 -#define ICR3L3 3 -#define ICR3L4 4 -#define ICR3L5 5 -#define ICR3L6 6 -#define ICR3L7 7 - -#define ICR3H _SFR_MEM8(0x97) -#define ICR3H0 0 -#define ICR3H1 1 -#define ICR3H2 2 -#define ICR3H3 3 -#define ICR3H4 4 -#define ICR3H5 5 -#define ICR3H6 6 -#define ICR3H7 7 - -#define OCR3A _SFR_MEM16(0x98) - -#define OCR3AL _SFR_MEM8(0x98) -#define OCR3AL0 0 -#define OCR3AL1 1 -#define OCR3AL2 2 -#define OCR3AL3 3 -#define OCR3AL4 4 -#define OCR3AL5 5 -#define OCR3AL6 6 -#define OCR3AL7 7 - -#define OCR3AH _SFR_MEM8(0x99) -#define OCR3AH0 0 -#define OCR3AH1 1 -#define OCR3AH2 2 -#define OCR3AH3 3 -#define OCR3AH4 4 -#define OCR3AH5 5 -#define OCR3AH6 6 -#define OCR3AH7 7 - -#define OCR3B _SFR_MEM16(0x9A) - -#define OCR3BL _SFR_MEM8(0x9A) -#define OCR3AL0 0 -#define OCR3AL1 1 -#define OCR3AL2 2 -#define OCR3AL3 3 -#define OCR3AL4 4 -#define OCR3AL5 5 -#define OCR3AL6 6 -#define OCR3AL7 7 - -#define OCR3BH _SFR_MEM8(0x9B) -#define OCR3AH0 0 -#define OCR3AH1 1 -#define OCR3AH2 2 -#define OCR3AH3 3 -#define OCR3AH4 4 -#define OCR3AH5 5 -#define OCR3AH6 6 -#define OCR3AH7 7 - -#define TCCR2A _SFR_MEM8(0xB0) -#define WGM20 0 -#define WGM21 1 -#define COM2B0 4 -#define COM2B1 5 -#define COM2A0 6 -#define COM2A1 7 - -#define TCCR2B _SFR_MEM8(0xB1) -#define CS20 0 -#define CS21 1 -#define CS22 2 -#define WGM22 3 -#define FOC2B 6 -#define FOC2A 7 - -#define TCNT2 _SFR_MEM8(0xB2) -#define TCNT2_0 0 -#define TCNT2_1 1 -#define TCNT2_2 2 -#define TCNT2_3 3 -#define TCNT2_4 4 -#define TCNT2_5 5 -#define TCNT2_6 6 -#define TCNT2_7 7 - -#define OCR2A _SFR_MEM8(0xB3) -#define OCR2_0 0 -#define OCR2_1 1 -#define OCR2_2 2 -#define OCR2_3 3 -#define OCR2_4 4 -#define OCR2_5 5 -#define OCR2_6 6 -#define OCR2_7 7 - -#define OCR2B _SFR_MEM8(0xB4) -#define OCR2_0 0 -#define OCR2_1 1 -#define OCR2_2 2 -#define OCR2_3 3 -#define OCR2_4 4 -#define OCR2_5 5 -#define OCR2_6 6 -#define OCR2_7 7 - -#define ASSR _SFR_MEM8(0xB6) -#define TCR2BUB 0 -#define TCR2AUB 1 -#define OCR2BUB 2 -#define OCR2AUB 3 -#define TCN2UB 4 -#define AS2 5 -#define EXCLK 6 - -#define TWBR _SFR_MEM8(0xB8) -#define TWBR0 0 -#define TWBR1 1 -#define TWBR2 2 -#define TWBR3 3 -#define TWBR4 4 -#define TWBR5 5 -#define TWBR6 6 -#define TWBR7 7 - -#define TWSR _SFR_MEM8(0xB9) -#define TWPS0 0 -#define TWPS1 1 -#define TWS3 3 -#define TWS4 4 -#define TWS5 5 -#define TWS6 6 -#define TWS7 7 - -#define TWAR _SFR_MEM8(0xBA) -#define TWGCE 0 -#define TWA0 1 -#define TWA1 2 -#define TWA2 3 -#define TWA3 4 -#define TWA4 5 -#define TWA5 6 -#define TWA6 7 - -#define TWDR _SFR_MEM8(0xBB) -#define TWD0 0 -#define TWD1 1 -#define TWD2 2 -#define TWD3 3 -#define TWD4 4 -#define TWD5 5 -#define TWD6 6 -#define TWD7 7 - -#define TWCR _SFR_MEM8(0xBC) -#define TWIE 0 -#define TWEN 2 -#define TWWC 3 -#define TWSTO 4 -#define TWSTA 5 -#define TWEA 6 -#define TWINT 7 - -#define TWAMR _SFR_MEM8(0xBD) -#define TWAM0 1 -#define TWAM1 2 -#define TWAM2 3 -#define TWAM3 4 -#define TWAM4 5 -#define TWAM5 6 -#define TWAM6 7 - -#define UCSR0A _SFR_MEM8(0xC0) -#define MPCM0 0 -#define U2X0 1 -#define UPE0 2 -#define DOR0 3 -#define FE0 4 -#define UDRE0 5 -#define TXC0 6 -#define RXC0 7 - -#define UCSR0B _SFR_MEM8(0xC1) -#define TXB80 0 -#define RXB80 1 -#define UCSZ02 2 -#define TXEN0 3 -#define RXEN0 4 -#define UDRIE0 5 -#define TXCIE0 6 -#define RXCIE0 7 - -#define UCSR0C _SFR_MEM8(0xC2) -#define UCPOL0 0 -#define UCSZ00 1 -#define UCSZ01 2 -#define USBS0 3 -#define UPM00 4 -#define UPM01 5 -#define UMSEL00 6 -#define UMSEL01 7 - -#define UBRR0 _SFR_MEM16(0xC4) - -#define UBRR0L _SFR_MEM8(0xC4) -#define UBRR0_0 0 -#define UBRR0_1 1 -#define UBRR0_2 2 -#define UBRR0_3 3 -#define UBRR0_4 4 -#define UBRR0_5 5 -#define UBRR0_6 6 -#define UBRR0_7 7 - -#define UBRR0H _SFR_MEM8(0xC5) -#define UBRR0_8 0 -#define UBRR0_9 1 -#define UBRR0_10 2 -#define UBRR0_11 3 - -#define UDR0 _SFR_MEM8(0xC6) -#define UDR0_0 0 -#define UDR0_1 1 -#define UDR0_2 2 -#define UDR0_3 3 -#define UDR0_4 4 -#define UDR0_5 5 -#define UDR0_6 6 -#define UDR0_7 7 - -#define UCSR1A _SFR_MEM8(0xC8) -#define MPCM1 0 -#define U2X1 1 -#define UPE1 2 -#define DOR1 3 -#define FE1 4 -#define UDRE1 5 -#define TXC1 6 -#define RXC1 7 - -#define UCSR1B _SFR_MEM8(0xC9) -#define TXB81 0 -#define RXB81 1 -#define UCSZ12 2 -#define TXEN1 3 -#define RXEN1 4 -#define UDRIE1 5 -#define TXCIE1 6 -#define RXCIE1 7 - -#define UCSR1C _SFR_MEM8(0xCA) -#define UCPOL1 0 -#define UCSZ10 1 -#define UCSZ11 2 -#define USBS1 3 -#define UPM10 4 -#define UPM11 5 -#define UMSEL10 6 -#define UMSEL11 7 - -#define UBRR1 _SFR_MEM16(0xCC) - -#define UBRR1L _SFR_MEM8(0xCC) -#define UBRR1_0 0 -#define UBRR1_1 1 -#define UBRR1_2 2 -#define UBRR1_3 3 -#define UBRR1_4 4 -#define UBRR1_5 5 -#define UBRR1_6 6 -#define UBRR1_7 7 - -#define UBRR1H _SFR_MEM8(0xCD) -#define UBRR1_8 0 -#define UBRR1_9 1 -#define UBRR1_10 2 -#define UBRR1_11 3 - -#define UDR1 _SFR_MEM8(0xCE) -#define UDR1_0 0 -#define UDR1_1 1 -#define UDR1_2 2 -#define UDR1_3 3 -#define UDR1_4 4 -#define UDR1_5 5 -#define UDR1_6 6 -#define UDR1_7 7 - - -/* Interrupt Vectors */ -/* Interrupt Vector 0 is the reset vector. */ - -#define INT0_vect _VECTOR(1) /* External Interrupt Request 0 */ -#define INT1_vect _VECTOR(2) /* External Interrupt Request 1 */ -#define INT2_vect _VECTOR(3) /* External Interrupt Request 2 */ -#define PCINT0_vect _VECTOR(4) /* Pin Change Interrupt Request 0 */ -#define PCINT1_vect _VECTOR(5) /* Pin Change Interrupt Request 1 */ -#define PCINT2_vect _VECTOR(6) /* Pin Change Interrupt Request 2 */ -#define PCINT3_vect _VECTOR(7) /* Pin Change Interrupt Request 3 */ -#define WDT_vect _VECTOR(8) /* Watchdog Time-out Interrupt */ -#define TIMER2_COMPA_vect _VECTOR(9) /* Timer/Counter2 Compare Match A */ -#define TIMER2_COMPB_vect _VECTOR(10) /* Timer/Counter2 Compare Match B */ -#define TIMER2_OVF_vect _VECTOR(11) /* Timer/Counter2 Overflow */ -#define TIMER1_CAPT_vect _VECTOR(12) /* Timer/Counter1 Capture Event */ -#define TIMER1_COMPA_vect _VECTOR(13) /* Timer/Counter1 Compare Match A */ -#define TIMER1_COMPB_vect _VECTOR(14) /* Timer/Counter1 Compare Match B */ -#define TIMER1_OVF_vect _VECTOR(15) /* Timer/Counter1 Overflow */ -#define TIMER0_COMPA_vect _VECTOR(16) /* Timer/Counter0 Compare Match A */ -#define TIMER0_COMPB_vect _VECTOR(17) /* Timer/Counter0 Compare Match B */ -#define TIMER0_OVF_vect _VECTOR(18) /* Timer/Counter0 Overflow */ -#define SPI_STC_vect _VECTOR(19) /* SPI Serial Transfer Complete */ -#define USART0_RX_vect _VECTOR(20) /* USART0, Rx Complete */ -#define USART0_UDRE_vect _VECTOR(21) /* USART0 Data register Empty */ -#define USART0_TX_vect _VECTOR(22) /* USART0, Tx Complete */ -#define ANALOG_COMP_vect _VECTOR(23) /* Analog Comparator */ -#define ADC_vect _VECTOR(24) /* ADC Conversion Complete */ -#define EE_READY_vect _VECTOR(25) /* EEPROM Ready */ -#define TWI_vect _VECTOR(26) /* 2-wire Serial Interface */ -#define SPM_READY_vect _VECTOR(27) /* Store Program Memory Read */ -#define USART1_RX_vect _VECTOR(28) /* USART1 RX complete */ -#define USART1_UDRE_vect _VECTOR(29) /* USART1 Data Register Empty */ -#define USART1_TX_vect _VECTOR(30) /* USART1 TX complete */ -#define TIMER3_CAPT_vect _VECTOR(31) /* Timer/Counter3 Capture Event */ -#define TIMER3_COMPA_vect _VECTOR(32) /* Timer/Counter3 Compare Match A */ -#define TIMER3_COMPB_vect _VECTOR(33) /* Timer/Counter3 Compare Match B */ -#define TIMER3_OVF_vect _VECTOR(34) /* Timer/Counter3 Overflow */ - -#define _VECTORS_SIZE (35 * 4) - - -/* Constants */ -#define SPM_PAGESIZE 256 -#define RAMEND 0x40FF /* Last On-Chip SRAM Location */ -#define XRAMSIZE 0 -#define XRAMEND RAMEND -#define E2END 0xFFF -#define E2PAGESIZE 8 -#define FLASHEND 0x1FFFF - - -/* Fuses */ -#define FUSE_MEMORY_SIZE 3 - -/* Low Fuse Byte */ -#define FUSE_CKSEL0 (unsigned char)~_BV(0) /* Select Clock Source */ -#define FUSE_CKSEL1 (unsigned char)~_BV(1) /* Select Clock Source */ -#define FUSE_CKSEL2 (unsigned char)~_BV(2) /* Select Clock Source */ -#define FUSE_CKSEL3 (unsigned char)~_BV(3) /* Select Clock Source */ -#define FUSE_SUT0 (unsigned char)~_BV(4) /* Select start-up time */ -#define FUSE_SUT1 (unsigned char)~_BV(5) /* Select start-up time */ -#define FUSE_CKOUT (unsigned char)~_BV(6) /* Clock output */ -#define FUSE_CKDIV8 (unsigned char)~_BV(7) /* Divide clock by 8 */ -#define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & FUSE_SUT0 & FUSE_SUT1 & FUSE_CKDIV8) - -/* High Fuse Byte */ -#define FUSE_BOOTRST (unsigned char)~_BV(0) /* Select Reset Vector */ -#define FUSE_BOOTSZ0 (unsigned char)~_BV(1) /* Select Boot Size */ -#define FUSE_BOOTSZ1 (unsigned char)~_BV(2) /* Select Boot Size */ -#define FUSE_EESAVE (unsigned char)~_BV(3) /* EEPROM memory is preserved through chip erase */ -#define FUSE_WDTON (unsigned char)~_BV(4) /* Watchdog timer always on */ -#define FUSE_SPIEN (unsigned char)~_BV(5) /* Enable Serial programming and Data Downloading */ -#define FUSE_JTAGEN (unsigned char)~_BV(6) /* Enable JTAG */ -#define FUSE_OCDEN (unsigned char)~_BV(7) /* Enable OCD */ -#define HFUSE_DEFAULT (FUSE_BOOTSZ0 & FUSE_SPIEN & FUSE_JTAGEN) - -/* Extended Fuse Byte */ -#define FUSE_BODLEVEL0 (unsigned char)~_BV(0) /* Brown-out Detector trigger level */ -#define FUSE_BODLEVEL1 (unsigned char)~_BV(1) /* Brown-out Detector trigger level */ -#define FUSE_BODLEVEL2 (unsigned char)~_BV(2) /* Brown-out Detector trigger level */ -#define EFUSE_DEFAULT (0xFF) - - -/* Lock Bits */ -#define __LOCK_BITS_EXIST -#define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST - - -/* Signature */ -#define SIGNATURE_0 0x1E -#define SIGNATURE_1 0x97 -#define SIGNATURE_2 0x05 - -/**@}*/ +/** + * @file avr/iom1284p.h + * + * @brief Definitions for ATmega1284P + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2007 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ + +#ifndef _AVR_IO_H_ +# error "Include instead of this file." +#endif + +#ifndef _AVR_IOXXX_H_ +# define _AVR_IOXXX_H_ "iom1284p.h" +#else +# error "Attempt to include more than one file." +#endif + + +#ifndef _AVR_IOM1284P_H_ +#define _AVR_IOM1284P_H_ 1 + +/** + * @defgroup Avr_iom1284p ATmega1284P Definitions + * + * @ingroup avr + */ +/**@{*/ + +/* Registers and associated bit numbers */ + +#define PINA _SFR_IO8(0x00) +#define PINA0 0 +#define PINA1 1 +#define PINA2 2 +#define PINA3 3 +#define PINA4 4 +#define PINA5 5 +#define PINA6 6 +#define PINA7 7 + +#define DDRA _SFR_IO8(0x01) +#define DDA0 0 +#define DDA1 1 +#define DDA2 2 +#define DDA3 3 +#define DDA4 4 +#define DDA5 5 +#define DDA6 6 +#define DDA7 7 + +#define PORTA _SFR_IO8(0x02) +#define PORTA0 0 +#define PORTA1 1 +#define PORTA2 2 +#define PORTA3 3 +#define PORTA4 4 +#define PORTA5 5 +#define PORTA6 6 +#define PORTA7 7 + +#define PINB _SFR_IO8(0x03) +#define PINB0 0 +#define PINB1 1 +#define PINB2 2 +#define PINB3 3 +#define PINB4 4 +#define PINB5 5 +#define PINB6 6 +#define PINB7 7 + +#define DDRB _SFR_IO8(0x04) +#define DDB0 0 +#define DDB1 1 +#define DDB2 2 +#define DDB3 3 +#define DDB4 4 +#define DDB5 5 +#define DDB6 6 +#define DDB7 7 + +#define PORTB _SFR_IO8(0x05) +#define PORTB0 0 +#define PORTB1 1 +#define PORTB2 2 +#define PORTB3 3 +#define PORTB4 4 +#define PORTB5 5 +#define PORTB6 6 +#define PORTB7 7 + +#define PINC _SFR_IO8(0x06) +#define PINC0 0 +#define PINC1 1 +#define PINC2 2 +#define PINC3 3 +#define PINC4 4 +#define PINC5 5 +#define PINC6 6 +#define PINC7 7 + +#define DDRC _SFR_IO8(0x07) +#define DDC0 0 +#define DDC1 1 +#define DDC2 2 +#define DDC3 3 +#define DDC4 4 +#define DDC5 5 +#define DDC6 6 +#define DDC7 7 + +#define PORTC _SFR_IO8(0x08) +#define PORTC0 0 +#define PORTC1 1 +#define PORTC2 2 +#define PORTC3 3 +#define PORTC4 4 +#define PORTC5 5 +#define PORTC6 6 +#define PORTC7 7 + +#define PIND _SFR_IO8(0x09) +#define PIND0 0 +#define PIND1 1 +#define PIND2 2 +#define PIND3 3 +#define PIND4 4 +#define PIND5 5 +#define PIND6 6 +#define PIND7 7 + +#define DDRD _SFR_IO8(0x0A) +#define DDD0 0 +#define DDD1 1 +#define DDD2 2 +#define DDD3 3 +#define DDD4 4 +#define DDD5 5 +#define DDD6 6 +#define DDD7 7 + +#define PORTD _SFR_IO8(0x0B) +#define PORTD0 0 +#define PORTD1 1 +#define PORTD2 2 +#define PORTD3 3 +#define PORTD4 4 +#define PORTD5 5 +#define PORTD6 6 +#define PORTD7 7 + +#define TIFR0 _SFR_IO8(0x15) +#define TOV0 0 +#define OCF0A 1 +#define OCF0B 2 + +#define TIFR1 _SFR_IO8(0x16) +#define TOV1 0 +#define OCF1A 1 +#define OCF1B 2 +#define ICF1 5 + +#define TIFR2 _SFR_IO8(0x17) +#define TOV2 0 +#define OCF2A 1 +#define OCF2B 2 + +#define TIFR3 _SFR_IO8(0x18) +#define TOV3 0 +#define OCF3A 1 +#define OCF3B 2 +#define ICF3 5 + +#define PCIFR _SFR_IO8(0x1B) +#define PCIF0 0 +#define PCIF1 1 +#define PCIF2 2 +#define PCIF3 3 + +#define EIFR _SFR_IO8(0x1C) +#define INTF0 0 +#define INTF1 1 +#define INTF2 2 + +#define EIMSK _SFR_IO8(0x1D) +#define INT0 0 +#define INT1 1 +#define INT2 2 + +#define GPIOR0 _SFR_IO8(0x1E) +#define GPIOR00 0 +#define GPIOR01 1 +#define GPIOR02 2 +#define GPIOR03 3 +#define GPIOR04 4 +#define GPIOR05 5 +#define GPIOR06 6 +#define GPIOR07 7 + +#define EECR _SFR_IO8(0x1F) +#define EERE 0 +#define EEPE 1 +#define EEMPE 2 +#define EERIE 3 +#define EEPM0 4 +#define EEPM1 5 + +#define EEDR _SFR_IO8(0x20) +#define EEDR0 0 +#define EEDR1 1 +#define EEDR2 2 +#define EEDR3 3 +#define EEDR4 4 +#define EEDR5 5 +#define EEDR6 6 +#define EEDR7 7 + +#define EEAR _SFR_IO16(0x21) + +#define EEARL _SFR_IO8(0x21) +#define EEAR0 0 +#define EEAR1 1 +#define EEAR2 2 +#define EEAR3 3 +#define EEAR4 4 +#define EEAR5 5 +#define EEAR6 6 +#define EEAR7 7 + +#define EEARH _SFR_IO8(0x22) +#define EEAR8 0 +#define EEAR9 1 +#define EEAR10 2 +#define EEAR11 3 + +#define GTCCR _SFR_IO8(0x23) +#define PSRSYNC 0 +#define PSRASY 1 +#define TSM 7 + +#define TCCR0A _SFR_IO8(0x24) +#define WGM00 0 +#define WGM01 1 +#define COM0B0 4 +#define COM0B1 5 +#define COM0A0 6 +#define COM0A1 7 + +#define TCCR0B _SFR_IO8(0x25) +#define CS00 0 +#define CS01 1 +#define CS02 2 +#define WGM02 3 +#define FOC0B 6 +#define FOC0A 7 + +#define TCNT0 _SFR_IO8(0x26) +#define TCNT0_0 0 +#define TCNT0_1 1 +#define TCNT0_2 2 +#define TCNT0_3 3 +#define TCNT0_4 4 +#define TCNT0_5 5 +#define TCNT0_6 6 +#define TCNT0_7 7 + +#define OCR0A _SFR_IO8(0x27) +#define OCR0A_0 0 +#define OCR0A_1 1 +#define OCR0A_2 2 +#define OCR0A_3 3 +#define OCR0A_4 4 +#define OCR0A_5 5 +#define OCR0A_6 6 +#define OCR0A_7 7 + +#define OCR0B _SFR_IO8(0x28) +#define OCR0B_0 0 +#define OCR0B_1 1 +#define OCR0B_2 2 +#define OCR0B_3 3 +#define OCR0B_4 4 +#define OCR0B_5 5 +#define OCR0B_6 6 +#define OCR0B_7 7 + +#define GPIOR1 _SFR_IO8(0x2A) +#define GPIOR10 0 +#define GPIOR11 1 +#define GPIOR12 2 +#define GPIOR13 3 +#define GPIOR14 4 +#define GPIOR15 5 +#define GPIOR16 6 +#define GPIOR17 7 + +#define GPIOR2 _SFR_IO8(0x2B) +#define GPIOR20 0 +#define GPIOR21 1 +#define GPIOR22 2 +#define GPIOR23 3 +#define GPIOR24 4 +#define GPIOR25 5 +#define GPIOR26 6 +#define GPIOR27 7 + +#define SPCR _SFR_IO8(0x2C) +#define SPR0 0 +#define SPR1 1 +#define CPHA 2 +#define CPOL 3 +#define MSTR 4 +#define DORD 5 +#define SPE 6 +#define SPIE 7 + +#define SPSR _SFR_IO8(0x2D) +#define SPI2X 0 +#define WCOL 6 +#define SPIF 7 + +#define SPDR _SFR_IO8(0x2E) +#define SPDR0 0 +#define SPDR1 1 +#define SPDR2 2 +#define SPDR3 3 +#define SPDR4 4 +#define SPDR5 5 +#define SPDR6 6 +#define SPDR7 7 + +#define ACSR _SFR_IO8(0x30) +#define ACIS0 0 +#define ACIS1 1 +#define ACIC 2 +#define ACIE 3 +#define ACI 4 +#define ACO 5 +#define ACBG 6 +#define ACD 7 + +#define OCDR _SFR_IO8(0x31) +#define OCDR0 0 +#define OCDR1 1 +#define OCDR2 2 +#define OCDR3 3 +#define OCDR4 4 +#define OCDR5 5 +#define OCDR6 6 +#define OCDR7 7 + +#define SMCR _SFR_IO8(0x33) +#define SE 0 +#define SM0 1 +#define SM1 2 +#define SM2 3 + +#define MCUSR _SFR_IO8(0x34) +#define PORF 0 +#define EXTRF 1 +#define BORF 2 +#define WDRF 3 +#define JTRF 4 + +#define MCUCR _SFR_IO8(0x35) +#define IVCE 0 +#define IVSEL 1 +#define PUD 4 +#define BODSE 5 +#define BODS 6 +#define JTD 7 + +#define SPMCSR _SFR_IO8(0x37) +#define SPMEN 0 +#define PGERS 1 +#define PGWRT 2 +#define BLBSET 3 +#define RWWSRE 4 +#define SIGRD 5 +#define RWWSB 6 +#define SPMIE 7 + +#define RAMPZ _SFR_IO8(0x3B) +#define RAMPZ0 0 + +#define WDTCSR _SFR_MEM8(0x60) +#define WDP0 0 +#define WDP1 1 +#define WDP2 2 +#define WDE 3 +#define WDCE 4 +#define WDP3 5 +#define WDIE 6 +#define WDIF 7 + +#define CLKPR _SFR_MEM8(0x61) +#define CLKPS0 0 +#define CLKPS1 1 +#define CLKPS2 2 +#define CLKPS3 3 +#define CLKPCE 7 + +#define PRR0 _SFR_MEM8(0x64) +#define PRADC 0 +#define PRUSART0 1 +#define PRSPI 2 +#define PRTIM1 3 +#define PRUSART1 4 +#define PRTIM0 5 +#define PRTIM2 6 +#define PRTWI 7 + +#define PRR1 _SFR_MEM8(0x65) +#define PRTIM3 0 + +#define OSCCAL _SFR_MEM8(0x66) +#define CAL0 0 +#define CAL1 1 +#define CAL2 2 +#define CAL3 3 +#define CAL4 4 +#define CAL5 5 +#define CAL6 6 +#define CAL7 7 + +#define PCICR _SFR_MEM8(0x68) +#define PCIE0 0 +#define PCIE1 1 +#define PCIE2 2 +#define PCIE3 3 + +#define EICRA _SFR_MEM8(0x69) +#define ISC00 0 +#define ISC01 1 +#define ISC10 2 +#define ISC11 3 +#define ISC20 4 +#define ISC21 5 + +#define PCMSK0 _SFR_MEM8(0x6B) +#define PCINT0 0 +#define PCINT1 1 +#define PCINT2 2 +#define PCINT3 3 +#define PCINT4 4 +#define PCINT5 5 +#define PCINT6 6 +#define PCINT7 7 + +#define PCMSK1 _SFR_MEM8(0x6C) +#define PCINT8 0 +#define PCINT9 1 +#define PCINT10 2 +#define PCINT11 3 +#define PCINT12 4 +#define PCINT13 5 +#define PCINT14 6 +#define PCINT15 7 + +#define PCMSK2 _SFR_MEM8(0x6D) +#define PCINT16 0 +#define PCINT17 1 +#define PCINT18 2 +#define PCINT19 3 +#define PCINT20 4 +#define PCINT21 5 +#define PCINT22 6 +#define PCINT23 7 + +#define TIMSK0 _SFR_MEM8(0x6E) +#define TOIE0 0 +#define OCIE0A 1 +#define OCIE0B 2 + +#define TIMSK1 _SFR_MEM8(0x6F) +#define TOIE1 0 +#define OCIE1A 1 +#define OCIE1B 2 +#define ICIE1 5 + +#define TIMSK2 _SFR_MEM8(0x70) +#define TOIE2 0 +#define OCIE2A 1 +#define OCIE2B 2 + +#define TIMSK3 _SFR_MEM8(0x71) +#define TOIE3 0 +#define OCIE3A 1 +#define OCIE3B 2 +#define ICIE3 5 + +#define PCMSK3 _SFR_MEM8(0x73) +#define PCINT24 0 +#define PCINT25 1 +#define PCINT26 2 +#define PCINT27 3 +#define PCINT28 4 +#define PCINT29 5 +#define PCINT30 6 +#define PCINT31 7 + +#ifndef __ASSEMBLER__ +#define ADC _SFR_MEM16(0x78) +#endif +#define ADCW _SFR_MEM16(0x78) + +#define ADCL _SFR_MEM8(0x78) +#define ADCL0 0 +#define ADCL1 1 +#define ADCL2 2 +#define ADCL3 3 +#define ADCL4 4 +#define ADCL5 5 +#define ADCL6 6 +#define ADCL7 7 + +#define ADCH _SFR_MEM8(0x79) +#define ADCH0 0 +#define ADCH1 1 +#define ADCH2 2 +#define ADCH3 3 +#define ADCH4 4 +#define ADCH5 5 +#define ADCH6 6 +#define ADCH7 7 + +#define ADCSRA _SFR_MEM8(0x7A) +#define ADPS0 0 +#define ADPS1 1 +#define ADPS2 2 +#define ADIE 3 +#define ADIF 4 +#define ADATE 5 +#define ADSC 6 +#define ADEN 7 + +#define ADCSRB _SFR_MEM8(0x7B) +#define ADTS0 0 +#define ADTS1 1 +#define ADTS2 2 +#define ACME 6 + +#define ADMUX _SFR_MEM8(0x7C) +#define MUX0 0 +#define MUX1 1 +#define MUX2 2 +#define MUX3 3 +#define MUX4 4 +#define ADLAR 5 +#define REFS0 6 +#define REFS1 7 + +#define DIDR0 _SFR_MEM8(0x7E) +#define ADC0D 0 +#define ADC1D 1 +#define ADC2D 2 +#define ADC3D 3 +#define ADC4D 4 +#define ADC5D 5 +#define ADC6D 6 +#define ADC7D 7 + +#define DIDR1 _SFR_MEM8(0x7F) +#define AIN0D 0 +#define AIN1D 1 + +#define TCCR1A _SFR_MEM8(0x80) +#define WGM10 0 +#define WGM11 1 +#define COM1B0 4 +#define COM1B1 5 +#define COM1A0 6 +#define COM1A1 7 + +#define TCCR1B _SFR_MEM8(0x81) +#define CS10 0 +#define CS11 1 +#define CS12 2 +#define WGM12 3 +#define WGM13 4 +#define ICES1 6 +#define ICNC1 7 + +#define TCCR1C _SFR_MEM8(0x82) +#define FOC1B 6 +#define FOC1A 7 + +#define TCNT1 _SFR_MEM16(0x84) + +#define TCNT1L _SFR_MEM8(0x84) +#define TCNT1L0 0 +#define TCNT1L1 1 +#define TCNT1L2 2 +#define TCNT1L3 3 +#define TCNT1L4 4 +#define TCNT1L5 5 +#define TCNT1L6 6 +#define TCNT1L7 7 + +#define TCNT1H _SFR_MEM8(0x85) +#define TCNT1H0 0 +#define TCNT1H1 1 +#define TCNT1H2 2 +#define TCNT1H3 3 +#define TCNT1H4 4 +#define TCNT1H5 5 +#define TCNT1H6 6 +#define TCNT1H7 7 + +#define ICR1 _SFR_MEM16(0x86) + +#define ICR1L _SFR_MEM8(0x86) +#define ICR1L0 0 +#define ICR1L1 1 +#define ICR1L2 2 +#define ICR1L3 3 +#define ICR1L4 4 +#define ICR1L5 5 +#define ICR1L6 6 +#define ICR1L7 7 + +#define ICR1H _SFR_MEM8(0x87) +#define ICR1H0 0 +#define ICR1H1 1 +#define ICR1H2 2 +#define ICR1H3 3 +#define ICR1H4 4 +#define ICR1H5 5 +#define ICR1H6 6 +#define ICR1H7 7 + +#define OCR1A _SFR_MEM16(0x88) + +#define OCR1AL _SFR_MEM8(0x88) +#define OCR1AL0 0 +#define OCR1AL1 1 +#define OCR1AL2 2 +#define OCR1AL3 3 +#define OCR1AL4 4 +#define OCR1AL5 5 +#define OCR1AL6 6 +#define OCR1AL7 7 + +#define OCR1AH _SFR_MEM8(0x89) +#define OCR1AH0 0 +#define OCR1AH1 1 +#define OCR1AH2 2 +#define OCR1AH3 3 +#define OCR1AH4 4 +#define OCR1AH5 5 +#define OCR1AH6 6 +#define OCR1AH7 7 + +#define OCR1B _SFR_MEM16(0x8A) + +#define OCR1BL _SFR_MEM8(0x8A) +#define OCR1AL0 0 +#define OCR1AL1 1 +#define OCR1AL2 2 +#define OCR1AL3 3 +#define OCR1AL4 4 +#define OCR1AL5 5 +#define OCR1AL6 6 +#define OCR1AL7 7 + +#define OCR1BH _SFR_MEM8(0x8B) +#define OCR1AH0 0 +#define OCR1AH1 1 +#define OCR1AH2 2 +#define OCR1AH3 3 +#define OCR1AH4 4 +#define OCR1AH5 5 +#define OCR1AH6 6 +#define OCR1AH7 7 + +#define TCCR3A _SFR_MEM8(0x90) +#define WGM30 0 +#define WGM31 1 +#define COM3B0 4 +#define COM3B1 5 +#define COM3A0 6 +#define COM3A1 7 + +#define TCCR3B _SFR_MEM8(0x91) +#define CS30 0 +#define CS31 1 +#define CS32 2 +#define WGM32 3 +#define WGM33 4 +#define ICES3 6 +#define ICNC3 7 + +#define TCCR3C _SFR_MEM8(0x92) +#define FOC3B 6 +#define FOC3A 7 + +#define TCNT3 _SFR_MEM16(0x94) + +#define TCNT3L _SFR_MEM8(0x94) +#define TCNT3L0 0 +#define TCNT3L1 1 +#define TCNT3L2 2 +#define TCNT3L3 3 +#define TCNT3L4 4 +#define TCNT3L5 5 +#define TCNT3L6 6 +#define TCNT3L7 7 + +#define TCNT3H _SFR_MEM8(0x95) +#define TCNT3H0 0 +#define TCNT3H1 1 +#define TCNT3H2 2 +#define TCNT3H3 3 +#define TCNT3H4 4 +#define TCNT3H5 5 +#define TCNT3H6 6 +#define TCNT3H7 7 + +#define ICR3 _SFR_MEM16(0x96) + +#define ICR3L _SFR_MEM8(0x96) +#define ICR3L0 0 +#define ICR3L1 1 +#define ICR3L2 2 +#define ICR3L3 3 +#define ICR3L4 4 +#define ICR3L5 5 +#define ICR3L6 6 +#define ICR3L7 7 + +#define ICR3H _SFR_MEM8(0x97) +#define ICR3H0 0 +#define ICR3H1 1 +#define ICR3H2 2 +#define ICR3H3 3 +#define ICR3H4 4 +#define ICR3H5 5 +#define ICR3H6 6 +#define ICR3H7 7 + +#define OCR3A _SFR_MEM16(0x98) + +#define OCR3AL _SFR_MEM8(0x98) +#define OCR3AL0 0 +#define OCR3AL1 1 +#define OCR3AL2 2 +#define OCR3AL3 3 +#define OCR3AL4 4 +#define OCR3AL5 5 +#define OCR3AL6 6 +#define OCR3AL7 7 + +#define OCR3AH _SFR_MEM8(0x99) +#define OCR3AH0 0 +#define OCR3AH1 1 +#define OCR3AH2 2 +#define OCR3AH3 3 +#define OCR3AH4 4 +#define OCR3AH5 5 +#define OCR3AH6 6 +#define OCR3AH7 7 + +#define OCR3B _SFR_MEM16(0x9A) + +#define OCR3BL _SFR_MEM8(0x9A) +#define OCR3AL0 0 +#define OCR3AL1 1 +#define OCR3AL2 2 +#define OCR3AL3 3 +#define OCR3AL4 4 +#define OCR3AL5 5 +#define OCR3AL6 6 +#define OCR3AL7 7 + +#define OCR3BH _SFR_MEM8(0x9B) +#define OCR3AH0 0 +#define OCR3AH1 1 +#define OCR3AH2 2 +#define OCR3AH3 3 +#define OCR3AH4 4 +#define OCR3AH5 5 +#define OCR3AH6 6 +#define OCR3AH7 7 + +#define TCCR2A _SFR_MEM8(0xB0) +#define WGM20 0 +#define WGM21 1 +#define COM2B0 4 +#define COM2B1 5 +#define COM2A0 6 +#define COM2A1 7 + +#define TCCR2B _SFR_MEM8(0xB1) +#define CS20 0 +#define CS21 1 +#define CS22 2 +#define WGM22 3 +#define FOC2B 6 +#define FOC2A 7 + +#define TCNT2 _SFR_MEM8(0xB2) +#define TCNT2_0 0 +#define TCNT2_1 1 +#define TCNT2_2 2 +#define TCNT2_3 3 +#define TCNT2_4 4 +#define TCNT2_5 5 +#define TCNT2_6 6 +#define TCNT2_7 7 + +#define OCR2A _SFR_MEM8(0xB3) +#define OCR2_0 0 +#define OCR2_1 1 +#define OCR2_2 2 +#define OCR2_3 3 +#define OCR2_4 4 +#define OCR2_5 5 +#define OCR2_6 6 +#define OCR2_7 7 + +#define OCR2B _SFR_MEM8(0xB4) +#define OCR2_0 0 +#define OCR2_1 1 +#define OCR2_2 2 +#define OCR2_3 3 +#define OCR2_4 4 +#define OCR2_5 5 +#define OCR2_6 6 +#define OCR2_7 7 + +#define ASSR _SFR_MEM8(0xB6) +#define TCR2BUB 0 +#define TCR2AUB 1 +#define OCR2BUB 2 +#define OCR2AUB 3 +#define TCN2UB 4 +#define AS2 5 +#define EXCLK 6 + +#define TWBR _SFR_MEM8(0xB8) +#define TWBR0 0 +#define TWBR1 1 +#define TWBR2 2 +#define TWBR3 3 +#define TWBR4 4 +#define TWBR5 5 +#define TWBR6 6 +#define TWBR7 7 + +#define TWSR _SFR_MEM8(0xB9) +#define TWPS0 0 +#define TWPS1 1 +#define TWS3 3 +#define TWS4 4 +#define TWS5 5 +#define TWS6 6 +#define TWS7 7 + +#define TWAR _SFR_MEM8(0xBA) +#define TWGCE 0 +#define TWA0 1 +#define TWA1 2 +#define TWA2 3 +#define TWA3 4 +#define TWA4 5 +#define TWA5 6 +#define TWA6 7 + +#define TWDR _SFR_MEM8(0xBB) +#define TWD0 0 +#define TWD1 1 +#define TWD2 2 +#define TWD3 3 +#define TWD4 4 +#define TWD5 5 +#define TWD6 6 +#define TWD7 7 + +#define TWCR _SFR_MEM8(0xBC) +#define TWIE 0 +#define TWEN 2 +#define TWWC 3 +#define TWSTO 4 +#define TWSTA 5 +#define TWEA 6 +#define TWINT 7 + +#define TWAMR _SFR_MEM8(0xBD) +#define TWAM0 1 +#define TWAM1 2 +#define TWAM2 3 +#define TWAM3 4 +#define TWAM4 5 +#define TWAM5 6 +#define TWAM6 7 + +#define UCSR0A _SFR_MEM8(0xC0) +#define MPCM0 0 +#define U2X0 1 +#define UPE0 2 +#define DOR0 3 +#define FE0 4 +#define UDRE0 5 +#define TXC0 6 +#define RXC0 7 + +#define UCSR0B _SFR_MEM8(0xC1) +#define TXB80 0 +#define RXB80 1 +#define UCSZ02 2 +#define TXEN0 3 +#define RXEN0 4 +#define UDRIE0 5 +#define TXCIE0 6 +#define RXCIE0 7 + +#define UCSR0C _SFR_MEM8(0xC2) +#define UCPOL0 0 +#define UCSZ00 1 +#define UCSZ01 2 +#define USBS0 3 +#define UPM00 4 +#define UPM01 5 +#define UMSEL00 6 +#define UMSEL01 7 + +#define UBRR0 _SFR_MEM16(0xC4) + +#define UBRR0L _SFR_MEM8(0xC4) +#define UBRR0_0 0 +#define UBRR0_1 1 +#define UBRR0_2 2 +#define UBRR0_3 3 +#define UBRR0_4 4 +#define UBRR0_5 5 +#define UBRR0_6 6 +#define UBRR0_7 7 + +#define UBRR0H _SFR_MEM8(0xC5) +#define UBRR0_8 0 +#define UBRR0_9 1 +#define UBRR0_10 2 +#define UBRR0_11 3 + +#define UDR0 _SFR_MEM8(0xC6) +#define UDR0_0 0 +#define UDR0_1 1 +#define UDR0_2 2 +#define UDR0_3 3 +#define UDR0_4 4 +#define UDR0_5 5 +#define UDR0_6 6 +#define UDR0_7 7 + +#define UCSR1A _SFR_MEM8(0xC8) +#define MPCM1 0 +#define U2X1 1 +#define UPE1 2 +#define DOR1 3 +#define FE1 4 +#define UDRE1 5 +#define TXC1 6 +#define RXC1 7 + +#define UCSR1B _SFR_MEM8(0xC9) +#define TXB81 0 +#define RXB81 1 +#define UCSZ12 2 +#define TXEN1 3 +#define RXEN1 4 +#define UDRIE1 5 +#define TXCIE1 6 +#define RXCIE1 7 + +#define UCSR1C _SFR_MEM8(0xCA) +#define UCPOL1 0 +#define UCSZ10 1 +#define UCSZ11 2 +#define USBS1 3 +#define UPM10 4 +#define UPM11 5 +#define UMSEL10 6 +#define UMSEL11 7 + +#define UBRR1 _SFR_MEM16(0xCC) + +#define UBRR1L _SFR_MEM8(0xCC) +#define UBRR1_0 0 +#define UBRR1_1 1 +#define UBRR1_2 2 +#define UBRR1_3 3 +#define UBRR1_4 4 +#define UBRR1_5 5 +#define UBRR1_6 6 +#define UBRR1_7 7 + +#define UBRR1H _SFR_MEM8(0xCD) +#define UBRR1_8 0 +#define UBRR1_9 1 +#define UBRR1_10 2 +#define UBRR1_11 3 + +#define UDR1 _SFR_MEM8(0xCE) +#define UDR1_0 0 +#define UDR1_1 1 +#define UDR1_2 2 +#define UDR1_3 3 +#define UDR1_4 4 +#define UDR1_5 5 +#define UDR1_6 6 +#define UDR1_7 7 + + +/* Interrupt Vectors */ +/* Interrupt Vector 0 is the reset vector. */ + +#define INT0_vect _VECTOR(1) /* External Interrupt Request 0 */ +#define INT1_vect _VECTOR(2) /* External Interrupt Request 1 */ +#define INT2_vect _VECTOR(3) /* External Interrupt Request 2 */ +#define PCINT0_vect _VECTOR(4) /* Pin Change Interrupt Request 0 */ +#define PCINT1_vect _VECTOR(5) /* Pin Change Interrupt Request 1 */ +#define PCINT2_vect _VECTOR(6) /* Pin Change Interrupt Request 2 */ +#define PCINT3_vect _VECTOR(7) /* Pin Change Interrupt Request 3 */ +#define WDT_vect _VECTOR(8) /* Watchdog Time-out Interrupt */ +#define TIMER2_COMPA_vect _VECTOR(9) /* Timer/Counter2 Compare Match A */ +#define TIMER2_COMPB_vect _VECTOR(10) /* Timer/Counter2 Compare Match B */ +#define TIMER2_OVF_vect _VECTOR(11) /* Timer/Counter2 Overflow */ +#define TIMER1_CAPT_vect _VECTOR(12) /* Timer/Counter1 Capture Event */ +#define TIMER1_COMPA_vect _VECTOR(13) /* Timer/Counter1 Compare Match A */ +#define TIMER1_COMPB_vect _VECTOR(14) /* Timer/Counter1 Compare Match B */ +#define TIMER1_OVF_vect _VECTOR(15) /* Timer/Counter1 Overflow */ +#define TIMER0_COMPA_vect _VECTOR(16) /* Timer/Counter0 Compare Match A */ +#define TIMER0_COMPB_vect _VECTOR(17) /* Timer/Counter0 Compare Match B */ +#define TIMER0_OVF_vect _VECTOR(18) /* Timer/Counter0 Overflow */ +#define SPI_STC_vect _VECTOR(19) /* SPI Serial Transfer Complete */ +#define USART0_RX_vect _VECTOR(20) /* USART0, Rx Complete */ +#define USART0_UDRE_vect _VECTOR(21) /* USART0 Data register Empty */ +#define USART0_TX_vect _VECTOR(22) /* USART0, Tx Complete */ +#define ANALOG_COMP_vect _VECTOR(23) /* Analog Comparator */ +#define ADC_vect _VECTOR(24) /* ADC Conversion Complete */ +#define EE_READY_vect _VECTOR(25) /* EEPROM Ready */ +#define TWI_vect _VECTOR(26) /* 2-wire Serial Interface */ +#define SPM_READY_vect _VECTOR(27) /* Store Program Memory Read */ +#define USART1_RX_vect _VECTOR(28) /* USART1 RX complete */ +#define USART1_UDRE_vect _VECTOR(29) /* USART1 Data Register Empty */ +#define USART1_TX_vect _VECTOR(30) /* USART1 TX complete */ +#define TIMER3_CAPT_vect _VECTOR(31) /* Timer/Counter3 Capture Event */ +#define TIMER3_COMPA_vect _VECTOR(32) /* Timer/Counter3 Compare Match A */ +#define TIMER3_COMPB_vect _VECTOR(33) /* Timer/Counter3 Compare Match B */ +#define TIMER3_OVF_vect _VECTOR(34) /* Timer/Counter3 Overflow */ + +#define _VECTORS_SIZE (35 * 4) + + +/* Constants */ +#define SPM_PAGESIZE 256 +#define RAMEND 0x40FF /* Last On-Chip SRAM Location */ +#define XRAMSIZE 0 +#define XRAMEND RAMEND +#define E2END 0xFFF +#define E2PAGESIZE 8 +#define FLASHEND 0x1FFFF + + +/* Fuses */ +#define FUSE_MEMORY_SIZE 3 + +/* Low Fuse Byte */ +#define FUSE_CKSEL0 (unsigned char)~_BV(0) /* Select Clock Source */ +#define FUSE_CKSEL1 (unsigned char)~_BV(1) /* Select Clock Source */ +#define FUSE_CKSEL2 (unsigned char)~_BV(2) /* Select Clock Source */ +#define FUSE_CKSEL3 (unsigned char)~_BV(3) /* Select Clock Source */ +#define FUSE_SUT0 (unsigned char)~_BV(4) /* Select start-up time */ +#define FUSE_SUT1 (unsigned char)~_BV(5) /* Select start-up time */ +#define FUSE_CKOUT (unsigned char)~_BV(6) /* Clock output */ +#define FUSE_CKDIV8 (unsigned char)~_BV(7) /* Divide clock by 8 */ +#define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & FUSE_SUT0 & FUSE_SUT1 & FUSE_CKDIV8) + +/* High Fuse Byte */ +#define FUSE_BOOTRST (unsigned char)~_BV(0) /* Select Reset Vector */ +#define FUSE_BOOTSZ0 (unsigned char)~_BV(1) /* Select Boot Size */ +#define FUSE_BOOTSZ1 (unsigned char)~_BV(2) /* Select Boot Size */ +#define FUSE_EESAVE (unsigned char)~_BV(3) /* EEPROM memory is preserved through chip erase */ +#define FUSE_WDTON (unsigned char)~_BV(4) /* Watchdog timer always on */ +#define FUSE_SPIEN (unsigned char)~_BV(5) /* Enable Serial programming and Data Downloading */ +#define FUSE_JTAGEN (unsigned char)~_BV(6) /* Enable JTAG */ +#define FUSE_OCDEN (unsigned char)~_BV(7) /* Enable OCD */ +#define HFUSE_DEFAULT (FUSE_BOOTSZ0 & FUSE_SPIEN & FUSE_JTAGEN) + +/* Extended Fuse Byte */ +#define FUSE_BODLEVEL0 (unsigned char)~_BV(0) /* Brown-out Detector trigger level */ +#define FUSE_BODLEVEL1 (unsigned char)~_BV(1) /* Brown-out Detector trigger level */ +#define FUSE_BODLEVEL2 (unsigned char)~_BV(2) /* Brown-out Detector trigger level */ +#define EFUSE_DEFAULT (0xFF) + + +/* Lock Bits */ +#define __LOCK_BITS_EXIST +#define __BOOT_LOCK_BITS_0_EXIST +#define __BOOT_LOCK_BITS_1_EXIST + + +/* Signature */ +#define SIGNATURE_0 0x1E +#define SIGNATURE_1 0x97 +#define SIGNATURE_2 0x05 + +/**@}*/ #endif /* _AVR_IOM1284P_H_ */ \ No newline at end of file -- cgit v1.2.3 From b98bb9e973c1f1292a24e090d03ddb9ea678ca21 Mon Sep 17 00:00:00 2001 From: Mathew Kallada Date: Sat, 29 Dec 2012 07:34:18 -0600 Subject: score: Doxygen Clean Up Task #6 --- cpukit/score/cpu/avr/avr/crc16.h | 76 +++++--- cpukit/score/cpu/avr/avr/io43u32x.h | 83 ++++---- cpukit/score/cpu/avr/avr/io4434.h | 82 ++++---- cpukit/score/cpu/avr/avr/ioat94k.h | 123 ++++++------ cpukit/score/cpu/avr/avr/iom1281.h | 81 ++++---- cpukit/score/cpu/avr/avr/iom16m1.h | 86 ++++---- cpukit/score/cpu/avr/avr/iom16u2.h | 85 ++++---- cpukit/score/cpu/avr/avr/iom323.h | 84 ++++---- cpukit/score/cpu/avr/avr/iom88p.h | 93 +++++---- cpukit/score/cpu/avr/avr/iotn12.h | 82 ++++---- cpukit/score/cpu/avr/avr/iotn2313a.h | 85 ++++---- cpukit/score/cpu/avr/avr/iotn861a.h | 85 ++++---- cpukit/score/cpu/avr/avr/iotn87.h | 86 ++++---- cpukit/score/cpu/avr/avr/iox192d3.h | 98 +++++----- cpukit/score/cpu/avr/avr/iox64a3.h | 98 +++++----- cpukit/score/cpu/avr/avr/iox64d3.h | 98 +++++----- cpukit/score/cpu/avr/avr/lock.h | 367 ++++++++++++++++++----------------- cpukit/score/cpu/avr/avr/signal.h | 76 +++++--- cpukit/score/cpu/no_cpu/rtems/asm.h | 18 +- 19 files changed, 1051 insertions(+), 835 deletions(-) diff --git a/cpukit/score/cpu/avr/avr/crc16.h b/cpukit/score/cpu/avr/avr/crc16.h index 63e043b7a8..ae510d957a 100644 --- a/cpukit/score/cpu/avr/avr/crc16.h +++ b/cpukit/score/cpu/avr/avr/crc16.h @@ -1,38 +1,54 @@ -/* Copyright (c) 2005 Joerg Wunsch - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ +/** + * @file + * + * @brief Moved to + */ + +/* + * Copyright (c) 2005 Joerg Wunsch + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_CRC16_H_ #define _AVR_CRC16_H_ +/** + * @defgroup Avr_crc16 crc16 + * + * @ingroup avr + */ +/**@{*/ + #warning "This file has been moved to ." #include -#endif /* _AVR_CRC16_H_ */ +/**@}*/ +#endif /* _AVR_CRC16_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/io43u32x.h b/cpukit/score/cpu/avr/avr/io43u32x.h index c31a187d94..5e76a10c12 100644 --- a/cpukit/score/cpu/avr/avr/io43u32x.h +++ b/cpukit/score/cpu/avr/avr/io43u32x.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2003,2005 Keith Gudger - All rights reserved. +/** + * @file avr/io43u32x.h + * + * @brief Definitions for AT43USB32x + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/io43u32x.h - definitions for AT43USB32x */ +/* + * Copyright (c) 2003,2005 Keith Gudger + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO43U32X_H_ #define _AVR_IO43U32X_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_io43u32x AT43USB32x Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "io43u32x.h" #else # error "Attempt to include more than one file." -#endif +#endif /* I/O registers */ @@ -70,7 +82,7 @@ #define DDRE _SFR_IO8(0x02) /* Data Register, Port E */ -#define PORTE _SFR_IO8(0x03) +#define PORTE _SFR_IO8(0x03) /* SPI Control Register */ #define SPCR _SFR_IO8(0x0D) @@ -432,4 +444,5 @@ but no RAMPZ causes gcrt1.S build to fail, so assume 64K for now... */ #define FLASHEND 0x0FFFF -#endif /* _AVR_43USB32X_H_ */ +/**@}*/ +#endif /* _AVR_43USB32X_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/io4434.h b/cpukit/score/cpu/avr/avr/io4434.h index d3719f8fcb..37e1715011 100644 --- a/cpukit/score/cpu/avr/avr/io4434.h +++ b/cpukit/score/cpu/avr/avr/io4434.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2002, Marek Michalkiewicz - All rights reserved. +/** + * @file avr/io4434.h + * + * @brief Definitions for AT90S4434 + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/io4434.h - definitions for AT90S4434 */ +/* + * Copyright (c) 2002 Marek Michalkiewicz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO4434_H_ #define _AVR_IO4434_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_io4434 AT90S4434 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "io4434.h" #else # error "Attempt to include more than one file." -#endif +#endif /* I/O registers */ @@ -562,5 +574,5 @@ #define SIGNATURE_1 0x93 #define SIGNATURE_2 0x03 - -#endif /* _AVR_IO4434_H_ */ +/**@}*/ +#endif /* _AVR_IO4434_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/ioat94k.h b/cpukit/score/cpu/avr/avr/ioat94k.h index 68a9fe2cf5..257e8a6303 100644 --- a/cpukit/score/cpu/avr/avr/ioat94k.h +++ b/cpukit/score/cpu/avr/avr/ioat94k.h @@ -1,41 +1,46 @@ -/* Copyright (c) 2002, Marek Michalkiewicz - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - +/** + * @file avr/ioat94k.h + * + * @brief Definitions for AT94K Series FPSLIC(tm) + * + * This file should only be included from , never directly. + */ -/* avr/ioat94k.h - definitions for AT94K series FPSLIC(tm) */ +/* + * Copyright (c) 2002 Marek Michalkiewicz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOAT94K_H_ #define _AVR_IOAT94K_H_ 1 -/* This file should only be included from , never directly. */ - #ifndef _AVR_IO_H_ # error "Include instead of this file." #endif @@ -44,7 +49,14 @@ # define _AVR_IOXXX_H_ "ioat94k.h" #else # error "Attempt to include more than one file." -#endif +#endif + +/** + * @defgroup Avr_ioat94k AT94K Series FPSLIC(tm) Definitions + * + * @ingroup avr + */ +/**@{*/ /* I/O registers */ @@ -209,33 +221,33 @@ /* Interrupt vectors */ -#define SIG_FPGA_INTERRUPT0 _VECTOR(1) /* FPGA_INT0 */ +#define SIG_FPGA_INTERRUPT0 _VECTOR(1) /* FPGA_INT0 */ #define SIG_INTERRUPT0 _VECTOR(2) /* EXT_INT0 */ -#define SIG_FPGA_INTERRUPT1 _VECTOR(3) /* FPGA_INT1 */ +#define SIG_FPGA_INTERRUPT1 _VECTOR(3) /* FPGA_INT1 */ #define SIG_INTERRUPT1 _VECTOR(4) /* EXT_INT1 */ -#define SIG_FPGA_INTERRUPT2 _VECTOR(5) /* FPGA_INT2 */ +#define SIG_FPGA_INTERRUPT2 _VECTOR(5) /* FPGA_INT2 */ #define SIG_INTERRUPT2 _VECTOR(6) /* EXT_INT2 */ -#define SIG_FPGA_INTERRUPT3 _VECTOR(7) /* FPGA_INT3 */ +#define SIG_FPGA_INTERRUPT3 _VECTOR(7) /* FPGA_INT3 */ #define SIG_INTERRUPT3 _VECTOR(8) /* EXT_INT3 */ -#define SIG_OUTPUT_COMPARE2 _VECTOR(9) /* TIM2_COMP */ -#define SIG_OVERFLOW2 _VECTOR(10) /* TIM2_OVF */ -#define SIG_INPUT_CAPTURE1 _VECTOR(11) /* TIM1_CAPT */ -#define SIG_OUTPUT_COMPARE1A _VECTOR(12) /* TIM1_COMPA */ -#define SIG_OUTPUT_COMPARE1B _VECTOR(13) /* TIM1_COMPB */ -#define SIG_OVERFLOW1 _VECTOR(14) /* TIM1_OVF */ -#define SIG_OUTPUT_COMPARE0 _VECTOR(15) /* TIM0_COMP */ -#define SIG_OVERFLOW0 _VECTOR(16) /* TIM0_OVF */ -#define SIG_FPGA_INTERRUPT4 _VECTOR(17) /* FPGA_INT4 */ -#define SIG_FPGA_INTERRUPT5 _VECTOR(18) /* FPGA_INT5 */ -#define SIG_FPGA_INTERRUPT6 _VECTOR(19) /* FPGA_INT6 */ -#define SIG_FPGA_INTERRUPT7 _VECTOR(20) /* FPGA_INT7 */ +#define SIG_OUTPUT_COMPARE2 _VECTOR(9) /* TIM2_COMP */ +#define SIG_OVERFLOW2 _VECTOR(10) /* TIM2_OVF */ +#define SIG_INPUT_CAPTURE1 _VECTOR(11) /* TIM1_CAPT */ +#define SIG_OUTPUT_COMPARE1A _VECTOR(12) /* TIM1_COMPA */ +#define SIG_OUTPUT_COMPARE1B _VECTOR(13) /* TIM1_COMPB */ +#define SIG_OVERFLOW1 _VECTOR(14) /* TIM1_OVF */ +#define SIG_OUTPUT_COMPARE0 _VECTOR(15) /* TIM0_COMP */ +#define SIG_OVERFLOW0 _VECTOR(16) /* TIM0_OVF */ +#define SIG_FPGA_INTERRUPT4 _VECTOR(17) /* FPGA_INT4 */ +#define SIG_FPGA_INTERRUPT5 _VECTOR(18) /* FPGA_INT5 */ +#define SIG_FPGA_INTERRUPT6 _VECTOR(19) /* FPGA_INT6 */ +#define SIG_FPGA_INTERRUPT7 _VECTOR(20) /* FPGA_INT7 */ #define SIG_UART0_RECV _VECTOR(21) /* UART0_RXC */ #define SIG_UART0_DATA _VECTOR(22) /* UART0_DRE */ #define SIG_UART0_TRANS _VECTOR(23) /* UART0_TXC */ -#define SIG_FPGA_INTERRUPT8 _VECTOR(24) /* FPGA_INT8 */ -#define SIG_FPGA_INTERRUPT9 _VECTOR(25) /* FPGA_INT9 */ -#define SIG_FPGA_INTERRUPT10 _VECTOR(26) /* FPGA_INT10 */ -#define SIG_FPGA_INTERRUPT11 _VECTOR(27) /* FPGA_INT11 */ +#define SIG_FPGA_INTERRUPT8 _VECTOR(24) /* FPGA_INT8 */ +#define SIG_FPGA_INTERRUPT9 _VECTOR(25) /* FPGA_INT9 */ +#define SIG_FPGA_INTERRUPT10 _VECTOR(26) /* FPGA_INT10 */ +#define SIG_FPGA_INTERRUPT11 _VECTOR(27) /* FPGA_INT11 */ #define SIG_UART1_RECV _VECTOR(28) /* UART1_RXC */ #define SIG_UART1_DATA _VECTOR(29) /* UART1_DRE */ #define SIG_UART1_TRANS _VECTOR(30) /* UART1_TXC */ @@ -553,4 +565,5 @@ #define FLASHEND 0x7FFF #endif -#endif /* _AVR_IOAT94K_H_ */ +/**@}*/ +#endif /* _AVR_IOAT94K_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom1281.h b/cpukit/score/cpu/avr/avr/iom1281.h index 39f6916ed1..41b13f1699 100644 --- a/cpukit/score/cpu/avr/avr/iom1281.h +++ b/cpukit/score/cpu/avr/avr/iom1281.h @@ -1,39 +1,52 @@ -/* Copyright (c) 2005 Anatoly Sokolov - All rights reserved. +/** + * @file avr/iom1281.h + * + * @brief Definitions for ATmega1281 + */ + +/* + * Copyright (c) 2005 Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom1281.h - definitions for ATmega1281 */ #ifndef _AVR_IOM1281_H_ #define _AVR_IOM1281_H_ 1 +/** + * @defgroup Avr_iom1281 ATmega1281 Definitions + * + * @ingroup avr + */ +/**@{*/ + #include /* Constants */ @@ -81,7 +94,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -89,5 +102,5 @@ #define SIGNATURE_1 0x97 #define SIGNATURE_2 0x04 - -#endif /* _AVR_IOM1281_H_ */ +/**@}*/ +#endif /* _AVR_IOM1281_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom16m1.h b/cpukit/score/cpu/avr/avr/iom16m1.h index a7cb85e16a..c05ca789e0 100644 --- a/cpukit/score/cpu/avr/avr/iom16m1.h +++ b/cpukit/score/cpu/avr/avr/iom16m1.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom16m1.h - definitions for ATmega16M1 */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iom16m1.h + * + * @brief Definitions for ATmega16M1 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iom16m1.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATmega16M1_H_ #define _AVR_ATmega16M1_H_ 1 +/** + * @defgroup Avr_iom16m1 ATmega16M1 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers. */ @@ -1542,6 +1553,5 @@ #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x84 - -#endif /* _AVR_ATmega16M1_H_ */ - +/**@}*/ +#endif /* _AVR_ATmega16M1_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom16u2.h b/cpukit/score/cpu/avr/avr/iom16u2.h index 346dda6d85..909c80104c 100644 --- a/cpukit/score/cpu/avr/avr/iom16u2.h +++ b/cpukit/score/cpu/avr/avr/iom16u2.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom16u2.h - definitions for ATmega16U2 */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iom16u2.h + * + * @brief Definitions for ATmega16U2 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iom16u2.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATmega16U2_H_ #define _AVR_ATmega16U2_H_ 1 +/** + * @defgroup Avr_iom16u2 ATmega16U2 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers. */ @@ -973,7 +984,7 @@ #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x89 +/**@}*/ /* Device Pin Definitions */ -#endif /* _AVR_ATmega16U2_H_ */ - +#endif /* _AVR_ATmega16U2_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom323.h b/cpukit/score/cpu/avr/avr/iom323.h index 8f6a4d1516..4bdb820a38 100644 --- a/cpukit/score/cpu/avr/avr/iom323.h +++ b/cpukit/score/cpu/avr/avr/iom323.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2002, Marek Michalkiewicz - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - +/** + * @file avr/iom323.h + * + * @brief Definitions for ATmega323 + * + * This file should only be included from , never directly. + */ -/* avr/iom323.h - definitions for ATmega323 */ +/* + * Copyright (c) 2002 Marek Michalkiewicz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM323_H_ #define _AVR_IOM323_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iom323 ATmega323 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "iom323.h" #else # error "Attempt to include more than one file." -#endif +#endif /* I/O registers */ @@ -675,7 +687,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -683,5 +695,5 @@ #define SIGNATURE_1 0x95 #define SIGNATURE_2 0x01 - -#endif /* _AVR_IOM323_H_ */ +/**@}*/ +#endif /* _AVR_IOM323_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom88p.h b/cpukit/score/cpu/avr/avr/iom88p.h index a95fad464b..7ea5c6840a 100644 --- a/cpukit/score/cpu/avr/avr/iom88p.h +++ b/cpukit/score/cpu/avr/avr/iom88p.h @@ -1,38 +1,42 @@ -/* Copyright (c) 2007 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. -*/ - - -/* avr/iom88p.h - definitions for ATmega88P. */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iom88p.h + * + * @brief Definitions for ATmega88P + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2007 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -42,12 +46,19 @@ # define _AVR_IOXXX_H_ "iom88p.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_IOM88P_H_ #define _AVR_IOM88P_H_ 1 +/** + * @defgroup Avr_iom88p ATmega88P Definitions + * + * @ingroup avr + */ +/**@{*/ + /* Registers and associated bit numbers */ #define PINB _SFR_IO8(0x03) @@ -330,7 +341,7 @@ #define WDRF 3 #define MCUCR _SFR_IO8(0x35) -#define IVCE 0 +#define IVCE 0 #define IVSEL 1 #define PUD 4 #define BODSE 5 @@ -795,7 +806,7 @@ #define TIMER2_OVF_vect _VECTOR(9) /* Timer/Counter2 Overflow */ #define TIMER1_CAPT_vect _VECTOR(10) /* Timer/Counter1 Capture Event */ #define TIMER1_COMPA_vect _VECTOR(11) /* Timer/Counter1 Compare Match A */ -#define TIMER1_COMPB_vect _VECTOR(12) /* Timer/Counter1 Compare Match B */ +#define TIMER1_COMPB_vect _VECTOR(12) /* Timer/Counter1 Compare Match B */ #define TIMER1_OVF_vect _VECTOR(13) /* Timer/Counter1 Overflow */ #define TIMER0_COMPA_vect _VECTOR(14) /* TimerCounter0 Compare Match A */ #define TIMER0_COMPB_vect _VECTOR(15) /* TimerCounter0 Compare Match B */ @@ -861,7 +872,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -869,5 +880,5 @@ #define SIGNATURE_1 0x93 #define SIGNATURE_2 0x0F - -#endif /* _AVR_IOM88P_H_ */ +/**@}*/ +#endif /* _AVR_IOM88P_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn12.h b/cpukit/score/cpu/avr/avr/iotn12.h index 7762ec0169..d4b0521e75 100644 --- a/cpukit/score/cpu/avr/avr/iotn12.h +++ b/cpukit/score/cpu/avr/avr/iotn12.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2002,2005 Marek Michalkiewicz - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - +/** + * @file avr/iotn12.h + * + * @brief Definitions for ATtiny12 + * + * This file should only be included from , never directly. + */ -/* avr/iotn12.h - definitions for ATtiny12 */ +/* + * Copyright (c) 2002,2005 Marek Michalkiewicz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOTN12_H_ #define _AVR_IOTN12_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iotn12 ATtiny12 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "iotn12.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef __ASSEMBLER__ # warning "MCU not supported by the C compiler" @@ -260,5 +272,5 @@ #define SIGNATURE_1 0x90 #define SIGNATURE_2 0x05 - -#endif /* _AVR_IOTN12_H_ */ +/**@}*/ +#endif /* _AVR_IOTN12_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn2313a.h b/cpukit/score/cpu/avr/avr/iotn2313a.h index eb3da33fd2..0c82ce0d3e 100644 --- a/cpukit/score/cpu/avr/avr/iotn2313a.h +++ b/cpukit/score/cpu/avr/avr/iotn2313a.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iotn2313a.h - definitions for ATtiny2313A */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iotn2313a.h + * + * @brief Definitions for ATtiny2313A + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iotn2313a.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATtiny2313A_H_ #define _AVR_ATtiny2313A_H_ 1 +/** + * @defgroup Avr_io4434 AT90S4434 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers. */ @@ -764,5 +775,5 @@ #define SCL_PIN PINB #define SCL_BIT 7 -#endif /* _AVR_ATtiny2313A_H_ */ - +/**@}*/ +#endif /* _AVR_ATtiny2313A_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn861a.h b/cpukit/score/cpu/avr/avr/iotn861a.h index 0177134bdd..623c1d4acf 100644 --- a/cpukit/score/cpu/avr/avr/iotn861a.h +++ b/cpukit/score/cpu/avr/avr/iotn861a.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iotn861a.h - definitions for ATtiny861A */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iotn861a.h + * + * @brief Definitions for ATtiny861A + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iotn861a.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATtiny861A_H_ #define _AVR_ATtiny861A_H_ 1 +/** + * @defgroup Avr_iotn861a ATtiny861A Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers. */ @@ -971,5 +982,5 @@ #define PA0_PIN PINADC #define PA0_BIT ADC0 -#endif /* _AVR_ATtiny861A_H_ */ - +/**@}*/ +#endif /* _AVR_ATtiny861A_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn87.h b/cpukit/score/cpu/avr/avr/iotn87.h index b8affdfa12..9ef33a7e08 100644 --- a/cpukit/score/cpu/avr/avr/iotn87.h +++ b/cpukit/score/cpu/avr/avr/iotn87.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iotn87.h - definitions for ATtiny87 */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iotn87.h + * + * @brief Definitions for ATtiny87 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iotn87.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATtiny87_H_ #define _AVR_ATtiny87_H_ 1 +/** + * @defgroup Avr_iotn87 ATtiny87 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers. */ @@ -841,6 +852,5 @@ #define SIGNATURE_1 0x93 #define SIGNATURE_2 0x87 - -#endif /* _AVR_ATtiny87_H_ */ - +/**@}*/ +#endif /* _AVR_ATtiny87_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iox192d3.h b/cpukit/score/cpu/avr/avr/iox192d3.h index f36fc58f9f..a093d53aeb 100644 --- a/cpukit/score/cpu/avr/avr/iox192d3.h +++ b/cpukit/score/cpu/avr/avr/iox192d3.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. +/** + * @file avr/iox192d3.h + * + * @brief Definitions for ATxmega192D3 + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iox192d3.h - definitions for ATxmega192D3 */ - -/* This file should only be included from , never directly. */ +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iox192d3.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATxmega192D3_H_ #define _AVR_ATxmega192D3_H_ 1 +/** + * @defgroup Avr_iox192d3 ATxmega192D3 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Ungrouped common registers */ #define GPIOR0 _SFR_MEM8(0x0000) /* General Purpose IO Register 0 */ @@ -5294,21 +5305,21 @@ IO Module Instances. Mapped to memory. // Generic Port Pins -#define PIN0_bm 0x01 +#define PIN0_bm 0x01 #define PIN0_bp 0 #define PIN1_bm 0x02 #define PIN1_bp 1 -#define PIN2_bm 0x04 +#define PIN2_bm 0x04 #define PIN2_bp 2 -#define PIN3_bm 0x08 +#define PIN3_bm 0x08 #define PIN3_bp 3 -#define PIN4_bm 0x10 +#define PIN4_bm 0x10 #define PIN4_bp 4 -#define PIN5_bm 0x20 +#define PIN5_bm 0x20 #define PIN5_bp 5 -#define PIN6_bm 0x40 +#define PIN6_bm 0x40 #define PIN6_bp 6 -#define PIN7_bm 0x80 +#define PIN7_bm 0x80 #define PIN7_bp 7 @@ -5640,6 +5651,5 @@ IO Module Instances. Mapped to memory. #define SIGNATURE_1 0x97 #define SIGNATURE_2 0x49 - -#endif /* _AVR_ATxmega192D3_H_ */ - +/**@}*/ +#endif /* _AVR_ATxmega192D3_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iox64a3.h b/cpukit/score/cpu/avr/avr/iox64a3.h index 7abb12a732..4f9a18e851 100644 --- a/cpukit/score/cpu/avr/avr/iox64a3.h +++ b/cpukit/score/cpu/avr/avr/iox64a3.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. +/** + * @file avr/iox64a3.h + * + * @brief Definitions for ATxmega64A3 + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iox64a3.h - definitions for ATxmega64A3 */ - -/* This file should only be included from , never directly. */ +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iox64a3.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATxmega64A3_H_ #define _AVR_ATxmega64A3_H_ 1 +/** + * @defgroup Avr_iox64a3 ATxmega64A3 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Ungrouped common registers */ #define GPIO0 _SFR_MEM8(0x0000) /* General Purpose IO Register 0 */ @@ -6437,21 +6448,21 @@ IO Module Instances. Mapped to memory. // Generic Port Pins -#define PIN0_bm 0x01 +#define PIN0_bm 0x01 #define PIN0_bp 0 #define PIN1_bm 0x02 #define PIN1_bp 1 -#define PIN2_bm 0x04 +#define PIN2_bm 0x04 #define PIN2_bp 2 -#define PIN3_bm 0x08 +#define PIN3_bm 0x08 #define PIN3_bp 3 -#define PIN4_bm 0x10 +#define PIN4_bm 0x10 #define PIN4_bp 4 -#define PIN5_bm 0x20 +#define PIN5_bm 0x20 #define PIN5_bp 5 -#define PIN6_bm 0x40 +#define PIN6_bm 0x40 #define PIN6_bp 6 -#define PIN7_bm 0x80 +#define PIN7_bm 0x80 #define PIN7_bp 7 @@ -6884,6 +6895,5 @@ IO Module Instances. Mapped to memory. #define SIGNATURE_1 0x96 #define SIGNATURE_2 0x42 - -#endif /* _AVR_ATxmega64A3_H_ */ - +/**@}*/ +#endif /* _AVR_ATxmega64A3_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iox64d3.h b/cpukit/score/cpu/avr/avr/iox64d3.h index b4954f49dc..6383caaaa3 100644 --- a/cpukit/score/cpu/avr/avr/iox64d3.h +++ b/cpukit/score/cpu/avr/avr/iox64d3.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. +/** + * @file avr/iox64d3.h + * + * @brief Definitions for ATxmega64D3 + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iox64d3.h - definitions for ATxmega64D3 */ - -/* This file should only be included from , never directly. */ +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iox64d3.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATxmega64D3_H_ #define _AVR_ATxmega64D3_H_ 1 +/** + * @defgroup Avr_iox64d3 ATxmega64D3 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Ungrouped common registers */ #define GPIOR0 _SFR_MEM8(0x0000) /* General Purpose IO Register 0 */ @@ -5308,21 +5319,21 @@ IO Module Instances. Mapped to memory. // Generic Port Pins -#define PIN0_bm 0x01 +#define PIN0_bm 0x01 #define PIN0_bp 0 #define PIN1_bm 0x02 #define PIN1_bp 1 -#define PIN2_bm 0x04 +#define PIN2_bm 0x04 #define PIN2_bp 2 -#define PIN3_bm 0x08 +#define PIN3_bm 0x08 #define PIN3_bp 3 -#define PIN4_bm 0x10 +#define PIN4_bm 0x10 #define PIN4_bp 4 -#define PIN5_bm 0x20 +#define PIN5_bm 0x20 #define PIN5_bp 5 -#define PIN6_bm 0x40 +#define PIN6_bm 0x40 #define PIN6_bp 6 -#define PIN7_bm 0x80 +#define PIN7_bm 0x80 #define PIN7_bp 7 @@ -5654,6 +5665,5 @@ IO Module Instances. Mapped to memory. #define SIGNATURE_1 0x96 #define SIGNATURE_2 0x4A - -#endif /* _AVR_ATxmega64D3_H_ */ - +/**@}*/ +#endif /* _AVR_ATxmega64D3_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/lock.h b/cpukit/score/cpu/avr/avr/lock.h index 5ffb769513..ad0d74adc5 100644 --- a/cpukit/score/cpu/avr/avr/lock.h +++ b/cpukit/score/cpu/avr/avr/lock.h @@ -1,187 +1,191 @@ -/* Copyright (c) 2007, Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/lock.h - Lock Bits API */ +/** + * @file avr/lock.h + * + * @brief Lock Bits API + * \par Introduction + * + * The Lockbit API allows a user to specify the lockbit settings for the + * specific AVR device they are compiling for. These lockbit settings will be + * placed in a special section in the ELF output file, after linking. + * + * Programming tools can take advantage of the lockbit information embedded in + * the ELF file, by extracting this information and determining if the lockbits + * need to be programmed after programming the Flash and EEPROM memories. + * This also allows a single ELF file to contain all the + * information needed to program an AVR. + * + * To use the Lockbit API, include the header file, which in turn + * automatically includes the individual I/O header file and the + * file. These other two files provides everything necessary to set the AVR + * lockbits. + * + * \par Lockbit API + * + * Each I/O header file may define up to 3 macros that controls what kinds + * of lockbits are available to the user. + * + * If __LOCK_BITS_EXIST is defined, then two lock bits are available to the + * user and 3 mode settings are defined for these two bits. + * + * If __BOOT_LOCK_BITS_0_EXIST is defined, then the two BLB0 lock bits are + * available to the user and 4 mode settings are defined for these two bits. + * + * If __BOOT_LOCK_BITS_1_EXIST is defined, then the two BLB1 lock bits are + * available to the user and 4 mode settings are defined for these two bits. + * + * If __BOOT_LOCK_APPLICATION_TABLE_BITS_EXIST is defined then two lock bits + * are available to set the locking mode for the Application Table Section + * (which is used in the XMEGA family). + * + * If __BOOT_LOCK_APPLICATION_BITS_EXIST is defined then two lock bits are + * available to set the locking mode for the Application Section (which is used + * in the XMEGA family). + * + * If __BOOT_LOCK_BOOT_BITS_EXIST is defined then two lock bits are available + * to set the locking mode for the Boot Loader Section (which is used in the + * XMEGA family). + * + * The AVR lockbit modes have inverted values, logical 1 for an unprogrammed + * (disabled) bit and logical 0 for a programmed (enabled) bit. The defined + * macros for each individual lock bit represent this in their definition by a + * bit-wise inversion of a mask. For example, the LB_MODE_3 macro is defined + * as: + * \code + * #define LB_MODE_3 (0xFC) + * \endcode + * + * To combine the lockbit mode macros together to represent a whole byte, + * use the bitwise AND operator, like so: + * \code + * (LB_MODE_3 & BLB0_MODE_2) + * \endcode + * + * also defines a macro that provides a default lockbit value: + * LOCKBITS_DEFAULT which is defined to be 0xFF. + * + * See the AVR device specific datasheet for more details about these + * lock bits and the available mode settings. + * + * A convenience macro, LOCKMEM, is defined as a GCC attribute for a + * custom-named section of ".lock". + * + * A convenience macro, LOCKBITS, is defined that declares a variable, __lock, + * of type unsigned char with the attribute defined by LOCKMEM. This variable + * allows the end user to easily set the lockbit data. + * + * \note If a device-specific I/O header file has previously defined LOCKMEM, + * then LOCKMEM is not redefined. If a device-specific I/O header file has + * previously defined LOCKBITS, then LOCKBITS is not redefined. LOCKBITS is + * currently known to be defined in the I/O header files for the XMEGA devices. + * + * \par API Usage Example + * + * Putting all of this together is easy: + * + * \code + * #include + * + * LOCKBITS = (LB_MODE_1 & BLB0_MODE_3 & BLB1_MODE_4); + * + * int main(void) + * { + * return 0; + * } + * \endcode + * + * Or: + * + * \code + * #include + * + * unsigned char __lock __attribute__((section (".lock"))) = + * (LB_MODE_1 & BLB0_MODE_3 & BLB1_MODE_4); + * + * int main(void) + * { + * return 0; + * } + * \endcode + * + * + * + * However there are a number of caveats that you need to be aware of to + * use this API properly. + * + * Be sure to include to get all of the definitions for the API. + * The LOCKBITS macro defines a global variable to store the lockbit data. This + * variable is assigned to its own linker section. Assign the desired lockbit + * values immediately in the variable initialization. + * + * The .lock section in the ELF file will get its values from the initial + * variable assignment ONLY. This means that you can NOT assign values to + * this variable in functions and the new values will not be put into the + * ELF .lock section. + * + * The global variable is declared in the LOCKBITS macro has two leading + * underscores, which means that it is reserved for the "implementation", + * meaning the library, so it will not conflict with a user-named variable. + * + * You must initialize the lockbit variable to some meaningful value, even + * if it is the default value. This is because the lockbits default to a + * logical 1, meaning unprogrammed. Normal uninitialized data defaults to all + * locgial zeros. So it is vital that all lockbits are initialized, even with + * default data. If they are not, then the lockbits may not programmed to the + * desired settings and can possibly put your device into an unrecoverable + * state. + * + * Be sure to have the -mmcu=device flag in your compile command line and + * your linker command line to have the correct device selected and to have + * the correct I/O header file included when you include . + * + * You can print out the contents of the .lock section in the ELF file by + * using this command line: + * \code + * avr-objdump -s -j .lock + * \endcode + */ + +/* + * Copyright (c) 2007, Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_LOCK_H_ #define _AVR_LOCK_H_ 1 - -/** \file */ -/** \defgroup avr_lock : Lockbit Support - - \par Introduction - - The Lockbit API allows a user to specify the lockbit settings for the - specific AVR device they are compiling for. These lockbit settings will be - placed in a special section in the ELF output file, after linking. - - Programming tools can take advantage of the lockbit information embedded in - the ELF file, by extracting this information and determining if the lockbits - need to be programmed after programming the Flash and EEPROM memories. - This also allows a single ELF file to contain all the - information needed to program an AVR. - - To use the Lockbit API, include the header file, which in turn - automatically includes the individual I/O header file and the - file. These other two files provides everything necessary to set the AVR - lockbits. - - \par Lockbit API - - Each I/O header file may define up to 3 macros that controls what kinds - of lockbits are available to the user. - - If __LOCK_BITS_EXIST is defined, then two lock bits are available to the - user and 3 mode settings are defined for these two bits. - - If __BOOT_LOCK_BITS_0_EXIST is defined, then the two BLB0 lock bits are - available to the user and 4 mode settings are defined for these two bits. - - If __BOOT_LOCK_BITS_1_EXIST is defined, then the two BLB1 lock bits are - available to the user and 4 mode settings are defined for these two bits. - - If __BOOT_LOCK_APPLICATION_TABLE_BITS_EXIST is defined then two lock bits - are available to set the locking mode for the Application Table Section - (which is used in the XMEGA family). - - If __BOOT_LOCK_APPLICATION_BITS_EXIST is defined then two lock bits are - available to set the locking mode for the Application Section (which is used - in the XMEGA family). - - If __BOOT_LOCK_BOOT_BITS_EXIST is defined then two lock bits are available - to set the locking mode for the Boot Loader Section (which is used in the - XMEGA family). - - The AVR lockbit modes have inverted values, logical 1 for an unprogrammed - (disabled) bit and logical 0 for a programmed (enabled) bit. The defined - macros for each individual lock bit represent this in their definition by a - bit-wise inversion of a mask. For example, the LB_MODE_3 macro is defined - as: - \code - #define LB_MODE_3 (0xFC) -` \endcode - - To combine the lockbit mode macros together to represent a whole byte, - use the bitwise AND operator, like so: - \code - (LB_MODE_3 & BLB0_MODE_2) - \endcode - - also defines a macro that provides a default lockbit value: - LOCKBITS_DEFAULT which is defined to be 0xFF. - - See the AVR device specific datasheet for more details about these - lock bits and the available mode settings. - - A convenience macro, LOCKMEM, is defined as a GCC attribute for a - custom-named section of ".lock". - - A convenience macro, LOCKBITS, is defined that declares a variable, __lock, - of type unsigned char with the attribute defined by LOCKMEM. This variable - allows the end user to easily set the lockbit data. - - \note If a device-specific I/O header file has previously defined LOCKMEM, - then LOCKMEM is not redefined. If a device-specific I/O header file has - previously defined LOCKBITS, then LOCKBITS is not redefined. LOCKBITS is - currently known to be defined in the I/O header files for the XMEGA devices. - - \par API Usage Example - - Putting all of this together is easy: - - \code - #include - - LOCKBITS = (LB_MODE_1 & BLB0_MODE_3 & BLB1_MODE_4); - - int main(void) - { - return 0; - } - \endcode - - Or: - - \code - #include - - unsigned char __lock __attribute__((section (".lock"))) = - (LB_MODE_1 & BLB0_MODE_3 & BLB1_MODE_4); - - int main(void) - { - return 0; - } - \endcode - - - - However there are a number of caveats that you need to be aware of to - use this API properly. - - Be sure to include to get all of the definitions for the API. - The LOCKBITS macro defines a global variable to store the lockbit data. This - variable is assigned to its own linker section. Assign the desired lockbit - values immediately in the variable initialization. - - The .lock section in the ELF file will get its values from the initial - variable assignment ONLY. This means that you can NOT assign values to - this variable in functions and the new values will not be put into the - ELF .lock section. - - The global variable is declared in the LOCKBITS macro has two leading - underscores, which means that it is reserved for the "implementation", - meaning the library, so it will not conflict with a user-named variable. - - You must initialize the lockbit variable to some meaningful value, even - if it is the default value. This is because the lockbits default to a - logical 1, meaning unprogrammed. Normal uninitialized data defaults to all - locgial zeros. So it is vital that all lockbits are initialized, even with - default data. If they are not, then the lockbits may not programmed to the - desired settings and can possibly put your device into an unrecoverable - state. - - Be sure to have the -mmcu=device flag in your compile command line and - your linker command line to have the correct device selected and to have - the correct I/O header file included when you include . - - You can print out the contents of the .lock section in the ELF file by - using this command line: - \code - avr-objdump -s -j .lock - \endcode - -*/ - +/** + * @defgroup avr_lock Lockbit Support + * + * @ingroup avr + */ +/**@{*/ #ifndef __ASSEMBLER__ @@ -235,4 +239,5 @@ #define LOCKBITS_DEFAULT (0xFF) -#endif /* _AVR_LOCK_H_ */ +/**@}*/ +#endif /* _AVR_LOCK_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/signal.h b/cpukit/score/cpu/avr/avr/signal.h index e9a802408b..5cce9c9164 100644 --- a/cpukit/score/cpu/avr/avr/signal.h +++ b/cpukit/score/cpu/avr/avr/signal.h @@ -1,38 +1,54 @@ -/* Copyright (c) 2002,2005,2006 Marek Michalkiewicz - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ +/** + * @file + * + * @brief Use + */ + +/* + * Copyright (c) 2002, 2005, 2006 Marek Michalkiewicz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_SIGNAL_H_ #define _AVR_SIGNAL_H_ +/** + * @defgroup Avr_signal Signal + * + * @ingroup avr + */ +/**@{*/ + #warning "This header file is obsolete. Use ." #include -#endif /* _AVR_SIGNAL_H_ */ +/**@}*/ +#endif /* _AVR_SIGNAL_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/no_cpu/rtems/asm.h b/cpukit/score/cpu/no_cpu/rtems/asm.h index 90708e3cfc..ee6d2644b1 100644 --- a/cpukit/score/cpu/no_cpu/rtems/asm.h +++ b/cpukit/score/cpu/no_cpu/rtems/asm.h @@ -1,17 +1,19 @@ /** * @file rtems/asm.h * + * @brief Addresses Incompatible Flavors Problems + * * This include file attempts to address the problems * caused by incompatible flavors of assemblers and * toolsets. It primarily addresses variations in the * use of leading underscores on symbols and the requirement * that register names be preceded by a %. + * + * NOTE: The spacing in the use of these macros + * is critical to them working as advertised. */ /* - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. - * * COPYRIGHT: * * This file is based on similar code found in newlib available @@ -26,6 +28,13 @@ #ifndef _RTEMS_ASM_H #define _RTEMS_ASM_H +/** + * @defgroup no_cpuAsm Address Incompatible Flavors Problems + * + * @ingroup no_cpu + */ +/**@{*/ + /* * Indicate we are in an assembly file and get the basic CPU definitions. */ @@ -120,4 +129,5 @@ */ #define EXTERN(sym) .globl SYM (sym) -#endif +/**@}*/ +#endif \ No newline at end of file -- cgit v1.2.3 From 1dbbc0c3b19c9113a2fbf4a511b4cff84dd6aa8e Mon Sep 17 00:00:00 2001 From: Mathew Kallada Date: Sat, 29 Dec 2012 10:27:48 -0600 Subject: score: Doxygen Clean Up Task #1 --- cpukit/score/include/rtems/debug.h | 18 ++++-- cpukit/score/include/rtems/score/apiext.h | 12 ++-- cpukit/score/include/rtems/score/context.h | 24 ++++---- cpukit/score/include/rtems/score/corebarrier.h | 17 +++--- cpukit/score/include/rtems/score/coresem.h | 20 ++++--- cpukit/score/include/rtems/score/isrlevel.h | 9 ++- cpukit/score/include/rtems/score/mpci.h | 44 +++++++------- cpukit/score/include/rtems/score/mppkt.h | 2 + cpukit/score/include/rtems/score/object.h | 73 +++++++++++++---------- cpukit/score/include/rtems/score/objectmp.h | 28 +++++---- cpukit/score/include/rtems/score/priority.h | 4 +- cpukit/score/include/rtems/score/prioritybitmap.h | 13 ++-- cpukit/score/include/rtems/score/protectedheap.h | 4 +- cpukit/score/include/rtems/score/scheduler.h | 6 +- cpukit/score/include/rtems/score/stack.h | 4 +- cpukit/score/include/rtems/score/states.h | 7 ++- cpukit/score/include/rtems/score/timespec.h | 52 ++++++++-------- cpukit/score/include/rtems/score/tqdata.h | 4 +- cpukit/score/include/rtems/score/watchdog.h | 60 +++++++++++-------- cpukit/score/include/rtems/system.h | 12 +++- 20 files changed, 244 insertions(+), 169 deletions(-) diff --git a/cpukit/score/include/rtems/debug.h b/cpukit/score/include/rtems/debug.h index 101aea1478..435a541946 100644 --- a/cpukit/score/include/rtems/debug.h +++ b/cpukit/score/include/rtems/debug.h @@ -22,6 +22,13 @@ #include +/** + * @defgroup ScoreDebug Debug Information + * + * @ingroup Score + */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif @@ -47,26 +54,26 @@ typedef uint32_t rtems_debug_control; SCORE_EXTERN rtems_debug_control _Debug_Level; /** - * @brief Initialize Debug Manager + * @brief Initialize debug manager. */ void _Debug_Manager_initialization( void ); /** - * @brief Enable Debugging + * @brief Enable debugging. */ void rtems_debug_enable( rtems_debug_control to_be_enabled ); /** - * @brief Disable Debugging + * @brief Disable debugging. */ void rtems_debug_disable( rtems_debug_control to_be_disabled ); /** - * @brief Check if Debug is Enabled + * @brief Check if debug is enabled. * * This routine returns TRUE if the requested debug level is * enabled, and FALSE otherwise. @@ -79,5 +86,6 @@ bool rtems_debug_is_enabled( } #endif +/**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/apiext.h b/cpukit/score/include/rtems/score/apiext.h index db77a8b9c8..3a14ad4399 100644 --- a/cpukit/score/include/rtems/score/apiext.h +++ b/cpukit/score/include/rtems/score/apiext.h @@ -1,6 +1,8 @@ /** * @file rtems/score/apiext.h * + * @brief API Extensions Handler + * * This is the API Extensions Handler. */ @@ -106,14 +108,14 @@ SCORE_EXTERN Chain_Control _API_extensions_List; SCORE_EXTERN Chain_Control _API_extensions_Post_switch_list; /** - * @brief Initialize the API Extensions Handler + * @brief Initialize the API extensions handler. * * This routine initializes the API extension handler. */ void _API_extensions_Initialization( void ); /** - * @brief Add Extension Set to the Active Set + * @brief Add extension set to the active set. * * This routine adds @a the_extension to the active set of API extensions. * @@ -142,7 +144,7 @@ void _API_extensions_Add_post_switch( #if defined(FUNCTIONALITY_NOT_CURRENTLY_USED_BY_ANY_API) /** - * @brief Execute all Pre-Driver Extensions + * @brief Execute all pre-driver extensions. * * This routine executes all of the predriver callouts. */ @@ -150,7 +152,7 @@ void _API_extensions_Add_post_switch( #endif /** - * @brief Execute all Post-Driver Extensions + * @brief Execute all post-driver extensions. * * This routine executes all of the postdriver callouts. */ @@ -178,4 +180,4 @@ static inline void _API_extensions_Run_post_switch( Thread_Control *executing ) /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/context.h b/cpukit/score/include/rtems/score/context.h index 96e3f15191..bd184a9fb9 100644 --- a/cpukit/score/include/rtems/score/context.h +++ b/cpukit/score/include/rtems/score/context.h @@ -1,6 +1,8 @@ /** * @file rtems/score/context.h * + * @brief Information About Each Thread's Context + * * This include file contains all information about each thread's context. */ @@ -36,7 +38,7 @@ extern "C" { #include /** - * @brief Size of Floating Point Context Area + * @brief Size of floating point context area. * * This constant defines the number of bytes required * to store a full floating point context. @@ -44,7 +46,7 @@ extern "C" { #define CONTEXT_FP_SIZE CPU_CONTEXT_FP_SIZE /** - * @brief Initialize Context Area + * @brief Initialize context area. * * This routine initializes @a _the_context such that the stack * pointer, interrupt level, and entry point are correct for the @@ -79,7 +81,7 @@ extern "C" { #endif /** - * @brief Perform Context Switch + * @brief Perform context switch. * * This routine saves the current context into the @a _executing * context record and restores the context specified by @a _heir. @@ -91,7 +93,7 @@ extern "C" { _CPU_Context_switch( _executing, _heir ) /** - * @brief Restart Currently Executing Thread + * @brief Restart currently executing thread. * * This routine restarts the calling thread by restoring its initial * stack pointer and returning to the thread's entry point. @@ -103,7 +105,7 @@ extern "C" { #if defined(RTEMS_SMP) /* - * @brief Switch to First Task on Secondary Core + * @brief Switch to first task on secondary core. * * This routine is only used to switch to the first task on a * secondary core in an SMP configuration. Since the switch @@ -119,7 +121,7 @@ extern "C" { #endif /** - * @brief Return Starting Address of Floating Point Context + * @brief Return starting address of floating point context. * * This function returns the starting address of the floating * point context save area. It is assumed that the are reserved @@ -129,13 +131,13 @@ extern "C" { * context save area. * @param[in] _offset is the offset into the floating point area * - * @return the initial FP context pointer + * @retval the initial FP context pointer */ #define _Context_Fp_start( _base, _offset ) \ _CPU_Context_Fp_start( (_base), (_offset) ) /** - * @brief Initialize Floating Point Context Area + * @brief Initialize floating point context area. * * This routine initializes the floating point context save * area to contain an initial known state. @@ -147,7 +149,7 @@ extern "C" { _CPU_Context_Initialize_fp( _fp_area ) /** - * @brief Restore Floating Point Context Area + * @brief Restore floating point context area. * * This routine restores the floating point context contained * in the @a _fp area. It is assumed that the current @@ -160,7 +162,7 @@ extern "C" { _CPU_Context_restore_fp( _fp ) /** - * @brief Save Floating Point Context Area + * @brief Save floating point context area. * * This routine saves the current floating point context * in the @a _fp area. @@ -177,4 +179,4 @@ extern "C" { /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/corebarrier.h b/cpukit/score/include/rtems/score/corebarrier.h index 8072ec1e39..cab782ce29 100644 --- a/cpukit/score/include/rtems/score/corebarrier.h +++ b/cpukit/score/include/rtems/score/corebarrier.h @@ -1,5 +1,7 @@ /** - * @file rtems/score/corebarrier.h + * @file rtems/score/corebarrier.h + * + * @brief Constants and Structures Associated with the Barrier Handler * * This include file contains all the constants and structures associated * with the Barrier Handler. @@ -82,7 +84,7 @@ typedef enum { } CORE_barrier_Status; /** - * @brief Core Barrier Last Status + * @brief Core barrier last status value. * * This is the last status value. */ @@ -121,7 +123,7 @@ typedef struct { } CORE_barrier_Control; /** - * @brief Initialize CORE Barrier + * @brief Initialize core barrier. * * This routine initializes the barrier based on the parameters passed. * @@ -134,7 +136,8 @@ void _CORE_barrier_Initialize( ); /** - * @brief Wait For The Barrier + * @brief Wait for the barrier. + * * This routine wait for the barrier to be released. If the barrier * is set to automatic and this is the appropriate thread, then it returns * immediately. Otherwise, the calling thread is blocked until the barrier @@ -159,7 +162,7 @@ void _CORE_barrier_Wait( ); /** - * @brief Manually releases the barrier + * @brief Manually release the barrier. * * This routine manually releases the barrier. All of the threads waiting * for the barrier will be readied. @@ -169,7 +172,7 @@ void _CORE_barrier_Wait( * @param[in] api_barrier_mp_support is the routine to invoke if the * thread unblocked is remote * - * @return the number of unblocked threads + * @retval the number of unblocked threads */ uint32_t _CORE_barrier_Release( CORE_barrier_Control *the_barrier, @@ -204,4 +207,4 @@ uint32_t _CORE_barrier_Release( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/coresem.h b/cpukit/score/include/rtems/score/coresem.h index d7a8494c55..77a7d3e25f 100644 --- a/cpukit/score/include/rtems/score/coresem.h +++ b/cpukit/score/include/rtems/score/coresem.h @@ -1,6 +1,8 @@ /** * @file rtems/score/coresem.h * + * @brief Data Associated with the Counting Semaphore Handler + * * This include file contains all the constants and structures associated * with the Counting Semaphore Handler. A counting semaphore is the * standard Dijkstra binary semaphore used to provide synchronization @@ -90,7 +92,7 @@ typedef enum { } CORE_semaphore_Status; /** - * @brief Core Semaphore Last Status + * @brief Core semaphore last status value. * * This is the last status value. */ @@ -127,14 +129,14 @@ typedef struct { } CORE_semaphore_Control; /** - * @brief Core Semaphore Initialize - * + * @brief Initialize the semaphore based on the parameters passed. + * * DESCRIPTION: * * This package is the implementation of the CORE Semaphore Handler. * This core object utilizes standard Dijkstra counting semaphores to provide * synchronization and mutual exclusion capabilities. - * + * * This routine initializes the semaphore based on the parameters passed. * * @param[in] the_semaphore is the semaphore to initialize @@ -170,7 +172,7 @@ void _CORE_semaphore_Initialize( #endif /** - * @brief Surrenders a Unit to a Semaphore + * @brief Surrender a unit to a semaphore. * * This routine frees a unit to the semaphore. If a task was blocked waiting * for a unit from this semaphore, then that task will be readied and the unit @@ -182,7 +184,7 @@ void _CORE_semaphore_Initialize( * @param[in] api_semaphore_mp_support is the routine to invoke if the * thread unblocked is remote * - * @return an indication of whether the routine succeeded or failed + * @retval an indication of whether the routine succeeded or failed */ CORE_semaphore_Status _CORE_semaphore_Surrender( CORE_semaphore_Control *the_semaphore, @@ -191,8 +193,8 @@ CORE_semaphore_Status _CORE_semaphore_Surrender( ); /** - * @brief Core Semaphore Flush - * + * @brief Core semaphore flush. + * * DESCRIPTION: * This package is the implementation of the CORE Semaphore Handler. * This core object utilizes standard Dijkstra counting semaphores to provide @@ -223,4 +225,4 @@ void _CORE_semaphore_Flush( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/isrlevel.h b/cpukit/score/include/rtems/score/isrlevel.h index 13f1c53c3f..0bd9de09c0 100644 --- a/cpukit/score/include/rtems/score/isrlevel.h +++ b/cpukit/score/include/rtems/score/isrlevel.h @@ -1,6 +1,8 @@ /** * @file rtems/score/isrlevel.h * + * @brief ISR Level Type + * * This include file defines the ISR Level type. It exists to * simplify include dependencies. It is part of the ISR Handler. */ @@ -22,6 +24,10 @@ extern "C" { #endif /** + * @defgroup ScoreISR ISR Handler + * + * @ingroup Score + * * @addtogroup ScoreISR ISR Handler */ /**@{*/ @@ -37,5 +43,4 @@ typedef uint32_t ISR_Level; #ifdef __cplusplus } #endif -#endif - +#endif \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/mpci.h b/cpukit/score/include/rtems/score/mpci.h index 5fce6a274f..7a8cdd70b9 100644 --- a/cpukit/score/include/rtems/score/mpci.h +++ b/cpukit/score/include/rtems/score/mpci.h @@ -1,6 +1,8 @@ /** * @file rtems/score/mpci.h * + * @brief Constants and Structures Associated with the MPCI Layer + * * This include file contains all the constants and structures associated * with the MPCI layer. It provides mechanisms to utilize packets. */ @@ -180,7 +182,7 @@ SCORE_EXTERN Thread_queue_Control _MPCI_Remote_blocked_threads; SCORE_EXTERN MPCI_Control *_MPCI_table; /** - * @brief Pointer to MP Thread Control Block + * @brief Pointer to MP thread control block. * * The following is used to determine when the multiprocessing receive * thread is executing so that a proxy can be allocated instead of @@ -196,7 +198,7 @@ SCORE_EXTERN MPCI_Packet_processor _MPCI_Packet_processors[MP_PACKET_CLASSES_LAST+1]; /** - * @brief Initialization of the MPCI Handler + * @brief Initialize the MPCI handler. * * This routine performs the initialization necessary for this handler. * @@ -208,14 +210,14 @@ void _MPCI_Handler_initialization( ); /** - * @brief Create the MPCI Server Thread - * + * @brief Create the MPCI server thread. + * * This routine creates the packet receive server used in MP systems. */ void _MPCI_Create_server( void ); /** - * @brief Initialize the MPCI driver + * @brief Initialize the MPCI driver. * * This routine initializes the MPCI driver by * invoking the user provided MPCI initialization callout. @@ -241,14 +243,14 @@ void _MPCI_Register_packet_processor( * This function obtains a packet by invoking the user provided * MPCI get packet callout. * - * @return This method returns a pointer to a MPCI packet which can be + * @retval This method returns a pointer to a MPCI packet which can be * filled in by the caller and used to perform a subsequent * remote operation. */ MP_packet_Prefix *_MPCI_Get_packet ( void ); /** - * @brief Deallocate a packet + * @brief Deallocate a packet. * * This routine deallocates a packet by invoking the user provided * MPCI return packet callout. @@ -260,7 +262,7 @@ void _MPCI_Return_packet ( ); /** - * @brief Send a process packet + * @brief Send a process packet. * * This routine sends a process packet by invoking the user provided * MPCI send callout. @@ -274,7 +276,7 @@ void _MPCI_Send_process_packet ( ); /** - * @brief Send a request packet + * @brief Send a request packet. * * This routine sends a request packet by invoking the user provided * MPCI send callout. @@ -286,7 +288,7 @@ void _MPCI_Send_process_packet ( * may indicate the caller is blocking on a message queue * operation. * - * @return This method returns the operation status from the remote node. + * @retval This method returns the operation status from the remote node. */ uint32_t _MPCI_Send_request_packet ( uint32_t destination, @@ -295,7 +297,7 @@ uint32_t _MPCI_Send_request_packet ( ); /** - * @brief Send a response packet + * @brief Send a response packet. * * This routine sends a response packet by invoking the user provided * MPCI send callout. @@ -309,17 +311,17 @@ void _MPCI_Send_response_packet ( ); /** - * @brief Receive a packet + * @brief Receive a packet. * * This routine receives a packet by invoking the user provided * MPCI receive callout. * - * @return This method returns the packet received. + * @retval This method returns the packet received. */ MP_packet_Prefix *_MPCI_Receive_packet ( void ); /** - * @brief Pass a packet to the thread + * @brief Pass a packet to the thread. * * This routine is responsible for passing @a the_packet to the thread * waiting on the remote operation to complete. The unblocked thread is @@ -327,7 +329,7 @@ MP_packet_Prefix *_MPCI_Receive_packet ( void ); * * @param[in] the_packet is the response packet to be processed. * - * @return This method returns a pointer to the thread which was if unblocked + * @retval This method returns a pointer to the thread which was if unblocked * or NULL if the waiting thread no longer exists. */ Thread_Control *_MPCI_Process_response ( @@ -335,7 +337,7 @@ Thread_Control *_MPCI_Process_response ( ); /** - * @brief Receive and process all packets + * @brief Receive and process all packets. * * This is the server thread which receives and processes all MCPI packets. * @@ -346,14 +348,14 @@ Thread _MPCI_Receive_server( ); /** - * @brief Announce the availability of a packet + * @brief Announce the availability of a packet. * * This routine informs RTEMS of the availability of an MPCI packet. */ void _MPCI_Announce ( void ); /** - * @brief Perform a process on another node + * @brief Perform a process on another node. * * This routine performs a remote procedure call so that a * process operation can be performed on another node. @@ -385,7 +387,7 @@ void _MPCI_Internal_packets_Send_process_packet ( */ /** - * @brief Perform requested action from another node + * @brief Perform requested action from another node. * * This routine performs the actions specific to this package for * the request from another node. @@ -417,7 +419,7 @@ void _MPCI_Internal_packets_Process_packet ( */ /** - * @brief Obtain an internal thread + * @brief Obtain an internal thread. * * This routine is used to obtain an internal threads MP packet. */ @@ -430,4 +432,4 @@ MPCI_Internal_packet *_MPCI_Internal_packets_Get_packet ( void ); /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/mppkt.h b/cpukit/score/include/rtems/score/mppkt.h index 85d80b85b3..7dca30612d 100644 --- a/cpukit/score/include/rtems/score/mppkt.h +++ b/cpukit/score/include/rtems/score/mppkt.h @@ -1,6 +1,8 @@ /** * @file rtems/score/mppkt.h * + * @brief Specification for the Packet Handler + * * This package is the specification for the Packet Handler. * This handler defines the basic packet and provides * mechanisms to utilize packets based on this prefix. diff --git a/cpukit/score/include/rtems/score/object.h b/cpukit/score/include/rtems/score/object.h index 91173c335a..6361730900 100644 --- a/cpukit/score/include/rtems/score/object.h +++ b/cpukit/score/include/rtems/score/object.h @@ -1,6 +1,8 @@ /** * @file rtems/score/object.h * + * @brief Constants and Structures Associated with the Object Handler + * * This include file contains all the constants and structures associated * with the Object Handler. This Handler provides mechanisms which * can be used to initialize and manipulate all objects which have ids. @@ -40,6 +42,7 @@ extern "C" { * * @brief Provides services for all APIs. */ +/**@{*/ /** * @defgroup ScoreCPU CPU Architecture Support @@ -48,12 +51,14 @@ extern "C" { * * @brief Provides CPU architecture dependent services. */ +/**@{*/ /** * @defgroup ScoreObject Object Handler * * @ingroup Score */ +/**@{*/ /** * The following type defines the control block used to manage @@ -502,20 +507,18 @@ void _Objects_Initialize_information ( * * @param[in] api is the API of interest * - * @return A positive integer on success and 0 otherwise. + * @retval A positive integer on success and 0 otherwise. */ unsigned int _Objects_API_maximum_class( uint32_t api ); /** - * @brief Allocate Object + * @brief Allocate an object. * - * This function allocates a object control block from + * This function allocates an object control block from * the inactive chain of free object control blocks. * - * @brief Allocate Object - * * @param[in] information points to an object class information block. */ Objects_Control *_Objects_Allocate( @@ -523,9 +526,9 @@ Objects_Control *_Objects_Allocate( ); /** - * @brief Free Object + * @brief Free an object. * - * This function frees a object control block to the + * This function frees an object control block to the * inactive chain of free object control blocks. * * @param[in] information points to an object class information block. @@ -583,7 +586,8 @@ typedef enum { #define OBJECTS_NAME_ERRORS_LAST OBJECTS_INVALID_NODE /** - * @brief Object Name To Id + * @brief Converts an object name to an Id. + * * This method converts an object name to an Id. It performs a look up * using the object information block for this object class. * @@ -592,7 +596,7 @@ typedef enum { * @param[in] node is the set of nodes to search. * @param[in] id will contain the Id if the search is successful. * - * @return This method returns one of the values from the + * @retval This method returns one of the values from the * @ref Objects_Name_or_id_lookup_errors enumeration to indicate * successful or failure. On success @a id will contain the Id of * the requested object. @@ -606,7 +610,7 @@ Objects_Name_or_id_lookup_errors _Objects_Name_to_id_u32( #if defined(RTEMS_SCORE_OBJECT_ENABLE_STRING_NAMES) /** - * @brief Object ID to Name + * @brief Converts an object name to an Id. * * This method converts an object name to an Id. It performs a look up * using the object information block for this object class. @@ -615,7 +619,7 @@ Objects_Name_or_id_lookup_errors _Objects_Name_to_id_u32( * @param[in] name is the name of the object to find. * @param[in] id will contain the Id if the search is successful. * - * @return This method returns one of the values from the + * @retval This method returns one of the values from the * @ref Objects_Name_or_id_lookup_errors enumeration to indicate * successful or failure. On success @a id will contain the Id of * the requested object. @@ -628,7 +632,8 @@ Objects_Name_or_id_lookup_errors _Objects_Name_to_id_string( #endif /** - * @brief Object Id To Name + * @brief Implements the common portion of the object Id to name directives. + * * This function implements the common portion of the object Id * to name directives. This function returns the name * associated with object id. @@ -636,7 +641,7 @@ Objects_Name_or_id_lookup_errors _Objects_Name_to_id_string( * @param[in] id is the Id of the object whose name we are locating. * @param[in] name will contain the name of the object, if found. * - * @return This method returns one of the values from the + * @retval This method returns one of the values from the * @ref Objects_Name_or_id_lookup_errors enumeration to indicate * successful or failure. On success @a name will contain the name of * the requested object. @@ -649,7 +654,8 @@ Objects_Name_or_id_lookup_errors _Objects_Id_to_name ( ); /** - * @brief Get Object + * @brief Maps object ids to object control blocks. + * * This function maps object ids to object control blocks. * If id corresponds to a local object, then it returns * the_object control pointer which maps to id and location @@ -663,7 +669,7 @@ Objects_Name_or_id_lookup_errors _Objects_Id_to_name ( * @param[in] id is the Id of the object whose name we are locating. * @param[in] location will contain an indication of success or failure. * - * @return This method returns one of the values from the + * @retval This method returns one of the values from the * @ref Objects_Name_or_id_lookup_errors enumeration to indicate * successful or failure. On success @a id will contain the Id of * the requested object. @@ -680,7 +686,7 @@ Objects_Control *_Objects_Get ( ); /** - * @brief Object Get Isr Disable + * @brief Maps object ids to object control blocks. * * This function maps object ids to object control blocks. * If id corresponds to a local object, then it returns @@ -696,7 +702,7 @@ Objects_Control *_Objects_Get ( * @param[in] location will contain an indication of success or failure. * @param[in] level is the interrupt level being turned. * - * @return This method returns one of the values from the + * @retval This method returns one of the values from the * @ref Objects_Name_or_id_lookup_errors enumeration to indicate * successful or failure. On success @a name will contain the name of * the requested object. @@ -714,7 +720,7 @@ Objects_Control *_Objects_Get_isr_disable( ); /** - * @brief Get No protection Object + * @brief Maps object ids to object control blocks. * * This function maps object ids to object control blocks. * If id corresponds to a local object, then it returns @@ -729,7 +735,7 @@ Objects_Control *_Objects_Get_isr_disable( * @param[in] id is the Id of the object whose name we are locating. * @param[in] location will contain an indication of success or failure. * - * @return This method returns one of the values from the + * @retval This method returns one of the values from the * @ref Objects_Name_or_id_lookup_errors enumeration to indicate * successful or failure. On success @a id will contain the Id of * the requested object. @@ -753,7 +759,7 @@ Objects_Control *_Objects_Get_no_protection( * @param[in] location_p will contain an indication of success or failure. * @param[in] next_id_p is the Id of the next object we will look at. * - * @return This method returns the pointer to the object located or + * @retval This method returns the pointer to the object located or * NULL on error. */ Objects_Control *_Objects_Get_next( @@ -764,7 +770,7 @@ Objects_Control *_Objects_Get_next( ); /** - * @brief Get Object Information + * @brief Get object information. * * This function return the information structure given * an the API and Class. This can be done independent of @@ -773,7 +779,7 @@ Objects_Control *_Objects_Get_next( * @param[in] the_api indicates the API for the information we want * @param[in] the_class indicates the Class for the information we want * - * @return This method returns a pointer to the Object Information Table + * @retval This method returns a pointer to the Object Information Table * for the class of objects which corresponds to this object ID. */ Objects_Information *_Objects_Get_information( @@ -782,14 +788,14 @@ Objects_Information *_Objects_Get_information( ); /** - * @brief Get Information of an Object from an ID + * @brief Get information of an object from an ID. * * This function return the information structure given * an @a id of an object. * * @param[in] id is the object ID to get the information from * - * @return This method returns a pointer to the Object Information Table + * @retval This method returns a pointer to the Object Information Table * for the class of objects which corresponds to this object ID. */ Objects_Information *_Objects_Get_information_id( @@ -797,7 +803,7 @@ Objects_Information *_Objects_Get_information_id( ); /** - * @brief _Objects_Get_name_as_string + * @brief Gets object name in the form of a C string. * * This method objects the name of an object and returns its name * in the form of a C string. It attempts to be careful about @@ -807,7 +813,7 @@ Objects_Information *_Objects_Get_information_id( * @param[in] length indicates the length of the caller's buffer * @param[in] name points a string which will be filled in. * - * @return This method returns @a name or NULL on error. @a *name will + * @retval This method returns @a name or NULL on error. @a *name will * contain the name if successful. */ char *_Objects_Get_name_as_string( @@ -817,7 +823,7 @@ char *_Objects_Get_name_as_string( ); /** - * @brief Set Objects Name + * @brief Set objects name. * * This method sets the object name to either a copy of a string * or up to the first four characters of the string based upon @@ -827,7 +833,7 @@ char *_Objects_Get_name_as_string( * @param[in] the_object is the object to operate upon * @param[in] name is a pointer to the name to use * - * @return If successful, true is returned. Otherwise false is returned. + * @retval If successful, true is returned. Otherwise false is returned. */ bool _Objects_Set_name( Objects_Information *information, @@ -836,7 +842,7 @@ bool _Objects_Set_name( ); /** - * @brief Removes Object from Namespace + * @brief Removes object from namespace. * * This function removes @a the_object from the namespace. * @@ -849,7 +855,7 @@ void _Objects_Namespace_remove( ); /** - * @brief Close Object + * @brief Close object. * * This function removes the_object control pointer and object name * in the Local Pointer and Local Name Tables. @@ -867,7 +873,7 @@ void _Objects_Close( * * @param[in] information The object information table. * - * @return The count of active objects. + * @retval The count of active objects. */ Objects_Maximum _Objects_Active_count( const Objects_Information *information @@ -886,5 +892,8 @@ Objects_Maximum _Objects_Active_count( } #endif +/**@}*/ +/**@}*/ +/**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/objectmp.h b/cpukit/score/include/rtems/score/objectmp.h index 4748c61e2b..d6f2fba4b3 100644 --- a/cpukit/score/include/rtems/score/objectmp.h +++ b/cpukit/score/include/rtems/score/objectmp.h @@ -1,6 +1,8 @@ /** * @file rtems/score/objectmp.h * + * @brief Data Associated with the Manipulation of Global RTEMS Objects + * * This include file contains all the constants and structures associated * with the manipulation of Global RTEMS Objects. */ @@ -47,7 +49,8 @@ typedef struct { } Objects_MP_Control; /** - * @brief Objects MP Handler initialization + * @brief Intializes the inactive global object chain + * based on the maximum number of global objects configured. * * This routine intializes the inactive global object chain * based on the maximum number of global objects configured. @@ -55,7 +58,8 @@ typedef struct { void _Objects_MP_Handler_initialization(void); /** - * @brief Objects MP Handler Early Initialization + * @brief Intializes the global object node number + * used in the ID field of all objects. * * This routine intializes the global object node number * used in the ID field of all objects. @@ -63,7 +67,8 @@ void _Objects_MP_Handler_initialization(void); void _Objects_MP_Handler_early_initialization(void); /** - * @brief Objects MP Open + * @brief Place the specified global object in the + * specified information table. * * This routine place the specified global object in the * specified information table. @@ -85,7 +90,8 @@ void _Objects_MP_Open ( ); /** - * @brief Objects MP Allocate and open + * @brief Allocates a global object control block + * and places it in the specified information table. * * This routine allocates a global object control block * and places it in the specified information table. If the @@ -110,7 +116,7 @@ bool _Objects_MP_Allocate_and_open ( ); /** - * @brief Objects MP Close + * @brief Removes a global object from the specified information table. * * This routine removes a global object from the specified * information table and deallocates the global object control block. @@ -121,7 +127,8 @@ void _Objects_MP_Close ( ); /** - * @brief Objects MP Global name search + * @brief Look for the object with the_name in the global + * object tables indicated by information. * * This routine looks for the object with the_name in the global * object tables indicated by information. It returns the ID of the @@ -133,7 +140,7 @@ void _Objects_MP_Close ( * @param[in] nodes_to_search indicates the set of nodes to search. * @param[in] the_id will contain the Id of the object if found. * - * @return This method returns one of the + * @retval This method returns one of the * @ref Objects_Name_or_id_lookup_errors. If successful, @a the_id * will contain the Id of the object. */ @@ -145,7 +152,8 @@ Objects_Name_or_id_lookup_errors _Objects_MP_Global_name_search ( ); /** - * @brief Objects MP Is remote + * @brief Searches the Global Object Table managed + * by information for the object indicated by ID. * * This function searches the Global Object Table managed * by information for the object indicated by ID. If the object @@ -159,7 +167,7 @@ Objects_Name_or_id_lookup_errors _Objects_MP_Global_name_search ( * @param[in] location will contain the location of the object. * @param[in] the_object will contain a pointer to the object. * - * @return This method fills in @a location to indicate successful location + * @retval This method fills in @a location to indicate successful location * of the object or error. On success, @a the_object will be * filled in. */ @@ -192,4 +200,4 @@ SCORE_EXTERN Chain_Control _Objects_MP_Inactive_global_objects; /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/priority.h b/cpukit/score/include/rtems/score/priority.h index 3c6f7771f6..bc137b2fc4 100644 --- a/cpukit/score/include/rtems/score/priority.h +++ b/cpukit/score/include/rtems/score/priority.h @@ -1,6 +1,8 @@ /** * @file rtems/score/priority.h * + * @brief Thread Priority Manipulation Routines + * * This include file contains all thread priority manipulation routines. * This Handler provides mechanisms which can be used to * initialize and manipulate thread priorities. @@ -82,4 +84,4 @@ extern uint8_t rtems_maximum_priority; /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/prioritybitmap.h b/cpukit/score/include/rtems/score/prioritybitmap.h index 4a9966cef7..280a0674fd 100644 --- a/cpukit/score/include/rtems/score/prioritybitmap.h +++ b/cpukit/score/include/rtems/score/prioritybitmap.h @@ -1,6 +1,8 @@ /** * @file rtems/score/prioritybitmap.h * + * @brief Manipulation Routines for the Bitmap Priority Queue Implementation + * * This include file contains all thread priority manipulation routines for * the bit map priority queue implementation. */ @@ -18,8 +20,11 @@ #define _RTEMS_SCORE_PRIORITYBITMAP_H /** - * @addtogroup ScorePriority + * @defgroup ScorePriority Bitmap Priority Thread Routines * + * @ingroup Score + * + * @addtogroup ScorePriority */ /**@{*/ @@ -86,7 +91,7 @@ typedef struct { * * @param[in] _bit_number is the bit number for which we need a mask * - * @return the priority bit mask + * @retval the priority bit mask * * @note This may simply be a pass through to a CPU dependent implementation. */ @@ -100,7 +105,7 @@ typedef struct { * * @param[in] _priority is the priority for which we need the index. * - * @return This method returns the array index into the priority bit map. + * @retval This method returns the array index into the priority bit map. * * @note This may simply be a pass through to a CPU dependent implementation. */ @@ -119,4 +124,4 @@ typedef struct { /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/protectedheap.h b/cpukit/score/include/rtems/score/protectedheap.h index 8c2f2cd66c..90b935033f 100644 --- a/cpukit/score/include/rtems/score/protectedheap.h +++ b/cpukit/score/include/rtems/score/protectedheap.h @@ -3,7 +3,7 @@ * * @ingroup ScoreProtHeap * - * @brief Protected Heap Handler API. + * @brief Protected Heap Handler API */ /* @@ -169,4 +169,4 @@ uintptr_t _Protected_heap_Get_size( Heap_Control *heap ); #endif #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/scheduler.h b/cpukit/score/include/rtems/score/scheduler.h index 117f86a37a..91a6bbdff4 100644 --- a/cpukit/score/include/rtems/score/scheduler.h +++ b/cpukit/score/include/rtems/score/scheduler.h @@ -1,6 +1,8 @@ /** * @file rtems/score/scheduler.h * + * @brief Constants and Structures Associated with the Scheduler + * * This include file contains all the constants and structures associated * with the scheduler. */ @@ -129,7 +131,7 @@ extern Scheduler_Control _Scheduler; (_Scheduler_Priority_compare(_p1,_p2) > 0) /** - * @brief Scheduler is priority higher than + * @brief Initializes the scheduler to the policy chosen by the user. * * This routine initializes the scheduler to the policy chosen by the user * through confdefs, or to the priority scheduler with ready chains by @@ -148,4 +150,4 @@ void _Scheduler_Handler_initialization( void ); #endif #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/stack.h b/cpukit/score/include/rtems/score/stack.h index 1e06e366c9..cae784602a 100644 --- a/cpukit/score/include/rtems/score/stack.h +++ b/cpukit/score/include/rtems/score/stack.h @@ -1,6 +1,8 @@ /** * @file rtems/score/stack.h * + * @brief Information About the Thread Stack Handler + * * This include file contains all information about the thread * Stack Handler. This Handler provides mechanisms which can be used to * initialize and utilize stacks. @@ -66,4 +68,4 @@ extern uint32_t rtems_minimum_stack_size; /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/states.h b/cpukit/score/include/rtems/score/states.h index f71bf9399e..9732875228 100644 --- a/cpukit/score/include/rtems/score/states.h +++ b/cpukit/score/include/rtems/score/states.h @@ -1,6 +1,8 @@ /** * @file rtems/score/states.h * + * @brief Thread Execution State Information + * * This include file contains thread execution state information. */ @@ -17,7 +19,8 @@ #define _RTEMS_SCORE_STATES_H /** - * @defgroup ScoreStates Thread States Handler + * @defgroup Encapsulates functionality which relates to the management of + * the state bitmap associated with each thread. * * @ingroup Score * @@ -127,4 +130,4 @@ typedef uint32_t States_Control; /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/timespec.h b/cpukit/score/include/rtems/score/timespec.h index 41bb8bb3ef..04f066baa7 100644 --- a/cpukit/score/include/rtems/score/timespec.h +++ b/cpukit/score/include/rtems/score/timespec.h @@ -35,7 +35,7 @@ extern "C" { #endif /** - * @brief Set Timespec to Seconds Nanosecond + * @brief Set timespec to seconds nanosecond. * * This method sets the timespec to the specified seconds and nanoseconds * value. @@ -51,7 +51,7 @@ extern "C" { } while (0) /** - * @brief Zero Timespec + * @brief Sets the Timespec to Zero * * This method sets the timespec to zero. * value. @@ -65,37 +65,37 @@ extern "C" { } while (0) /** - * @brief Get Seconds Portion of Timespec + * @brief Get seconds portion of timespec. * * This method returns the seconds portion of the specified timespec * * @param[in] _time points to the timespec * - * @return The seconds portion of @a _time. + * @retval The seconds portion of @a _time. */ #define _Timespec_Get_seconds( _time ) \ ((_time)->tv_sec) /** - * @brief Get Nanoseconds Portion of Timespec + * @brief Get nanoseconds portion of timespec. * * This method returns the nanoseconds portion of the specified timespec * * @param[in] _time points to the timespec * - * @return The nanoseconds portion of @a _time. + * @retval The nanoseconds portion of @a _time. */ #define _Timespec_Get_nanoseconds( _time ) \ ((_time)->tv_nsec) /** - * @brief Is Timespec Valid + * @brief Check if timespec is valid. * * This method determines the validity of a timespec. * * @param[in] time is the timespec instance to validate. * - * @return This method returns true if @a time is valid and + * @retval This method returns true if @a time is valid and * false otherwise. */ bool _Timespec_Is_valid( @@ -103,14 +103,14 @@ bool _Timespec_Is_valid( ); /** - * @brief Timespec Less Than Operator + * @brief The Timespec "less than" operator. * * This method is the less than operator for timespecs. * * @param[in] lhs is the left hand side timespec * @param[in] rhs is the right hand side timespec * - * @return This method returns true if @a lhs is less than the @a rhs and + * @retval This method returns true if @a lhs is less than the @a rhs and * false otherwise. */ bool _Timespec_Less_than( @@ -119,28 +119,28 @@ bool _Timespec_Less_than( ); /** - * @brief Timespec Greater Than Operator + * @brief The Timespec "greater than" operator. * * This method is the greater than operator for timespecs. * * @param[in] lhs is the left hand side timespec * @param[in] rhs is the right hand side timespec * - * @return This method returns true if @a lhs is greater than the @a rhs and + * @retval This method returns true if @a lhs is greater than the @a rhs and * false otherwise. */ #define _Timespec_Greater_than( _lhs, _rhs ) \ _Timespec_Less_than( _rhs, _lhs ) /** - * @brief Timespec equal to Operator + * @brief The Timespec "equal to" operator. * * This method is the is equal to than operator for timespecs. * * @param[in] lhs is the left hand side timespec * @param[in] rhs is the right hand side timespec * - * @return This method returns true if @a lhs is equal to @a rhs and + * @retval This method returns true if @a lhs is equal to @a rhs and * false otherwise. */ #define _Timespec_Equal_to( lhs, rhs ) \ @@ -149,7 +149,7 @@ bool _Timespec_Less_than( ) /** - * @brief Add to a Timespec + * @brief Add two timespecs. * * This routine adds two timespecs. The second argument is added * to the first. @@ -157,7 +157,7 @@ bool _Timespec_Less_than( * @param[in] time is the base time to be added to * @param[in] add is the timespec to add to the first argument * - * @return This method returns the number of seconds @a time increased by. + * @retval This method returns the number of seconds @a time increased by. */ uint32_t _Timespec_Add_to( struct timespec *time, @@ -165,21 +165,21 @@ uint32_t _Timespec_Add_to( ); /** - * @brief Convert Timespec to Number of Ticks + * @brief Convert timespec to number of ticks. * * This routine convert the @a time timespec to the corresponding number * of clock ticks. * * @param[in] time is the time to be converted * - * @return This method returns the number of ticks computed. + * @retval This method returns the number of ticks computed. */ uint32_t _Timespec_To_ticks( const struct timespec *time ); /** - * @brief Convert Ticks to Timespec + * @brief Convert ticks to timespec. * * This routine converts the @a ticks value to the corresponding * timespec format @a time. @@ -193,7 +193,7 @@ void _Timespec_From_ticks( ); /** - * @brief Subtract Two Timespec + * @brief Subtract two timespec. * * This routine subtracts two timespecs. @a result is set to * @a end - @a start. @@ -202,7 +202,7 @@ void _Timespec_From_ticks( * @param[in] end is the ending time * @param[in] result is the difference between starting and ending time. * - * @return This method fills in @a result. + * @retval This method fills in @a result. */ void _Timespec_Subtract( const struct timespec *start, @@ -211,7 +211,7 @@ void _Timespec_Subtract( ); /** - * @brief Divide Timespec By Integer + * @brief Divide timespec by an integer. * * This routine divides a timespec by an integer value. The expected * use is to assist in benchmark calculations where you typically @@ -221,7 +221,7 @@ void _Timespec_Subtract( * @param[in] iterations is the number of iterations * @param[in] result is the average time. * - * @return This method fills in @a result. + * @retval This method fills in @a result. */ void _Timespec_Divide_by_integer( const struct timespec *time, @@ -230,7 +230,7 @@ void _Timespec_Divide_by_integer( ); /** - * @brief Divide Timespec + * @brief Divide a timespec by anonther timespec. * * This routine divides a timespec by another timespec. The * intended use is for calculating percentages to three decimal points. @@ -240,7 +240,7 @@ void _Timespec_Divide_by_integer( * @param[in] ival_percentage is the integer portion of the average * @param[in] fval_percentage is the thousandths of percentage * - * @return This method fills in @a result. + * @retval This method fills in @a result. */ void _Timespec_Divide( const struct timespec *lhs, @@ -256,4 +256,4 @@ void _Timespec_Divide( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/tqdata.h b/cpukit/score/include/rtems/score/tqdata.h index 1c2e1326f5..a4816d700e 100644 --- a/cpukit/score/include/rtems/score/tqdata.h +++ b/cpukit/score/include/rtems/score/tqdata.h @@ -1,6 +1,8 @@ /** * @file rtems/score/tqdata.h * + * @brief Constants and Structures Needed to Declare a Thread Queue + * * This include file contains all the constants and structures * needed to declare a thread queue. */ @@ -113,4 +115,4 @@ typedef struct { /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/watchdog.h b/cpukit/score/include/rtems/score/watchdog.h index 1471f84b28..387208c1b9 100644 --- a/cpukit/score/include/rtems/score/watchdog.h +++ b/cpukit/score/include/rtems/score/watchdog.h @@ -1,6 +1,8 @@ /** * @file rtems/score/watchdog.h * + * @brief Constants and Structures Associated with Watchdog Timers + * * This include file contains all the constants and structures associated * with watchdog timers. This Handler provides mechanisms which can be * used to initialize and manipulate watchdog timers. @@ -38,7 +40,7 @@ extern "C" { #endif /** - * @brief Maximum Interval Length + * @brief Control block used to manage intervals. * * The following type defines the control block used to manage * intervals. @@ -46,14 +48,15 @@ extern "C" { #define WATCHDOG_MAXIMUM_INTERVAL ((Watchdog_Interval) 0xffffffff) /** - * @brief Watchdog Interval Type + * @brief Type is used to specify the length of intervals. * * This type is used to specify the length of intervals. */ typedef uint32_t Watchdog_Interval; /** - * @brief Watchdog Nanoseconds Since Last Tick Extension + * @brief Pointer to the BSP plugin to obtain the number + * of nanoseconds since the last clock tick. * * This type defines a pointer to the BSP plugin to obtain the number * of nanoseconds since the last clock tick. @@ -61,14 +64,14 @@ typedef uint32_t Watchdog_Interval; typedef uint32_t (*Watchdog_Nanoseconds_since_last_tick_routine)(void); /** - * @brief Watchdog Service Routine Return Type + * @brief Return type from a Watchdog Service Routine. * * This type defines the return type from a Watchdog Service Routine. */ typedef void Watchdog_Service_routine; /** - * @brief Watchdog Service Routine Pointer Type + * @brief Pointer to a watchdog service routine. * * This type define a pointer to a watchdog service routine. */ @@ -78,7 +81,7 @@ typedef Watchdog_Service_routine ( *Watchdog_Service_routine_entry )( ); /** - * @brief No timeout constant + * @brief The constant for indefinite wait. * * This is the constant for indefinite wait. It is actually an * illegal interval. @@ -86,7 +89,7 @@ typedef Watchdog_Service_routine ( *Watchdog_Service_routine_entry )( #define WATCHDOG_NO_TIMEOUT 0 /** - * @brief Watchdog States Type + * @brief Set of the states which a watchdog timer may be at any given time. * * This enumerated type is the set of the states in which a * watchdog timer may be at any given time. @@ -108,7 +111,8 @@ typedef enum { } Watchdog_States; /** - * @brief Watchdog Adjustment Directions Type + * @brief the manner in which a watchdog chain may + * be adjusted by the @ref _Watchdog_Adjust routine. * * The following enumerated type details the manner in which * a watchdog chain may be adjusted by the @ref _Watchdog_Adjust @@ -123,7 +127,7 @@ typedef enum { } Watchdog_Adjust_directions; /** - * @brief Watchdog Control Structure + * @brief The control block used to manage each watchdog timer. * * The following record defines the control block used * to manage each watchdog timer. @@ -154,7 +158,7 @@ typedef struct { } Watchdog_Control; /** - * @brief Watchdog Synchronization Level + * @brief Watchdog synchronization level. * * This used for synchronization purposes * during an insert on a watchdog delta chain. @@ -162,7 +166,7 @@ typedef struct { SCORE_EXTERN volatile uint32_t _Watchdog_Sync_level; /** - * @brief Watchdog Synchronization Count + * @brief Watchdog synchronization count. * * This used for synchronization purposes * during an insert on a watchdog delta chain. @@ -170,7 +174,7 @@ SCORE_EXTERN volatile uint32_t _Watchdog_Sync_level; SCORE_EXTERN volatile uint32_t _Watchdog_Sync_count; /** - * @brief Ticks Since System Boot + * @brief The number of ticks since the system was booted. * * This contains the number of ticks since the system was booted. */ @@ -178,7 +182,7 @@ SCORE_EXTERN volatile uint32_t _Watchdog_Sync_count; SCORE_EXTERN volatile Watchdog_Interval _Watchdog_Ticks_since_boot; /** - * @brief Watchdog Nanoseconds Since Last Tick Handler + * @brief The number of nanoseconds since the last clock tick. * * This is a pointer to the optional BSP plugin to obtain the number * of nanoseconds since the last clock tick. @@ -187,21 +191,21 @@ extern Watchdog_Nanoseconds_since_last_tick_routine _Watchdog_Nanoseconds_since_tick_handler; /** - * @brief Per Ticks Watchdog List + * @brief Watchdog chain which is managed at ticks. * * This is the watchdog chain which is managed at ticks. */ SCORE_EXTERN Chain_Control _Watchdog_Ticks_chain; /** - * @brief Per Seconds Watchdog List + * @brief Watchdog chain which is managed at second boundaries. * * This is the watchdog chain which is managed at second boundaries. */ SCORE_EXTERN Chain_Control _Watchdog_Seconds_chain; /** - * @brief Watchdog Handler Initialization + * @brief Initialize the watchdog handler. * * This routine initializes the watchdog handler. The watchdog * synchronization flag is initialized and the watchdog chains are @@ -210,20 +214,21 @@ SCORE_EXTERN Chain_Control _Watchdog_Seconds_chain; void _Watchdog_Handler_initialization( void ); /** - * @brief Remove Watchdog from List + * @brief Removes @a the_watchdog from the watchdog chain. * * This routine removes @a the_watchdog from the watchdog chain on which * it resides and returns the state @a the_watchdog timer was in. * * @param[in] the_watchdog will be removed - * @return the state in which @a the_watchdog was in when removed + * @retval the state in which @a the_watchdog was in when removed */ Watchdog_States _Watchdog_Remove ( Watchdog_Control *the_watchdog ); /** - * @brief Watchdog Adjust + * @brief Adjusts the @a header watchdog chain in the forward + * or backward @a direction for @a units ticks. * * This routine adjusts the @a header watchdog chain in the forward * or backward @a direction for @a units ticks. @@ -239,7 +244,8 @@ void _Watchdog_Adjust ( ); /** - * @brief Watchdog Adjust to Chain + * @brief Adjusts the @a header watchdog chain in the forward + * @a direction for @a units_arg ticks. * * This routine adjusts the @a header watchdog chain in the forward * @a direction for @a units_arg ticks. @@ -259,7 +265,8 @@ void _Watchdog_Adjust_to_chain( ); /** - * @brief Watchdog Insert + * @brief Inserts @a the_watchdog into the @a header watchdog chain + * for a time of @a units. * * This routine inserts @a the_watchdog into the @a header watchdog chain * for a time of @a units. @@ -274,7 +281,8 @@ void _Watchdog_Insert ( ); /** - * @brief Watchdog Tickle + * @brief This routine is invoked at appropriate intervals to update + * the @a header watchdog chain. * * This routine is invoked at appropriate intervals to update * the @a header watchdog chain. @@ -287,7 +295,7 @@ void _Watchdog_Tickle ( ); /** - * @brief Report Information on a Single Watchdog Instance + * @brief Report information on a single watchdog instance. * * This method prints a one line report on the watchdog instance * provided. The @a name may be used to identify the watchdog and @@ -306,7 +314,7 @@ void _Watchdog_Report( ); /** - * @brief Report Information on a Watchdog Chain + * @brief Report information on a watchdog chain. * * This method prints report on the watchdog chain provided. * The @a name may be used to identify the watchdog chain and @@ -326,7 +334,7 @@ void _Watchdog_Report_chain( ); /** - * @brief Default Nanoseconds Since Last Tick Handler + * @brief Handler for default nanoseconds since last tick. * * @retval 0 Always. */ @@ -343,4 +351,4 @@ uint32_t _Watchdog_Nanoseconds_since_tick_default_handler( void ); /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/system.h b/cpukit/score/include/rtems/system.h index 96318f7c3b..0d719dba3d 100644 --- a/cpukit/score/include/rtems/system.h +++ b/cpukit/score/include/rtems/system.h @@ -1,6 +1,6 @@ /** * @file - * + * * @brief Information Included in Every Function in the Executive * * This include file contains information that is included in every @@ -22,6 +22,13 @@ #include +/** + * @defgroup ScoreSystem System Information + * + * @ingroup Score + */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif @@ -54,5 +61,6 @@ extern const char _Copyright_Notice[]; } #endif +/**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file -- cgit v1.2.3 From 53afcfd24613d8e485f3534fae96be10e7e1293a Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Sat, 22 Dec 2012 17:57:07 +0100 Subject: score: Do not inline _RBTree_Find_unprotected() This function is to big to inline. It leads also to test case explosion. --- cpukit/score/include/rtems/score/rbtree.h | 16 ++++++++++++++- cpukit/score/inline/rtems/score/rbtree.inl | 33 ------------------------------ cpukit/score/src/rbtreefind.c | 24 ++++++++++++++++++++++ 3 files changed, 39 insertions(+), 34 deletions(-) diff --git a/cpukit/score/include/rtems/score/rbtree.h b/cpukit/score/include/rtems/score/rbtree.h index 3ce9226bc0..db26e59a96 100644 --- a/cpukit/score/include/rtems/score/rbtree.h +++ b/cpukit/score/include/rtems/score/rbtree.h @@ -224,6 +224,20 @@ RBTree_Node *_RBTree_Get( RBTree_Direction dir ); +/** @brief Find the node with given key in the tree + * + * This function returns a pointer to the node in @a the_rbtree + * having key equal to key of @a the_node if it exists, + * and NULL if not. @a the_node has to be made up before a search. + * + * @note If the tree is not unique and contains duplicate keys, the set + * of duplicate keys acts as FIFO. + */ +RBTree_Node *_RBTree_Find_unprotected( + RBTree_Control *the_rbtree, + RBTree_Node *the_node +); + /** * @brief Find the node with given key in the tree. * @@ -393,4 +407,4 @@ void _RBTree_Iterate_unprotected( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/inline/rtems/score/rbtree.inl b/cpukit/score/inline/rtems/score/rbtree.inl index 439b40a0ba..e25e3df289 100644 --- a/cpukit/score/inline/rtems/score/rbtree.inl +++ b/cpukit/score/inline/rtems/score/rbtree.inl @@ -341,39 +341,6 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_lesser( return compare_result < 0; } -/** @brief Find the node with given key in the tree - * - * This function returns a pointer to the node in @a the_rbtree - * having key equal to key of @a the_node if it exists, - * and NULL if not. @a the_node has to be made up before a search. - * - * @note If the tree is not unique and contains duplicate keys, the set - * of duplicate keys acts as FIFO. - */ -RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Find_unprotected( - RBTree_Control *the_rbtree, - RBTree_Node *the_node - ) -{ - RBTree_Node* iter_node = the_rbtree->root; - RBTree_Node* found = NULL; - int compare_result; - while (iter_node) { - compare_result = the_rbtree->compare_function(the_node, iter_node); - if ( _RBTree_Is_equal( compare_result ) ) { - found = iter_node; - if ( the_rbtree->is_unique ) - break; - } - - RBTree_Direction dir = - (RBTree_Direction) _RBTree_Is_greater( compare_result ); - iter_node = iter_node->child[dir]; - } /* while(iter_node) */ - - return found; -} - /** * @brief Returns the predecessor of a node. * diff --git a/cpukit/score/src/rbtreefind.c b/cpukit/score/src/rbtreefind.c index 2e8cdc3bff..3f205ab391 100644 --- a/cpukit/score/src/rbtreefind.c +++ b/cpukit/score/src/rbtreefind.c @@ -36,3 +36,27 @@ RBTree_Node *_RBTree_Find( _ISR_Enable( level ); return return_node; } + +RBTree_Node *_RBTree_Find_unprotected( + RBTree_Control *the_rbtree, + RBTree_Node *the_node +) +{ + RBTree_Node* iter_node = the_rbtree->root; + RBTree_Node* found = NULL; + int compare_result; + while (iter_node) { + compare_result = the_rbtree->compare_function(the_node, iter_node); + if ( _RBTree_Is_equal( compare_result ) ) { + found = iter_node; + if ( the_rbtree->is_unique ) + break; + } + + RBTree_Direction dir = + (RBTree_Direction) _RBTree_Is_greater( compare_result ); + iter_node = iter_node->child[dir]; + } /* while(iter_node) */ + + return found; +} -- cgit v1.2.3 From 0ca6172722e70acac106816cb69a752ce389a61a Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Sat, 22 Dec 2012 17:58:50 +0100 Subject: score: Add const qualifier --- cpukit/sapi/inline/rtems/rbtree.inl | 8 ++++---- cpukit/score/include/rtems/score/rbtree.h | 8 ++++---- cpukit/score/src/rbtreefind.c | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/cpukit/sapi/inline/rtems/rbtree.inl b/cpukit/sapi/inline/rtems/rbtree.inl index dc53fa0381..f7983ad10d 100644 --- a/cpukit/sapi/inline/rtems/rbtree.inl +++ b/cpukit/sapi/inline/rtems/rbtree.inl @@ -255,8 +255,8 @@ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_root( * @copydoc _RBTree_Find_unprotected() */ RTEMS_INLINE_ROUTINE rtems_rbtree_node* rtems_rbtree_find_unprotected( - rtems_rbtree_control *the_rbtree, - rtems_rbtree_node *the_node + const rtems_rbtree_control *the_rbtree, + const rtems_rbtree_node *the_node ) { return _RBTree_Find_unprotected( the_rbtree, the_node ); @@ -272,8 +272,8 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node* rtems_rbtree_find_unprotected( * of duplicate keys acts as FIFO. */ RTEMS_INLINE_ROUTINE rtems_rbtree_node* rtems_rbtree_find( - rtems_rbtree_control *the_rbtree, - rtems_rbtree_node *the_node + const rtems_rbtree_control *the_rbtree, + const rtems_rbtree_node *the_node ) { return _RBTree_Find( the_rbtree, the_node ); diff --git a/cpukit/score/include/rtems/score/rbtree.h b/cpukit/score/include/rtems/score/rbtree.h index db26e59a96..7b86d29304 100644 --- a/cpukit/score/include/rtems/score/rbtree.h +++ b/cpukit/score/include/rtems/score/rbtree.h @@ -234,8 +234,8 @@ RBTree_Node *_RBTree_Get( * of duplicate keys acts as FIFO. */ RBTree_Node *_RBTree_Find_unprotected( - RBTree_Control *the_rbtree, - RBTree_Node *the_node + const RBTree_Control *the_rbtree, + const RBTree_Node *the_node ); /** @@ -255,8 +255,8 @@ RBTree_Node *_RBTree_Find_unprotected( * + single case */ RBTree_Node *_RBTree_Find( - RBTree_Control *the_rbtree, - RBTree_Node *the_node + const RBTree_Control *the_rbtree, + const RBTree_Node *the_node ); /** diff --git a/cpukit/score/src/rbtreefind.c b/cpukit/score/src/rbtreefind.c index 3f205ab391..2eb92a5ac5 100644 --- a/cpukit/score/src/rbtreefind.c +++ b/cpukit/score/src/rbtreefind.c @@ -23,8 +23,8 @@ #include RBTree_Node *_RBTree_Find( - RBTree_Control *the_rbtree, - RBTree_Node *search_node + const RBTree_Control *the_rbtree, + const RBTree_Node *search_node ) { ISR_Level level; @@ -38,8 +38,8 @@ RBTree_Node *_RBTree_Find( } RBTree_Node *_RBTree_Find_unprotected( - RBTree_Control *the_rbtree, - RBTree_Node *the_node + const RBTree_Control *the_rbtree, + const RBTree_Node *the_node ) { RBTree_Node* iter_node = the_rbtree->root; -- cgit v1.2.3 From 355ca1ad9df98ea86ef9b26198df6e3fd1dc3d16 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Sun, 23 Dec 2012 14:13:46 +0100 Subject: sptests/spintrcritical16: Fix NULL pointer access --- testsuites/sptests/spintrcritical16/init.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/testsuites/sptests/spintrcritical16/init.c b/testsuites/sptests/spintrcritical16/init.c index 396445509d..4d551bae79 100644 --- a/testsuites/sptests/spintrcritical16/init.c +++ b/testsuites/sptests/spintrcritical16/init.c @@ -52,7 +52,10 @@ rtems_timer_service_routine test_release_from_isr( case_hit = true; (void) rtems_semaphore_release( Semaphore ); } - _Thread_queue_Process_timeout( Main_TCB ); + + if ( Main_TCB->Wait.queue != NULL ) { + _Thread_queue_Process_timeout( Main_TCB ); + } } rtems_task Init( -- cgit v1.2.3 From d9e0006dee876a691eb4846f6685d6eef03b64e5 Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Wed, 2 Jan 2013 11:27:31 -0600 Subject: score: Doxygen Clean Up Task #5 --- cpukit/score/cpu/i386/rtems/asm.h | 21 +- cpukit/score/cpu/i386/rtems/score/cpu.h | 10 +- cpukit/score/cpu/i386/rtems/score/i386.h | 10 +- cpukit/score/cpu/i386/rtems/score/idtr.h | 18 +- cpukit/score/cpu/i386/rtems/score/interrupts.h | 18 +- cpukit/score/cpu/i386/rtems/score/registers.h | 8 +- cpukit/score/cpu/i386/rtems/score/types.h | 10 +- cpukit/score/cpu/m32c/rtems/asm.h | 53 +- cpukit/score/cpu/m32c/rtems/score/cpu.h | 1194 ++++++++--------- cpukit/score/cpu/m32c/rtems/score/cpu_asm.h | 12 +- cpukit/score/cpu/m32c/rtems/score/types.h | 10 +- cpukit/score/cpu/no_cpu/rtems/score/cpu.h | 1355 ++++++++++---------- cpukit/score/cpu/no_cpu/rtems/score/cpu_asm.h | 12 +- cpukit/score/cpu/no_cpu/rtems/score/types.h | 10 +- cpukit/score/cpu/powerpc/rtems/asm.h | 21 +- cpukit/score/cpu/powerpc/rtems/powerpc/registers.h | 10 +- cpukit/score/cpu/powerpc/rtems/score/cpu.h | 4 +- cpukit/score/cpu/powerpc/rtems/score/powerpc.h | 10 +- cpukit/score/cpu/powerpc/rtems/score/types.h | 10 +- 19 files changed, 1448 insertions(+), 1348 deletions(-) diff --git a/cpukit/score/cpu/i386/rtems/asm.h b/cpukit/score/cpu/i386/rtems/asm.h index 29594e0844..50b0fd71a0 100644 --- a/cpukit/score/cpu/i386/rtems/asm.h +++ b/cpukit/score/cpu/i386/rtems/asm.h @@ -1,17 +1,20 @@ /** - * @file rtems/asm.h + * @file * - * This include file attempts to address the problems - * caused by incompatible flavors of assemblers and - * toolsets. It primarily addresses variations in the - * use of leading underscores on symbols and the requirement - * that register names be preceded by a %. + * @brief Address the Problems Caused by Incompatible Flavor of + * Assemblers and Toolsets + * + * This include file attempts to address the problems + * caused by incompatible flavors of assemblers and + * toolsets. It primarily addresses variations in the + * use of leading underscores on symbols and the requirement + * that register names be preceded by a %. + * + * NOTE: The spacing in the use of these macros + * is critical to them working as advertised. */ /* - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. - * * COPYRIGHT: * * This file is based on similar code found in newlib available diff --git a/cpukit/score/cpu/i386/rtems/score/cpu.h b/cpukit/score/cpu/i386/rtems/score/cpu.h index 03d6209981..66676047f8 100644 --- a/cpukit/score/cpu/i386/rtems/score/cpu.h +++ b/cpukit/score/cpu/i386/rtems/score/cpu.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/cpu.h + * @file + * + * @brief Intel I386 CPU Dependent Source + * + * This include file contains information pertaining to the Intel + * i386 processor. */ /* - * This include file contains information pertaining to the Intel - * i386 processor. - * * COPYRIGHT (c) 1989-2011. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/i386/rtems/score/i386.h b/cpukit/score/cpu/i386/rtems/score/i386.h index 8b98f4ba28..b21fb93957 100644 --- a/cpukit/score/cpu/i386/rtems/score/i386.h +++ b/cpukit/score/cpu/i386/rtems/score/i386.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/i386.h + * @file + * + * @brief Intel I386 CPU Dependent Source + * + * This include file contains information pertaining to the Intel + * i386 processor. */ /* - * This include file contains information pertaining to the Intel - * i386 processor. - * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/i386/rtems/score/idtr.h b/cpukit/score/cpu/i386/rtems/score/idtr.h index 401aebe2fa..8358fd5a16 100644 --- a/cpukit/score/cpu/i386/rtems/score/idtr.h +++ b/cpukit/score/cpu/i386/rtems/score/idtr.h @@ -1,19 +1,21 @@ /** - * @file rtems/score/idtr.h - */ - -/* + * @file + * + * @brief Intel I386 Data Structures + * * This file contains definitions for data structure related * to Intel system programming. More information can be found * on Intel site and more precisely in the following book : * - * Pentium Processor familly - * Developper's Manual + * Pentium Processor familly + * Developper's Manual * - * Volume 3 : Architecture and Programming Manual + * Volume 3 : Architecture and Programming Manual * * Formerly contained in and extracted from libcpu/i386/cpu.h. - * + */ + +/* * COPYRIGHT (C) 1998 Eric Valette (valette@crf.canon.fr) * Canon Centre Recherche France. * diff --git a/cpukit/score/cpu/i386/rtems/score/interrupts.h b/cpukit/score/cpu/i386/rtems/score/interrupts.h index 08ad2b16c0..4787bcb663 100644 --- a/cpukit/score/cpu/i386/rtems/score/interrupts.h +++ b/cpukit/score/cpu/i386/rtems/score/interrupts.h @@ -1,12 +1,12 @@ /** - * @file rtems/score/interrupts.h + * @file + * + * @brief Intel I386 Interrupt Macros + * + * Formerly contained in and extracted from libcpu/i386/cpu.h */ /* - * i386 interrupt macros. - * - * Formerly contained in and extracted from libcpu/i386/cpu.h - * * COPYRIGHT (c) 1998 valette@crf.canon.fr * * The license and distribution terms for this file may be @@ -28,8 +28,10 @@ typedef void (*rtems_raw_irq_enable) (const struct __rtems_raw_irq_connect_data typedef void (*rtems_raw_irq_disable) (const struct __rtems_raw_irq_connect_data__*); typedef int (*rtems_raw_irq_is_enabled) (const struct __rtems_raw_irq_connect_data__*); -/* - * Interrupt Level Macros +/** + * @name Interrupt Level Macros + * + * @{ */ #define i386_disable_interrupts( _level ) \ @@ -73,5 +75,7 @@ typedef int (*rtems_raw_irq_is_enabled) (const struct __rtems_raw_irq_connect_d #define _CPU_ISR_Disable( _level ) i386_disable_interrupts( _level ) #define _CPU_ISR_Enable( _level ) i386_enable_interrupts( _level ) +/** @} */ + #endif #endif diff --git a/cpukit/score/cpu/i386/rtems/score/registers.h b/cpukit/score/cpu/i386/rtems/score/registers.h index 2b8f7700cd..f9754dcedb 100644 --- a/cpukit/score/cpu/i386/rtems/score/registers.h +++ b/cpukit/score/cpu/i386/rtems/score/registers.h @@ -1,10 +1,12 @@ /** - * @file rtems/score/registers.h + * @file + * + * @brief Intel CPU Constants and Definitions + * + * This file contains definition and constants related to Intel Cpu */ /* - * This file contains definition and constants related to Intel Cpu - * * COPYRIGHT (c) 1998 valette@crf.canon.fr * * The license and distribution terms for this file may be diff --git a/cpukit/score/cpu/i386/rtems/score/types.h b/cpukit/score/cpu/i386/rtems/score/types.h index b2c9d3ec57..104b0fcc92 100644 --- a/cpukit/score/cpu/i386/rtems/score/types.h +++ b/cpukit/score/cpu/i386/rtems/score/types.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/types.h + * @file + * + * @brief Intel I386 CPU Type Definitions + * + * This include file contains type definitions pertaining to the Intel + * i386 processor family. */ /* - * This include file contains type definitions pertaining to the Intel - * i386 processor family. - * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/m32c/rtems/asm.h b/cpukit/score/cpu/m32c/rtems/asm.h index 6d9dcb75b6..f3f244d066 100644 --- a/cpukit/score/cpu/m32c/rtems/asm.h +++ b/cpukit/score/cpu/m32c/rtems/asm.h @@ -1,17 +1,20 @@ /** - * @file rtems/asm.h + * @file + * + * @brief Address the Problems Caused by Incompatible Flavor of + * Assemblers and Toolsets * - * This include file attempts to address the problems - * caused by incompatible flavors of assemblers and - * toolsets. It primarily addresses variations in the - * use of leading underscores on symbols and the requirement - * that register names be preceded by a %. + * This include file attempts to address the problems + * caused by incompatible flavors of assemblers and + * toolsets. It primarily addresses variations in the + * use of leading underscores on symbols and the requirement + * that register names be preceded by a %. + * + * NOTE: The spacing in the use of these macros + * is critical to them working as advertised. */ /* - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. - * * COPYRIGHT: * * This file is based on similar code found in newlib available @@ -38,24 +41,21 @@ #ifndef __USER_LABEL_PREFIX__ /** - * Recent versions of GNU cpp define variables which indicate the - * need for underscores and percents. If not using GNU cpp or - * the version does not support this, then you will obviously - * have to define these as appropriate. + * Recent versions of GNU cpp define variables which indicate the + * need for underscores and percents. If not using GNU cpp or + * the version does not support this, then you will obviously + * have to define these as appropriate. * - * This symbol is prefixed to all C program symbols. + * This symbol is prefixed to all C program symbols. */ #define __USER_LABEL_PREFIX__ _ #endif #ifndef __REGISTER_PREFIX__ /** - * Recent versions of GNU cpp define variables which indicate the - * need for underscores and percents. If not using GNU cpp or - * the version does not support this, then you will obviously - * have to define these as appropriate. + * @see __USER_LABEL_PREFIX__ * - * This symbol is prefixed to all register names. + * This symbol is prefixed to all register names. */ #define __REGISTER_PREFIX__ #endif @@ -83,7 +83,9 @@ #define BEGIN_CODE_DCL .text /** This macro is used to denote the end of a code declaration. */ #define END_CODE_DCL -/** This macro is used to denote the beginning of a data declaration section. */ +/** + * This macro is used to denote the beginning of a data declaration section. + */ #define BEGIN_DATA_DCL .data /** This macro is used to denote the end of a data declaration section. */ #define END_DATA_DCL @@ -105,18 +107,17 @@ #define END /** - * This macro is used to declare a public global symbol. + * This macro is used to declare a public global symbol. * - * @note This must be tailored for a particular flavor of the C compiler. - * They may need to put underscores in front of the symbols. + * NOTE: This must be tailored for a particular flavor of the C compiler. + * They may need to put underscores in front of the symbols. */ #define PUBLIC(sym) .globl SYM (sym) /** - * This macro is used to prototype a public global symbol. + * This macro is used to prototype a public global symbol. * - * @note This must be tailored for a particular flavor of the C compiler. - * They may need to put underscores in front of the symbols. + * @see PUBLIC(sym) .globl SYM (sym) */ #define EXTERN(sym) .globl SYM (sym) diff --git a/cpukit/score/cpu/m32c/rtems/score/cpu.h b/cpukit/score/cpu/m32c/rtems/score/cpu.h index 10cdc5b60a..d09d0aff1c 100644 --- a/cpukit/score/cpu/m32c/rtems/score/cpu.h +++ b/cpukit/score/cpu/m32c/rtems/score/cpu.h @@ -1,5 +1,7 @@ /** - * @file rtems/score/cpu.h + * @file + * + * @brief M32C CPU Dependent Source */ /* @@ -43,172 +45,172 @@ extern "C" { #define RTEMS_USE_16_BIT_OBJECT /** - * Should the calls to @ref _Thread_Enable_dispatch be inlined? + * Should the calls to @ref _Thread_Enable_dispatch be inlined? * - * If TRUE, then they are inlined. - * If FALSE, then a subroutine call is made. + * If TRUE, then they are inlined. + * If FALSE, then a subroutine call is made. * - * This conditional is an example of the classic trade-off of size - * versus speed. Inlining the call (TRUE) typically increases the - * size of RTEMS while speeding up the enabling of dispatching. + * This conditional is an example of the classic trade-off of size + * versus speed. Inlining the call (TRUE) typically increases the + * size of RTEMS while speeding up the enabling of dispatching. * - * @note In general, the @ref _Thread_Dispatch_disable_level will - * only be 0 or 1 unless you are in an interrupt handler and that - * interrupt handler invokes the executive.] When not inlined - * something calls @ref _Thread_Enable_dispatch which in turns calls - * @ref _Thread_Dispatch. If the enable dispatch is inlined, then - * one subroutine call is avoided entirely. + * NOTE: In general, the @ref _Thread_Dispatch_disable_level will + * only be 0 or 1 unless you are in an interrupt handler and that + * interrupt handler invokes the executive.] When not inlined + * something calls @ref _Thread_Enable_dispatch which in turns calls + * @ref _Thread_Dispatch. If the enable dispatch is inlined, then + * one subroutine call is avoided entirely. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_INLINE_ENABLE_DISPATCH FALSE /** - * Should the body of the search loops in _Thread_queue_Enqueue_priority - * be unrolled one time? In unrolled each iteration of the loop examines - * two "nodes" on the chain being searched. Otherwise, only one node - * is examined per iteration. - * - * If TRUE, then the loops are unrolled. - * If FALSE, then the loops are not unrolled. - * - * The primary factor in making this decision is the cost of disabling - * and enabling interrupts (_ISR_Flash) versus the cost of rest of the - * body of the loop. On some CPUs, the flash is more expensive than - * one iteration of the loop body. In this case, it might be desirable - * to unroll the loop. It is important to note that on some CPUs, this - * code is the longest interrupt disable period in RTEMS. So it is - * necessary to strike a balance when setting this parameter. + * Should the body of the search loops in _Thread_queue_Enqueue_priority + * be unrolled one time? In unrolled each iteration of the loop examines + * two "nodes" on the chain being searched. Otherwise, only one node + * is examined per iteration. * - * Port Specific Information: + * If TRUE, then the loops are unrolled. + * If FALSE, then the loops are not unrolled. * - * XXX document implementation including references if appropriate + * The primary factor in making this decision is the cost of disabling + * and enabling interrupts (_ISR_Flash) versus the cost of rest of the + * body of the loop. On some CPUs, the flash is more expensive than + * one iteration of the loop body. In this case, it might be desirable + * to unroll the loop. It is important to note that on some CPUs, this + * code is the longest interrupt disable period in RTEMS. So it is + * necessary to strike a balance when setting this parameter. + * + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ #define CPU_UNROLL_ENQUEUE_PRIORITY TRUE /** - * Does RTEMS manage a dedicated interrupt stack in software? + * Does RTEMS manage a dedicated interrupt stack in software? * - * If TRUE, then a stack is allocated in @ref _ISR_Handler_initialization. - * If FALSE, nothing is done. + * If TRUE, then a stack is allocated in @ref _ISR_Handler_initialization. + * If FALSE, nothing is done. * - * If the CPU supports a dedicated interrupt stack in hardware, - * then it is generally the responsibility of the BSP to allocate it - * and set it up. + * If the CPU supports a dedicated interrupt stack in hardware, + * then it is generally the responsibility of the BSP to allocate it + * and set it up. * - * If the CPU does not support a dedicated interrupt stack, then - * the porter has two options: (1) execute interrupts on the - * stack of the interrupted task, and (2) have RTEMS manage a dedicated - * interrupt stack. + * If the CPU does not support a dedicated interrupt stack, then + * the porter has two options: (1) execute interrupts on the + * stack of the interrupted task, and (2) have RTEMS manage a dedicated + * interrupt stack. * - * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. + * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. * - * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and - * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is - * possible that both are FALSE for a particular CPU. Although it - * is unclear what that would imply about the interrupt processing - * procedure on that CPU. + * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and + * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is + * possible that both are FALSE for a particular CPU. Although it + * is unclear what that would imply about the interrupt processing + * procedure on that CPU. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_HAS_SOFTWARE_INTERRUPT_STACK FALSE /** - * Does the CPU follow the simple vectored interrupt model? + * Does the CPU follow the simple vectored interrupt model? * - * If TRUE, then RTEMS allocates the vector table it internally manages. - * If FALSE, then the BSP is assumed to allocate and manage the vector - * table + * If TRUE, then RTEMS allocates the vector table it internally manages. + * If FALSE, then the BSP is assumed to allocate and manage the vector + * table * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_SIMPLE_VECTORED_INTERRUPTS TRUE /** - * Does this CPU have hardware support for a dedicated interrupt stack? + * Does this CPU have hardware support for a dedicated interrupt stack? * - * If TRUE, then it must be installed during initialization. - * If FALSE, then no installation is performed. + * If TRUE, then it must be installed during initialization. + * If FALSE, then no installation is performed. * - * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. + * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. * - * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and - * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is - * possible that both are FALSE for a particular CPU. Although it - * is unclear what that would imply about the interrupt processing - * procedure on that CPU. + * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and + * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is + * possible that both are FALSE for a particular CPU. Although it + * is unclear what that would imply about the interrupt processing + * procedure on that CPU. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_HAS_HARDWARE_INTERRUPT_STACK TRUE /** - * Does RTEMS allocate a dedicated interrupt stack in the Interrupt Manager? + * Does RTEMS allocate a dedicated interrupt stack in the Interrupt Manager? * - * If TRUE, then the memory is allocated during initialization. - * If FALSE, then the memory is allocated during initialization. + * If TRUE, then the memory is allocated during initialization. + * If FALSE, then the memory is allocated during initialization. * - * This should be TRUE is CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE. + * This should be TRUE is CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ALLOCATE_INTERRUPT_STACK TRUE /** - * Does the RTEMS invoke the user's ISR with the vector number and - * a pointer to the saved interrupt frame (1) or just the vector - * number (0)? + * Does the RTEMS invoke the user's ISR with the vector number and + * a pointer to the saved interrupt frame (1) or just the vector + * number (0)? * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ISR_PASSES_FRAME_POINTER 0 /** - * @def CPU_HARDWARE_FP + * @def CPU_HARDWARE_FP * - * Does the CPU have hardware floating point? + * Does the CPU have hardware floating point? * - * If TRUE, then the RTEMS_FLOATING_POINT task attribute is supported. - * If FALSE, then the RTEMS_FLOATING_POINT task attribute is ignored. + * If TRUE, then the RTEMS_FLOATING_POINT task attribute is supported. + * If FALSE, then the RTEMS_FLOATING_POINT task attribute is ignored. * - * If there is a FP coprocessor such as the i387 or mc68881, then - * the answer is TRUE. + * If there is a FP coprocessor such as the i387 or mc68881, then + * the answer is TRUE. * - * The macro name "M32C_HAS_FPU" should be made CPU specific. - * It indicates whether or not this CPU model has FP support. For - * example, it would be possible to have an i386_nofp CPU model - * which set this to false to indicate that you have an i386 without - * an i387 and wish to leave floating point support out of RTEMS. + * The macro name "M32C_HAS_FPU" should be made CPU specific. + * It indicates whether or not this CPU model has FP support. For + * example, it would be possible to have an i386_nofp CPU model + * which set this to false to indicate that you have an i386 without + * an i387 and wish to leave floating point support out of RTEMS. */ /** - * @def CPU_SOFTWARE_FP + * @def CPU_SOFTWARE_FP * - * Does the CPU have no hardware floating point and GCC provides a - * software floating point implementation which must be context - * switched? + * Does the CPU have no hardware floating point and GCC provides a + * software floating point implementation which must be context + * switched? * - * This feature conditional is used to indicate whether or not there - * is software implemented floating point that must be context - * switched. The determination of whether or not this applies - * is very tool specific and the state saved/restored is also - * compiler specific. + * This feature conditional is used to indicate whether or not there + * is software implemented floating point that must be context + * switched. The determination of whether or not this applies + * is very tool specific and the state saved/restored is also + * compiler specific. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if ( M32C_HAS_FPU == 1 ) #define CPU_HARDWARE_FP TRUE @@ -220,192 +222,195 @@ extern "C" { #define CPU_CONTEXT_FP_SIZE 0 /** - * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? + * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? * - * If TRUE, then the RTEMS_FLOATING_POINT task attribute is assumed. - * If FALSE, then the RTEMS_FLOATING_POINT task attribute is followed. + * If TRUE, then the RTEMS_FLOATING_POINT task attribute is assumed. + * If FALSE, then the RTEMS_FLOATING_POINT task attribute is followed. * - * So far, the only CPUs in which this option has been used are the - * HP PA-RISC and PowerPC. On the PA-RISC, The HP C compiler and - * gcc both implicitly used the floating point registers to perform - * integer multiplies. Similarly, the PowerPC port of gcc has been - * seen to allocate floating point local variables and touch the FPU - * even when the flow through a subroutine (like vfprintf()) might - * not use floating point formats. + * So far, the only CPUs in which this option has been used are the + * HP PA-RISC and PowerPC. On the PA-RISC, The HP C compiler and + * gcc both implicitly used the floating point registers to perform + * integer multiplies. Similarly, the PowerPC port of gcc has been + * seen to allocate floating point local variables and touch the FPU + * even when the flow through a subroutine (like vfprintf()) might + * not use floating point formats. * - * If a function which you would not think utilize the FP unit DOES, - * then one can not easily predict which tasks will use the FP hardware. - * In this case, this option should be TRUE. + * If a function which you would not think utilize the FP unit DOES, + * then one can not easily predict which tasks will use the FP hardware. + * In this case, this option should be TRUE. * - * If @ref CPU_HARDWARE_FP is FALSE, then this should be FALSE as well. + * If @ref CPU_HARDWARE_FP is FALSE, then this should be FALSE as well. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ALL_TASKS_ARE_FP TRUE /** - * Should the IDLE task have a floating point context? + * Should the IDLE task have a floating point context? * - * If TRUE, then the IDLE task is created as a RTEMS_FLOATING_POINT task - * and it has a floating point context which is switched in and out. - * If FALSE, then the IDLE task does not have a floating point context. + * If TRUE, then the IDLE task is created as a RTEMS_FLOATING_POINT task + * and it has a floating point context which is switched in and out. + * If FALSE, then the IDLE task does not have a floating point context. * - * Setting this to TRUE negatively impacts the time required to preempt - * the IDLE task from an interrupt because the floating point context - * must be saved as part of the preemption. + * Setting this to TRUE negatively impacts the time required to preempt + * the IDLE task from an interrupt because the floating point context + * must be saved as part of the preemption. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_IDLE_TASK_IS_FP FALSE /** - * Should the saving of the floating point registers be deferred - * until a context switch is made to another different floating point - * task? - * - * If TRUE, then the floating point context will not be stored until - * necessary. It will remain in the floating point registers and not - * disturned until another floating point task is switched to. - * - * If FALSE, then the floating point context is saved when a floating - * point task is switched out and restored when the next floating point - * task is restored. The state of the floating point registers between - * those two operations is not specified. - * - * If the floating point context does NOT have to be saved as part of - * interrupt dispatching, then it should be safe to set this to TRUE. - * - * Setting this flag to TRUE results in using a different algorithm - * for deciding when to save and restore the floating point context. - * The deferred FP switch algorithm minimizes the number of times - * the FP context is saved and restored. The FP context is not saved - * until a context switch is made to another, different FP task. - * Thus in a system with only one FP task, the FP context will never - * be saved or restored. + * Should the saving of the floating point registers be deferred + * until a context switch is made to another different floating point + * task? * - * Port Specific Information: + * If TRUE, then the floating point context will not be stored until + * necessary. It will remain in the floating point registers and not + * disturned until another floating point task is switched to. * - * XXX document implementation including references if appropriate + * If FALSE, then the floating point context is saved when a floating + * point task is switched out and restored when the next floating point + * task is restored. The state of the floating point registers between + * those two operations is not specified. + * + * If the floating point context does NOT have to be saved as part of + * interrupt dispatching, then it should be safe to set this to TRUE. + * + * Setting this flag to TRUE results in using a different algorithm + * for deciding when to save and restore the floating point context. + * The deferred FP switch algorithm minimizes the number of times + * the FP context is saved and restored. The FP context is not saved + * until a context switch is made to another, different FP task. + * Thus in a system with only one FP task, the FP context will never + * be saved or restored. + * + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ #define CPU_USE_DEFERRED_FP_SWITCH TRUE /** - * Does this port provide a CPU dependent IDLE task implementation? + * Does this port provide a CPU dependent IDLE task implementation? * - * If TRUE, then the routine @ref _CPU_Thread_Idle_body - * must be provided and is the default IDLE thread body instead of - * @ref _CPU_Thread_Idle_body. + * If TRUE, then the routine @ref _CPU_Thread_Idle_body + * must be provided and is the default IDLE thread body instead of + * @ref _CPU_Thread_Idle_body. * - * If FALSE, then use the generic IDLE thread body if the BSP does - * not provide one. + * If FALSE, then use the generic IDLE thread body if the BSP does + * not provide one. * - * This is intended to allow for supporting processors which have - * a low power or idle mode. When the IDLE thread is executed, then - * the CPU can be powered down. + * This is intended to allow for supporting processors which have + * a low power or idle mode. When the IDLE thread is executed, then + * the CPU can be powered down. * - * The order of precedence for selecting the IDLE thread body is: + * The order of precedence for selecting the IDLE thread body is: * - * -# BSP provided - * -# CPU dependent (if provided) - * -# generic (if no BSP and no CPU dependent) + * -# BSP provided + * -# CPU dependent (if provided) + * -# generic (if no BSP and no CPU dependent) * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_PROVIDES_IDLE_THREAD_BODY TRUE /** - * Does the stack grow up (toward higher addresses) or down - * (toward lower addresses)? + * Does the stack grow up (toward higher addresses) or down + * (toward lower addresses)? * - * If TRUE, then the grows upward. - * If FALSE, then the grows toward smaller addresses. + * If TRUE, then the grows upward. + * If FALSE, then the grows toward smaller addresses. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STACK_GROWS_UP TRUE /** - * The following is the variable attribute used to force alignment - * of critical RTEMS structures. On some processors it may make - * sense to have these aligned on tighter boundaries than - * the minimum requirements of the compiler in order to have as - * much of the critical data area as possible in a cache line. + * The following is the variable attribute used to force alignment + * of critical RTEMS structures. On some processors it may make + * sense to have these aligned on tighter boundaries than + * the minimum requirements of the compiler in order to have as + * much of the critical data area as possible in a cache line. * - * The placement of this macro in the declaration of the variables - * is based on the syntactically requirements of the GNU C - * "__attribute__" extension. For example with GNU C, use - * the following to force a structures to a 32 byte boundary. + * The placement of this macro in the declaration of the variables + * is based on the syntactically requirements of the GNU C + * "__attribute__" extension. For example with GNU C, use + * the following to force a structures to a 32 byte boundary. * - * __attribute__ ((aligned (32))) + * __attribute__ ((aligned (32))) * - * @note Currently only the Priority Bit Map table uses this feature. - * To benefit from using this, the data must be heavily - * used so it will stay in the cache and used frequently enough - * in the executive to justify turning this on. + * NOTE: Currently only the Priority Bit Map table uses this feature. + * To benefit from using this, the data must be heavily + * used so it will stay in the cache and used frequently enough + * in the executive to justify turning this on. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STRUCTURE_ALIGNMENT __attribute__ ((aligned (2))) #define CPU_TIMESTAMP_USE_STRUCT_TIMESPEC TRUE /** - * @defgroup CPUEndian Processor Dependent Endianness Support + * @defgroup CPUEndian Processor Dependent Endianness Support * - * This group assists in issues related to processor endianness. + * This group assists in issues related to processor endianness. + * + * @{ */ /** - * @ingroup CPUEndian - * Define what is required to specify how the network to host conversion - * routines are handled. + * Define what is required to specify how the network to host conversion + * routines are handled. * - * @note @a CPU_BIG_ENDIAN and @a CPU_LITTLE_ENDIAN should NOT have the - * same values. + * NOTE: @a CPU_BIG_ENDIAN and @a CPU_LITTLE_ENDIAN should NOT have the + * same values. * - * @see CPU_LITTLE_ENDIAN + * @see CPU_LITTLE_ENDIAN * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_BIG_ENDIAN TRUE /** - * @ingroup CPUEndian - * Define what is required to specify how the network to host conversion - * routines are handled. + * Define what is required to specify how the network to host conversion + * routines are handled. * - * @note @ref CPU_BIG_ENDIAN and @ref CPU_LITTLE_ENDIAN should NOT have the - * same values. + * NOTE: @ref CPU_BIG_ENDIAN and @ref CPU_LITTLE_ENDIAN should NOT have the + * same values. * - * @see CPU_BIG_ENDIAN + * @see CPU_BIG_ENDIAN * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_LITTLE_ENDIAN FALSE +/** @} */ + /** - * @ingroup CPUInterrupt - * The following defines the number of bits actually used in the - * interrupt field of the task mode. How those bits map to the - * CPU interrupt levels is defined by the routine @ref _CPU_ISR_Set_level. + * @ingroup CPUInterrupt + * + * The following defines the number of bits actually used in the + * interrupt field of the task mode. How those bits map to the + * CPU interrupt levels is defined by the routine @ref _CPU_ISR_Set_level. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_MODES_INTERRUPT_MASK 0x00000001 @@ -422,50 +427,52 @@ extern "C" { /** * @defgroup CPUContext Processor Dependent Context Management * - * From the highest level viewpoint, there are 2 types of context to save. + * From the highest level viewpoint, there are 2 types of context to save. * - * -# Interrupt registers to save - * -# Task level registers to save + * -# Interrupt registers to save + * -# Task level registers to save * - * Since RTEMS handles integer and floating point contexts separately, this - * means we have the following 3 context items: + * Since RTEMS handles integer and floating point contexts separately, this + * means we have the following 3 context items: * - * -# task level context stuff:: Context_Control - * -# floating point task stuff:: Context_Control_fp - * -# special interrupt level context :: CPU_Interrupt_frame + * -# task level context stuff:: Context_Control + * -# floating point task stuff:: Context_Control_fp + * -# special interrupt level context :: CPU_Interrupt_frame * - * On some processors, it is cost-effective to save only the callee - * preserved registers during a task context switch. This means - * that the ISR code needs to save those registers which do not - * persist across function calls. It is not mandatory to make this - * distinctions between the caller/callee saves registers for the - * purpose of minimizing context saved during task switch and on interrupts. - * If the cost of saving extra registers is minimal, simplicity is the - * choice. Save the same context on interrupt entry as for tasks in - * this case. + * On some processors, it is cost-effective to save only the callee + * preserved registers during a task context switch. This means + * that the ISR code needs to save those registers which do not + * persist across function calls. It is not mandatory to make this + * distinctions between the caller/callee saves registers for the + * purpose of minimizing context saved during task switch and on interrupts. + * If the cost of saving extra registers is minimal, simplicity is the + * choice. Save the same context on interrupt entry as for tasks in + * this case. * - * Additionally, if gdb is to be made aware of RTEMS tasks for this CPU, then - * care should be used in designing the context area. + * Additionally, if gdb is to be made aware of RTEMS tasks for this CPU, then + * care should be used in designing the context area. * - * On some CPUs with hardware floating point support, the Context_Control_fp - * structure will not be used or it simply consist of an array of a - * fixed number of bytes. This is done when the floating point context - * is dumped by a "FP save context" type instruction and the format - * is not really defined by the CPU. In this case, there is no need - * to figure out the exact format -- only the size. Of course, although - * this is enough information for RTEMS, it is probably not enough for - * a debugger such as gdb. But that is another problem. + * On some CPUs with hardware floating point support, the Context_Control_fp + * structure will not be used or it simply consist of an array of a + * fixed number of bytes. This is done when the floating point context + * is dumped by a "FP save context" type instruction and the format + * is not really defined by the CPU. In this case, there is no need + * to figure out the exact format -- only the size. Of course, although + * this is enough information for RTEMS, it is probably not enough for + * a debugger such as gdb. But that is another problem. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate + * @{ */ /** - * @ingroup CPUContext Management - * This defines the minimal set of integer and processor state registers - * that must be saved during a voluntary context switch from one thread - * to another. + * @ingroup Management + * + * This defines the minimal set of integer and processor state registers + * that must be saved during a voluntary context switch from one thread + * to another. */ typedef struct { /** This will contain the stack pointer. */ @@ -475,48 +482,54 @@ typedef struct { } Context_Control; /** - * @ingroup CPUContext Management + * @ingroup Management * - * This macro returns the stack pointer associated with @a _context. + * This macro returns the stack pointer associated with @a _context. * - * @param[in] _context is the thread context area to access + * @param[in] _context is the thread context area to access * - * @return This method returns the stack pointer. + * @return This method returns the stack pointer. */ #define _CPU_Context_Get_SP( _context ) \ (_context)->sp /** - * @ingroup CPUContext Management - * This defines the set of integer and processor state registers that must - * be saved during an interrupt. This set does not include any which are - * in @ref Context_Control. + * @ingroup Management + * + * This defines the set of integer and processor state registers that must + * be saved during an interrupt. This set does not include any which are + * in @ref Context_Control. */ typedef struct { - /** This field is a hint that a port will have a number of integer - * registers that need to be saved when an interrupt occurs or - * when a context switch occurs at the end of an ISR. + /** + * This field is a hint that a port will have a number of integer + * registers that need to be saved when an interrupt occurs or + * when a context switch occurs at the end of an ISR. */ uint32_t special_interrupt_register; } CPU_Interrupt_frame; +/** @} */ + /** - * @defgroup CPUInterrupt Processor Dependent Interrupt Management + * @defgroup CPUInterrupt Processor Dependent Interrupt Management * - * On some CPUs, RTEMS supports a software managed interrupt stack. - * This stack is allocated by the Interrupt Manager and the switch - * is performed in @ref _ISR_Handler. These variables contain pointers - * to the lowest and highest addresses in the chunk of memory allocated - * for the interrupt stack. Since it is unknown whether the stack - * grows up or down (in general), this give the CPU dependent - * code the option of picking the version it wants to use. + * On some CPUs, RTEMS supports a software managed interrupt stack. + * This stack is allocated by the Interrupt Manager and the switch + * is performed in @ref _ISR_Handler. These variables contain pointers + * to the lowest and highest addresses in the chunk of memory allocated + * for the interrupt stack. Since it is unknown whether the stack + * grows up or down (in general), this give the CPU dependent + * code the option of picking the version it wants to use. * - * @note These two variables are required if the macro - * @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE. + * NOTE: These two variables are required if the macro + * @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate + * + * @{ */ /* @@ -530,48 +543,46 @@ typedef struct { /* XXX: if needed, put more variables here */ /** - * Amount of extra stack (above minimum stack size) required by - * MPCI receive server thread. Remember that in a multiprocessor - * system this thread must exist and be able to process all directives. + * Amount of extra stack (above minimum stack size) required by + * MPCI receive server thread. Remember that in a multiprocessor + * system this thread must exist and be able to process all directives. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_MPCI_RECEIVE_SERVER_EXTRA_STACK 0 /** - * @ingroup CPUInterrupt - * This defines the number of entries in the @ref _ISR_Vector_table managed - * by RTEMS. + * This defines the number of entries in the @ref _ISR_Vector_table managed + * by RTEMS. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_INTERRUPT_NUMBER_OF_VECTORS 32 -/** - * @ingroup CPUInterrupt - * This defines the highest interrupt vector number for this port. - */ +/** This defines the highest interrupt vector number for this port. */ #define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (CPU_INTERRUPT_NUMBER_OF_VECTORS - 1) /** - * @ingroup CPUInterrupt - * This is defined if the port has a special way to report the ISR nesting - * level. Most ports maintain the variable @a _ISR_Nest_level. + * This is defined if the port has a special way to report the ISR nesting + * level. Most ports maintain the variable @a _ISR_Nest_level. */ #define CPU_PROVIDES_ISR_IS_IN_PROGRESS FALSE +/** @} */ + /** - * @ingroup CPUContext - * Should be large enough to run all RTEMS tests. This ensures - * that a "reasonable" small application should not have any problems. + * @ingroup CPUContext + * + * Should be large enough to run all RTEMS tests. This ensures + * that a "reasonable" small application should not have any problems. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STACK_MINIMUM_SIZE (2048L) @@ -582,70 +593,70 @@ typedef struct { #endif /** - * CPU's worst alignment requirement for data types on a byte boundary. This - * alignment does not take into account the requirements for the stack. + * CPU's worst alignment requirement for data types on a byte boundary. This + * alignment does not take into account the requirements for the stack. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ALIGNMENT 2 /** - * This number corresponds to the byte alignment requirement for the - * heap handler. This alignment requirement may be stricter than that - * for the data types alignment specified by @ref CPU_ALIGNMENT. It is - * common for the heap to follow the same alignment requirement as - * @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is strict enough for - * the heap, then this should be set to @ref CPU_ALIGNMENT. - * - * @note This does not have to be a power of 2 although it should be - * a multiple of 2 greater than or equal to 2. The requirement - * to be a multiple of 2 is because the heap uses the least - * significant field of the front and back flags to indicate - * that a block is in use or free. So you do not want any odd - * length blocks really putting length data in that bit. - * - * On byte oriented architectures, @ref CPU_HEAP_ALIGNMENT normally will - * have to be greater or equal to than @ref CPU_ALIGNMENT to ensure that - * elements allocated from the heap meet all restrictions. + * This number corresponds to the byte alignment requirement for the + * heap handler. This alignment requirement may be stricter than that + * for the data types alignment specified by @ref CPU_ALIGNMENT. It is + * common for the heap to follow the same alignment requirement as + * @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is strict enough for + * the heap, then this should be set to @ref CPU_ALIGNMENT. * - * Port Specific Information: + * NOTE: This does not have to be a power of 2 although it should be + * a multiple of 2 greater than or equal to 2. The requirement + * to be a multiple of 2 is because the heap uses the least + * significant field of the front and back flags to indicate + * that a block is in use or free. So you do not want any odd + * length blocks really putting length data in that bit. * - * XXX document implementation including references if appropriate + * On byte oriented architectures, @ref CPU_HEAP_ALIGNMENT normally will + * have to be greater or equal to than @ref CPU_ALIGNMENT to ensure that + * elements allocated from the heap meet all restrictions. + * + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ #define CPU_HEAP_ALIGNMENT 4 /** - * This number corresponds to the byte alignment requirement for memory - * buffers allocated by the partition manager. This alignment requirement - * may be stricter than that for the data types alignment specified by - * @ref CPU_ALIGNMENT. It is common for the partition to follow the same - * alignment requirement as @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is - * strict enough for the partition, then this should be set to - * @ref CPU_ALIGNMENT. + * This number corresponds to the byte alignment requirement for memory + * buffers allocated by the partition manager. This alignment requirement + * may be stricter than that for the data types alignment specified by + * @ref CPU_ALIGNMENT. It is common for the partition to follow the same + * alignment requirement as @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is + * strict enough for the partition, then this should be set to + * @ref CPU_ALIGNMENT. * - * @note This does not have to be a power of 2. It does have to - * be greater or equal to than @ref CPU_ALIGNMENT. + * NOTE: This does not have to be a power of 2. It does have to + * be greater or equal to than @ref CPU_ALIGNMENT. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_PARTITION_ALIGNMENT CPU_ALIGNMENT /** - * This number corresponds to the byte alignment requirement for the - * stack. This alignment requirement may be stricter than that for the - * data types alignment specified by @ref CPU_ALIGNMENT. If the - * @ref CPU_ALIGNMENT is strict enough for the stack, then this should be - * set to 0. + * This number corresponds to the byte alignment requirement for the + * stack. This alignment requirement may be stricter than that for the + * data types alignment specified by @ref CPU_ALIGNMENT. If the + * @ref CPU_ALIGNMENT is strict enough for the stack, then this should be + * set to 0. * - * @note This must be a power of 2 either 0 or greater than @ref CPU_ALIGNMENT. + * NOTE: This must be a power of 2 either 0 or greater than @ref CPU_ALIGNMENT. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STACK_ALIGNMENT 0 @@ -654,25 +665,27 @@ typedef struct { */ /** - * @ingroup CPUInterrupt - * Support routine to initialize the RTEMS vector table after it is allocated. + * @ingroup CPUInterrupt + * + * Support routine to initialize the RTEMS vector table after it is allocated. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Initialize_vectors() /** - * @ingroup CPUInterrupt - * Disable all interrupts for an RTEMS critical section. The previous - * level is returned in @a _isr_cookie. + * @ingroup CPUInterrupt + * + * Disable all interrupts for an RTEMS critical section. The previous + * level is returned in @a _isr_cookie. * - * @param[out] _isr_cookie will contain the previous level cookie + * @param[out] _isr_cookie will contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Disable( _isr_cookie ) \ do { \ @@ -683,16 +696,17 @@ typedef struct { } while(0) /** - * @ingroup CPUInterrupt - * Enable interrupts to the previous level (returned by _CPU_ISR_Disable). - * This indicates the end of an RTEMS critical section. The parameter - * @a _isr_cookie is not modified. + * @ingroup CPUInterrupt + * + * Enable interrupts to the previous level (returned by _CPU_ISR_Disable). + * This indicates the end of an RTEMS critical section. The parameter + * @a _isr_cookie is not modified. * - * @param[in] _isr_cookie contain the previous level cookie + * @param[in] _isr_cookie contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Enable(_isr_cookie) \ do { \ @@ -701,17 +715,18 @@ typedef struct { } while(0) /** - * @ingroup CPUInterrupt - * This temporarily restores the interrupt to @a _isr_cookie before immediately - * disabling them again. This is used to divide long RTEMS critical - * sections into two or more parts. The parameter @a _isr_cookie is not - * modified. + * @ingroup CPUInterrupt + * + * This temporarily restores the interrupt to @a _isr_cookie before immediately + * disabling them again. This is used to divide long RTEMS critical + * sections into two or more parts. The parameter @a _isr_cookie is not + * modified. * - * @param[in] _isr_cookie contain the previous level cookie + * @param[in] _isr_cookie contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Flash( _isr_cookie ) \ do { \ @@ -721,21 +736,21 @@ typedef struct { } while(0) /** - * @ingroup CPUInterrupt - * - * This routine and @ref _CPU_ISR_Get_level - * Map the interrupt level in task mode onto the hardware that the CPU - * actually provides. Currently, interrupt levels which do not - * map onto the CPU in a generic fashion are undefined. Someday, - * it would be nice if these were "mapped" by the application - * via a callout. For example, m68k has 8 levels 0 - 7, levels - * 8 - 255 would be available for bsp/application specific meaning. - * This could be used to manage a programmable interrupt controller - * via the rtems_task_mode directive. + * @ingroup CPUInterrupt * - * Port Specific Information: + * This routine and @ref _CPU_ISR_Get_level + * Map the interrupt level in task mode onto the hardware that the CPU + * actually provides. Currently, interrupt levels which do not + * map onto the CPU in a generic fashion are undefined. Someday, + * it would be nice if these were "mapped" by the application + * via a callout. For example, m68k has 8 levels 0 - 7, levels + * 8 - 255 would be available for bsp/application specific meaning. + *This could be used to manage a programmable interrupt controller + * via the rtems_task_mode directive. * - * XXX document implementation including references if appropriate + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Set_level( _new_level ) \ do { \ @@ -744,15 +759,16 @@ typedef struct { } while(0) /** - * @ingroup CPUInterrupt - * Return the current interrupt disable level for this task in - * the format used by the interrupt level portion of the task mode. + * @ingroup CPUInterrupt + * + * Return the current interrupt disable level for this task in + * the format used by the interrupt level portion of the task mode. * - * @note This routine usually must be implemented as a subroutine. + * NOTE: This routine usually must be implemented as a subroutine. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ uint32_t _CPU_ISR_Get_level( void ); @@ -761,35 +777,36 @@ uint32_t _CPU_ISR_Get_level( void ); /* Context handler macros */ /** - * @ingroup CPUContext - * Initialize the context to a state suitable for starting a - * task after a context restore operation. Generally, this - * involves: - * - * - setting a starting address - * - preparing the stack - * - preparing the stack and frame pointers - * - setting the proper interrupt level in the context - * - initializing the floating point context - * - * This routine generally does not set any unnecessary register - * in the context. The state of the "general data" registers is - * undefined at task start time. - * - * @param[in] _the_context is the context structure to be initialized - * @param[in] _stack_base is the lowest physical address of this task's stack - * @param[in] _size is the size of this task's stack - * @param[in] _isr is the interrupt disable level - * @param[in] _entry_point is the thread's entry point. This is - * always @a _Thread_Handler - * @param[in] _is_fp is TRUE if the thread is to be a floating - * point thread. This is typically only used on CPUs where the - * FPU may be easily disabled by software such as on the SPARC - * where the PSR contains an enable FPU bit. - * - * Port Specific Information: - * - * XXX document implementation including references if appropriate + * @ingroup CPUContext + * + * Initialize the context to a state suitable for starting a + * task after a context restore operation. Generally, this + * involves: + * + * - setting a starting address + * - preparing the stack + * - preparing the stack and frame pointers + * - setting the proper interrupt level in the context + * - initializing the floating point context + * + * This routine generally does not set any unnecessary register + * in the context. The state of the "general data" registers is + * undefined at task start time. + * + * @param[in] _the_context is the context structure to be initialized + * @param[in] _stack_base is the lowest physical address of this task's stack + * @param[in] _size is the size of this task's stack + * @param[in] _isr is the interrupt disable level + * @param[in] _entry_point is the thread's entry point. This is + * always @a _Thread_Handler + * @param[in] _is_fp is TRUE if the thread is to be a floating + * point thread. This is typically only used on CPUs where the + * FPU may be easily disabled by software such as on the SPARC + * where the PSR contains an enable FPU bit. + * + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ void _CPU_Context_Initialize( Context_Control *the_context, @@ -801,66 +818,67 @@ void _CPU_Context_Initialize( ); /** - * This routine is responsible for somehow restarting the currently - * executing task. If you are lucky, then all that is necessary - * is restoring the context. Otherwise, there will need to be - * a special assembly routine which does something special in this - * case. For many ports, simply adding a label to the restore path - * of @ref _CPU_Context_switch will work. On other ports, it may be - * possibly to load a few arguments and jump to the restore path. It will - * not work if restarting self conflicts with the stack frame - * assumptions of restoring a context. + * This routine is responsible for somehow restarting the currently + * executing task. If you are lucky, then all that is necessary + * is restoring the context. Otherwise, there will need to be + * a special assembly routine which does something special in this + * case. For many ports, simply adding a label to the restore path + * of @ref _CPU_Context_switch will work. On other ports, it may be + * possibly to load a few arguments and jump to the restore path. It will + * not work if restarting self conflicts with the stack frame + * assumptions of restoring a context. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_Restart_self( Context_Control *the_context ); /** - * @ingroup CPUContext - * The purpose of this macro is to allow the initial pointer into - * a floating point context area (used to save the floating point - * context) to be at an arbitrary place in the floating point - * context area. - * - * This is necessary because some FP units are designed to have - * their context saved as a stack which grows into lower addresses. - * Other FP units can be saved by simply moving registers into offsets - * from the base of the context area. Finally some FP units provide - * a "dump context" instruction which could fill in from high to low - * or low to high based on the whim of the CPU designers. - * - * @param[in] _base is the lowest physical address of the floating point - * context area - * @param[in] _offset is the offset into the floating point area + * @ingroup CPUContext + * + * The purpose of this macro is to allow the initial pointer into + * a floating point context area (used to save the floating point + * context) to be at an arbitrary place in the floating point + * context area. * - * Port Specific Information: + * This is necessary because some FP units are designed to have + * their context saved as a stack which grows into lower addresses. + * Other FP units can be saved by simply moving registers into offsets + * from the base of the context area. Finally some FP units provide + * a "dump context" instruction which could fill in from high to low + * or low to high based on the whim of the CPU designers. * - * XXX document implementation including references if appropriate + * @param[in] _base is the lowest physical address of the floating point + * context area + * @param[in] _offset is the offset into the floating point area + * + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ #define _CPU_Context_Fp_start( _base, _offset ) \ ( (void *) _Addresses_Add_offset( (_base), (_offset) ) ) /** - * This routine initializes the FP context area passed to it to. - * There are a few standard ways in which to initialize the - * floating point context. The code included for this macro assumes - * that this is a CPU in which a "initial" FP context was saved into - * @a _CPU_Null_fp_context and it simply copies it to the destination - * context passed to it. + * This routine initializes the FP context area passed to it to. + * There are a few standard ways in which to initialize the + * floating point context. The code included for this macro assumes + * that this is a CPU in which a "initial" FP context was saved into + * @a _CPU_Null_fp_context and it simply copies it to the destination + * context passed to it. * - * Other floating point context save/restore models include: - * -# not doing anything, and - * -# putting a "null FP status word" in the correct place in the FP context. + * Other floating point context save/restore models include: + * -# not doing anything, and + * -# putting a "null FP status word" in the correct place in the FP context. * - * @param[in] _destination is the floating point context area + * @param[in] _destination is the floating point context area * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Context_Initialize_fp( _destination ) \ { \ @@ -872,13 +890,13 @@ void _CPU_Context_Restart_self( /* Fatal Error manager macros */ /** - * This routine copies _error into a known place -- typically a stack - * location or a register, optionally disables interrupts, and - * halts/stops the CPU. + * This routine copies _error into a known place -- typically a stack + * location or a register, optionally disables interrupts, and + * halts/stops the CPU. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Fatal_halt( _error ) \ { \ @@ -889,68 +907,66 @@ void _CPU_Context_Restart_self( /* Bitfield handler macros */ /** - * @defgroup CPUBitfield Processor Dependent Bitfield Manipulation + * @defgroup CPUBitfield Processor Dependent Bitfield Manipulation * - * This set of routines are used to implement fast searches for - * the most important ready task. + * This set of routines are used to implement fast searches for + * the most important ready task. + * @{ */ /** - * @ingroup CPUBitfield - * This definition is set to TRUE if the port uses the generic bitfield - * manipulation implementation. + * This definition is set to TRUE if the port uses the generic bitfield + * manipulation implementation. */ #define CPU_USE_GENERIC_BITFIELD_CODE TRUE /** - * @ingroup CPUBitfield - * This definition is set to TRUE if the port uses the data tables provided - * by the generic bitfield manipulation implementation. - * This can occur when actually using the generic bitfield manipulation - * implementation or when implementing the same algorithm in assembly - * language for improved performance. It is unlikely that a port will use - * the data if it has a bitfield scan instruction. + * This definition is set to TRUE if the port uses the data tables provided + * by the generic bitfield manipulation implementation. + * This can occur when actually using the generic bitfield manipulation + * implementation or when implementing the same algorithm in assembly + * language for improved performance. It is unlikely that a port will use + * the data if it has a bitfield scan instruction. */ #define CPU_USE_GENERIC_BITFIELD_DATA TRUE /** - * @ingroup CPUBitfield - * This routine sets @a _output to the bit number of the first bit - * set in @a _value. @a _value is of CPU dependent type - * @a Priority_bit_map_Control. This type may be either 16 or 32 bits - * wide although only the 16 least significant bits will be used. - * - * There are a number of variables in using a "find first bit" type - * instruction. - * - * -# What happens when run on a value of zero? - * -# Bits may be numbered from MSB to LSB or vice-versa. - * -# The numbering may be zero or one based. - * -# The "find first bit" instruction may search from MSB or LSB. - * - * RTEMS guarantees that (1) will never happen so it is not a concern. - * (2),(3), (4) are handled by the macros @ref _CPU_Priority_Mask and - * @ref _CPU_Priority_bits_index. These three form a set of routines - * which must logically operate together. Bits in the _value are - * set and cleared based on masks built by @ref _CPU_Priority_Mask. - * The basic major and minor values calculated by @ref _Priority_Major - * and @ref _Priority_Minor are "massaged" by @ref _CPU_Priority_bits_index - * to properly range between the values returned by the "find first bit" - * instruction. This makes it possible for @ref _Priority_Get_highest to - * calculate the major and directly index into the minor table. - * This mapping is necessary to ensure that 0 (a high priority major/minor) - * is the first bit found. - * - * This entire "find first bit" and mapping process depends heavily - * on the manner in which a priority is broken into a major and minor - * components with the major being the 4 MSB of a priority and minor - * the 4 LSB. Thus (0 << 4) + 0 corresponds to priority 0 -- the highest - * priority. And (15 << 4) + 14 corresponds to priority 254 -- the next - * to the lowest priority. - * - * If your CPU does not have a "find first bit" instruction, then - * there are ways to make do without it. Here are a handful of ways - * to implement this in software: + * This routine sets @a _output to the bit number of the first bit + * set in @a _value. @a _value is of CPU dependent type + * @a Priority_bit_map_Control. This type may be either 16 or 32 bits + * wide although only the 16 least significant bits will be used. + * + * There are a number of variables in using a "find first bit" type + * instruction. + * + * -# What happens when run on a value of zero? + * -# Bits may be numbered from MSB to LSB or vice-versa. + * -# The numbering may be zero or one based. + * -# The "find first bit" instruction may search from MSB or LSB. + * + * RTEMS guarantees that (1) will never happen so it is not a concern. + * (2),(3), (4) are handled by the macros @ref _CPU_Priority_Mask and + * @ref _CPU_Priority_bits_index. These three form a set of routines + * which must logically operate together. Bits in the _value are + * set and cleared based on masks built by @ref _CPU_Priority_Mask. + * The basic major and minor values calculated by @ref _Priority_Major + * and @ref _Priority_Minor are "massaged" by @ref _CPU_Priority_bits_index + * to properly range between the values returned by the "find first bit" + * instruction. This makes it possible for @ref _Priority_Get_highest to + * calculate the major and directly index into the minor table. + * This mapping is necessary to ensure that 0 (a high priority major/minor) + * is the first bit found. + * + * This entire "find first bit" and mapping process depends heavily + * on the manner in which a priority is broken into a major and minor + * components with the major being the 4 MSB of a priority and minor + * the 4 LSB. Thus (0 << 4) + 0 corresponds to priority 0 -- the highest + * priority. And (15 << 4) + 14 corresponds to priority 254 -- the next + * to the lowest priority. + * + * If your CPU does not have a "find first bit" instruction, then + * there are ways to make do without it. Here are a handful of ways + * to implement this in software: * @verbatim - a series of 16 bit test instructions @@ -967,15 +983,15 @@ void _CPU_Context_Restart_self( _number += bit_set_table[ _value ] @endverbatim - * where bit_set_table[ 16 ] has values which indicate the first - * bit set + * where bit_set_table[ 16 ] has values which indicate the first + * bit set * - * @param[in] _value is the value to be scanned - * @param[in] _output is the first bit set + * @param[in] _value is the value to be scanned + * @param[in] _output is the first bit set * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -988,13 +1004,13 @@ void _CPU_Context_Restart_self( /* end of Bitfield handler macros */ /** - * This routine builds the mask which corresponds to the bit fields - * as searched by @ref _CPU_Bitfield_Find_first_bit. See the discussion - * for that routine. + * This routine builds the mask which corresponds to the bit fields + * as searched by @ref _CPU_Bitfield_Find_first_bit. See the discussion + * for that routine. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -1004,17 +1020,16 @@ void _CPU_Context_Restart_self( #endif /** - * @ingroup CPUBitfield - * This routine translates the bit numbers returned by - * @ref _CPU_Bitfield_Find_first_bit into something suitable for use as - * a major or minor component of a priority. See the discussion - * for that routine. + * This routine translates the bit numbers returned by + * @ref _CPU_Bitfield_Find_first_bit into something suitable for use as + * a major or minor component of a priority. See the discussion + * for that routine. * - * @param[in] _priority is the major or minor number to translate + * @param[in] _priority is the major or minor number to translate * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -1023,31 +1038,34 @@ void _CPU_Context_Restart_self( #endif +/** @} */ + /* end of Priority handler macros */ /* functions */ /** - * This routine performs CPU dependent initialization. + * This routine performs CPU dependent initialization. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Initialize(void); /** - * @ingroup CPUInterrupt - * This routine installs a "raw" interrupt handler directly into the - * processor's vector table. + * @ingroup CPUInterrupt * - * @param[in] vector is the vector number - * @param[in] new_handler is the raw ISR handler to install - * @param[in] old_handler is the previously installed ISR Handler + * This routine installs a "raw" interrupt handler directly into the + * processor's vector table. * - * Port Specific Information: + * @param[in] vector is the vector number + * @param[in] new_handler is the raw ISR handler to install + * @param[in] old_handler is the previously installed ISR Handler * - * XXX document implementation including references if appropriate + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ void _CPU_ISR_install_raw_handler( uint32_t vector, @@ -1056,16 +1074,17 @@ void _CPU_ISR_install_raw_handler( ); /** - * @ingroup CPUInterrupt - * This routine installs an interrupt vector. + * @ingroup CPUInterrupt + * + * This routine installs an interrupt vector. * - * @param[in] vector is the vector number - * @param[in] new_handler is the RTEMS ISR handler to install - * @param[in] old_handler is the previously installed ISR Handler + * @param[in] vector is the vector number + * @param[in] new_handler is the RTEMS ISR handler to install + * @param[in] old_handler is the previously installed ISR Handler * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_ISR_install_vector( uint32_t vector, @@ -1074,40 +1093,42 @@ void _CPU_ISR_install_vector( ); /** - * @ingroup CPUInterrupt - * This routine installs the hardware interrupt stack pointer. + * @ingroup CPUInterrupt * - * @note It need only be provided if @ref CPU_HAS_HARDWARE_INTERRUPT_STACK - * is TRUE. + * This routine installs the hardware interrupt stack pointer. * - * Port Specific Information: + * NOTE: It need only be provided if @ref CPU_HAS_HARDWARE_INTERRUPT_STACK + * is TRUE. * - * XXX document implementation including references if appropriate + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ void _CPU_Install_interrupt_stack( void ); /** - * This routine is the CPU dependent IDLE thread body. + * This routine is the CPU dependent IDLE thread body. * - * @note It need only be provided if @ref CPU_PROVIDES_IDLE_THREAD_BODY - * is TRUE. + * NOTE: It need only be provided if @ref CPU_PROVIDES_IDLE_THREAD_BODY + * is TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void *_CPU_Thread_Idle_body( uintptr_t ignored ); /** - * @ingroup CPUContext - * This routine switches from the run context to the heir context. + * @ingroup CPUContext + * + * This routine switches from the run context to the heir context. * - * @param[in] run points to the context of the currently executing task - * @param[in] heir points to the context of the heir task + * @param[in] run points to the context of the currently executing task + * @param[in] heir points to the context of the heir task * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_switch( Context_Control *run, @@ -1115,17 +1136,18 @@ void _CPU_Context_switch( ); /** - * @ingroup CPUContext - * This routine is generally used only to restart self in an - * efficient manner. It may simply be a label in @ref _CPU_Context_switch. + * @ingroup CPUContext + * + * This routine is generally used only to restart self in an + * efficient manner. It may simply be a label in @ref _CPU_Context_switch. * - * @param[in] new_context points to the context to be restored. + * @param[in] new_context points to the context to be restored. * - * @note May be unnecessary to reload some registers. + * NOTE: May be unnecessary to reload some registers. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_restore( Context_Control *new_context @@ -1137,32 +1159,33 @@ typedef CPU_Interrupt_frame CPU_Exception_frame; void _CPU_Exception_frame_print( const CPU_Exception_frame *frame ); /** - * @ingroup CPUEndian - * The following routine swaps the endian format of an unsigned int. - * It must be static because it is referenced indirectly. + * @ingroup CPUEndian + * + * The following routine swaps the endian format of an unsigned int. + * It must be static because it is referenced indirectly. * - * This version will work on any processor, but if there is a better - * way for your CPU PLEASE use it. The most common way to do this is to: + * This version will work on any processor, but if there is a better + * way for your CPU PLEASE use it. The most common way to do this is to: * - * swap least significant two bytes with 16-bit rotate - * swap upper and lower 16-bits - * swap most significant two bytes with 16-bit rotate + * swap least significant two bytes with 16-bit rotate + * swap upper and lower 16-bits + * swap most significant two bytes with 16-bit rotate * - * Some CPUs have special instructions which swap a 32-bit quantity in - * a single instruction (e.g. i486). It is probably best to avoid - * an "endian swapping control bit" in the CPU. One good reason is - * that interrupts would probably have to be disabled to ensure that - * an interrupt does not try to access the same "chunk" with the wrong - * endian. Another good reason is that on some CPUs, the endian bit - * endianness for ALL fetches -- both code and data -- so the code - * will be fetched incorrectly. + * Some CPUs have special instructions which swap a 32-bit quantity in + * a single instruction (e.g. i486). It is probably best to avoid + * an "endian swapping control bit" in the CPU. One good reason is + * that interrupts would probably have to be disabled to ensure that + * an interrupt does not try to access the same "chunk" with the wrong + * endian. Another good reason is that on some CPUs, the endian bit + * endianness for ALL fetches -- both code and data -- so the code + * will be fetched incorrectly. * - * @param[in] value is the value to be swapped - * @return the value after being endian swapped + * @param[in] value is the value to be swapped + * @return the value after being endian swapped * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ static inline uint32_t CPU_swap_u32( uint32_t value @@ -1180,11 +1203,12 @@ static inline uint32_t CPU_swap_u32( } /** - * @ingroup CPUEndian - * This routine swaps a 16 bir quantity. + * @ingroup CPUEndian + * + * This routine swaps a 16 bir quantity. * - * @param[in] value is the value to be swapped - * @return the value after being endian swapped + * @param[in] value is the value to be swapped + * @return the value after being endian swapped */ #define CPU_swap_u16( value ) \ (((value&0xff) << 8) | ((value >> 8)&0xff)) diff --git a/cpukit/score/cpu/m32c/rtems/score/cpu_asm.h b/cpukit/score/cpu/m32c/rtems/score/cpu_asm.h index e3797a93f9..1519fbb6f3 100644 --- a/cpukit/score/cpu/m32c/rtems/score/cpu_asm.h +++ b/cpukit/score/cpu/m32c/rtems/score/cpu_asm.h @@ -1,12 +1,14 @@ /** - * @file rtems/score/cpu_asm.h + * @file + * + * @brief M32C CPU Assembly File + * + * Very loose template for an include file for the cpu_asm.? file + * if it is implemented as a ".S" file (preprocessed by cpp) instead + * of a ".s" file (preprocessed by gm4 or gasp). */ /* - * Very loose template for an include file for the cpu_asm.? file - * if it is implemented as a ".S" file (preprocessed by cpp) instead - * of a ".s" file (preprocessed by gm4 or gasp). - * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/m32c/rtems/score/types.h b/cpukit/score/cpu/m32c/rtems/score/types.h index b9636ad780..4f1e7fe519 100644 --- a/cpukit/score/cpu/m32c/rtems/score/types.h +++ b/cpukit/score/cpu/m32c/rtems/score/types.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/types.h + * @file + * + * @brief M32C CPU Type Definitions + * + * This include file contains type definitions pertaining to the Intel + * m32c processor family. */ /* - * This include file contains type definitions pertaining to the Intel - * m32c processor family. - * * COPYRIGHT (c) 1989-2006. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/no_cpu/rtems/score/cpu.h b/cpukit/score/cpu/no_cpu/rtems/score/cpu.h index fe63aea3fc..87dd232021 100644 --- a/cpukit/score/cpu/no_cpu/rtems/score/cpu.h +++ b/cpukit/score/cpu/no_cpu/rtems/score/cpu.h @@ -41,172 +41,172 @@ extern "C" { /* conditional compilation parameters */ /** - * Should the calls to @ref _Thread_Enable_dispatch be inlined? + * Should the calls to @ref _Thread_Enable_dispatch be inlined? * - * If TRUE, then they are inlined. - * If FALSE, then a subroutine call is made. + * If TRUE, then they are inlined. + * If FALSE, then a subroutine call is made. * - * This conditional is an example of the classic trade-off of size - * versus speed. Inlining the call (TRUE) typically increases the - * size of RTEMS while speeding up the enabling of dispatching. + * This conditional is an example of the classic trade-off of size + * versus speed. Inlining the call (TRUE) typically increases the + * size of RTEMS while speeding up the enabling of dispatching. * - * @note In general, the @ref _Thread_Dispatch_disable_level will - * only be 0 or 1 unless you are in an interrupt handler and that - * interrupt handler invokes the executive.] When not inlined - * something calls @ref _Thread_Enable_dispatch which in turns calls - * @ref _Thread_Dispatch. If the enable dispatch is inlined, then - * one subroutine call is avoided entirely. + * NOTE: In general, the @ref _Thread_Dispatch_disable_level will + * only be 0 or 1 unless you are in an interrupt handler and that + * interrupt handler invokes the executive.] When not inlined + * something calls @ref _Thread_Enable_dispatch which in turns calls + * @ref _Thread_Dispatch. If the enable dispatch is inlined, then + * one subroutine call is avoided entirely. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_INLINE_ENABLE_DISPATCH FALSE /** - * Should the body of the search loops in _Thread_queue_Enqueue_priority - * be unrolled one time? In unrolled each iteration of the loop examines - * two "nodes" on the chain being searched. Otherwise, only one node - * is examined per iteration. + * Should the body of the search loops in _Thread_queue_Enqueue_priority + * be unrolled one time? In unrolled each iteration of the loop examines + * two "nodes" on the chain being searched. Otherwise, only one node + * is examined per iteration. * - * If TRUE, then the loops are unrolled. - * If FALSE, then the loops are not unrolled. + * If TRUE, then the loops are unrolled. + * If FALSE, then the loops are not unrolled. * - * The primary factor in making this decision is the cost of disabling - * and enabling interrupts (_ISR_Flash) versus the cost of rest of the - * body of the loop. On some CPUs, the flash is more expensive than - * one iteration of the loop body. In this case, it might be desirable - * to unroll the loop. It is important to note that on some CPUs, this - * code is the longest interrupt disable period in RTEMS. So it is - * necessary to strike a balance when setting this parameter. + * The primary factor in making this decision is the cost of disabling + * and enabling interrupts (_ISR_Flash) versus the cost of rest of the + * body of the loop. On some CPUs, the flash is more expensive than + * one iteration of the loop body. In this case, it might be desirable + * to unroll the loop. It is important to note that on some CPUs, this + * code is the longest interrupt disable period in RTEMS. So it is + * necessary to strike a balance when setting this parameter. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_UNROLL_ENQUEUE_PRIORITY TRUE /** - * Does RTEMS manage a dedicated interrupt stack in software? + * Does RTEMS manage a dedicated interrupt stack in software? * - * If TRUE, then a stack is allocated in @ref _ISR_Handler_initialization. - * If FALSE, nothing is done. + * If TRUE, then a stack is allocated in @ref _ISR_Handler_initialization. + * If FALSE, nothing is done. * - * If the CPU supports a dedicated interrupt stack in hardware, - * then it is generally the responsibility of the BSP to allocate it - * and set it up. + * If the CPU supports a dedicated interrupt stack in hardware, + * then it is generally the responsibility of the BSP to allocate it + * and set it up. * - * If the CPU does not support a dedicated interrupt stack, then - * the porter has two options: (1) execute interrupts on the - * stack of the interrupted task, and (2) have RTEMS manage a dedicated - * interrupt stack. + * If the CPU does not support a dedicated interrupt stack, then + * the porter has two options: (1) execute interrupts on the + * stack of the interrupted task, and (2) have RTEMS manage a dedicated + * interrupt stack. * - * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. + * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. * - * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and - * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is - * possible that both are FALSE for a particular CPU. Although it - * is unclear what that would imply about the interrupt processing - * procedure on that CPU. + * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and + * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is + * possible that both are FALSE for a particular CPU. Although it + * is unclear what that would imply about the interrupt processing + * procedure on that CPU. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_HAS_SOFTWARE_INTERRUPT_STACK FALSE /** - * Does the CPU follow the simple vectored interrupt model? + * Does the CPU follow the simple vectored interrupt model? * - * If TRUE, then RTEMS allocates the vector table it internally manages. - * If FALSE, then the BSP is assumed to allocate and manage the vector - * table + * If TRUE, then RTEMS allocates the vector table it internally manages. + * If FALSE, then the BSP is assumed to allocate and manage the vector + * table * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_SIMPLE_VECTORED_INTERRUPTS TRUE /** - * Does this CPU have hardware support for a dedicated interrupt stack? + * Does this CPU have hardware support for a dedicated interrupt stack? * - * If TRUE, then it must be installed during initialization. - * If FALSE, then no installation is performed. + * If TRUE, then it must be installed during initialization. + * If FALSE, then no installation is performed. * - * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. + * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. * - * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and - * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is - * possible that both are FALSE for a particular CPU. Although it - * is unclear what that would imply about the interrupt processing - * procedure on that CPU. + * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and + * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is + * possible that both are FALSE for a particular CPU. Although it + * is unclear what that would imply about the interrupt processing + * procedure on that CPU. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_HAS_HARDWARE_INTERRUPT_STACK TRUE /** - * Does RTEMS allocate a dedicated interrupt stack in the Interrupt Manager? + * Does RTEMS allocate a dedicated interrupt stack in the Interrupt Manager? * - * If TRUE, then the memory is allocated during initialization. - * If FALSE, then the memory is allocated during initialization. + * If TRUE, then the memory is allocated during initialization. + * If FALSE, then the memory is allocated during initialization. * - * This should be TRUE is CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE. + * This should be TRUE is CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ALLOCATE_INTERRUPT_STACK TRUE /** - * Does the RTEMS invoke the user's ISR with the vector number and - * a pointer to the saved interrupt frame (1) or just the vector - * number (0)? + * Does the RTEMS invoke the user's ISR with the vector number and + * a pointer to the saved interrupt frame (1) or just the vector + * number (0)? * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ISR_PASSES_FRAME_POINTER 0 /** - * @def CPU_HARDWARE_FP + * @def CPU_HARDWARE_FP * - * Does the CPU have hardware floating point? + * Does the CPU have hardware floating point? * - * If TRUE, then the RTEMS_FLOATING_POINT task attribute is supported. - * If FALSE, then the RTEMS_FLOATING_POINT task attribute is ignored. + * If TRUE, then the RTEMS_FLOATING_POINT task attribute is supported. + * If FALSE, then the RTEMS_FLOATING_POINT task attribute is ignored. * - * If there is a FP coprocessor such as the i387 or mc68881, then - * the answer is TRUE. + * If there is a FP coprocessor such as the i387 or mc68881, then + * the answer is TRUE. * - * The macro name "NO_CPU_HAS_FPU" should be made CPU specific. - * It indicates whether or not this CPU model has FP support. For - * example, it would be possible to have an i386_nofp CPU model - * which set this to false to indicate that you have an i386 without - * an i387 and wish to leave floating point support out of RTEMS. + * The macro name "NO_CPU_HAS_FPU" should be made CPU specific. + * It indicates whether or not this CPU model has FP support. For + * example, it would be possible to have an i386_nofp CPU model + * which set this to false to indicate that you have an i386 without + * an i387 and wish to leave floating point support out of RTEMS. */ /** - * @def CPU_SOFTWARE_FP + * @def CPU_SOFTWARE_FP * - * Does the CPU have no hardware floating point and GCC provides a - * software floating point implementation which must be context - * switched? + * Does the CPU have no hardware floating point and GCC provides a + * software floating point implementation which must be context + * switched? * - * This feature conditional is used to indicate whether or not there - * is software implemented floating point that must be context - * switched. The determination of whether or not this applies - * is very tool specific and the state saved/restored is also - * compiler specific. + * This feature conditional is used to indicate whether or not there + * is software implemented floating point that must be context + * switched. The determination of whether or not this applies + * is very tool specific and the state saved/restored is also + * compiler specific. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if ( NO_CPU_HAS_FPU == 1 ) #define CPU_HARDWARE_FP TRUE @@ -216,260 +216,261 @@ extern "C" { #define CPU_SOFTWARE_FP FALSE /** - * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? + * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? * - * If TRUE, then the RTEMS_FLOATING_POINT task attribute is assumed. - * If FALSE, then the RTEMS_FLOATING_POINT task attribute is followed. + * If TRUE, then the RTEMS_FLOATING_POINT task attribute is assumed. + * If FALSE, then the RTEMS_FLOATING_POINT task attribute is followed. * - * So far, the only CPUs in which this option has been used are the - * HP PA-RISC and PowerPC. On the PA-RISC, The HP C compiler and - * gcc both implicitly used the floating point registers to perform - * integer multiplies. Similarly, the PowerPC port of gcc has been - * seen to allocate floating point local variables and touch the FPU - * even when the flow through a subroutine (like vfprintf()) might - * not use floating point formats. + * So far, the only CPUs in which this option has been used are the + * HP PA-RISC and PowerPC. On the PA-RISC, The HP C compiler and + * gcc both implicitly used the floating point registers to perform + * integer multiplies. Similarly, the PowerPC port of gcc has been + * seen to allocate floating point local variables and touch the FPU + * even when the flow through a subroutine (like vfprintf()) might + * not use floating point formats. * - * If a function which you would not think utilize the FP unit DOES, - * then one can not easily predict which tasks will use the FP hardware. - * In this case, this option should be TRUE. + * If a function which you would not think utilize the FP unit DOES, + * then one can not easily predict which tasks will use the FP hardware. + * In this case, this option should be TRUE. * - * If @ref CPU_HARDWARE_FP is FALSE, then this should be FALSE as well. + * If @ref CPU_HARDWARE_FP is FALSE, then this should be FALSE as well. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ALL_TASKS_ARE_FP TRUE /** - * Should the IDLE task have a floating point context? + * Should the IDLE task have a floating point context? * - * If TRUE, then the IDLE task is created as a RTEMS_FLOATING_POINT task - * and it has a floating point context which is switched in and out. - * If FALSE, then the IDLE task does not have a floating point context. + * If TRUE, then the IDLE task is created as a RTEMS_FLOATING_POINT task + * and it has a floating point context which is switched in and out. + * If FALSE, then the IDLE task does not have a floating point context. * - * Setting this to TRUE negatively impacts the time required to preempt - * the IDLE task from an interrupt because the floating point context - * must be saved as part of the preemption. + * Setting this to TRUE negatively impacts the time required to preempt + * the IDLE task from an interrupt because the floating point context + * must be saved as part of the preemption. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_IDLE_TASK_IS_FP FALSE /** - * Should the saving of the floating point registers be deferred - * until a context switch is made to another different floating point - * task? + * Should the saving of the floating point registers be deferred + * until a context switch is made to another different floating point + * task? * - * If TRUE, then the floating point context will not be stored until - * necessary. It will remain in the floating point registers and not - * disturned until another floating point task is switched to. + * If TRUE, then the floating point context will not be stored until + * necessary. It will remain in the floating point registers and not + * disturned until another floating point task is switched to. * - * If FALSE, then the floating point context is saved when a floating - * point task is switched out and restored when the next floating point - * task is restored. The state of the floating point registers between - * those two operations is not specified. + * If FALSE, then the floating point context is saved when a floating + * point task is switched out and restored when the next floating point + * task is restored. The state of the floating point registers between + * those two operations is not specified. * - * If the floating point context does NOT have to be saved as part of - * interrupt dispatching, then it should be safe to set this to TRUE. + * If the floating point context does NOT have to be saved as part of + * interrupt dispatching, then it should be safe to set this to TRUE. * - * Setting this flag to TRUE results in using a different algorithm - * for deciding when to save and restore the floating point context. - * The deferred FP switch algorithm minimizes the number of times - * the FP context is saved and restored. The FP context is not saved - * until a context switch is made to another, different FP task. - * Thus in a system with only one FP task, the FP context will never - * be saved or restored. + * Setting this flag to TRUE results in using a different algorithm + * for deciding when to save and restore the floating point context. + * The deferred FP switch algorithm minimizes the number of times + * the FP context is saved and restored. The FP context is not saved + * until a context switch is made to another, different FP task. + * Thus in a system with only one FP task, the FP context will never + * be saved or restored. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_USE_DEFERRED_FP_SWITCH TRUE /** - * Does this port provide a CPU dependent IDLE task implementation? + * Does this port provide a CPU dependent IDLE task implementation? * - * If TRUE, then the routine @ref _CPU_Thread_Idle_body - * must be provided and is the default IDLE thread body instead of - * @ref _CPU_Thread_Idle_body. + * If TRUE, then the routine @ref _CPU_Thread_Idle_body + * must be provided and is the default IDLE thread body instead of + * @ref _CPU_Thread_Idle_body. * - * If FALSE, then use the generic IDLE thread body if the BSP does - * not provide one. + * If FALSE, then use the generic IDLE thread body if the BSP does + * not provide one. * - * This is intended to allow for supporting processors which have - * a low power or idle mode. When the IDLE thread is executed, then - * the CPU can be powered down. + * This is intended to allow for supporting processors which have + * a low power or idle mode. When the IDLE thread is executed, then + * the CPU can be powered down. * - * The order of precedence for selecting the IDLE thread body is: + * The order of precedence for selecting the IDLE thread body is: * - * -# BSP provided - * -# CPU dependent (if provided) - * -# generic (if no BSP and no CPU dependent) + * -# BSP provided + * -# CPU dependent (if provided) + * -# generic (if no BSP and no CPU dependent) * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_PROVIDES_IDLE_THREAD_BODY TRUE /** - * Does the stack grow up (toward higher addresses) or down - * (toward lower addresses)? + * Does the stack grow up (toward higher addresses) or down + * (toward lower addresses)? * - * If TRUE, then the grows upward. - * If FALSE, then the grows toward smaller addresses. + * If TRUE, then the grows upward. + * If FALSE, then the grows toward smaller addresses. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STACK_GROWS_UP TRUE /** - * The following is the variable attribute used to force alignment - * of critical RTEMS structures. On some processors it may make - * sense to have these aligned on tighter boundaries than - * the minimum requirements of the compiler in order to have as - * much of the critical data area as possible in a cache line. + * The following is the variable attribute used to force alignment + * of critical RTEMS structures. On some processors it may make + * sense to have these aligned on tighter boundaries than + * the minimum requirements of the compiler in order to have as + * much of the critical data area as possible in a cache line. * - * The placement of this macro in the declaration of the variables - * is based on the syntactically requirements of the GNU C - * "__attribute__" extension. For example with GNU C, use - * the following to force a structures to a 32 byte boundary. + * The placement of this macro in the declaration of the variables + * is based on the syntactically requirements of the GNU C + * "__attribute__" extension. For example with GNU C, use + * the following to force a structures to a 32 byte boundary. * - * __attribute__ ((aligned (32))) + * __attribute__ ((aligned (32))) * - * @note Currently only the Priority Bit Map table uses this feature. - * To benefit from using this, the data must be heavily - * used so it will stay in the cache and used frequently enough - * in the executive to justify turning this on. + * NOTE: Currently only the Priority Bit Map table uses this feature. + * To benefit from using this, the data must be heavily + * used so it will stay in the cache and used frequently enough + * in the executive to justify turning this on. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STRUCTURE_ALIGNMENT /** - * @defgroup CPUTimestamp Processor Dependent Timestamp Support + * @defgroup CPUTimestamp Processor Dependent Timestamp Support * - * This group assists in issues related to timestamp implementation. + * This group assists in issues related to timestamp implementation. * - * The port must choose exactly one of the following defines: - * - #define CPU_TIMESTAMP_USE_STRUCT_TIMESPEC TRUE - * - #define CPU_TIMESTAMP_USE_INT64 TRUE - * - #define CPU_TIMESTAMP_USE_INT64_INLINE TRUE + * The port must choose exactly one of the following defines: + * - #define CPU_TIMESTAMP_USE_STRUCT_TIMESPEC TRUE + * - #define CPU_TIMESTAMP_USE_INT64 TRUE + * - #define CPU_TIMESTAMP_USE_INT64_INLINE TRUE * - * Performance of int64_t versus struct timespec - * ============================================= + * Performance of int64_t versus struct timespec + * ============================================= * - * On PowerPC/psim, inlined int64_t saves ~50 instructions on each - * _Thread_Dispatch operation which results in a context switch. - * This works out to be about 10% faster dispatches and 7.5% faster - * blocking semaphore obtains. The following numbers are in instructions - * and from tm02 and tm26. + * On PowerPC/psim, inlined int64_t saves ~50 instructions on each + * _Thread_Dispatch operation which results in a context switch. + * This works out to be about 10% faster dispatches and 7.5% faster + * blocking semaphore obtains. The following numbers are in instructions + * and from tm02 and tm26. * - * timespec int64 inlined int64 - * dispatch: 446 446 400 - * blocking sem obtain: 627 626 581 + * timespec int64 inlined int64 + * dispatch: 446 446 400 + * blocking sem obtain: 627 626 581 * - * On SPARC/sis, inlined int64_t shows the same percentage gains. - * The following numbers are in microseconds and from tm02 and tm26. + * On SPARC/sis, inlined int64_t shows the same percentage gains. + * The following numbers are in microseconds and from tm02 and tm26. * - * timespec int64 inlined int64 - * dispatch: 59 61 53 - * blocking sem obtain: 98 100 92 + * timespec int64 inlined int64 + * dispatch: 59 61 53 + * blocking sem obtain: 98 100 92 * - * Inlining appears to have a tendency to increase the size of - * some executables. - * Not inlining reduces the execution improvement but does not seem to - * be an improvement on the PowerPC and SPARC. The struct timespec - * and the executables with int64 not inlined are about the same size. + * Inlining appears to have a tendency to increase the size of + * some executables. + * Not inlining reduces the execution improvement but does not seem to + * be an improvement on the PowerPC and SPARC. The struct timespec + * and the executables with int64 not inlined are about the same size. + * + * @{ */ /** - * @ingroup CPUTimestamp - * - * Selects the timestamp implementation using struct timespec. + * Selects the timestamp implementation using struct timespec. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_TIMESTAMP_USE_STRUCT_TIMESPEC TRUE /** - * @ingroup CPUTimestamp + * Selects the timestamp implementation using int64_t and no inlined methods. * - * Selects the timestamp implementation using int64_t and no inlined methods. - * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_TIMESTAMP_USE_INT64 TRUE /** - * @ingroup CPUTimestamp - * - * Selects the timestamp implementation using int64_t and inlined methods. + * Selects the timestamp implementation using int64_t and inlined methods. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_TIMESTAMP_USE_INT64_INLINE TRUE +/** @} */ + /** - * @defgroup CPUEndian Processor Dependent Endianness Support + * @defgroup CPUEndian Processor Dependent Endianness Support * - * This group assists in issues related to processor endianness. + * This group assists in issues related to processor endianness. + * + * @{ */ /** - * @ingroup CPUEndian - * Define what is required to specify how the network to host conversion - * routines are handled. + * Define what is required to specify how the network to host conversion + * routines are handled. * - * @note @a CPU_BIG_ENDIAN and @a CPU_LITTLE_ENDIAN should NOT have the - * same values. + * NOTE: @a CPU_BIG_ENDIAN and @a CPU_LITTLE_ENDIAN should NOT have the + * same values. * - * @see CPU_LITTLE_ENDIAN + * @see CPU_LITTLE_ENDIAN * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_BIG_ENDIAN TRUE /** - * @ingroup CPUEndian - * Define what is required to specify how the network to host conversion - * routines are handled. + * Define what is required to specify how the network to host conversion + * routines are handled. * - * @note @ref CPU_BIG_ENDIAN and @ref CPU_LITTLE_ENDIAN should NOT have the - * same values. + * NOTE: @ref CPU_BIG_ENDIAN and @ref CPU_LITTLE_ENDIAN should NOT have the + * same values. * - * @see CPU_BIG_ENDIAN + * @see CPU_BIG_ENDIAN * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_LITTLE_ENDIAN FALSE +/** @} */ + /** - * @ingroup CPUInterrupt - * The following defines the number of bits actually used in the - * interrupt field of the task mode. How those bits map to the - * CPU interrupt levels is defined by the routine @ref _CPU_ISR_Set_level. + * @ingroup CPUInterrupt + * + * The following defines the number of bits actually used in the + * interrupt field of the task mode. How those bits map to the + * CPU interrupt levels is defined by the routine @ref _CPU_ISR_Set_level. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_MODES_INTERRUPT_MASK 0x00000001 @@ -486,83 +487,89 @@ extern "C" { /** * @defgroup CPUContext Processor Dependent Context Management * - * From the highest level viewpoint, there are 2 types of context to save. + * From the highest level viewpoint, there are 2 types of context to save. * - * -# Interrupt registers to save - * -# Task level registers to save + * -# Interrupt registers to save + * -# Task level registers to save * - * Since RTEMS handles integer and floating point contexts separately, this - * means we have the following 3 context items: + * Since RTEMS handles integer and floating point contexts separately, this + * means we have the following 3 context items: * - * -# task level context stuff:: Context_Control - * -# floating point task stuff:: Context_Control_fp - * -# special interrupt level context :: CPU_Interrupt_frame + * -# task level context stuff:: Context_Control + * -# floating point task stuff:: Context_Control_fp + * -# special interrupt level context :: CPU_Interrupt_frame * - * On some processors, it is cost-effective to save only the callee - * preserved registers during a task context switch. This means - * that the ISR code needs to save those registers which do not - * persist across function calls. It is not mandatory to make this - * distinctions between the caller/callee saves registers for the - * purpose of minimizing context saved during task switch and on interrupts. - * If the cost of saving extra registers is minimal, simplicity is the - * choice. Save the same context on interrupt entry as for tasks in - * this case. + * On some processors, it is cost-effective to save only the callee + * preserved registers during a task context switch. This means + * that the ISR code needs to save those registers which do not + * persist across function calls. It is not mandatory to make this + * distinctions between the caller/callee saves registers for the + * purpose of minimizing context saved during task switch and on interrupts. + * If the cost of saving extra registers is minimal, simplicity is the + * choice. Save the same context on interrupt entry as for tasks in + * this case. * - * Additionally, if gdb is to be made aware of RTEMS tasks for this CPU, then - * care should be used in designing the context area. + * Additionally, if gdb is to be made aware of RTEMS tasks for this CPU, then + * care should be used in designing the context area. * - * On some CPUs with hardware floating point support, the Context_Control_fp - * structure will not be used or it simply consist of an array of a - * fixed number of bytes. This is done when the floating point context - * is dumped by a "FP save context" type instruction and the format - * is not really defined by the CPU. In this case, there is no need - * to figure out the exact format -- only the size. Of course, although - * this is enough information for RTEMS, it is probably not enough for - * a debugger such as gdb. But that is another problem. + * On some CPUs with hardware floating point support, the Context_Control_fp + * structure will not be used or it simply consist of an array of a + * fixed number of bytes. This is done when the floating point context + * is dumped by a "FP save context" type instruction and the format + * is not really defined by the CPU. In this case, there is no need + * to figure out the exact format -- only the size. Of course, although + * this is enough information for RTEMS, it is probably not enough for + * a debugger such as gdb. But that is another problem. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate + * + * @{ */ /** - * @ingroup CPUContext Management - * This defines the minimal set of integer and processor state registers - * that must be saved during a voluntary context switch from one thread - * to another. + * @ingroup Management + * This defines the minimal set of integer and processor state registers + * that must be saved during a voluntary context switch from one thread + * to another. */ typedef struct { - /** This field is a hint that a port will have a number of integer - * registers that need to be saved at a context switch. + /** + * This field is a hint that a port will have a number of integer + * registers that need to be saved at a context switch. */ uint32_t some_integer_register; - /** This field is a hint that a port will have a number of system - * registers that need to be saved at a context switch. + /** + * This field is a hint that a port will have a number of system + * registers that need to be saved at a context switch. */ uint32_t some_system_register; - /** This field is a hint that a port will have a register that - * is the stack pointer. + /** + * This field is a hint that a port will have a register that + * is the stack pointer. */ uint32_t stack_pointer; } Context_Control; /** - * @ingroup CPUContext Management + * @ingroup Management * - * This macro returns the stack pointer associated with @a _context. + * This macro returns the stack pointer associated with @a _context. * - * @param[in] _context is the thread context area to access + * @param[in] _context is the thread context area to access * - * @return This method returns the stack pointer. + * @return This method returns the stack pointer. */ #define _CPU_Context_Get_SP( _context ) \ (_context)->stack_pointer /** - * @ingroup CPUContext Management - * This defines the complete set of floating point registers that must - * be saved during any context switch from one thread to another. + * @ingroup Management + * + * This defines the complete set of floating point registers that must + * be saved during any context switch from one thread to another. */ typedef struct { /** FPU registers are listed here */ @@ -570,48 +577,52 @@ typedef struct { } Context_Control_fp; /** - * @ingroup CPUContext Management - * This defines the set of integer and processor state registers that must - * be saved during an interrupt. This set does not include any which are - * in @ref Context_Control. + * @ingroup Management + * + * This defines the set of integer and processor state registers that must + * be saved during an interrupt. This set does not include any which are + * in @ref Context_Control. */ typedef struct { - /** This field is a hint that a port will have a number of integer - * registers that need to be saved when an interrupt occurs or - * when a context switch occurs at the end of an ISR. + /** + * This field is a hint that a port will have a number of integer + * registers that need to be saved when an interrupt occurs or + * when a context switch occurs at the end of an ISR. */ uint32_t special_interrupt_register; } CPU_Interrupt_frame; /** - * This variable is optional. It is used on CPUs on which it is difficult - * to generate an "uninitialized" FP context. It is filled in by - * @ref _CPU_Initialize and copied into the task's FP context area during - * @ref _CPU_Context_Initialize. + * This variable is optional. It is used on CPUs on which it is difficult + * to generate an "uninitialized" FP context. It is filled in by + * @ref _CPU_Initialize and copied into the task's FP context area during + * @ref _CPU_Context_Initialize. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; +/** @} */ + /** - * @defgroup CPUInterrupt Processor Dependent Interrupt Management + * @defgroup CPUInterrupt Processor Dependent Interrupt Management * - * On some CPUs, RTEMS supports a software managed interrupt stack. - * This stack is allocated by the Interrupt Manager and the switch - * is performed in @ref _ISR_Handler. These variables contain pointers - * to the lowest and highest addresses in the chunk of memory allocated - * for the interrupt stack. Since it is unknown whether the stack - * grows up or down (in general), this give the CPU dependent - * code the option of picking the version it wants to use. + * On some CPUs, RTEMS supports a software managed interrupt stack. + * This stack is allocated by the Interrupt Manager and the switch + * is performed in @ref _ISR_Handler. These variables contain pointers + * to the lowest and highest addresses in the chunk of memory allocated + * for the interrupt stack. Since it is unknown whether the stack + * grows up or down (in general), this give the CPU dependent + * code the option of picking the version it wants to use. * - * @note These two variables are required if the macro - * @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE. + * NOTE: These two variables are required if the macro + * @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ /* @@ -625,138 +636,143 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; /* XXX: if needed, put more variables here */ /** - * @ingroup CPUContext - * The size of the floating point context area. On some CPUs this - * will not be a "sizeof" because the format of the floating point - * area is not defined -- only the size is. This is usually on - * CPUs with a "floating point save context" instruction. + * @ingroup CPUContext + * + * The size of the floating point context area. On some CPUs this + * will not be a "sizeof" because the format of the floating point + * area is not defined -- only the size is. This is usually on + * CPUs with a "floating point save context" instruction. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_CONTEXT_FP_SIZE sizeof( Context_Control_fp ) /** - * Amount of extra stack (above minimum stack size) required by - * MPCI receive server thread. Remember that in a multiprocessor - * system this thread must exist and be able to process all directives. + * Amount of extra stack (above minimum stack size) required by + * MPCI receive server thread. Remember that in a multiprocessor + * system this thread must exist and be able to process all directives. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_MPCI_RECEIVE_SERVER_EXTRA_STACK 0 /** - * @ingroup CPUInterrupt - * This defines the number of entries in the @ref _ISR_Vector_table managed - * by RTEMS. + * @ingroup CPUInterrupt + * + * This defines the number of entries in the @ref _ISR_Vector_table managed + * by RTEMS. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_INTERRUPT_NUMBER_OF_VECTORS 32 /** - * @ingroup CPUInterrupt - * This defines the highest interrupt vector number for this port. + * @ingroup CPUInterrupt + * + * This defines the highest interrupt vector number for this port. */ #define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (CPU_INTERRUPT_NUMBER_OF_VECTORS - 1) /** - * @ingroup CPUInterrupt - * This is defined if the port has a special way to report the ISR nesting - * level. Most ports maintain the variable @a _ISR_Nest_level. + * @ingroup CPUInterrupt + * + * This is defined if the port has a special way to report the ISR nesting + * level. Most ports maintain the variable @a _ISR_Nest_level. */ #define CPU_PROVIDES_ISR_IS_IN_PROGRESS FALSE /** - * @ingroup CPUContext - * Should be large enough to run all RTEMS tests. This ensures - * that a "reasonable" small application should not have any problems. + * @ingroup CPUContext + * + * Should be large enough to run all RTEMS tests. This ensures + * that a "reasonable" small application should not have any problems. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STACK_MINIMUM_SIZE (1024*4) /** - * Size of a pointer. + * Size of a pointer. * - * This must be an integer literal that can be used by the assembler. This - * value will be used to calculate offsets of structure members. These - * offsets will be used in assembler code. + * This must be an integer literal that can be used by the assembler. This + * value will be used to calculate offsets of structure members. These + * offsets will be used in assembler code. */ #define CPU_SIZEOF_POINTER 4 /** - * CPU's worst alignment requirement for data types on a byte boundary. This - * alignment does not take into account the requirements for the stack. + * CPU's worst alignment requirement for data types on a byte boundary. This + * alignment does not take into account the requirements for the stack. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ALIGNMENT 8 /** - * This number corresponds to the byte alignment requirement for the - * heap handler. This alignment requirement may be stricter than that - * for the data types alignment specified by @ref CPU_ALIGNMENT. It is - * common for the heap to follow the same alignment requirement as - * @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is strict enough for - * the heap, then this should be set to @ref CPU_ALIGNMENT. + * This number corresponds to the byte alignment requirement for the + * heap handler. This alignment requirement may be stricter than that + * for the data types alignment specified by @ref CPU_ALIGNMENT. It is + * common for the heap to follow the same alignment requirement as + * @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is strict enough for + * the heap, then this should be set to @ref CPU_ALIGNMENT. * - * @note This does not have to be a power of 2 although it should be - * a multiple of 2 greater than or equal to 2. The requirement - * to be a multiple of 2 is because the heap uses the least - * significant field of the front and back flags to indicate - * that a block is in use or free. So you do not want any odd - * length blocks really putting length data in that bit. + * NOTE: This does not have to be a power of 2 although it should be + * a multiple of 2 greater than or equal to 2. The requirement + * to be a multiple of 2 is because the heap uses the least + * significant field of the front and back flags to indicate + * that a block is in use or free. So you do not want any odd + * length blocks really putting length data in that bit. * - * On byte oriented architectures, @ref CPU_HEAP_ALIGNMENT normally will - * have to be greater or equal to than @ref CPU_ALIGNMENT to ensure that - * elements allocated from the heap meet all restrictions. + * On byte oriented architectures, @ref CPU_HEAP_ALIGNMENT normally will + * have to be greater or equal to than @ref CPU_ALIGNMENT to ensure that + * elements allocated from the heap meet all restrictions. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_HEAP_ALIGNMENT CPU_ALIGNMENT /** - * This number corresponds to the byte alignment requirement for memory - * buffers allocated by the partition manager. This alignment requirement - * may be stricter than that for the data types alignment specified by - * @ref CPU_ALIGNMENT. It is common for the partition to follow the same - * alignment requirement as @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is - * strict enough for the partition, then this should be set to - * @ref CPU_ALIGNMENT. + * This number corresponds to the byte alignment requirement for memory + * buffers allocated by the partition manager. This alignment requirement + * may be stricter than that for the data types alignment specified by + * @ref CPU_ALIGNMENT. It is common for the partition to follow the same + * alignment requirement as @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is + * strict enough for the partition, then this should be set to + * @ref CPU_ALIGNMENT. * - * @note This does not have to be a power of 2. It does have to - * be greater or equal to than @ref CPU_ALIGNMENT. + * NOTE: This does not have to be a power of 2. It does have to + * be greater or equal to than @ref CPU_ALIGNMENT. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_PARTITION_ALIGNMENT CPU_ALIGNMENT /** - * This number corresponds to the byte alignment requirement for the - * stack. This alignment requirement may be stricter than that for the - * data types alignment specified by @ref CPU_ALIGNMENT. If the - * @ref CPU_ALIGNMENT is strict enough for the stack, then this should be - * set to 0. + * This number corresponds to the byte alignment requirement for the + * stack. This alignment requirement may be stricter than that for the + * data types alignment specified by @ref CPU_ALIGNMENT. If the + * @ref CPU_ALIGNMENT is strict enough for the stack, then this should be + * set to 0. * - * @note This must be a power of 2 either 0 or greater than @ref CPU_ALIGNMENT. + * NOTE: This must be a power of 2 either 0 or greater than @ref CPU_ALIGNMENT. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STACK_ALIGNMENT 0 @@ -765,25 +781,27 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; */ /** - * @ingroup CPUInterrupt - * Support routine to initialize the RTEMS vector table after it is allocated. + * @ingroup CPUInterrupt + * + * Support routine to initialize the RTEMS vector table after it is allocated. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Initialize_vectors() /** - * @ingroup CPUInterrupt - * Disable all interrupts for an RTEMS critical section. The previous - * level is returned in @a _isr_cookie. + * @ingroup CPUInterrupt + * + * Disable all interrupts for an RTEMS critical section. The previous + * level is returned in @a _isr_cookie. * - * @param[out] _isr_cookie will contain the previous level cookie + * @param[out] _isr_cookie will contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Disable( _isr_cookie ) \ { \ @@ -791,69 +809,72 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; } /** - * @ingroup CPUInterrupt - * Enable interrupts to the previous level (returned by _CPU_ISR_Disable). - * This indicates the end of an RTEMS critical section. The parameter - * @a _isr_cookie is not modified. + * @ingroup CPUInterrupt + * + * Enable interrupts to the previous level (returned by _CPU_ISR_Disable). + * This indicates the end of an RTEMS critical section. The parameter + * @a _isr_cookie is not modified. * - * @param[in] _isr_cookie contain the previous level cookie + * @param[in] _isr_cookie contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Enable( _isr_cookie ) \ { \ } /** - * @ingroup CPUInterrupt - * This temporarily restores the interrupt to @a _isr_cookie before immediately - * disabling them again. This is used to divide long RTEMS critical - * sections into two or more parts. The parameter @a _isr_cookie is not - * modified. + * @ingroup CPUInterrupt + * + * This temporarily restores the interrupt to @a _isr_cookie before immediately + * disabling them again. This is used to divide long RTEMS critical + * sections into two or more parts. The parameter @a _isr_cookie is not + * modified. * - * @param[in] _isr_cookie contain the previous level cookie + * @param[in] _isr_cookie contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Flash( _isr_cookie ) \ { \ } /** - * @ingroup CPUInterrupt + * @ingroup CPUInterrupt * - * This routine and @ref _CPU_ISR_Get_level - * Map the interrupt level in task mode onto the hardware that the CPU - * actually provides. Currently, interrupt levels which do not - * map onto the CPU in a generic fashion are undefined. Someday, - * it would be nice if these were "mapped" by the application - * via a callout. For example, m68k has 8 levels 0 - 7, levels - * 8 - 255 would be available for bsp/application specific meaning. - * This could be used to manage a programmable interrupt controller - * via the rtems_task_mode directive. + * This routine and @ref _CPU_ISR_Get_level + * Map the interrupt level in task mode onto the hardware that the CPU + * actually provides. Currently, interrupt levels which do not + * map onto the CPU in a generic fashion are undefined. Someday, + * it would be nice if these were "mapped" by the application + * via a callout. For example, m68k has 8 levels 0 - 7, levels + * 8 - 255 would be available for bsp/application specific meaning. + * This could be used to manage a programmable interrupt controller + * via the rtems_task_mode directive. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Set_level( new_level ) \ { \ } /** - * @ingroup CPUInterrupt - * Return the current interrupt disable level for this task in - * the format used by the interrupt level portion of the task mode. + * @ingroup CPUInterrupt + * + * Return the current interrupt disable level for this task in + * the format used by the interrupt level portion of the task mode. * - * @note This routine usually must be implemented as a subroutine. + * NOTE: This routine usually must be implemented as a subroutine. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ uint32_t _CPU_ISR_Get_level( void ); @@ -863,34 +884,35 @@ uint32_t _CPU_ISR_Get_level( void ); /** * @ingroup CPUContext - * Initialize the context to a state suitable for starting a - * task after a context restore operation. Generally, this - * involves: - * - * - setting a starting address - * - preparing the stack - * - preparing the stack and frame pointers - * - setting the proper interrupt level in the context - * - initializing the floating point context - * - * This routine generally does not set any unnecessary register - * in the context. The state of the "general data" registers is - * undefined at task start time. - * - * @param[in] _the_context is the context structure to be initialized - * @param[in] _stack_base is the lowest physical address of this task's stack - * @param[in] _size is the size of this task's stack - * @param[in] _isr is the interrupt disable level - * @param[in] _entry_point is the thread's entry point. This is - * always @a _Thread_Handler - * @param[in] _is_fp is TRUE if the thread is to be a floating - * point thread. This is typically only used on CPUs where the - * FPU may be easily disabled by software such as on the SPARC - * where the PSR contains an enable FPU bit. - * - * Port Specific Information: - * - * XXX document implementation including references if appropriate + * + * Initialize the context to a state suitable for starting a + * task after a context restore operation. Generally, this + * involves: + * + * - setting a starting address + * - preparing the stack + * - preparing the stack and frame pointers + * - setting the proper interrupt level in the context + * - initializing the floating point context + * + * This routine generally does not set any unnecessary register + * in the context. The state of the "general data" registers is + * undefined at task start time. + * + * @param[in] _the_context is the context structure to be initialized + * @param[in] _stack_base is the lowest physical address of this task's stack + * @param[in] _size is the size of this task's stack + * @param[in] _isr is the interrupt disable level + * @param[in] _entry_point is the thread's entry point. This is + * always @a _Thread_Handler + * @param[in] _is_fp is TRUE if the thread is to be a floating + * point thread. This is typically only used on CPUs where the + * FPU may be easily disabled by software such as on the SPARC + * where the PSR contains an enable FPU bit. + * + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ #define _CPU_Context_Initialize( _the_context, _stack_base, _size, \ _isr, _entry_point, _is_fp ) \ @@ -898,65 +920,66 @@ uint32_t _CPU_ISR_Get_level( void ); } /** - * This routine is responsible for somehow restarting the currently - * executing task. If you are lucky, then all that is necessary - * is restoring the context. Otherwise, there will need to be - * a special assembly routine which does something special in this - * case. For many ports, simply adding a label to the restore path - * of @ref _CPU_Context_switch will work. On other ports, it may be - * possibly to load a few arguments and jump to the restore path. It will - * not work if restarting self conflicts with the stack frame - * assumptions of restoring a context. + * This routine is responsible for somehow restarting the currently + * executing task. If you are lucky, then all that is necessary + * is restoring the context. Otherwise, there will need to be + * a special assembly routine which does something special in this + * case. For many ports, simply adding a label to the restore path + * of @ref _CPU_Context_switch will work. On other ports, it may be + * possibly to load a few arguments and jump to the restore path. It will + * not work if restarting self conflicts with the stack frame + * assumptions of restoring a context. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Context_Restart_self( _the_context ) \ _CPU_Context_restore( (_the_context) ); /** - * @ingroup CPUContext - * The purpose of this macro is to allow the initial pointer into - * a floating point context area (used to save the floating point - * context) to be at an arbitrary place in the floating point - * context area. - * - * This is necessary because some FP units are designed to have - * their context saved as a stack which grows into lower addresses. - * Other FP units can be saved by simply moving registers into offsets - * from the base of the context area. Finally some FP units provide - * a "dump context" instruction which could fill in from high to low - * or low to high based on the whim of the CPU designers. - * - * @param[in] _base is the lowest physical address of the floating point - * context area - * @param[in] _offset is the offset into the floating point area + * @ingroup CPUContext + * + * The purpose of this macro is to allow the initial pointer into + * a floating point context area (used to save the floating point + * context) to be at an arbitrary place in the floating point + *context area. * - * Port Specific Information: + * This is necessary because some FP units are designed to have + * their context saved as a stack which grows into lower addresses. + * Other FP units can be saved by simply moving registers into offsets + * from the base of the context area. Finally some FP units provide + * a "dump context" instruction which could fill in from high to low + * or low to high based on the whim of the CPU designers. * - * XXX document implementation including references if appropriate + * @param[in] _base is the lowest physical address of the floating point + * context area + * @param[in] _offset is the offset into the floating point area + * + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ #define _CPU_Context_Fp_start( _base, _offset ) \ ( (void *) _Addresses_Add_offset( (_base), (_offset) ) ) /** - * This routine initializes the FP context area passed to it to. - * There are a few standard ways in which to initialize the - * floating point context. The code included for this macro assumes - * that this is a CPU in which a "initial" FP context was saved into - * @a _CPU_Null_fp_context and it simply copies it to the destination - * context passed to it. + * This routine initializes the FP context area passed to it to. + * There are a few standard ways in which to initialize the + * floating point context. The code included for this macro assumes + * that this is a CPU in which a "initial" FP context was saved into + * @a _CPU_Null_fp_context and it simply copies it to the destination + * context passed to it. * - * Other floating point context save/restore models include: - * -# not doing anything, and - * -# putting a "null FP status word" in the correct place in the FP context. + * Other floating point context save/restore models include: + * -# not doing anything, and + * -# putting a "null FP status word" in the correct place in the FP context. * - * @param[in] _destination is the floating point context area + * @param[in] _destination is the floating point context area * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Context_Initialize_fp( _destination ) \ { \ @@ -968,13 +991,13 @@ uint32_t _CPU_ISR_Get_level( void ); /* Fatal Error manager macros */ /** - * This routine copies _error into a known place -- typically a stack - * location or a register, optionally disables interrupts, and - * halts/stops the CPU. + * This routine copies _error into a known place -- typically a stack + * location or a register, optionally disables interrupts, and + * halts/stops the CPU. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Fatal_halt( _error ) \ { \ @@ -985,68 +1008,67 @@ uint32_t _CPU_ISR_Get_level( void ); /* Bitfield handler macros */ /** - * @defgroup CPUBitfield Processor Dependent Bitfield Manipulation + * @defgroup CPUBitfield Processor Dependent Bitfield Manipulation * - * This set of routines are used to implement fast searches for - * the most important ready task. + * This set of routines are used to implement fast searches for + * the most important ready task. + * + * @{ */ /** - * @ingroup CPUBitfield - * This definition is set to TRUE if the port uses the generic bitfield - * manipulation implementation. + * This definition is set to TRUE if the port uses the generic bitfield + * manipulation implementation. */ #define CPU_USE_GENERIC_BITFIELD_CODE TRUE /** - * @ingroup CPUBitfield - * This definition is set to TRUE if the port uses the data tables provided - * by the generic bitfield manipulation implementation. - * This can occur when actually using the generic bitfield manipulation - * implementation or when implementing the same algorithm in assembly - * language for improved performance. It is unlikely that a port will use - * the data if it has a bitfield scan instruction. + * This definition is set to TRUE if the port uses the data tables provided + * by the generic bitfield manipulation implementation. + * This can occur when actually using the generic bitfield manipulation + * implementation or when implementing the same algorithm in assembly + * language for improved performance. It is unlikely that a port will use + * the data if it has a bitfield scan instruction. */ #define CPU_USE_GENERIC_BITFIELD_DATA TRUE /** - * @ingroup CPUBitfield - * This routine sets @a _output to the bit number of the first bit - * set in @a _value. @a _value is of CPU dependent type - * @a Priority_bit_map_Control. This type may be either 16 or 32 bits - * wide although only the 16 least significant bits will be used. - * - * There are a number of variables in using a "find first bit" type - * instruction. - * - * -# What happens when run on a value of zero? - * -# Bits may be numbered from MSB to LSB or vice-versa. - * -# The numbering may be zero or one based. - * -# The "find first bit" instruction may search from MSB or LSB. - * - * RTEMS guarantees that (1) will never happen so it is not a concern. - * (2),(3), (4) are handled by the macros @ref _CPU_Priority_Mask and - * @ref _CPU_Priority_bits_index. These three form a set of routines - * which must logically operate together. Bits in the _value are - * set and cleared based on masks built by @ref _CPU_Priority_Mask. - * The basic major and minor values calculated by @ref _Priority_Major - * and @ref _Priority_Minor are "massaged" by @ref _CPU_Priority_bits_index - * to properly range between the values returned by the "find first bit" - * instruction. This makes it possible for @ref _Priority_Get_highest to - * calculate the major and directly index into the minor table. - * This mapping is necessary to ensure that 0 (a high priority major/minor) - * is the first bit found. - * - * This entire "find first bit" and mapping process depends heavily - * on the manner in which a priority is broken into a major and minor - * components with the major being the 4 MSB of a priority and minor - * the 4 LSB. Thus (0 << 4) + 0 corresponds to priority 0 -- the highest - * priority. And (15 << 4) + 14 corresponds to priority 254 -- the next - * to the lowest priority. - * - * If your CPU does not have a "find first bit" instruction, then - * there are ways to make do without it. Here are a handful of ways - * to implement this in software: + * This routine sets @a _output to the bit number of the first bit + * set in @a _value. @a _value is of CPU dependent type + * @a Priority_bit_map_Control. This type may be either 16 or 32 bits + * wide although only the 16 least significant bits will be used. + * + * There are a number of variables in using a "find first bit" type + * instruction. + * + * -# What happens when run on a value of zero? + * -# Bits may be numbered from MSB to LSB or vice-versa. + * -# The numbering may be zero or one based. + * -# The "find first bit" instruction may search from MSB or LSB. + * + * RTEMS guarantees that (1) will never happen so it is not a concern. + * (2),(3), (4) are handled by the macros @ref _CPU_Priority_Mask and + * @ref _CPU_Priority_bits_index. These three form a set of routines + * which must logically operate together. Bits in the _value are + * set and cleared based on masks built by @ref _CPU_Priority_Mask. + * The basic major and minor values calculated by @ref _Priority_Major + * and @ref _Priority_Minor are "massaged" by @ref _CPU_Priority_bits_index + * to properly range between the values returned by the "find first bit" + * instruction. This makes it possible for @ref _Priority_Get_highest to + * calculate the major and directly index into the minor table. + * This mapping is necessary to ensure that 0 (a high priority major/minor) + * is the first bit found. + * + * This entire "find first bit" and mapping process depends heavily + * on the manner in which a priority is broken into a major and minor + * components with the major being the 4 MSB of a priority and minor + * the 4 LSB. Thus (0 << 4) + 0 corresponds to priority 0 -- the highest + * priority. And (15 << 4) + 14 corresponds to priority 254 -- the next + * to the lowest priority. + * + * If your CPU does not have a "find first bit" instruction, then + * there are ways to make do without it. Here are a handful of ways + * to implement this in software: * @verbatim - a series of 16 bit test instructions @@ -1063,15 +1085,15 @@ uint32_t _CPU_ISR_Get_level( void ); _number += bit_set_table[ _value ] @endverbatim - * where bit_set_table[ 16 ] has values which indicate the first - * bit set + * where bit_set_table[ 16 ] has values which indicate the first + * bit set * - * @param[in] _value is the value to be scanned - * @param[in] _output is the first bit set + * @param[in] _value is the value to be scanned + * @param[in] _output is the first bit set * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -1081,16 +1103,18 @@ uint32_t _CPU_ISR_Get_level( void ); } #endif +/** @} */ + /* end of Bitfield handler macros */ /** - * This routine builds the mask which corresponds to the bit fields - * as searched by @ref _CPU_Bitfield_Find_first_bit. See the discussion - * for that routine. + * This routine builds the mask which corresponds to the bit fields + * as searched by @ref _CPU_Bitfield_Find_first_bit. See the discussion + * for that routine. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -1100,17 +1124,18 @@ uint32_t _CPU_ISR_Get_level( void ); #endif /** - * @ingroup CPUBitfield - * This routine translates the bit numbers returned by - * @ref _CPU_Bitfield_Find_first_bit into something suitable for use as - * a major or minor component of a priority. See the discussion - * for that routine. + * @ingroup CPUBitfield + * + * This routine translates the bit numbers returned by + * @ref _CPU_Bitfield_Find_first_bit into something suitable for use as + * a major or minor component of a priority. See the discussion + * for that routine. * - * @param[in] _priority is the major or minor number to translate + * @param[in] _priority is the major or minor number to translate * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -1124,26 +1149,27 @@ uint32_t _CPU_ISR_Get_level( void ); /* functions */ /** - * This routine performs CPU dependent initialization. + * This routine performs CPU dependent initialization. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Initialize(void); /** - * @ingroup CPUInterrupt - * This routine installs a "raw" interrupt handler directly into the - * processor's vector table. + * @ingroup CPUInterrupt + * + * This routine installs a "raw" interrupt handler directly into the + * processor's vector table. * - * @param[in] vector is the vector number - * @param[in] new_handler is the raw ISR handler to install - * @param[in] old_handler is the previously installed ISR Handler + * @param[in] vector is the vector number + * @param[in] new_handler is the raw ISR handler to install + * @param[in] old_handler is the previously installed ISR Handler * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_ISR_install_raw_handler( uint32_t vector, @@ -1152,16 +1178,17 @@ void _CPU_ISR_install_raw_handler( ); /** - * @ingroup CPUInterrupt - * This routine installs an interrupt vector. + * @ingroup CPUInterrupt + * + * This routine installs an interrupt vector. * - * @param[in] vector is the vector number - * @param[in] new_handler is the RTEMS ISR handler to install - * @param[in] old_handler is the previously installed ISR Handler + * @param[in] vector is the vector number + * @param[in] new_handler is the RTEMS ISR handler to install + * @param[in] old_handler is the previously installed ISR Handler * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_ISR_install_vector( uint32_t vector, @@ -1170,40 +1197,41 @@ void _CPU_ISR_install_vector( ); /** - * @ingroup CPUInterrupt - * This routine installs the hardware interrupt stack pointer. + * @ingroup CPUInterrupt + * This routine installs the hardware interrupt stack pointer. * - * @note It need only be provided if @ref CPU_HAS_HARDWARE_INTERRUPT_STACK - * is TRUE. + * NOTE: It need only be provided if @ref CPU_HAS_HARDWARE_INTERRUPT_STACK + * is TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Install_interrupt_stack( void ); /** - * This routine is the CPU dependent IDLE thread body. + * This routine is the CPU dependent IDLE thread body. * - * @note It need only be provided if @ref CPU_PROVIDES_IDLE_THREAD_BODY + * NOTE: It need only be provided if @ref CPU_PROVIDES_IDLE_THREAD_BODY * is TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void *_CPU_Thread_Idle_body( uintptr_t ignored ); /** - * @ingroup CPUContext - * This routine switches from the run context to the heir context. + * @ingroup CPUContext + * + * This routine switches from the run context to the heir context. * - * @param[in] run points to the context of the currently executing task - * @param[in] heir points to the context of the heir task + * @param[in] run points to the context of the currently executing task + * @param[in] heir points to the context of the heir task * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_switch( Context_Control *run, @@ -1211,66 +1239,69 @@ void _CPU_Context_switch( ); /** - * @ingroup CPUContext - * This routine is generally used only to restart self in an - * efficient manner. It may simply be a label in @ref _CPU_Context_switch. + * @ingroup CPUContext + * + * This routine is generally used only to restart self in an + * efficient manner. It may simply be a label in @ref _CPU_Context_switch. * - * @param[in] new_context points to the context to be restored. + * @param[in] new_context points to the context to be restored. * - * @note May be unnecessary to reload some registers. + * NOTE: May be unnecessary to reload some registers. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_restore( Context_Control *new_context ) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE; /** - * @ingroup CPUContext - * This routine saves the floating point context passed to it. + * @ingroup CPUContext + * + * This routine saves the floating point context passed to it. * - * @param[in] fp_context_ptr is a pointer to a pointer to a floating - * point context area + * @param[in] fp_context_ptr is a pointer to a pointer to a floating + * point context area * - * @return on output @a *fp_context_ptr will contain the address that - * should be used with @ref _CPU_Context_restore_fp to restore this context. + * @return on output @a *fp_context_ptr will contain the address that + * should be used with @ref _CPU_Context_restore_fp to restore this context. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_save_fp( Context_Control_fp **fp_context_ptr ); /** - * @ingroup CPUContext - * This routine restores the floating point context passed to it. + * @ingroup CPUContext + * + * This routine restores the floating point context passed to it. * - * @param[in] fp_context_ptr is a pointer to a pointer to a floating - * point context area to restore + * @param[in] fp_context_ptr is a pointer to a pointer to a floating + * point context area to restore * - * @return on output @a *fp_context_ptr will contain the address that - * should be used with @ref _CPU_Context_save_fp to save this context. + * @return on output @a *fp_context_ptr will contain the address that + * should be used with @ref _CPU_Context_save_fp to save this context. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_restore_fp( Context_Control_fp **fp_context_ptr ); /** - * @brief The set of registers that specifies the complete processor state. + * @brief The set of registers that specifies the complete processor state. * - * The CPU exception frame may be available in fatal error conditions like for - * example illegal opcodes, instruction fetch errors, or data access errors. + * The CPU exception frame may be available in fatal error conditions like for + * example illegal opcodes, instruction fetch errors, or data access errors. * - * @see rtems_fatal(), RTEMS_FATAL_SOURCE_EXCEPTION, and - * rtems_exception_frame_print(). + * @see rtems_fatal(), RTEMS_FATAL_SOURCE_EXCEPTION, and + * rtems_exception_frame_print(). */ typedef struct { uint32_t processor_state_register; @@ -1279,39 +1310,40 @@ typedef struct { } CPU_Exception_frame; /** - * @brief Prints the exception frame via printk(). + * @brief Prints the exception frame via printk(). * - * @see rtems_fatal() and RTEMS_FATAL_SOURCE_EXCEPTION. + * @see rtems_fatal() and RTEMS_FATAL_SOURCE_EXCEPTION. */ void _CPU_Exception_frame_print( const CPU_Exception_frame *frame ); /** - * @ingroup CPUEndian - * The following routine swaps the endian format of an unsigned int. - * It must be static because it is referenced indirectly. + * @ingroup CPUEndian + * + * The following routine swaps the endian format of an unsigned int. + * It must be static because it is referenced indirectly. * - * This version will work on any processor, but if there is a better - * way for your CPU PLEASE use it. The most common way to do this is to: + * This version will work on any processor, but if there is a better + * way for your CPU PLEASE use it. The most common way to do this is to: * - * swap least significant two bytes with 16-bit rotate - * swap upper and lower 16-bits - * swap most significant two bytes with 16-bit rotate + * swap least significant two bytes with 16-bit rotate + * swap upper and lower 16-bits + * swap most significant two bytes with 16-bit rotate * - * Some CPUs have special instructions which swap a 32-bit quantity in - * a single instruction (e.g. i486). It is probably best to avoid - * an "endian swapping control bit" in the CPU. One good reason is - * that interrupts would probably have to be disabled to ensure that - * an interrupt does not try to access the same "chunk" with the wrong - * endian. Another good reason is that on some CPUs, the endian bit - * endianness for ALL fetches -- both code and data -- so the code - * will be fetched incorrectly. + * Some CPUs have special instructions which swap a 32-bit quantity in + * a single instruction (e.g. i486). It is probably best to avoid + * an "endian swapping control bit" in the CPU. One good reason is + * that interrupts would probably have to be disabled to ensure that + * an interrupt does not try to access the same "chunk" with the wrong + * endian. Another good reason is that on some CPUs, the endian bit + * endianness for ALL fetches -- both code and data -- so the code + * will be fetched incorrectly. * - * @param[in] value is the value to be swapped - * @return the value after being endian swapped + * @param[in] value is the value to be swapped + * @return the value after being endian swapped * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ static inline uint32_t CPU_swap_u32( uint32_t value @@ -1329,11 +1361,12 @@ static inline uint32_t CPU_swap_u32( } /** - * @ingroup CPUEndian - * This routine swaps a 16 bir quantity. + * @ingroup CPUEndian + * + * This routine swaps a 16 bir quantity. * - * @param[in] value is the value to be swapped - * @return the value after being endian swapped + * @param[in] value is the value to be swapped + * @return the value after being endian swapped */ #define CPU_swap_u16( value ) \ (((value&0xff) << 8) | ((value >> 8)&0xff)) diff --git a/cpukit/score/cpu/no_cpu/rtems/score/cpu_asm.h b/cpukit/score/cpu/no_cpu/rtems/score/cpu_asm.h index e3797a93f9..94dfdc11e8 100644 --- a/cpukit/score/cpu/no_cpu/rtems/score/cpu_asm.h +++ b/cpukit/score/cpu/no_cpu/rtems/score/cpu_asm.h @@ -1,11 +1,15 @@ /** - * @file rtems/score/cpu_asm.h + * @file + * + * @brief No-CPU Assembly File + * + * Very loose template for an include file for the cpu_asm.? file + * if it is implemented as a ".S" file (preprocessed by cpp) instead + * of a ".s" file (preprocessed by gm4 or gasp). */ /* - * Very loose template for an include file for the cpu_asm.? file - * if it is implemented as a ".S" file (preprocessed by cpp) instead - * of a ".s" file (preprocessed by gm4 or gasp). + * * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/score/cpu/no_cpu/rtems/score/types.h b/cpukit/score/cpu/no_cpu/rtems/score/types.h index 74240aa1e4..81ae8ccf15 100644 --- a/cpukit/score/cpu/no_cpu/rtems/score/types.h +++ b/cpukit/score/cpu/no_cpu/rtems/score/types.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/types.h + * @file + * + * @brief No-CPU Type Definitions + * + * This include file contains type definitions pertaining to the Intel + * no_cpu processor family. */ /* - * This include file contains type definitions pertaining to the Intel - * no_cpu processor family. - * * COPYRIGHT (c) 1989-2006. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/powerpc/rtems/asm.h b/cpukit/score/cpu/powerpc/rtems/asm.h index 594e3232bb..62571ad4eb 100644 --- a/cpukit/score/cpu/powerpc/rtems/asm.h +++ b/cpukit/score/cpu/powerpc/rtems/asm.h @@ -1,17 +1,20 @@ /** - * @file rtems/asm.h + * @file + * + * @brief Address the Problems Caused by Incompatible Flavor of + * Assemblers and Toolsets * - * This include file attempts to address the problems - * caused by incompatible flavors of assemblers and - * toolsets. It primarily addresses variations in the - * use of leading underscores on symbols and the requirement - * that register names be preceded by a %. + * This include file attempts to address the problems + * caused by incompatible flavors of assemblers and + * toolsets. It primarily addresses variations in the + * use of leading underscores on symbols and the requirement + * that register names be preceded by a %. + * + * NOTE: The spacing in the use of these macros + * is critical to them working as advertised. */ /* - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. - * * COPYRIGHT: * * This file is based on similar code found in newlib available diff --git a/cpukit/score/cpu/powerpc/rtems/powerpc/registers.h b/cpukit/score/cpu/powerpc/rtems/powerpc/registers.h index 7090203a02..a64291ed15 100644 --- a/cpukit/score/cpu/powerpc/rtems/powerpc/registers.h +++ b/cpukit/score/cpu/powerpc/rtems/powerpc/registers.h @@ -1,6 +1,12 @@ -/* +/** + * @file + * + * @brief PowerPc MSR and Registers Access Definitions + * * This file contains some powerpc MSR and registers access definitions. - * + */ + +/* * COPYRIGHT (C) 1999 Eric Valette (valette@crf.canon.fr) * Canon Centre Recherche France. * diff --git a/cpukit/score/cpu/powerpc/rtems/score/cpu.h b/cpukit/score/cpu/powerpc/rtems/score/cpu.h index e776f3ccf2..37d8c34bb9 100644 --- a/cpukit/score/cpu/powerpc/rtems/score/cpu.h +++ b/cpukit/score/cpu/powerpc/rtems/score/cpu.h @@ -1,5 +1,7 @@ /** - * @file rtems/score/cpu.h + * @file + * + * @brief PowerPC CPU Department Source */ /* diff --git a/cpukit/score/cpu/powerpc/rtems/score/powerpc.h b/cpukit/score/cpu/powerpc/rtems/score/powerpc.h index bee0695000..691c81ce83 100644 --- a/cpukit/score/cpu/powerpc/rtems/score/powerpc.h +++ b/cpukit/score/cpu/powerpc/rtems/score/powerpc.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/powerpc.h + * @file + * + * @brief IBM/Motorola Power Pc Definitions + * + * This file contains definitions for the IBM/Motorola PowerPC + * family members. */ /* - * This file contains definitions for the IBM/Motorola PowerPC - * family members. - * * Author: Andrew Bray * * COPYRIGHT (c) 1995 by i-cubed ltd. diff --git a/cpukit/score/cpu/powerpc/rtems/score/types.h b/cpukit/score/cpu/powerpc/rtems/score/types.h index 1f61bfe6ef..0b5f16e6b9 100644 --- a/cpukit/score/cpu/powerpc/rtems/score/types.h +++ b/cpukit/score/cpu/powerpc/rtems/score/types.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/types.h + * @file + * + * @brief PowerPC CPU Type Definitions + * + * This include file contains type definitions pertaining to the PowerPC + * processor family. */ /* - * This include file contains type definitions pertaining to the PowerPC - * processor family. - * * Author: Andrew Bray * * COPYRIGHT (c) 1995 by i-cubed ltd. -- cgit v1.2.3 From 3106d7cdd08372cbf154d7f645ada18bba261365 Mon Sep 17 00:00:00 2001 From: Christopher Kerl Date: Wed, 2 Jan 2013 11:37:07 -0600 Subject: IMFS: Generating .scn (Screen Shots) #2 --- testsuites/fstests/imfs_fserror/imfs_fserror.scn | 94 ++++++++++++++++++++++ testsuites/fstests/imfs_fslink/imfs_fslink.scn | 15 ++++ .../fstests/imfs_fspatheval/imfs_fspathenval.scn | 81 +++++++++++++++++++ .../imfs_fspermission/imfs_fspermission.scn | 52 ++++++++++++ testsuites/fstests/imfs_fsrdwr/imfs_fsrdwr.scn | 22 +++++ testsuites/fstests/imfs_fstime/imfs_fstime.scn | 12 +++ 6 files changed, 276 insertions(+) create mode 100644 testsuites/fstests/imfs_fserror/imfs_fserror.scn create mode 100644 testsuites/fstests/imfs_fslink/imfs_fslink.scn create mode 100644 testsuites/fstests/imfs_fspatheval/imfs_fspathenval.scn create mode 100644 testsuites/fstests/imfs_fspermission/imfs_fspermission.scn create mode 100644 testsuites/fstests/imfs_fsrdwr/imfs_fsrdwr.scn create mode 100644 testsuites/fstests/imfs_fstime/imfs_fstime.scn diff --git a/testsuites/fstests/imfs_fserror/imfs_fserror.scn b/testsuites/fstests/imfs_fserror/imfs_fserror.scn new file mode 100644 index 0000000000..040ea13041 --- /dev/null +++ b/testsuites/fstests/imfs_fserror/imfs_fserror.scn @@ -0,0 +1,94 @@ +*** FILE SYSTEM TEST ( IMFS ) *** +Initializing filesystem IMFS + + +*** ERROR TEST *** +Testing open with arguments: "name01, O_CREAT | O_EXCL" EXPECT "EEXIST" +PASS +Testing mkdir with arguments: "name01, mode" EXPECT "EEXIST" +PASS +Testing open with arguments: "name02, O_WRONLY" EXPECT "EISDIR" +PASS +Testing open with arguments: "name02, O_RDWR" EXPECT "EISDIR" +PASS +Testing open with arguments: "name, O_WRONLY" EXPECT "ENOENT" +PASS +Testing open with arguments: "\"\", O_WRONLY" EXPECT "ENOENT" +PASS +Testing open with arguments: "name03, O_WRONLY" EXPECT "ENOENT" +PASS +Testing mkdir with arguments: "name, mode" EXPECT "ENOENT" +PASS +Testing mkdir with arguments: "\"\", mode" EXPECT "ENOENT" +PASS +Testing open with arguments: "name, O_WRONLY" EXPECT "ENOTDIR" +PASS +Testing mkdir with arguments: "name, mode" EXPECT "ENOTDIR" +PASS +Testing close with arguments: "-1" EXPECT "EBADF" +PASS +Testing close with arguments: "100" EXPECT "EBADF" +PASS +Testing rename with arguments: "name01, name" EXPECT "EINVAL" +FAIL ../../../../../../../rtems/c/src/../../testsuites/fstests/imfs_fserror/../fserror/test.c: 156 +Testing rename with arguments: "name03, name02" EXPECT "EISDIR" +FAIL ../../../../../../../rtems/c/src/../../testsuites/fstests/imfs_fserror/../fserror/test.c: 164 +Testing rename with arguments: "nonexistence, name01" EXPECT "ENOENT" +FAIL ../../../../../../../rtems/c/src/../../testsuites/fstests/imfs_fserror/../fserror/test.c: 171 +Testing rename with arguments: "\"\", name01" EXPECT "ENOENT" +FAIL ../../../../../../../rtems/c/src/../../testsuites/fstests/imfs_fserror/../fserror/test.c: 172 +Testing rename with arguments: "name01, \"\"" EXPECT "ENOENT" +PASS +Testing rename with arguments: "name, name03" EXPECT "ENOTDIR" +FAIL ../../../../../../../rtems/c/src/../../testsuites/fstests/imfs_fserror/../fserror/test.c: 182 +Testing rename with arguments: "name03, name" EXPECT "ENOTDIR" +PASS +Testing rename with arguments: "name02, name03" EXPECT "ENOTDIR" +FAIL ../../../../../../../rtems/c/src/../../testsuites/fstests/imfs_fserror/../fserror/test.c: 184 +Testing truncate with arguments: "file, -1" EXPECT "EINVAL" +PASS +Testing rmdir with arguments: "\"..\"" EXPECT "ENOTEMPTY" +PASS +Testing rmdir with arguments: "\"tmp\"" EXPECT "ENOTEMPTY" +PASS +Testing rmdir with arguments: "\".\"" EXPECT "EINVAL" +PASS +Testing rmdir with arguments: "\"tmp/.\"" EXPECT "EINVAL" +PASS +Testing rmdir with arguments: "\"\"" EXPECT "ENOENT" +PASS +Testing rmdir with arguments: "nonexistence" EXPECT "ENOENT" +PASS +Testing unlink with arguments: "\"\"" EXPECT "ENOENT" +PASS +Testing unlink with arguments: "nonexistence" EXPECT "ENOENT" +PASS +Testing rmdir with arguments: "\"tmp/file\"" EXPECT "ENOTDIR" +PASS +Testing unlink with arguments: "\"tmp/file/dir\"" EXPECT "ENOTDIR" +PASS +Testing read with arguments: "fd, readbuf, 10" EXPECT "EBADF" +PASS +Testing read with arguments: "100, readbuf, 10" EXPECT "EBADF" +PASS +Testing write with arguments: "fd, databuf, 10" EXPECT "EBADF" +PASS +Testing write with arguments: "fd, readbuf, 10" EXPECT "EBADF" +PASS +Testing lseek with arguments: "fd, -100, SEEK_END" EXPECT "EINVAL" +PASS +Testing lseek with arguments: "fd, -100, SEEK_CUR" EXPECT "EINVAL" +PASS +Testing lseek with arguments: "fd, -100, SEEK_SET" EXPECT "EINVAL" +PASS +Testing lseek with arguments: "fd, huge, SEEK_END" EXPECT "EOVERFLOW" +PASS +Testing lseek with arguments: "fd, huge, SEEK_CUR" EXPECT "EOVERFLOW" +PASS +Testing lseek with arguments: "fd, 0, SEEK_SET" EXPECT "EBADF" +PASS +*** END OF ERROR TEST *** + + +Shutting down filesystem IMFS +*** END OF FILE SYSTEM TEST ( IMFS ) *** diff --git a/testsuites/fstests/imfs_fslink/imfs_fslink.scn b/testsuites/fstests/imfs_fslink/imfs_fslink.scn new file mode 100644 index 0000000000..7850d63b59 --- /dev/null +++ b/testsuites/fstests/imfs_fslink/imfs_fslink.scn @@ -0,0 +1,15 @@ +*** FILE SYSTEM TEST ( IMFS ) *** +Initializing filesystem IMFS + + +*** LINK TEST *** +link creates hardlinks +test if the stat is the same +chmod and chown +unlink then stat the file +*** END OF LINK TEST *** + + +Shutting down filesystem IMFS +*** END OF FILE SYSTEM TEST ( IMFS ) *** + diff --git a/testsuites/fstests/imfs_fspatheval/imfs_fspathenval.scn b/testsuites/fstests/imfs_fspatheval/imfs_fspathenval.scn new file mode 100644 index 0000000000..1fb40cefff --- /dev/null +++ b/testsuites/fstests/imfs_fspatheval/imfs_fspathenval.scn @@ -0,0 +1,81 @@ +*** FILE SYSTEM TEST ( IMFS ) *** +Initializing filesystem IMFS + + +*** PATH EVALUATION TEST *** +Making directory /test1/ +Making directory tets2 +Making directory ///test3 +Making directory test4//// +Making directory ../../test5 +Making directory /test1/../test6 +Making directory ./test7/ +Making directory .././test8 +Making directory test8/./../test9 +Making directory ///test9/../test10 + +Making directory !#$%&()-@^_`{}~' +Making directory 0_1_A +Making directory aaa bbb +Making directory ccc....ddd +Making directory fff + +Removing directory test10 +Removing directory test9 +Removing directory test8 +Removing directory test7 +Removing directory test6 +Removing directory test5 +Removing directory test4 +Removing directory test3 +Removing directory tets2 +Removing directory test1 + +Removing directory fff +Removing directory ccc....ddd +Removing directory aaa bbb +Removing directory 0_1_A +Removing directory !#$%&()-@^_`{}~' + +Create file /test1 +Create file tets2 +Create file ///test3 +Create file test4 +Create file ../../test5 +Create file /../test6 +Create file ./test7 +Create file .././test8 +Create file /./../test9 +Create file //../test10 + +Create file !#$%&()-@^_`{}~' +Create file 0_1_A +Create file aaa bbb +Create file ccc....ddd +Create file fff + +Removing file test10 +Removing file test9 +Removing file test8 +Removing file test7 +Removing file test6 +Removing file test5 +Removing file test4 +Removing file test3 +Removing file tets2 +Removing file test1 + +Removing file fff +Removing file ccc....ddd +Removing file aaa bbb +Removing file 0_1_A +Removing file !#$%&()-@^_`{}~' + +mkdir /tmp/a/b +cd /tmp +*** END OF PATH EVALUATION TEST *** + + +Shutting down filesystem IMFS +*** END OF FILE SYSTEM TEST ( IMFS ) *** + diff --git a/testsuites/fstests/imfs_fspermission/imfs_fspermission.scn b/testsuites/fstests/imfs_fspermission/imfs_fspermission.scn new file mode 100644 index 0000000000..87120ea5f7 --- /dev/null +++ b/testsuites/fstests/imfs_fspermission/imfs_fspermission.scn @@ -0,0 +1,52 @@ +*** FILE SYSTEM TEST ( IMFS ) *** +Initializing filesystem IMFS + + +*** PERMISSION TEST *** +The previous cmask is 022 +The file mode of file01 is 755 +The file mode of file02 is 755 +The file mode of dir01 is 755 +The previous cmask is 321 +The file mode of file01 is 456 +The file mode of file02 is 456 +The file mode of dir01 is 456 +The file mode of file01 is 777 +The file mode of file02 is 240 +The file mode of dir01 is 340 +Testing open with arguments: "file02,O_RDONLY" EXPECT "EACCES" +PASS +Testing open with arguments: "file02,O_RDWR" EXPECT "EACCES" +PASS +Change euid and check +Testing open with arguments: "file02,O_WRONLY" EXPECT "EACCES" +PASS +Testing open with arguments: "file02,O_RDWR" EXPECT "EACCES" +PASS +Testing creat with arguments: "path,mode" EXPECT "EACCES" +PASS +Testing rename with arguments: "path,\"test\"" EXPECT "EACCES" +PASS +Testing truncate with arguments: "path,0" EXPECT "EACCES" +PASS +Testing link with arguments: "path,\"test\"" EXPECT "EACCES" +PASS +Testing unlink with arguments: "path" EXPECT "EACCES" +PASS +Change egid and check +Testing open with arguments: "file02,O_WRONLY" EXPECT "EACCES" +PASS +Testing open with arguments: "file02,O_RDONLY" EXPECT "EACCES" +PASS +Testing open with arguments: "file02,O_RDWR" EXPECT "EACCES" +PASS +Testing creat with arguments: "path,mode" EXPECT "EACCES" +PASS +The directory file mode is 777 +The directory file mode is 321 +*** END OF PERMISSION TEST *** + + +Shutting down filesystem IMFS +*** END OF FILE SYSTEM TEST ( IMFS ) *** + diff --git a/testsuites/fstests/imfs_fsrdwr/imfs_fsrdwr.scn b/testsuites/fstests/imfs_fsrdwr/imfs_fsrdwr.scn new file mode 100644 index 0000000000..d0bef8e204 --- /dev/null +++ b/testsuites/fstests/imfs_fsrdwr/imfs_fsrdwr.scn @@ -0,0 +1,22 @@ +*** FILE SYSTEM TEST ( IMFS ) *** +Initializing filesystem IMFS +test case: read_write_test +test case: lseek_test +Create a new file +Writing 2430 bytes to file +Successfully wrote 2430 +Check the current position +2431 +test case: truncate_test03 +test case: truncate_to_zero +test case: block_read_and_write +test case: block_rw_case_0 +test case: block_rw_case_1 +test case: block_rw_case_2 +test case: block_rw_case_3 +test case: block_rw_case_4 + + +Shutting down filesystem IMFS +*** END OF FILE SYSTEM TEST ( IMFS ) *** + diff --git a/testsuites/fstests/imfs_fstime/imfs_fstime.scn b/testsuites/fstests/imfs_fstime/imfs_fstime.scn new file mode 100644 index 0000000000..845df58044 --- /dev/null +++ b/testsuites/fstests/imfs_fstime/imfs_fstime.scn @@ -0,0 +1,12 @@ +*** FILE SYSTEM TEST ( IMFS ) *** +Initializing filesystem IMFS + + +*** TIME TEST *** +Sleep a few seconds +*** END OF TIME TEST *** + + +Shutting down filesystem IMFS +*** END OF FILE SYSTEM TEST ( IMFS ) *** + -- cgit v1.2.3 From 2305f9711772ba1a139c05adb9d488ed91e8eb30 Mon Sep 17 00:00:00 2001 From: Mathew Kallada Date: Fri, 4 Jan 2013 08:39:30 -0600 Subject: libfs: Doxygen Clean Up Task #2 There were minor conflicts and the modifications that were in the repo were favored over the modifications in the submitted patch. --- cpukit/libfs/src/dosfs/dosfs.h | 6 +- cpukit/libfs/src/dosfs/fat.h | 25 ++++++-- cpukit/libfs/src/dosfs/fat_fat_operations.h | 15 +++-- cpukit/libfs/src/dosfs/fat_file.h | 43 ++++++++------ cpukit/libfs/src/dosfs/msdos.h | 15 +++-- cpukit/libfs/src/nfsclient/proto/mount_prot.h | 9 ++- cpukit/libfs/src/nfsclient/src/librtemsNfs.h | 85 +++++++++++++++++---------- cpukit/libfs/src/nfsclient/src/rpcio.h | 49 +++++++++++---- cpukit/libfs/src/rfs/rtems-rfs-group.h | 42 +++++++++---- 9 files changed, 195 insertions(+), 94 deletions(-) diff --git a/cpukit/libfs/src/dosfs/dosfs.h b/cpukit/libfs/src/dosfs/dosfs.h index 2374e63f2b..79560bb373 100644 --- a/cpukit/libfs/src/dosfs/dosfs.h +++ b/cpukit/libfs/src/dosfs/dosfs.h @@ -1,7 +1,9 @@ /** - * @file rtems/dosfs.h + * @file rtems/dosfs.h * - * Application interface to MSDOS filesystem. + * @brief Application Interface to MSDOS Filesystem + * + * @ingroup rtems_msdos_format */ /* diff --git a/cpukit/libfs/src/dosfs/fat.h b/cpukit/libfs/src/dosfs/fat.h index 5d36fb45c0..ace236b50e 100644 --- a/cpukit/libfs/src/dosfs/fat.h +++ b/cpukit/libfs/src/dosfs/fat.h @@ -1,8 +1,15 @@ -/* - * fat.h +/** + * @file + * + * @brief Constants/Data Structures/Prototypes on a Volume with FAT Filesystem * - * Constants/data structures/prototypes for low-level operations on a volume - * with FAT filesystem + * @ingroup libfs_dosfs + * + * Constants/Data Structures/Prototypes for Low-Level + * Operations on a Volume with FAT Filesystem + */ + +/* * * Copyright (C) 2001 OKTET Ltd., St.-Petersburg, Russia * Author: Eugeny S. Mints @@ -23,6 +30,12 @@ #include #include +/** + * @defgroup libfs_dosfs FAT FileSystem + * + * @ingroup libfs + */ +/**@{*/ #ifdef __cplusplus extern "C" { #endif @@ -545,5 +558,5 @@ fat_sync(fat_fs_info_t *fs_info); #ifdef __cplusplus } #endif - -#endif /* __DOSFS_FAT_H__ */ +/**@}*/ +#endif /* __DOSFS_FAT_H__ */ \ No newline at end of file diff --git a/cpukit/libfs/src/dosfs/fat_fat_operations.h b/cpukit/libfs/src/dosfs/fat_fat_operations.h index 278947ffca..69589153d2 100644 --- a/cpukit/libfs/src/dosfs/fat_fat_operations.h +++ b/cpukit/libfs/src/dosfs/fat_fat_operations.h @@ -1,9 +1,15 @@ -/* - * fat_fat_operations.h +/** + * @file * - * Constants/data structures/prototypes for operations on Files Allocation - * Table + * @brief Constants/Data Structures/Prototypes for Files Allocation Table * + * @ingroup libfs_ffo + * + * Constants/Data Structures/Prototypes for + * Operations on Files Allocation Table + */ + +/* * Copyright (C) 2001 OKTET Ltd., St.-Petersburg, Russia * Author: Eugeny S. Mints * @@ -11,6 +17,7 @@ * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. */ + #ifndef __DOSFS_FAT_FAT_OPERATIONS_H__ #define __DOSFS_FAT_FAT_OPERATIONS_H__ diff --git a/cpukit/libfs/src/dosfs/fat_file.h b/cpukit/libfs/src/dosfs/fat_file.h index 0e22c90e60..d9753a9d5b 100644 --- a/cpukit/libfs/src/dosfs/fat_file.h +++ b/cpukit/libfs/src/dosfs/fat_file.h @@ -1,7 +1,12 @@ -/* - * fat_file.h +/** + * @file * - * Constants/data structures/prototypes for operations on "fat-file" + * @brief Constants/Data Structures/Prototypes for Operations on "fat-file" + * + * @ingroup libfs_ff + */ + +/* * * Copyright (C) 2001 OKTET Ltd., St.-Petersburg, Russia * Author: Eugeny S. Mints @@ -10,6 +15,7 @@ * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. */ + #ifndef __DOSFS_FAT_FILE_H__ #define __DOSFS_FAT_FILE_H__ @@ -26,11 +32,13 @@ * @ingroup libfs */ /**@{*/ + #ifdef __cplusplus extern "C" { #endif -/* "fat-file" representation +/** + * @brief The "fat-file" representation. * * the idea is: fat-file is nothing but a cluster chain, any open fat-file is * represented in system by fat-file descriptor and has well-known @@ -44,7 +52,6 @@ extern "C" { * Such interface hides the architecture of fat-file and represents it like * linear file */ - typedef rtems_filesystem_node_types_t fat_file_type_t; #define FAT_DIRECTORY RTEMS_FILESYSTEM_DIRECTORY @@ -56,8 +63,9 @@ typedef struct fat_file_map_s uint32_t disk_cln; uint32_t last_cln; } fat_file_map_t; -/* - * descriptor of a fat-file + +/** + * @brief Descriptor of a fat-file. * * To each particular clusters chain */ @@ -109,18 +117,17 @@ typedef struct fat_file_fd_s #define FAT_EOF 0x00 -/* fat_construct_key -- - * Construct key for hash access: convert (cluster num, offset) to - * (sector512 num, new offset) and than construct key as - * key = (sector512 num) << 4 | (new offset) +/* @brief Construct key for hash access. + * + * Construct key for hash access: convert (cluster num, offset) to + * (sector512 num, new offset) and than construct key as + * key = (sector512 num) << 4 | (new offset) * - * PARAMETERS: - * cl - cluster number - * ofs - offset inside cluster 'cl' - * fs_info - FS info + * @param[in] cl - cluster number + * @param[in] ofs - offset inside cluster 'cl' + * @param[in] fs_info - FS info * - * RETURNS: - * constructed key + * @retval constructed key */ static inline uint32_t fat_construct_key( @@ -189,4 +196,4 @@ fat_file_mark_removed(fat_fs_info_t *fs_info, } #endif /**@}*/ -#endif /* __DOSFS_FAT_FILE_H__ */ +#endif /* __DOSFS_FAT_FILE_H__ */ \ No newline at end of file diff --git a/cpukit/libfs/src/dosfs/msdos.h b/cpukit/libfs/src/dosfs/msdos.h index d4f674317f..9465d268d7 100644 --- a/cpukit/libfs/src/dosfs/msdos.h +++ b/cpukit/libfs/src/dosfs/msdos.h @@ -1,8 +1,12 @@ -/* - * msdos.h +/** + * @file * - * The MSDOS filesystem constants/data structures/prototypes + * @brief The MSDOS Filesystem Constants/Data Structures/Prototypes * + * @ingroup libfs_msdos + */ + +/* * Copyright (C) 2001 OKTET Ltd., St.-Petersburg, Russia * Author: Eugeny S. Mints * @@ -10,6 +14,7 @@ * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. */ + #ifndef __DOSFS_MSDOS_H__ #define __DOSFS_MSDOS_H__ @@ -276,7 +281,7 @@ int msdos_rmnod( ); /** - * @brief rename a MSDOS filesystem node + * @brief Rename a MSDOS filesystem node. * * Routine to rename a MSDOS filesystem node */ @@ -293,7 +298,7 @@ void msdos_lock(const rtems_filesystem_mount_table_entry_t *mt_entry); void msdos_unlock(const rtems_filesystem_mount_table_entry_t *mt_entry); /** - * @brief The MSDOS filesystem initialization. + * @brief MSDOS filesystem initialization routine. * * MSDOS Initialization support routine implementation */ diff --git a/cpukit/libfs/src/nfsclient/proto/mount_prot.h b/cpukit/libfs/src/nfsclient/proto/mount_prot.h index e74a3cd688..a5cac29217 100644 --- a/cpukit/libfs/src/nfsclient/proto/mount_prot.h +++ b/cpukit/libfs/src/nfsclient/proto/mount_prot.h @@ -1,6 +1,9 @@ -/* - * Please do not edit this file. - * It was generated using rpcgen. +/** + * @file + * + * @brief Nfsclient Mount Prot + * + * @ingroup rtems-nfsclient */ #ifndef _MOUNT_PROT_H_RPCGEN diff --git a/cpukit/libfs/src/nfsclient/src/librtemsNfs.h b/cpukit/libfs/src/nfsclient/src/librtemsNfs.h index fc4802874a..ddef9eeab9 100644 --- a/cpukit/libfs/src/nfsclient/src/librtemsNfs.h +++ b/cpukit/libfs/src/nfsclient/src/librtemsNfs.h @@ -1,11 +1,14 @@ -#ifndef LIB_RTEMS_NFS_CLIENT_H -#define LIB_RTEMS_NFS_CLIENT_H - -/* public interface to the NFS client library for RTEMS */ - -/* Author: Till Straumann 2002-2003 */ +/** + * @file + * + * @brief Public Interface to the NFS Client Library for RTEMS + * + * @ingroup rtems-nfsclient + */ /* + * Author: Till Straumann 2002-2003 + * * Authorship * ---------- * This software (NFS-2 client implementation for RTEMS) was created by @@ -50,6 +53,16 @@ * ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03 */ +#ifndef LIB_RTEMS_NFS_CLIENT_H +#define LIB_RTEMS_NFS_CLIENT_H + +/** + * @defgroup rtems-nfsclient NFS Client Library + * + * @ingroup nfsclient + * @{ + */ + #ifdef HAVE_CONFIG_H #include #endif @@ -73,40 +86,41 @@ extern "C" { #endif -/* RPCIO driver interface. +/** RPCIO driver interface. * If you need RPCIO for other purposes than NFS * you may want to include #include "rpcio.h" */ -/* Priority of daemon; may be setup prior to calling rpcUdpInit(); +/** Priority of daemon; may be setup prior to calling rpcUdpInit(); * otherwise the network task priority from the rtems_bsdnet_config * is used... */ extern rtems_task_priority rpciodPriority; -/* Initialize the driver. +/** Initialize the driver. * * Note, called in nfsfs initialise when mount is called. * - * RETURNS: 0 on success, -1 on failure + * @retval 0 on success, -1 on failure */ int rpcUdpInit(void); -/* Cleanup/Stop +/** + * @brief RPC cleanup and stop. * - * RETURNS: 0 on success, nonzero if still in use + * @retval 0 on success, nonzero if still in use */ int rpcUdpCleanup(void); -/* NFS driver interface */ +/** NFS driver interface */ -/* Initialize the NFS driver. +/** + * @brief Initialize the NFS driver. * - * NOTE: The RPCIO driver must have been initialized prior to - * calling this. + * The RPCIO driver must have been initialized prior to calling this. * * Note, called in nfsfs initialise when mount is called with defaults. * @@ -125,50 +139,60 @@ rpcUdpCleanup(void); void nfsInit(int smallPoolDepth, int bigPoolDepth); -/* Driver cleanup code +/** + * @brief Driver cleanup code. * - * RETURNS: 0 on success, nonzero if still in use + * @retval 0 on success, nonzero if still in use */ int nfsCleanup(void); -/* Dump a list of the currently mounted NFS to a file +/** + * @brief Dump a list of the currently mounted NFS to a file. + * + * Dump a list of the currently mounted NFS to a file * (stdout is used in case f==NULL) */ int nfsMountsShow(FILE *f); -/* +/** + * @brief Filesystem mount table mount handler. + * * Filesystem mount table mount handler. Do not call, use the mount call. */ -int +int rtems_nfs_initialize(rtems_filesystem_mount_table_entry_t *mt_entry, const void *data); -/* A utility routine to find the path leading to a +/** + * @brief A utility routine to find the path leading to a * rtems_filesystem_location_info_t node. * * This should really be present in libcsupport... * - * INPUT: 'loc' and a buffer 'buf' (length 'len') to hold the - * path. - * OUTPUT: path copied into 'buf' + * @param[in] 'loc' and a buffer 'buf' (length 'len') to hold the path. + * + * @param[out] path copied into 'buf' * - * RETURNS: 0 on success, RTEMS error code on error. + * @retval 0 on success, RTEMS error code on error. */ rtems_status_code rtems_filesystem_resolve_location(char *buf, int len, rtems_filesystem_location_info_t *loc); -/* Set the timeout (initial default: 10s) for NFS and mount calls. +/** + * @brief Set the timeout (initial default: 10s) for NFS and mount calls. * - * RETURNS 0 on success, nonzero if the requested timeout is less than + * Set the timeout (initial default: 10s) for NFS and mount calls. + * + * @retval 0 on success, nonzero if the requested timeout is less than * a clock tick or if the system clock rate cannot be determined. */ int nfsSetTimeout(uint32_t timeout_ms); -/* Read current timeout (in milliseconds) */ +/** Read current timeout (in milliseconds) */ uint32_t nfsGetTimeout(void); @@ -176,4 +200,5 @@ nfsGetTimeout(void); } #endif -#endif +/** @} */ +#endif \ No newline at end of file diff --git a/cpukit/libfs/src/nfsclient/src/rpcio.h b/cpukit/libfs/src/nfsclient/src/rpcio.h index 8078209610..02cd34ffe7 100644 --- a/cpukit/libfs/src/nfsclient/src/rpcio.h +++ b/cpukit/libfs/src/nfsclient/src/rpcio.h @@ -1,11 +1,14 @@ -#ifndef RPCIO_H -#define RPCIO_H - -/* A multihreaded RPC/UDP multiplexor */ - -/* Author: Till Straumann, , 2002 */ +/** + * @file + * + * @brief A Multithreaded RPC/UDP Multiplexor + * + * @ingroup rtems-nfsclient + */ /* + * Author: Till Straumann, , 2002 + * * Authorship * ---------- * This software (NFS-2 client implementation for RTEMS) was created by @@ -50,6 +53,16 @@ * ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03 */ +#ifndef RPCIO_H +#define RPCIO_H + +/** + * @defgroup rtems-nfsclient RPC/UDP Multiplexor + * + * @ingroup nfsclient + * @{ + */ + #ifdef __rtems #include #endif @@ -84,8 +97,9 @@ rpcUdpServerCreate( void rpcUdpServerDestroy(RpcUdpServer s); -/* Dump statistics to a file (stdout if NULL); - * returns 0 for convenience +/** + * @brief Dump statistics to a file (stdout if NULL); + * @retval 0 for convenience */ int rpcUdpStats(FILE *f); @@ -103,7 +117,9 @@ rpcUdpClntCreate( void RpcUdpClntDestroy(RpcUdpClnt clnt); -/* mute compiler warnings */ +/** + * @brief Mute compiler warnings. + */ typedef void *XdrProcT; typedef void *CaddrT; @@ -130,7 +146,9 @@ rpcUdpXactDestroy( RpcUdpXact xact ); -/* send a transaction */ +/** + * Send a transaction. + */ enum clnt_stat rpcUdpSend( RpcUdpXact xact, @@ -144,7 +162,9 @@ rpcUdpSend( ... /* 0 terminated xdrproc/pobj additional argument list */ ); -/* wait for a transaction to complete */ +/** + * @brief Wait for a transaction to complete. + */ enum clnt_stat rpcUdpRcv(RpcUdpXact xact); @@ -165,9 +185,11 @@ rpcUdpCallRp( ); -/* manage pools of transactions */ -/* A pool of transactions. The idea is not to malloc/free them +/* + * @brief Manage pools of transactions. + * + * A pool of transactions. The idea is not to malloc/free them * all the time but keep a limited number around in a 'pool'. * Users who need a XACT may get it from the pool and put it back * when done. @@ -205,4 +227,5 @@ rpcUdpXactPoolGet(RpcUdpXactPool pool, XactPoolGetMode mode); void rpcUdpXactPoolPut(RpcUdpXact xact); +/** @} */ #endif diff --git a/cpukit/libfs/src/rfs/rtems-rfs-group.h b/cpukit/libfs/src/rfs/rtems-rfs-group.h index 257eb49f34..90c6a9aa88 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-group.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-group.h @@ -22,6 +22,13 @@ #if !defined (_RTEMS_RFS_GROUP_H_) #define _RTEMS_RFS_GROUP_H_ +/** + * @defgroup rtems-rfs FS Group Management + * + * @ingroup rfs + * @{ + */ + #include #include #include @@ -34,6 +41,8 @@ #define RTEMS_RFS_GROUP_INODE_BLOCK (2) /** + * @brief Creates bit allocator for blocks in the group simpler. + * * A group is a selection of blocks on the disk. Typically the number of blocks * in a group is determined by the number of bits a block holds. This makes the * bit allocator for blocks in the group simpler plus is allows a simple way to @@ -85,13 +94,15 @@ typedef struct _rtems_rfs_group (((_f)->group_inodes * (_g)) + (_i) + RTEMS_RFS_ROOT_INO) /** - * Open a group. Allocate all the resources including the bitmaps. + * @brief Open a group. + * + * Allocate all the resources including the bitmaps. * * @param fs The file system. * @param base The base block number. * @param size The number of blocks in the group. * @param group Reference to the group to open. - * @return int The error number (errno). No error if 0. + * @retval int The error number (errno). No error if 0. */ int rtems_rfs_group_open (rtems_rfs_file_system* fs, rtems_rfs_buffer_block base, @@ -100,24 +111,28 @@ int rtems_rfs_group_open (rtems_rfs_file_system* fs, rtems_rfs_group* group); /** - * Close a group. Release all resources the group holds. + * @brief Close a group. + * + * Release all resources the group holds. * * @param fs The file system. * @param group The group to close. - * @return int The error number (errno). No error if 0. + * @retval int The error number (errno). No error if 0. */ int rtems_rfs_group_close (rtems_rfs_file_system* fs, rtems_rfs_group* group); /** - * Allocate an inode or block. The groups are searched to find the next + * @brief Allocate an inode or block. + * + * The groups are searched to find the next * available inode or block. * * @param fs The file system data. * @param goal The goal to seed the bitmap search. * @param inode If true allocate an inode else allocate a block. * @param result The allocated bit in the bitmap. - * @return int The error number (errno). No error if 0. + * @retval int The error number (errno). No error if 0. */ int rtems_rfs_group_bitmap_alloc (rtems_rfs_file_system* fs, rtems_rfs_bitmap_bit goal, @@ -125,25 +140,25 @@ int rtems_rfs_group_bitmap_alloc (rtems_rfs_file_system* fs, rtems_rfs_bitmap_bit* result); /** - * Free the group allocated bit. + * @brief Free the group allocated bit. * * @param fs The file system data. * @param inode If true the number to free is an inode else it is a block. * @param block The inode or block number to free. - * @return int The error number (errno). No error if 0. + * @retval int The error number (errno). No error if 0. */ int rtems_rfs_group_bitmap_free (rtems_rfs_file_system* fs, bool inode, rtems_rfs_bitmap_bit no); /** - * Test the group allocated bit. + * @brief Test the group allocated bit. * * @param fs The file system data. * @param inode If true the number to free is an inode else it is a block. * @param block The inode or block number to free. * @param state Return the state of the bit. - * @return int The error number (errno). No error if 0. + * @retval int The error number (errno). No error if 0. */ int rtems_rfs_group_bitmap_test (rtems_rfs_file_system* fs, bool inode, @@ -151,15 +166,16 @@ int rtems_rfs_group_bitmap_test (rtems_rfs_file_system* fs, bool* state); /** - * Determine the number of blocks and inodes used. + * @brief Determine the number of blocks and inodes used. * * @param fs The file system data. * @param blocks The number of blocks used. * @param inodes The number of inodes used. - * @return int The error number (errno). No error if 0. + * @retval int The error number (errno). No error if 0. */ int rtems_rfs_group_usage (rtems_rfs_file_system* fs, size_t* blocks, size_t* inodes); -#endif +/** @} */ +#endif \ No newline at end of file -- cgit v1.2.3 From 455bd4eae2b5fe59057fa2d9f4372c5897ec9685 Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Fri, 4 Jan 2013 08:49:56 -0600 Subject: score: Doxygen Clean Up Task #9 --- cpukit/score/cpu/avr/avr/io2333.h | 23 +- cpukit/score/cpu/avr/avr/io43u35x.h | 27 +- cpukit/score/cpu/avr/avr/iom16a.h | 74 +- cpukit/score/cpu/avr/avr/iom2560.h | 36 +- cpukit/score/cpu/avr/avr/iom3250.h | 68 +- cpukit/score/cpu/avr/avr/iom329.h | 70 +- cpukit/score/cpu/avr/avr/iom32u2.h | 80 +- cpukit/score/cpu/avr/avr/iom644p.h | 36 +- cpukit/score/cpu/avr/avr/iom64m1.h | 79 +- cpukit/score/cpu/avr/avr/iom8535.h | 65 +- cpukit/score/cpu/avr/avr/iomx8.h | 47 +- cpukit/score/cpu/avr/avr/iotn13a.h | 62 +- cpukit/score/cpu/avr/avr/iotn861.h | 35 +- cpukit/score/cpu/avr/avr/iotnx4.h | 17 +- cpukit/score/cpu/avr/avr/iousb162.h | 32 +- cpukit/score/cpu/avr/avr/iox128a1.h | 1404 ++++++++++++++++++++++------------ cpukit/score/cpu/avr/avr/portpins.h | 12 +- cpukit/score/cpu/avr/avr/signature.h | 75 +- cpukit/score/cpu/avr/avr/sleep.h | 284 +++---- cpukit/score/cpu/avr/avr/wdt.h | 248 +++--- 20 files changed, 1773 insertions(+), 1001 deletions(-) diff --git a/cpukit/score/cpu/avr/avr/io2333.h b/cpukit/score/cpu/avr/avr/io2333.h index 044f5a6b8b..5c25ccc09f 100644 --- a/cpukit/score/cpu/avr/avr/io2333.h +++ b/cpukit/score/cpu/avr/avr/io2333.h @@ -46,8 +46,11 @@ # error "Attempt to include more than one file." #endif -/* I/O registers */ - +/** + * @name I/O Registers + * + * @{ + */ /* UART Baud Rate Register high */ #define UBRRH _SFR_IO8(0x03) @@ -171,9 +174,13 @@ /* General Interrupt MaSK register */ #define GIMSK _SFR_IO8(0x3B) +/** @} */ -/* Interrupt vectors */ - +/** + * @name Interrupt Vectors + * + * @{ + */ /* External Interrupt 0 */ #define INT0_vect _VECTOR(1) #define SIG_INTERRUPT0 _VECTOR(1) @@ -227,6 +234,7 @@ #define SIG_COMPARATOR _VECTOR(13) #define _VECTORS_SIZE 28 +/** @} */ /* The Register Bit names are represented by their bit number (0-7). @@ -434,10 +442,15 @@ #define EEWE 1 #define EERE 0 -/* Constants */ +/** + * @name Constants + * + * @{ + */ #define RAMEND 0xDF /*Last On-Chip SRAM location*/ #define XRAMEND RAMEND #define E2END 0x7F #define FLASHEND 0x7FF +/** @} */ #endif /* _AVR_IO2333_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io43u35x.h b/cpukit/score/cpu/avr/avr/io43u35x.h index d803fa99c0..21b0d9ff23 100644 --- a/cpukit/score/cpu/avr/avr/io43u35x.h +++ b/cpukit/score/cpu/avr/avr/io43u35x.h @@ -46,8 +46,11 @@ # error "Attempt to include more than one file." #endif -/* I/O registers */ - +/** + * @name I/O Registers + * + * @{ + */ /* ADC Data Register */ #ifndef __ASSEMBLER__ #define ADC _SFR_IO16(0x02) @@ -179,9 +182,13 @@ /* General Interrupt Mask register */ #define GIMSK _SFR_IO8(0x3B) +/** @} */ -/* Interrupt vectors */ - +/** + * @name Interrupt Vectors + * + * @{ + */ #define SIG_INTERRUPT0 _VECTOR(1) /* suspend/resume */ #define SIG_INTERRUPT1 _VECTOR(2) #define SIG_TIMER1_CAPT1 _VECTOR(3) @@ -196,10 +203,11 @@ #define SIG_USB_INT _VECTOR(12) #define _VECTORS_SIZE 52 +/** @} */ /* - The Register Bit names are represented by their bit number (0-7). -*/ + * The Register Bit names are represented by their bit number (0-7). + */ /* Timer/Counter Interrupt MaSK register */ #define TICIE1 3 @@ -418,10 +426,15 @@ #define ADPS1 1 #define ADPS0 0 -/* Constants */ +/** + * @name Constants + * + * @{ + */ #define RAMEND 0x045F /*Last On-Chip SRAM Location*/ #define XRAMEND RAMEND #define E2END 0x0000 #define FLASHEND 0x5FFF +/** @} */ #endif /* _AVR_43USB355_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom16a.h b/cpukit/score/cpu/avr/avr/iom16a.h index 707c3b1803..155b1e84cc 100644 --- a/cpukit/score/cpu/avr/avr/iom16a.h +++ b/cpukit/score/cpu/avr/avr/iom16a.h @@ -47,9 +47,11 @@ #ifndef _AVR_ATmega16A_H_ #define _AVR_ATmega16A_H_ 1 - -/* Registers and associated bit numbers. */ - +/** + * @name Registers and Associated Bit Numbers + * + * @{ + */ #define TWBR _SFR_IO8(0x00) #define TWBR0 0 #define TWBR1 1 @@ -654,8 +656,13 @@ #define OCR0_6 6 #define OCR0_7 7 +/** @} */ -/* Interrupt vectors */ +/** + * @name Interrupt Vectors + * + * @{ + */ /* Vector 0 is the reset vector */ #define INT0_vect_num 1 #define INT0_vect _VECTOR(1) /* External Interrupt Request 0 */ @@ -668,9 +675,11 @@ #define TIMER1_CAPT_vect_num 5 #define TIMER1_CAPT_vect _VECTOR(5) /* Timer/Counter1 Capture Event */ #define TIMER1_COMPA_vect_num 6 -#define TIMER1_COMPA_vect _VECTOR(6) /* Timer/Counter1 Compare Match A */ +/* Timer/Counter1 Compare Match A */ +#define TIMER1_COMPA_vect _VECTOR(6) #define TIMER1_COMPB_vect_num 7 -#define TIMER1_COMPB_vect _VECTOR(7) /* Timer/Counter1 Compare Match B */ +/* Timer/Counter1 Compare Match B */ +#define TIMER1_COMPB_vect _VECTOR(7) #define TIMER1_OVF_vect_num 8 #define TIMER1_OVF_vect _VECTOR(8) /* Timer/Counter1 Overflow */ #define TIMER0_OVF_vect_num 9 @@ -700,9 +709,13 @@ #define _VECTOR_SIZE 4 /* Size of individual vector. */ #define _VECTORS_SIZE (21 * _VECTOR_SIZE) +/** @} */ - -/* Constants */ +/** + * @name Constants + * + * @{ + */ #define SPM_PAGESIZE (128) #define RAMSTART (0x60) #define RAMSIZE (1024) @@ -713,9 +726,13 @@ #define E2END (0x1FF) #define E2PAGESIZE (4) #define FLASHEND (0x3FFF) +/** @} */ - -/* Fuses */ +/** + * @name Fuses + * + * @{ + */ #define FUSE_MEMORY_SIZE 2 /* Low Fuse Byte */ @@ -726,34 +743,50 @@ #define FUSE_SUT0 (unsigned char)~_BV(4) /* Select start-up time */ #define FUSE_SUT1 (unsigned char)~_BV(5) /* Select start-up time */ #define FUSE_BODEN (unsigned char)~_BV(6) /* Brown out detector enable */ -#define FUSE_BODLEVEL (unsigned char)~_BV(7) /* Brown out detector trigger level */ -#define LFUSE_DEFAULT (FUSE_SUT1 & FUSE_SUT0 & FUSE_CKSEL3 & FUSE_CKSEL2 & FUSE_CKSEL1) +/* Brown out detector trigger level */ +#define FUSE_BODLEVEL (unsigned char)~_BV(7) +#define LFUSE_DEFAULT (FUSE_SUT1 & FUSE_SUT0 & FUSE_CKSEL3 & \ + FUSE_CKSEL2 & FUSE_CKSEL1) /* High Fuse Byte */ #define FUSE_BOOTRST (unsigned char)~_BV(0) /* Select Reset Vector */ #define FUSE_BOOTSZ0 (unsigned char)~_BV(1) /* Select Boot Size */ #define FUSE_BOOTSZ1 (unsigned char)~_BV(2) /* Select Boot Size */ -#define FUSE_EESAVE (unsigned char)~_BV(3) /* EEPROM memory is preserved through chip erase */ +/* EEPROM memory is preserved through chip erase */ +#define FUSE_EESAVE (unsigned char)~_BV(3) #define FUSE_CKOPT (unsigned char)~_BV(4) /* Oscillator Options */ -#define FUSE_SPIEN (unsigned char)~_BV(5) /* Enable Serial programming and Data Downloading */ +/* Enable Serial programming and Data Downloading */ +#define FUSE_SPIEN (unsigned char)~_BV(5) #define FUSE_JTAGEN (unsigned char)~_BV(6) /* Enable JTAG */ #define FUSE_OCDEN (unsigned char)~_BV(7) /* Enable OCD */ #define HFUSE_DEFAULT (FUSE_JTAGEN & FUSE_SPIEN & FUSE_BOOTSZ1 & FUSE_BOOTSZ0) +/** @} */ - -/* Lock Bits */ +/** + * @name Lock Bits + * + * @{ + */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST +/** @} */ - -/* Signature */ +/** + * @name Signature + * + * @{ + */ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x03 +/** @} */ - -/* Device Pin Definitions */ +/** + * @name Device Pin Definitions + * + * @{ + */ #define MOSI_DDR DDRB #define MOSI_PORT PORTB #define MOSI_PIN PINB @@ -898,6 +931,7 @@ #define SS_PORT PORTB #define SS_PIN PINB #define SS_BIT 4 +/** @} */ #endif /* _AVR_ATmega16A_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom2560.h b/cpukit/score/cpu/avr/avr/iom2560.h index 99cfca51e6..9105167cd4 100644 --- a/cpukit/score/cpu/avr/avr/iom2560.h +++ b/cpukit/score/cpu/avr/avr/iom2560.h @@ -36,17 +36,24 @@ #include -/* Constants */ +/** + * @name Constants + * + * @{ + */ #define SPM_PAGESIZE 256 #define RAMEND 0x21FF #define XRAMEND 0xFFFF #define E2END 0xFFF #define E2PAGESIZE 8 #define FLASHEND 0x3FFFF +/** @} */ - -/* Fuses */ - +/** + * @name Fuses + * + * @{ + */ #define FUSE_MEMORY_SIZE 3 /* Low Fuse Byte */ @@ -58,7 +65,8 @@ #define FUSE_SUT1 (unsigned char)~_BV(5) #define FUSE_CKOUT (unsigned char)~_BV(6) #define FUSE_CKDIV8 (unsigned char)~_BV(7) -#define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & FUSE_SUT0 & FUSE_CKDIV8) +#define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & \ + FUSE_SUT0 & FUSE_CKDIV8) /* High Fuse Byte */ #define FUSE_BOOTRST (unsigned char)~_BV(0) @@ -76,18 +84,26 @@ #define FUSE_BODLEVEL1 (unsigned char)~_BV(1) #define FUSE_BODLEVEL2 (unsigned char)~_BV(2) #define EFUSE_DEFAULT (0xFF) +/** @} */ - -/* Lock Bits */ +/** + * @name Lock Bits + * + * @{ + */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST +/** @} */ - -/* Signature */ +/** + * @name Signature + * + * @{ + */ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x98 #define SIGNATURE_2 0x01 - +/** @} */ #endif /* _AVR_IOM2560_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom3250.h b/cpukit/score/cpu/avr/avr/iom3250.h index 21d0ad123e..83721e52da 100644 --- a/cpukit/score/cpu/avr/avr/iom3250.h +++ b/cpukit/score/cpu/avr/avr/iom3250.h @@ -46,8 +46,11 @@ # error "Attempt to include more than one file." #endif -/* Registers and associated bit numbers */ - +/** + * @name Registers and Associated Bit Numbers + * + * @{ + */ #define PINA _SFR_IO8(0x00) #define PINA7 7 #define PINA6 6 @@ -295,12 +298,15 @@ #define EEARL _SFR_IO8(0x21) #define EEARH _SFR_IO8(0X22) -/* 6-char sequence denoting where to find the EEPROM registers in memory space. - Adresses denoted in hex syntax with uppercase letters. Used by the EEPROM - subroutines. - First two letters: EECR address. - Second two letters: EEDR address. - Last two letters: EEAR address. */ +/* + * 6-char sequence denoting where to find the EEPROM registers in + * memory space. + * Adresses denoted in hex syntax with uppercase letters. Used by the EEPROM + * subroutines. + * First two letters: EECR address. + * Second two letters: EEDR address. + * Last two letters: EEAR address. + */ #define __EEPROM_REG_LOCATIONS__ 1F2021 #define GTCCR _SFR_IO8(0x23) @@ -751,9 +757,13 @@ #define PJ0 0 /* Reserved [0xDE..0xFF] */ +/** @} */ - -/* Interrupt vectors */ +/** + * @name Interrupt Vectors + * + * @{ + */ /* Vector 0 is the reset vector */ /* External Interrupt Request 0 */ #define INT0_vect _VECTOR(1) @@ -851,19 +861,26 @@ #define SIG_PIN_CHANGE3 _VECTOR(24) #define _VECTORS_SIZE 100 +/** @} */ - -/* Constants */ +/** + * @name Constants + * + * @{ + */ #define SPM_PAGESIZE 128 #define RAMEND 0x8FF #define XRAMEND RAMEND #define E2END 0x3FF #define E2PAGESIZE 4 #define FLASHEND 0x7FFF +/** @} */ - -/* Fuses */ - +/** + * @name Fuses + * + * @{ + */ #define FUSE_MEMORY_SIZE 3 /* Low Fuse Byte */ @@ -875,7 +892,8 @@ #define FUSE_SUT1 (unsigned char)~_BV(5) #define FUSE_CKOUT (unsigned char)~_BV(6) #define FUSE_CKDIV8 (unsigned char)~_BV(7) -#define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & FUSE_SUT0 & FUSE_CKDIV8) +#define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & \ + FUSE_SUT0 & FUSE_CKDIV8) /* High Fuse Byte */ #define FUSE_BOOTRST (unsigned char)~_BV(0) @@ -893,18 +911,26 @@ #define FUSE_BODLEVEL0 (unsigned char)~_BV(1) #define FUSE_BODLEVEL1 (unsigned char)~_BV(2) #define EFUSE_DEFAULT (0xFF) +/** @} */ - -/* Lock Bits */ +/** + * @name Lock Bits + * + * @{ + */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST +/** @} */ - -/* Signature */ +/** + * @name Signature + * + * @{ + */ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x95 #define SIGNATURE_2 0x06 - +/** @} */ #endif /* _AVR_IOM3250_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom329.h b/cpukit/score/cpu/avr/avr/iom329.h index fc96d00a7e..6ce3417db0 100644 --- a/cpukit/score/cpu/avr/avr/iom329.h +++ b/cpukit/score/cpu/avr/avr/iom329.h @@ -46,8 +46,11 @@ # error "Attempt to include more than one file." #endif -/* Registers and associated bit numbers */ - +/** + * @name Registers and Associated Bit Numbers + * + * @{ + */ #define PINA _SFR_IO8(0x00) #define PINA7 7 #define PINA6 6 @@ -291,12 +294,15 @@ #define EEARL _SFR_IO8(0x21) #define EEARH _SFR_IO8(0X22) -/* 6-char sequence denoting where to find the EEPROM registers in memory space. - Adresses denoted in hex syntax with uppercase letters. Used by the EEPROM - subroutines. - First two letters: EECR address. - Second two letters: EEDR address. - Last two letters: EEAR address. */ +/* + * 6-char sequence denoting where to find the EEPROM registers in + * memory space. + * Adresses denoted in hex syntax with uppercase letters. Used by the EEPROM + * subroutines. + * First two letters: EECR address. + * Second two letters: EEDR address. + * Last two letters: EEAR address. + */ #define __EEPROM_REG_LOCATIONS__ 1F2021 #define GTCCR _SFR_IO8(0x23) @@ -852,8 +858,13 @@ #define SEG324 0 /* Reserved [0xFF] */ +/** @} */ -/* Interrupt vectors */ +/** + * @name Interrupt Vectors + * + * @{ + */ /* Vector 0 is the reset vector */ /* External Interrupt Request 0 */ #define INT0_vect _VECTOR(1) @@ -944,19 +955,26 @@ #define SIG_LCD _VECTOR(22) #define _VECTORS_SIZE 92 +/** @} */ - -/* Constants */ +/** + * @name Constants + * + * @{ + */ #define SPM_PAGESIZE 128 #define RAMEND 0x8FF #define XRAMEND RAMEND #define E2END 0x3FF #define E2PAGESIZE 4 #define FLASHEND 0x7FFF +/** @} */ - -/* Fuses */ - +/** + * @name Fuses + * + * @{ + */ #define FUSE_MEMORY_SIZE 3 /* Low Fuse Byte */ @@ -968,7 +986,8 @@ #define FUSE_SUT1 (unsigned char)~_BV(5) #define FUSE_CKOUT (unsigned char)~_BV(6) #define FUSE_CKDIV8 (unsigned char)~_BV(7) -#define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & FUSE_SUT0 & FUSE_CKDIV8) +#define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & \ + FUSE_SUT0 & FUSE_CKDIV8) /* High Fuse Byte */ #define FUSE_BOOTRST (unsigned char)~_BV(0) @@ -979,25 +998,34 @@ #define FUSE_SPIEN (unsigned char)~_BV(5) #define FUSE_JTAGEN (unsigned char)~_BV(6) #define FUSE_OCDEN (unsigned char)~_BV(7) -#define HFUSE_DEFAULT (FUSE_BOOTSZ0 & FUSE_BOOTSZ1 & FUSE_SPIEN & FUSE_JTAGEN) +#define HFUSE_DEFAULT (FUSE_BOOTSZ0 & FUSE_BOOTSZ1 & \ + FUSE_SPIEN & FUSE_JTAGEN) /* Extended Fuse Byte */ #define FUSE_RSTDISBL (unsigned char)~_BV(0) #define FUSE_BODLEVEL0 (unsigned char)~_BV(1) #define FUSE_BODLEVEL1 (unsigned char)~_BV(2) #define EFUSE_DEFAULT (0xFF) +/** @} */ - -/* Lock Bits */ +/** + * @name Lock Bits + * + * @{ + */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST +/** @} */ - -/* Signature */ +/** + * @name Signature + * + * @{ + */ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x95 #define SIGNATURE_2 0x03 - +/** @} */ #endif /* _AVR_IOM329_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom32u2.h b/cpukit/score/cpu/avr/avr/iom32u2.h index 5859281230..ed960b31d1 100644 --- a/cpukit/score/cpu/avr/avr/iom32u2.h +++ b/cpukit/score/cpu/avr/avr/iom32u2.h @@ -47,9 +47,11 @@ #ifndef _AVR_ATmega32U2_H_ #define _AVR_ATmega32U2_H_ 1 - -/* Registers and associated bit numbers. */ - +/** + * @name Registers and Associated Bit Numbers + * + * @{ + */ #define PINB _SFR_IO8(0x03) #define PINB0 0 #define PINB1 1 @@ -851,9 +853,13 @@ #define UPDRV1 5 #define UPWE0 6 #define UPWE1 7 +/** @} */ - -/* Interrupt vectors */ +/** + * @name Interrupt Vectors + * + * @{ + */ /* Vector 0 is the reset vector */ #define INT0_vect_num 1 #define INT0_vect _VECTOR(1) /* External Interrupt Request 0 */ @@ -878,17 +884,21 @@ #define USB_GEN_vect_num 11 #define USB_GEN_vect _VECTOR(11) /* USB General Interrupt Request */ #define USB_COM_vect_num 12 -#define USB_COM_vect _VECTOR(12) /* USB Endpoint/Pipe Interrupt Communication Request */ +/* USB Endpoint/Pipe Interrupt Communication Request */ +#define USB_COM_vect _VECTOR(12) #define WDT_vect_num 13 #define WDT_vect _VECTOR(13) /* Watchdog Time-out Interrupt */ #define TIMER1_CAPT_vect_num 14 #define TIMER1_CAPT_vect _VECTOR(14) /* Timer/Counter2 Capture Event */ #define TIMER1_COMPA_vect_num 15 -#define TIMER1_COMPA_vect _VECTOR(15) /* Timer/Counter2 Compare Match B */ +/* Timer/Counter2 Compare Match B */ +#define TIMER1_COMPA_vect _VECTOR(15) #define TIMER0_COMPA_vect_num 19 -#define TIMER0_COMPA_vect _VECTOR(19) /* Timer/Counter0 Compare Match A */ +/* Timer/Counter0 Compare Match A */ +#define TIMER0_COMPA_vect _VECTOR(19) #define TIMER0_COMPB_vect_num 20 -#define TIMER0_COMPB_vect _VECTOR(20) /* Timer/Counter0 Compare Match B */ +/* Timer/Counter0 Compare Match B */ +#define TIMER0_COMPB_vect _VECTOR(20) #define TIMER0_OVF_vect_num 21 #define TIMER0_OVF_vect _VECTOR(21) /* Timer/Counter0 Overflow */ #define SPI_STC_vect_num 22 @@ -906,15 +916,17 @@ #define SPM_READY_vect_num 28 #define SPM_READY_vect _VECTOR(28) /* Store Program Memory Read */ #define TIMER1_COMPB_vect_num 16 -#define TIMER1_COMPB_vect _VECTOR(16) /* Timer/Counter2 Compare Match B */ +/* Timer/Counter2 Compare Match B */ +#define TIMER1_COMPB_vect _VECTOR(16) #define TIMER1_COMPC_vect_num 17 -#define TIMER1_COMPC_vect _VECTOR(17) /* Timer/Counter2 Compare Match C */ +/* Timer/Counter2 Compare Match C */ +#define TIMER1_COMPC_vect _VECTOR(17) #define TIMER1_OVF_vect_num 18 #define TIMER1_OVF_vect _VECTOR(18) /* Timer/Counter1 Overflow */ #define _VECTOR_SIZE 4 /* Size of individual vector. */ #define _VECTORS_SIZE (38 * _VECTOR_SIZE) - +/** @} */ /* Constants */ #define SPM_PAGESIZE (128) @@ -927,9 +939,13 @@ #define E2END (0x3FF) #define E2PAGESIZE (4) #define FLASHEND (0x7FFF) +/** @} */ - -/* Fuses */ +/** + * @name Fuses + * + * @{ + */ #define FUSE_MEMORY_SIZE 3 /* Low Fuse Byte */ @@ -941,38 +957,52 @@ #define FUSE_SUT1 (unsigned char)~_BV(5) /* Select start-up time */ #define FUSE_CKOUT (unsigned char)~_BV(6) /* Oscillator options */ #define FUSE_CKDIV8 (unsigned char)~_BV(7) /* Divide clock by 8 */ -#define LFUSE_DEFAULT (FUSE_CKDIV8 & FUSE_SUT1 & FUSE_SUT0 & FUSE_CKSEL3 & FUSE_CKSEL2 & FUSE_CKSEL1) +#define LFUSE_DEFAULT (FUSE_CKDIV8 & FUSE_SUT1 & FUSE_SUT0 & FUSE_CKSEL3 & \ + FUSE_CKSEL2 & FUSE_CKSEL1) /* High Fuse Byte */ #define FUSE_BOOTRST (unsigned char)~_BV(0) /* Select Reset Vector */ #define FUSE_BOOTSZ0 (unsigned char)~_BV(1) /* Select Boot Size */ #define FUSE_BOOTSZ1 (unsigned char)~_BV(2) /* Select Boot Size */ -#define FUSE_EESAVE (unsigned char)~_BV(3) /* EEPROM memory is preserved through chip erase */ +/* EEPROM memory is preserved through chip erase */ +#define FUSE_EESAVE (unsigned char)~_BV(3) #define FUSE_WDTON (unsigned char)~_BV(4) /* Watchdog timer always on */ -#define FUSE_SPIEN (unsigned char)~_BV(5) /* Enable Serial programming and Data Downloading */ +/* Enable Serial programming and Data Downloading */ +#define FUSE_SPIEN (unsigned char)~_BV(5) #define FUSE_RSTDISBL (unsigned char)~_BV(6) /* External Reset Disable */ #define FUSE_DWEN (unsigned char)~_BV(7) /* dwbugWIRE Enable */ #define HFUSE_DEFAULT (FUSE_SPIEN & FUSE_BOOTSZ1 & FUSE_BOOTSZ0) /* Extended Fuse Byte */ -#define FUSE_BODLEVEL0 (unsigned char)~_BV(0) /* Brown-out Detector trigger level */ -#define FUSE_BODLEVEL1 (unsigned char)~_BV(1) /* Brown-out Detector trigger level */ -#define FUSE_BODLEVEL2 (unsigned char)~_BV(2) /* Brown-out Detector trigger level */ +/* Brown-out Detector trigger level */ +#define FUSE_BODLEVEL0 (unsigned char)~_BV(0) +/* Brown-out Detector trigger level */ +#define FUSE_BODLEVEL1 (unsigned char)~_BV(1) +/* Brown-out Detector trigger level */ +#define FUSE_BODLEVEL2 (unsigned char)~_BV(2) #define FUSE_HWBE (unsigned char)~_BV(3) /* Hardware Boot Enable */ #define EFUSE_DEFAULT (0xFF) +/** @} */ - -/* Lock Bits */ +/** + * @name Lock Bits + * + * @{ + */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST +/** @} */ - -/* Signature */ +/** + * @name Signature + * + * @{ + */ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x95 #define SIGNATURE_2 0x8A - +/** @} */ /* Device Pin Definitions */ #endif /* _AVR_ATmega32U2_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom644p.h b/cpukit/score/cpu/avr/avr/iom644p.h index 21b19d4392..b1182bbc37 100644 --- a/cpukit/score/cpu/avr/avr/iom644p.h +++ b/cpukit/score/cpu/avr/avr/iom644p.h @@ -36,17 +36,24 @@ #include -/* Constants */ +/** + * @name Constants + * + * @{ + */ #define SPM_PAGESIZE 256 #define RAMEND 0x10FF #define XRAMEND RAMEND #define E2END 0x7FF #define E2PAGESIZE 8 #define FLASHEND 0xFFFF +/** @} */ - -/* Fuses */ - +/** + * @name Fuses + * + * @{ + */ #define FUSE_MEMORY_SIZE 3 /* Low Fuse Byte */ @@ -58,7 +65,8 @@ #define FUSE_SUT1 (unsigned char)~_BV(5) #define FUSE_CKOUT (unsigned char)~_BV(6) #define FUSE_CKDIV8 (unsigned char)~_BV(7) -#define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & FUSE_SUT0 & FUSE_SUT1 & FUSE_CKDIV8) +#define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & \ + FUSE_SUT0 & FUSE_SUT1 & FUSE_CKDIV8) /* High Fuse Byte */ #define FUSE_BOOTRST (unsigned char)~_BV(0) @@ -76,18 +84,26 @@ #define FUSE_BODLEVEL1 (unsigned char)~_BV(1) #define FUSE_BODLEVEL2 (unsigned char)~_BV(2) #define EFUSE_DEFAULT (0xFF) +/** @} */ - -/* Lock Bits */ +/** + * @name Lock Bits + * + * @{ + */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST +/** @} */ - -/* Signature */ +/** + * @name Signature + * + * @{ + */ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x96 #define SIGNATURE_2 0x0A - +/** @} */ #endif /* _AVR_IOM644P_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom64m1.h b/cpukit/score/cpu/avr/avr/iom64m1.h index 6a97062440..f6cf122e86 100644 --- a/cpukit/score/cpu/avr/avr/iom64m1.h +++ b/cpukit/score/cpu/avr/avr/iom64m1.h @@ -48,8 +48,11 @@ #define _AVR_ATmega64M1_H_ 1 -/* Registers and associated bit numbers. */ - +/** + * @name Registers and Associated Bit Numbers + * + * @{ + */ #define PINB _SFR_IO8(0x03) #define PINB0 0 #define PINB1 1 @@ -1415,9 +1418,13 @@ #define MSG5 5 #define MSG6 6 #define MSG7 7 +/** @} */ - -/* Interrupt vectors */ +/** + * @name Interrupt Vectors + * + * @{ + */ /* Vector 0 is the reset vector */ #define ANACOMP0_vect_num 1 #define ANACOMP0_vect _VECTOR(1) /* Analog Comparator 0 */ @@ -1442,15 +1449,19 @@ #define TIMER1_CAPT_vect_num 11 #define TIMER1_CAPT_vect _VECTOR(11) /* Timer/Counter1 Capture Event */ #define TIMER1_COMPA_vect_num 12 -#define TIMER1_COMPA_vect _VECTOR(12) /* Timer/Counter1 Compare Match A */ +/* Timer/Counter1 Compare Match A */ +#define TIMER1_COMPA_vect _VECTOR(12) #define TIMER1_COMPB_vect_num 13 -#define TIMER1_COMPB_vect _VECTOR(13) /* Timer/Counter1 Compare Match B */ +/* Timer/Counter1 Compare Match B */ +#define TIMER1_COMPB_vect _VECTOR(13) #define TIMER1_OVF_vect_num 14 #define TIMER1_OVF_vect _VECTOR(14) /* Timer1/Counter1 Overflow */ #define TIMER0_COMPA_vect_num 15 -#define TIMER0_COMPA_vect _VECTOR(15) /* Timer/Counter0 Compare Match A */ +/* Timer/Counter0 Compare Match A */ +#define TIMER0_COMPA_vect _VECTOR(15) #define TIMER0_COMPB_vect_num 16 -#define TIMER0_COMPB_vect _VECTOR(16) /* Timer/Counter0 Compare Match B */ +/* Timer/Counter0 Compare Match B */ +#define TIMER0_COMPB_vect _VECTOR(16) #define TIMER0_OVF_vect_num 17 #define TIMER0_OVF_vect _VECTOR(17) /* Timer/Counter0 Overflow */ #define CAN_INT_vect_num 18 @@ -1482,9 +1493,13 @@ #define _VECTOR_SIZE 4 /* Size of individual vector. */ #define _VECTORS_SIZE (31 * _VECTOR_SIZE) +/** @} */ - -/* Constants */ +/** + * @name Constants + * + * @{ + */ #define SPM_PAGESIZE (256) #define RAMSTART (0x0100) #define RAMSIZE (4096) @@ -1495,9 +1510,13 @@ #define E2END (0x7FF) #define E2PAGESIZE (8) #define FLASHEND (0xFFFF) +/** @} */ - -/* Fuses */ +/** + * @name Fuses + * + * @{ + */ #define FUSE_MEMORY_SIZE 3 /* Low Fuse Byte */ @@ -1509,40 +1528,54 @@ #define FUSE_SUT1 (unsigned char)~_BV(5) /* Select start-up time */ #define FUSE_CKOUT (unsigned char)~_BV(6) /* Oscillator output option */ #define FUSE_CKDIV8 (unsigned char)~_BV(7) /* Divide clock by 8 */ -#define LFUSE_DEFAULT (FUSE_CKDIV8 & FUSE_SUT1 & FUSE_SUT0 & FUSE_CKSEL3 & FUSE_CKSEL2 & FUSE_CKSEL1) +#define LFUSE_DEFAULT (FUSE_CKDIV8 & FUSE_SUT1 & FUSE_SUT0 & \ + FUSE_CKSEL3 & FUSE_CKSEL2 & FUSE_CKSEL1) /* High Fuse Byte */ #define FUSE_BOOTRST (unsigned char)~_BV(0) /* Select Reset Vector */ #define FUSE_BOOTSZ0 (unsigned char)~_BV(1) /* Select Boot Size */ #define FUSE_BOOTSZ1 (unsigned char)~_BV(2) /* Select Boot Size */ -#define FUSE_EESAVE (unsigned char)~_BV(3) /* EEPROM memory is preserved through chip erase */ +/* EEPROM memory is preserved through chip erase */ +#define FUSE_EESAVE (unsigned char)~_BV(3) #define FUSE_WDTON (unsigned char)~_BV(4) /* Watchdog timer always on */ -#define FUSE_SPIEN (unsigned char)~_BV(5) /* Enable Serial programming and Data Downloading */ +/* Enable Serial programming and Data Downloading */ +#define FUSE_SPIEN (unsigned char)~_BV(5) #define FUSE_DWEN (unsigned char)~_BV(6) /* DebugWIRE Enable */ #define FUSE_RSTDISBL (unsigned char)~_BV(7) /* External Reset Disable */ #define HFUSE_DEFAULT (FUSE_SPIEN & FUSE_BOOTSZ1 & FUSE_BOOTSZ0) /* Extended Fuse Byte */ -#define FUSE_BODLEVEL0 (unsigned char)~_BV(0) /* Brown-out Detector Trigger Level */ -#define FUSE_BODLEVEL1 (unsigned char)~_BV(1) /* Brown-out Detector Trigger Level */ -#define FUSE_BODLEVEL2 (unsigned char)~_BV(2) /* Brown-out Detector Trigger Level */ +/* Brown-out Detector Trigger Level */ +#define FUSE_BODLEVEL0 (unsigned char)~_BV(0) +/* Brown-out Detector Trigger Level */ +#define FUSE_BODLEVEL1 (unsigned char)~_BV(1) +/* Brown-out Detector Trigger Level */ +#define FUSE_BODLEVEL2 (unsigned char)~_BV(2) #define FUSE_PSCRVB (unsigned char)~_BV(3) /* PSC Outputs xB Reset Value */ #define FUSE_PSCRVA (unsigned char)~_BV(4) /* PSC Outputs xA Reset Value */ #define FUSE_PSCRB (unsigned char)~_BV(5) /* PSC Reset Behavior */ #define EFUSE_DEFAULT (FUSE_BODLEVEL2 & FUSE_BODLEVEL1) +/** @} */ - -/* Lock Bits */ +/** + * @name Lock Bits + * + * @{ + */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST +/** @} */ - -/* Signature */ +/** + * @name Signature + * + * @{ + */ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x96 #define SIGNATURE_2 0x84 - +/** @} */ #endif /* _AVR_ATmega64M1_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom8535.h b/cpukit/score/cpu/avr/avr/iom8535.h index 035587103e..03c9a00241 100644 --- a/cpukit/score/cpu/avr/avr/iom8535.h +++ b/cpukit/score/cpu/avr/avr/iom8535.h @@ -46,8 +46,11 @@ # error "Attempt to include more than one file." #endif -/* I/O registers */ - +/** + * @name I/O Registers + * + * @{ + */ /* TWI stands for "Two Wire Interface" or "TWI Was I2C(tm)" */ #define TWBR _SFR_IO8(0x00) #define TWSR _SFR_IO8(0x01) @@ -227,9 +230,13 @@ /* 0x3D..0x3E SP */ /* 0x3F SREG */ +/** @} */ -/* Interrupt vectors */ - +/** + * @name Interrupt Vectors + * + * @{ + */ /* External Interrupt 0 */ #define INT0_vect _VECTOR(1) #define SIG_INTERRUPT0 _VECTOR(1) @@ -311,10 +318,10 @@ #define SIG_SPM_READY _VECTOR(20) #define _VECTORS_SIZE 42 - +/** @} */ /* - The Register Bit names are represented by their bit number (0-7). -*/ + * The Register Bit names are represented by their bit number (0-7). + */ /* General Interrupt Control Register */ #define INT1 7 @@ -394,10 +401,10 @@ #define CS00 0 /* - The ADHSM bit has been removed from all documentation, - as being not needed at all since the comparator has proven - to be fast enough even without feeding it more power. -*/ + * The ADHSM bit has been removed from all documentation, + * as being not needed at all since the comparator has proven + * to be fast enough even without feeding it more power. + */ /* Special Function IO Register */ #define ADTS2 7 @@ -663,17 +670,24 @@ #define EEWE 1 #define EERE 0 -/* Constants */ +/** + * @name Constants + * + * @{ + */ #define SPM_PAGESIZE 64 #define RAMEND 0x25F /* Last On-Chip SRAM Location */ #define XRAMEND RAMEND #define E2END 0x1FF #define E2PAGESIZE 4 #define FLASHEND 0x1FFF +/** @} */ - -/* Fuses */ - +/** + * @name Fuses + * + * @{ + */ #define FUSE_MEMORY_SIZE 2 /* Low Fuse Byte */ @@ -685,7 +699,8 @@ #define FUSE_SUT1 (unsigned char)~_BV(5) #define FUSE_BODEN (unsigned char)~_BV(6) #define FUSE_BODLEVEL (unsigned char)~_BV(7) -#define LFUSE_DEFAULT (FUSE_CKSEL1 & FUSE_CKSEL2 & FUSE_CKSEL3 & FUSE_SUT0 & FUSE_SUT1) +#define LFUSE_DEFAULT (FUSE_CKSEL1 & FUSE_CKSEL2 & FUSE_CKSEL3 & \ + FUSE_SUT0 & FUSE_SUT1) /* High Fuse Byte */ #define FUSE_BOOTRST (unsigned char)~_BV(0) @@ -697,18 +712,26 @@ #define FUSE_WDTON (unsigned char)~_BV(6) #define FUSE_S8535C (unsigned char)~_BV(7) #define HFUSE_DEFAULT (FUSE_BOOTSZ0 & FUSE_BOOTSZ1 & FUSE_SPIEN) +/** @} */ - -/* Lock Bits */ +/** + * @name Lock Bits + * + * @{ + */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST +/** @} */ - -/* Signature */ +/** + * @name Signature + * + * @{ + */ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x93 #define SIGNATURE_2 0x08 - +/** @} */ #endif /* _AVR_IOM8535_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iomx8.h b/cpukit/score/cpu/avr/avr/iomx8.h index 46ffc47589..477ea0a747 100644 --- a/cpukit/score/cpu/avr/avr/iomx8.h +++ b/cpukit/score/cpu/avr/avr/iomx8.h @@ -46,8 +46,11 @@ # error "Attempt to include more than one file." #endif -/* I/O registers */ - +/** + * @name I/O Registers + * + * @{ + */ /* Port B */ #define PINB _SFR_IO8 (0x03) @@ -203,16 +206,19 @@ #define EEARL _SFR_IO8(0x21) #define EEARH _SFR_IO8(0X22) /* -Even though EEARH is not used by the mega48, the EEAR8 bit in the register -must be written to 0, according to the datasheet, hence the EEARH register -must be defined for the mega48. -*/ -/* 6-char sequence denoting where to find the EEPROM registers in memory space. - Adresses denoted in hex syntax with uppercase letters. Used by the EEPROM - subroutines. - First two letters: EECR address. - Second two letters: EEDR address. - Last two letters: EEAR address. */ + * Even though EEARH is not used by the mega48, the EEAR8 bit in the register + * must be written to 0, according to the datasheet, hence the EEARH register + * must be defined for the mega48. + */ +/* + * 6-char sequence denoting where to find the EEPROM registers in + * memory space. + * Adresses denoted in hex syntax with uppercase letters. Used by the EEPROM + * subroutines. + * First two letters: EECR address. + * Second two letters: EEDR address. + * Last two letters: EEAR address. + */ #define __EEPROM_REG_LOCATIONS__ 1F2021 @@ -617,9 +623,13 @@ must be defined for the mega48. #define UBRR0L _SFR_MEM8 (0xC4) #define UBRR0H _SFR_MEM8 (0xC5) #define UDR0 _SFR_MEM8 (0xC6) +/** @} */ -/* Interrupt vectors */ - +/** + * @name Interrupt Vectors + * + * @{ + */ /* External Interrupt Request 0 */ #define INT0_vect _VECTOR(1) #define SIG_INTERRUPT0 _VECTOR(1) @@ -721,14 +731,17 @@ must be defined for the mega48. #define SPM_READY_vect _VECTOR(25) #define SIG_SPM_READY _VECTOR(25) -/* The mega48 and mega88 vector tables are single instruction entries (16 bits - per entry for an RJMP) while the mega168 table has double instruction - entries (32 bits per entry for a JMP). */ +/* + * The mega48 and mega88 vector tables are single instruction entries (16 bits + * per entry for an RJMP) while the mega168 table has double instruction + * entries (32 bits per entry for a JMP). + */ #if defined (__AVR_ATmega168__) # define _VECTORS_SIZE 104 #else # define _VECTORS_SIZE 52 #endif +/** @} */ #endif /* _AVR_IOM8_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn13a.h b/cpukit/score/cpu/avr/avr/iotn13a.h index 4ca5b0751a..b97348153b 100644 --- a/cpukit/score/cpu/avr/avr/iotn13a.h +++ b/cpukit/score/cpu/avr/avr/iotn13a.h @@ -47,9 +47,11 @@ #ifndef _AVR_ATTINY13A_H_ #define _AVR_ATTINY13A_H_ 1 - -/* Registers and associated bit numbers. */ - +/** + * @name Registers and Associated Bit Numbers + * + * @{ + */ #define ADCSRB _SFR_IO8(0x03) #define ADTS0 0 #define ADTS1 1 @@ -306,9 +308,13 @@ #define GIMSK _SFR_IO8(0x3B) #define PCIE 5 #define INT0 6 +/** @} */ - -/* Interrupt vectors */ +/** + * @name Interrupt Vectors + * + * @{ + */ /* Vector 0 is the reset vector */ #define INT0_vect_num 1 #define INT0_vect _VECTOR(1) /* External Interrupt 0 */ @@ -331,9 +337,13 @@ #define _VECTOR_SIZE 2 /* Size of individual vector. */ #define _VECTORS_SIZE (10 * _VECTOR_SIZE) +/** @} */ - -/* Constants */ +/** + * @name Constants + * + * @{ + */ #define SPM_PAGESIZE (32) #define RAMSTART (0x60) #define RAMSIZE (64) @@ -344,9 +354,13 @@ #define E2END (64 - 1) #define E2PAGESIZE (4) #define FLASHEND (1024 - 1) +/** @} */ - -/* Fuses */ +/** + * @name Fuses + * + * @{ + */ #define FUSE_MEMORY_SIZE 2 /* Low Fuse Byte */ @@ -354,30 +368,42 @@ #define FUSE_CKSEL1 (unsigned char)~_BV(1) /* Select Clock Source */ #define FUSE_SUT0 (unsigned char)~_BV(2) /* Select start-up time */ #define FUSE_SUT1 (unsigned char)~_BV(3) /* Select start-up time */ -#define FUSE_CKDIV8 (unsigned char)~_BV(4) /* Start up with system clock divided by 8 */ +/* Start up with system clock divided by 8 */ +#define FUSE_CKDIV8 (unsigned char)~_BV(4) #define FUSE_WDTON (unsigned char)~_BV(5) /* Watch dog timer always on */ -#define FUSE_EESAVE (unsigned char)~_BV(6) /* Keep EEprom contents during chip erase */ +/* Keep EEprom contents during chip erase */ +#define FUSE_EESAVE (unsigned char)~_BV(6) #define FUSE_SPIEN (unsigned char)~_BV(7) /* SPI programming enable */ #define LFUSE_DEFAULT (FUSE_SPIEN & FUSE_CKDIV8 & FUSE_SUT0 & FUSE_CKSEL0) /* High Fuse Byte */ #define FUSE_RSTDISBL (unsigned char)~_BV(0) /* Disable external reset */ -#define FUSE_BODLEVEL0 (unsigned char)~_BV(1) /* Enable BOD and select level */ -#define FUSE_BODLEVEL1 (unsigned char)~_BV(2) /* Enable BOD and select level */ +/* Enable BOD and select level */ +#define FUSE_BODLEVEL0 (unsigned char)~_BV(1) +/* Enable BOD and select level */ +#define FUSE_BODLEVEL1 (unsigned char)~_BV(2) #define FUSE_DWEN (unsigned char)~_BV(3) /* DebugWire Enable */ #define FUSE_SELFPRGEN (unsigned char)~_BV(4) /* Self Programming Enable */ #define HFUSE_DEFAULT (0xFF) +/** @} */ - -/* Lock Bits */ +/** + * @name Lock Bits + * + * @{ + */ #define __LOCK_BITS_EXIST +/** @} */ - -/* Signature */ +/** + * @name Signature + * + * @{ + */ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x90 #define SIGNATURE_2 0x07 - +/** @} */ #endif /* _AVR_ATTINY13A_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn861.h b/cpukit/score/cpu/avr/avr/iotn861.h index 8226d2b254..115110d14a 100644 --- a/cpukit/score/cpu/avr/avr/iotn861.h +++ b/cpukit/score/cpu/avr/avr/iotn861.h @@ -36,16 +36,24 @@ #include -/* Constants */ +/** + * @name Constants + * + * @{ + */ #define SPM_PAGESIZE 64 #define RAMEND 0x25F #define XRAMEND RAMEND #define E2END 0x1FF #define E2PAGESIZE 4 #define FLASHEND 0x1FFF +/** @} */ - -/* Fuses */ +/** + * @name Fuses + * + * @{ + */ #define FUSE_MEMORY_SIZE 3 /* Low Fuse Byte */ @@ -57,7 +65,8 @@ #define FUSE_SUT1 (unsigned char)~_BV(5) #define FUSE_CKOUT (unsigned char)~_BV(6) #define FUSE_CKDIV8 (unsigned char)~_BV(7) -#define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & FUSE_SUT0 & FUSE_CKDIV8) +#define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & \ + FUSE_SUT0 & FUSE_CKDIV8) /* High Fuse Byte */ #define FUSE_BODLEVEL0 (unsigned char)~_BV(0) @@ -73,16 +82,24 @@ /* Extended Fuse Byte */ #define FUSE_SELFPRGEN (unsigned char)~_BV(0) #define EFUSE_DEFAULT (0xFF) +/** @} */ - -/* Lock Bits */ +/** + * @name Lock Bits + * + * @{ + */ #define __LOCK_BITS_EXIST +/** @} */ - -/* Signature */ +/** + * @name Signature + * + * @{ + */ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x93 #define SIGNATURE_2 0x0D - +/** @} */ #endif /* _AVR_IOTN861_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotnx4.h b/cpukit/score/cpu/avr/avr/iotnx4.h index cc1ed9d263..9d40770ad1 100644 --- a/cpukit/score/cpu/avr/avr/iotnx4.h +++ b/cpukit/score/cpu/avr/avr/iotnx4.h @@ -46,8 +46,11 @@ # error "Attempt to include more than one file." #endif -/* I/O registers */ - +/** + * @name I/O Registers + * + * @{ + */ #define PRR _SFR_IO8 (0x00) #define PRTIM1 3 #define PRTIM0 2 @@ -378,9 +381,13 @@ /* 0x3D..0x3E SP [defined in ] */ /* 0x3F SREG [defined in ] */ -///--- +/** @} */ -/* Interrupt vectors */ +/** + * @name Interrupt Vectors + * + * @{ + */ /* Interrupt vector 0 is the reset vector. */ /* External Interrupt Request 0 */ #define INT0_vect _VECTOR(1) @@ -452,4 +459,6 @@ #define _VECTORS_SIZE 34 +/** @} */ + #endif /* _AVR_IOTNX4_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iousb162.h b/cpukit/score/cpu/avr/avr/iousb162.h index c9094be89d..1350e42631 100644 --- a/cpukit/score/cpu/avr/avr/iousb162.h +++ b/cpukit/score/cpu/avr/avr/iousb162.h @@ -36,16 +36,24 @@ #include -/* Constants */ +/** + * @name Constants + * + * @{ + */ #define SPM_PAGESIZE 128 #define RAMEND 0x2FF #define XRAMEND RAMEND #define E2END 0x1FF #define E2PAGESIZE 4 #define FLASHEND 0x3FFF +/** @} */ - -/* Fuses */ +/** + * @name Fuses + * + * @{ + */ #define FUSE_MEMORY_SIZE 3 /* Low Fuse Byte */ @@ -76,18 +84,26 @@ #define FUSE_BODLEVEL2 (unsigned char)~_BV(2) #define FUSE_HWBE (unsigned char)~_BV(3) #define EFUSE_DEFAULT (BODLEVEL0 & BODLEVEL1 & HWBE) +/** @} */ - -/* Lock Bits */ +/** + * @name Lock Bits + * + * @{ + */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST +/** @} */ - -/* Signature */ +/** + * @name Signature + * + * @{ + */ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x82 - +/** @} */ #endif /* _AVR_AT90USB162_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iox128a1.h b/cpukit/score/cpu/avr/avr/iox128a1.h index 9feffd4f38..2d017816eb 100644 --- a/cpukit/score/cpu/avr/avr/iox128a1.h +++ b/cpukit/score/cpu/avr/avr/iox128a1.h @@ -117,13 +117,11 @@ typedef volatile uint32_t register32_t; }; \ } - -/* -========================================================================== -IO Module Structures -========================================================================== -*/ - +/** + * @name IO Module Structures + * + * @{ + */ /* -------------------------------------------------------------------------- @@ -186,7 +184,8 @@ typedef enum CLK_SCLKSEL_enum CLK_SCLKSEL_RC2M_gc = (0x00<<0), /* Internal 2MHz RC Oscillator */ CLK_SCLKSEL_RC32M_gc = (0x01<<0), /* Internal 32MHz RC Oscillator */ CLK_SCLKSEL_RC32K_gc = (0x02<<0), /* Internal 32kHz RC Oscillator */ - CLK_SCLKSEL_XOSC_gc = (0x03<<0), /* External Crystal Oscillator or Clock */ + /* External Crystal Oscillator or Clock */ + CLK_SCLKSEL_XOSC_gc = (0x03<<0), CLK_SCLKSEL_PLL_gc = (0x04<<0), /* Phase Locked Loop */ } CLK_SCLKSEL_t; @@ -218,9 +217,12 @@ typedef enum CLK_PSBCDIV_enum typedef enum CLK_RTCSRC_enum { CLK_RTCSRC_ULP_gc = (0x00<<1), /* 1kHz from internal 32kHz ULP */ - CLK_RTCSRC_TOSC_gc = (0x01<<1), /* 1kHz from 32kHz crystal oscillator on TOSC */ - CLK_RTCSRC_RCOSC_gc = (0x02<<1), /* 1kHz from internal 32kHz RC oscillator */ - CLK_RTCSRC_TOSC32_gc = (0x05<<1), /* 32kHz from 32kHz crystal oscillator on TOSC */ + /* 1kHz from 32kHz crystal oscillator on TOSC */ + CLK_RTCSRC_TOSC_gc = (0x01<<1), + /* 1kHz from internal 32kHz RC oscillator */ + CLK_RTCSRC_RCOSC_gc = (0x02<<1), + /* 32kHz from 32kHz crystal oscillator on TOSC */ + CLK_RTCSRC_TOSC32_gc = (0x05<<1), } CLK_RTCSRC_t; @@ -259,8 +261,10 @@ typedef struct OSC_struct register8_t CTRL; /* Control Register */ register8_t STATUS; /* Status Register */ register8_t XOSCCTRL; /* External Oscillator Control Register */ - register8_t XOSCFAIL; /* External Oscillator Failure Detection Register */ - register8_t RC32KCAL; /* 32kHz Internal Oscillator Calibration Register */ + /* External Oscillator Failure Detection Register */ + register8_t XOSCFAIL; + /* 32kHz Internal Oscillator Calibration Register */ + register8_t RC32KCAL; register8_t PLLCTRL; /* PLL Control REgister */ register8_t DFLLCTRL; /* DFLL Control Register */ } OSC_t; @@ -484,7 +488,8 @@ typedef enum DMA_CH_SRCRELOAD_enum DMA_CH_SRCRELOAD_NONE_gc = (0x00<<6), /* No reload */ DMA_CH_SRCRELOAD_BLOCK_gc = (0x01<<6), /* Reload at end of block */ DMA_CH_SRCRELOAD_BURST_gc = (0x02<<6), /* Reload at end of burst */ - DMA_CH_SRCRELOAD_TRANSACTION_gc = (0x03<<6), /* Reload at end of transaction */ + /* Reload at end of transaction */ + DMA_CH_SRCRELOAD_TRANSACTION_gc = (0x03<<6), } DMA_CH_SRCRELOAD_t; /* Source addressing mode */ @@ -501,7 +506,8 @@ typedef enum DMA_CH_DESTRELOAD_enum DMA_CH_DESTRELOAD_NONE_gc = (0x00<<2), /* No reload */ DMA_CH_DESTRELOAD_BLOCK_gc = (0x01<<2), /* Reload at end of block */ DMA_CH_DESTRELOAD_BURST_gc = (0x02<<2), /* Reload at end of burst */ - DMA_CH_DESTRELOAD_TRANSACTION_gc = (0x03<<2), /* Reload at end of transaction */ + /* Reload at end of transaction */ + DMA_CH_DESTRELOAD_TRANSACTION_gc = (0x03<<2), } DMA_CH_DESTRELOAD_t; /* Destination adressing mode */ @@ -523,94 +529,142 @@ typedef enum DMA_CH_TRIGSRC_enum DMA_CH_TRIGSRC_ADCA_CH1_gc = (0x11<<0), /* ADCA Channel 1 */ DMA_CH_TRIGSRC_ADCA_CH2_gc = (0x12<<0), /* ADCA Channel 2 */ DMA_CH_TRIGSRC_ADCA_CH3_gc = (0x13<<0), /* ADCA Channel 3 */ - DMA_CH_TRIGSRC_ADCA_CH4_gc = (0x14<<0), /* ADCA Channel 0,1,2,3 combined */ + /* ADCA Channel 0,1,2,3 combined */ + DMA_CH_TRIGSRC_ADCA_CH4_gc = (0x14<<0), DMA_CH_TRIGSRC_DACA_CH0_gc = (0x15<<0), /* DACA Channel 0 */ DMA_CH_TRIGSRC_DACA_CH1_gc = (0x16<<0), /* DACA Channel 1 */ DMA_CH_TRIGSRC_ADCB_CH0_gc = (0x20<<0), /* ADCB Channel 0 */ DMA_CH_TRIGSRC_ADCB_CH1_gc = (0x21<<0), /* ADCB Channel 1 */ DMA_CH_TRIGSRC_ADCB_CH2_gc = (0x22<<0), /* ADCB Channel 2 */ DMA_CH_TRIGSRC_ADCB_CH3_gc = (0x23<<0), /* ADCB Channel 3 */ - DMA_CH_TRIGSRC_ADCB_CH4_gc = (0x24<<0), /* ADCB Channel 0,1,2,3 combined */ + /* ADCB Channel 0,1,2,3 combined */ + DMA_CH_TRIGSRC_ADCB_CH4_gc = (0x24<<0), DMA_CH_TRIGSRC_DACB_CH0_gc = (0x25<<0), /* DACB Channel 0 */ DMA_CH_TRIGSRC_DACB_CH1_gc = (0x26<<0), /* DACB Channel 1 */ DMA_CH_TRIGSRC_TCC0_OVF_gc = (0x40<<0), /* Timer/Counter C0 Overflow */ DMA_CH_TRIGSRC_TCC0_ERR_gc = (0x41<<0), /* Timer/Counter C0 Error */ - DMA_CH_TRIGSRC_TCC0_CCA_gc = (0x42<<0), /* Timer/Counter C0 Compare or Capture A */ - DMA_CH_TRIGSRC_TCC0_CCB_gc = (0x43<<0), /* Timer/Counter C0 Compare or Capture B */ - DMA_CH_TRIGSRC_TCC0_CCC_gc = (0x44<<0), /* Timer/Counter C0 Compare or Capture C */ - DMA_CH_TRIGSRC_TCC0_CCD_gc = (0x45<<0), /* Timer/Counter C0 Compare or Capture D */ + /* Timer/Counter C0 Compare or Capture A */ + DMA_CH_TRIGSRC_TCC0_CCA_gc = (0x42<<0), + /* Timer/Counter C0 Compare or Capture B */ + DMA_CH_TRIGSRC_TCC0_CCB_gc = (0x43<<0), + /* Timer/Counter C0 Compare or Capture C */ + DMA_CH_TRIGSRC_TCC0_CCC_gc = (0x44<<0), + /* Timer/Counter C0 Compare or Capture D */ + DMA_CH_TRIGSRC_TCC0_CCD_gc = (0x45<<0), DMA_CH_TRIGSRC_TCC1_OVF_gc = (0x46<<0), /* Timer/Counter C1 Overflow */ DMA_CH_TRIGSRC_TCC1_ERR_gc = (0x47<<0), /* Timer/Counter C1 Error */ - DMA_CH_TRIGSRC_TCC1_CCA_gc = (0x48<<0), /* Timer/Counter C1 Compare or Capture A */ - DMA_CH_TRIGSRC_TCC1_CCB_gc = (0x49<<0), /* Timer/Counter C1 Compare or Capture B */ + /* Timer/Counter C1 Compare or Capture A */ + DMA_CH_TRIGSRC_TCC1_CCA_gc = (0x48<<0), + /* Timer/Counter C1 Compare or Capture B */ + DMA_CH_TRIGSRC_TCC1_CCB_gc = (0x49<<0), DMA_CH_TRIGSRC_SPIC_gc = (0x4A<<0), /* SPI C Transfer Complete */ - DMA_CH_TRIGSRC_USARTC0_RXC_gc = (0x4B<<0), /* USART C0 Receive Complete */ - DMA_CH_TRIGSRC_USARTC0_DRE_gc = (0x4C<<0), /* USART C0 Data Register Empty */ - DMA_CH_TRIGSRC_USARTC1_RXC_gc = (0x4E<<0), /* USART C1 Receive Complete */ - DMA_CH_TRIGSRC_USARTC1_DRE_gc = (0x4F<<0), /* USART C1 Data Register Empty */ + /* USART C0 Receive Complete */ + DMA_CH_TRIGSRC_USARTC0_RXC_gc = (0x4B<<0), + /* USART C0 Data Register Empty */ + DMA_CH_TRIGSRC_USARTC0_DRE_gc = (0x4C<<0), + /* USART C1 Receive Complete */ + DMA_CH_TRIGSRC_USARTC1_RXC_gc = (0x4E<<0), + /* USART C1 Data Register Empty */ + DMA_CH_TRIGSRC_USARTC1_DRE_gc = (0x4F<<0), DMA_CH_TRIGSRC_TCD0_OVF_gc = (0x60<<0), /* Timer/Counter D0 Overflow */ DMA_CH_TRIGSRC_TCD0_ERR_gc = (0x61<<0), /* Timer/Counter D0 Error */ - DMA_CH_TRIGSRC_TCD0_CCA_gc = (0x62<<0), /* Timer/Counter D0 Compare or Capture A */ - DMA_CH_TRIGSRC_TCD0_CCB_gc = (0x63<<0), /* Timer/Counter D0 Compare or Capture B */ - DMA_CH_TRIGSRC_TCD0_CCC_gc = (0x64<<0), /* Timer/Counter D0 Compare or Capture C */ - DMA_CH_TRIGSRC_TCD0_CCD_gc = (0x65<<0), /* Timer/Counter D0 Compare or Capture D */ + /* Timer/Counter D0 Compare or Capture A */ + DMA_CH_TRIGSRC_TCD0_CCA_gc = (0x62<<0), + /* Timer/Counter D0 Compare or Capture B */ + DMA_CH_TRIGSRC_TCD0_CCB_gc = (0x63<<0), + /* Timer/Counter D0 Compare or Capture C */ + DMA_CH_TRIGSRC_TCD0_CCC_gc = (0x64<<0), + /* Timer/Counter D0 Compare or Capture D */ + DMA_CH_TRIGSRC_TCD0_CCD_gc = (0x65<<0), DMA_CH_TRIGSRC_TCD1_OVF_gc = (0x66<<0), /* Timer/Counter D1 Overflow */ DMA_CH_TRIGSRC_TCD1_ERR_gc = (0x67<<0), /* Timer/Counter D1 Error */ - DMA_CH_TRIGSRC_TCD1_CCA_gc = (0x68<<0), /* Timer/Counter D1 Compare or Capture A */ - DMA_CH_TRIGSRC_TCD1_CCB_gc = (0x69<<0), /* Timer/Counter D1 Compare or Capture B */ + /* Timer/Counter D1 Compare or Capture A */ + DMA_CH_TRIGSRC_TCD1_CCA_gc = (0x68<<0), + /* Timer/Counter D1 Compare or Capture B */ + DMA_CH_TRIGSRC_TCD1_CCB_gc = (0x69<<0), DMA_CH_TRIGSRC_SPID_gc = (0x6A<<0), /* SPI D Transfer Complete */ - DMA_CH_TRIGSRC_USARTD0_RXC_gc = (0x6B<<0), /* USART D0 Receive Complete */ - DMA_CH_TRIGSRC_USARTD0_DRE_gc = (0x6C<<0), /* USART D0 Data Register Empty */ - DMA_CH_TRIGSRC_USARTD1_RXC_gc = (0x6E<<0), /* USART D1 Receive Complete */ - DMA_CH_TRIGSRC_USARTD1_DRE_gc = (0x6F<<0), /* USART D1 Data Register Empty */ + /* USART D0 Receive Complete */ + DMA_CH_TRIGSRC_USARTD0_RXC_gc = (0x6B<<0), + /* USART D0 Data Register Empty */ + DMA_CH_TRIGSRC_USARTD0_DRE_gc = (0x6C<<0), + /* USART D1 Receive Complete */ + DMA_CH_TRIGSRC_USARTD1_RXC_gc = (0x6E<<0), + /* USART D1 Data Register Empty */ + DMA_CH_TRIGSRC_USARTD1_DRE_gc = (0x6F<<0), DMA_CH_TRIGSRC_TCE0_OVF_gc = (0x80<<0), /* Timer/Counter E0 Overflow */ DMA_CH_TRIGSRC_TCE0_ERR_gc = (0x81<<0), /* Timer/Counter E0 Error */ - DMA_CH_TRIGSRC_TCE0_CCA_gc = (0x82<<0), /* Timer/Counter E0 Compare or Capture A */ - DMA_CH_TRIGSRC_TCE0_CCB_gc = (0x83<<0), /* Timer/Counter E0 Compare or Capture B */ - DMA_CH_TRIGSRC_TCE0_CCC_gc = (0x84<<0), /* Timer/Counter E0 Compare or Capture C */ - DMA_CH_TRIGSRC_TCE0_CCD_gc = (0x85<<0), /* Timer/Counter E0 Compare or Capture D */ + /* Timer/Counter E0 Compare or Capture A */ + DMA_CH_TRIGSRC_TCE0_CCA_gc = (0x82<<0), + /* Timer/Counter E0 Compare or Capture B */ + DMA_CH_TRIGSRC_TCE0_CCB_gc = (0x83<<0), + /* Timer/Counter E0 Compare or Capture C */ + DMA_CH_TRIGSRC_TCE0_CCC_gc = (0x84<<0), + /* Timer/Counter E0 Compare or Capture D */ + DMA_CH_TRIGSRC_TCE0_CCD_gc = (0x85<<0), DMA_CH_TRIGSRC_TCE1_OVF_gc = (0x86<<0), /* Timer/Counter E1 Overflow */ DMA_CH_TRIGSRC_TCE1_ERR_gc = (0x87<<0), /* Timer/Counter E1 Error */ - DMA_CH_TRIGSRC_TCE1_CCA_gc = (0x88<<0), /* Timer/Counter E1 Compare or Capture A */ - DMA_CH_TRIGSRC_TCE1_CCB_gc = (0x89<<0), /* Timer/Counter E1 Compare or Capture B */ + /* Timer/Counter E1 Compare or Capture A */ + DMA_CH_TRIGSRC_TCE1_CCA_gc = (0x88<<0), + /* Timer/Counter E1 Compare or Capture B */ + DMA_CH_TRIGSRC_TCE1_CCB_gc = (0x89<<0), DMA_CH_TRIGSRC_SPIE_gc = (0x8A<<0), /* SPI E Transfer Complete */ - DMA_CH_TRIGSRC_USARTE0_RXC_gc = (0x8B<<0), /* USART E0 Receive Complete */ - DMA_CH_TRIGSRC_USARTE0_DRE_gc = (0x8C<<0), /* USART E0 Data Register Empty */ - DMA_CH_TRIGSRC_USARTE1_RXC_gc = (0x8E<<0), /* USART E1 Receive Complete */ - DMA_CH_TRIGSRC_USARTE1_DRE_gc = (0x8F<<0), /* USART E1 Data Register Empty */ + /* USART E0 Receive Complete */ + DMA_CH_TRIGSRC_USARTE0_RXC_gc = (0x8B<<0), + /* USART E0 Data Register Empty */ + DMA_CH_TRIGSRC_USARTE0_DRE_gc = (0x8C<<0), + /* USART E1 Receive Complete */ + DMA_CH_TRIGSRC_USARTE1_RXC_gc = (0x8E<<0), + /* USART E1 Data Register Empty */ + DMA_CH_TRIGSRC_USARTE1_DRE_gc = (0x8F<<0), DMA_CH_TRIGSRC_TCF0_OVF_gc = (0xA0<<0), /* Timer/Counter F0 Overflow */ DMA_CH_TRIGSRC_TCF0_ERR_gc = (0xA1<<0), /* Timer/Counter F0 Error */ - DMA_CH_TRIGSRC_TCF0_CCA_gc = (0xA2<<0), /* Timer/Counter F0 Compare or Capture A */ - DMA_CH_TRIGSRC_TCF0_CCB_gc = (0xA3<<0), /* Timer/Counter F0 Compare or Capture B */ - DMA_CH_TRIGSRC_TCF0_CCC_gc = (0xA4<<0), /* Timer/Counter F0 Compare or Capture C */ - DMA_CH_TRIGSRC_TCF0_CCD_gc = (0xA5<<0), /* Timer/Counter F0 Compare or Capture D */ + /* Timer/Counter F0 Compare or Capture A */ + DMA_CH_TRIGSRC_TCF0_CCA_gc = (0xA2<<0), + /* Timer/Counter F0 Compare or Capture B */ + DMA_CH_TRIGSRC_TCF0_CCB_gc = (0xA3<<0), + /* Timer/Counter F0 Compare or Capture C */ + DMA_CH_TRIGSRC_TCF0_CCC_gc = (0xA4<<0), + /* Timer/Counter F0 Compare or Capture D */ + DMA_CH_TRIGSRC_TCF0_CCD_gc = (0xA5<<0), DMA_CH_TRIGSRC_TCF1_OVF_gc = (0xA6<<0), /* Timer/Counter F1 Overflow */ DMA_CH_TRIGSRC_TCF1_ERR_gc = (0xA7<<0), /* Timer/Counter F1 Error */ - DMA_CH_TRIGSRC_TCF1_CCA_gc = (0xA8<<0), /* Timer/Counter F1 Compare or Capture A */ - DMA_CH_TRIGSRC_TCF1_CCB_gc = (0xA9<<0), /* Timer/Counter F1 Compare or Capture B */ + /* Timer/Counter F1 Compare or Capture A */ + DMA_CH_TRIGSRC_TCF1_CCA_gc = (0xA8<<0), + /* Timer/Counter F1 Compare or Capture B */ + DMA_CH_TRIGSRC_TCF1_CCB_gc = (0xA9<<0), DMA_CH_TRIGSRC_SPIF_gc = (0xAA<<0), /* SPI F Transfer Complete */ - DMA_CH_TRIGSRC_USARTF0_RXC_gc = (0xAB<<0), /* USART F0 Receive Complete */ - DMA_CH_TRIGSRC_USARTF0_DRE_gc = (0xAC<<0), /* USART F0 Data Register Empty */ - DMA_CH_TRIGSRC_USARTF1_RXC_gc = (0xAE<<0), /* USART F1 Receive Complete */ - DMA_CH_TRIGSRC_USARTF1_DRE_gc = (0xAF<<0), /* USART F1 Data Register Empty */ + /* USART F0 Receive Complete */ + DMA_CH_TRIGSRC_USARTF0_RXC_gc = (0xAB<<0), + /* USART F0 Data Register Empty */ + DMA_CH_TRIGSRC_USARTF0_DRE_gc = (0xAC<<0), + /* USART F1 Receive Complete */ + DMA_CH_TRIGSRC_USARTF1_RXC_gc = (0xAE<<0), + /* USART F1 Data Register Empty */ + DMA_CH_TRIGSRC_USARTF1_DRE_gc = (0xAF<<0), } DMA_CH_TRIGSRC_t; /* Double buffering mode */ typedef enum DMA_DBUFMODE_enum { DMA_DBUFMODE_DISABLED_gc = (0x00<<2), /* Double buffering disabled */ - DMA_DBUFMODE_CH01_gc = (0x01<<2), /* Double buffering enabled on channel 0/1 */ - DMA_DBUFMODE_CH23_gc = (0x02<<2), /* Double buffering enabled on channel 2/3 */ - DMA_DBUFMODE_CH01CH23_gc = (0x03<<2), /* Double buffering enabled on ch. 0/1 and ch. 2/3 */ + /* Double buffering enabled on channel 0/1 */ + DMA_DBUFMODE_CH01_gc = (0x01<<2), + /* Double buffering enabled on channel 2/3 */ + DMA_DBUFMODE_CH23_gc = (0x02<<2), + /* Double buffering enabled on ch. 0/1 and ch. 2/3 */ + DMA_DBUFMODE_CH01CH23_gc = (0x03<<2), } DMA_DBUFMODE_t; /* Priority mode */ typedef enum DMA_PRIMODE_enum { DMA_PRIMODE_RR0123_gc = (0x00<<0), /* Round Robin */ - DMA_PRIMODE_CH0RR123_gc = (0x01<<0), /* Channel 0 > Round Robin on channel 1/2/3 */ - DMA_PRIMODE_CH01RR23_gc = (0x02<<0), /* Channel 0 > channel 1 > Round Robin on channel 2/3 */ - DMA_PRIMODE_CH0123_gc = (0x03<<0), /* Channel 0 > channel 1 > channel 2 > channel 3 */ + /* Channel 0 > Round Robin on channel 1/2/3 */ + DMA_PRIMODE_CH0RR123_gc = (0x01<<0), + /* Channel 0 > channel 1 > Round Robin on channel 2/3 */ + DMA_PRIMODE_CH01RR23_gc = (0x02<<0), + /* Channel 0 > channel 1 > channel 2 > channel 3 */ + DMA_PRIMODE_CH0123_gc = (0x03<<0), } DMA_PRIMODE_t; /* Interrupt level */ @@ -761,52 +815,82 @@ typedef enum EVSYS_CHMUX_enum EVSYS_CHMUX_PRESCALER_128_gc = (0x87<<0), /* Prescaler, divide by 128 */ EVSYS_CHMUX_PRESCALER_256_gc = (0x88<<0), /* Prescaler, divide by 256 */ EVSYS_CHMUX_PRESCALER_512_gc = (0x89<<0), /* Prescaler, divide by 512 */ - EVSYS_CHMUX_PRESCALER_1024_gc = (0x8A<<0), /* Prescaler, divide by 1024 */ - EVSYS_CHMUX_PRESCALER_2048_gc = (0x8B<<0), /* Prescaler, divide by 2048 */ - EVSYS_CHMUX_PRESCALER_4096_gc = (0x8C<<0), /* Prescaler, divide by 4096 */ - EVSYS_CHMUX_PRESCALER_8192_gc = (0x8D<<0), /* Prescaler, divide by 8192 */ - EVSYS_CHMUX_PRESCALER_16384_gc = (0x8E<<0), /* Prescaler, divide by 16384 */ - EVSYS_CHMUX_PRESCALER_32768_gc = (0x8F<<0), /* Prescaler, divide by 32768 */ + /* Prescaler, divide by 1024 */ + EVSYS_CHMUX_PRESCALER_1024_gc = (0x8A<<0), + /* Prescaler, divide by 2048 */ + EVSYS_CHMUX_PRESCALER_2048_gc = (0x8B<<0), + /* Prescaler, divide by 4096 */ + EVSYS_CHMUX_PRESCALER_4096_gc = (0x8C<<0), + /* Prescaler, divide by 8192 */ + EVSYS_CHMUX_PRESCALER_8192_gc = (0x8D<<0), + /* Prescaler, divide by 16384 */ + EVSYS_CHMUX_PRESCALER_16384_gc = (0x8E<<0), + /* Prescaler, divide by 32768 */ + EVSYS_CHMUX_PRESCALER_32768_gc = (0x8F<<0), EVSYS_CHMUX_TCC0_OVF_gc = (0xC0<<0), /* Timer/Counter C0 Overflow */ EVSYS_CHMUX_TCC0_ERR_gc = (0xC1<<0), /* Timer/Counter C0 Error */ - EVSYS_CHMUX_TCC0_CCA_gc = (0xC4<<0), /* Timer/Counter C0 Compare or Capture A */ - EVSYS_CHMUX_TCC0_CCB_gc = (0xC5<<0), /* Timer/Counter C0 Compare or Capture B */ - EVSYS_CHMUX_TCC0_CCC_gc = (0xC6<<0), /* Timer/Counter C0 Compare or Capture C */ - EVSYS_CHMUX_TCC0_CCD_gc = (0xC7<<0), /* Timer/Counter C0 Compare or Capture D */ + /* Timer/Counter C0 Compare or Capture A */ + EVSYS_CHMUX_TCC0_CCA_gc = (0xC4<<0), + /* Timer/Counter C0 Compare or Capture B */ + EVSYS_CHMUX_TCC0_CCB_gc = (0xC5<<0), + /* Timer/Counter C0 Compare or Capture C */ + EVSYS_CHMUX_TCC0_CCC_gc = (0xC6<<0), + /* Timer/Counter C0 Compare or Capture D */ + EVSYS_CHMUX_TCC0_CCD_gc = (0xC7<<0), EVSYS_CHMUX_TCC1_OVF_gc = (0xC8<<0), /* Timer/Counter C1 Overflow */ EVSYS_CHMUX_TCC1_ERR_gc = (0xC9<<0), /* Timer/Counter C1 Error */ - EVSYS_CHMUX_TCC1_CCA_gc = (0xCC<<0), /* Timer/Counter C1 Compare or Capture A */ - EVSYS_CHMUX_TCC1_CCB_gc = (0xCD<<0), /* Timer/Counter C1 Compare or Capture B */ + /* Timer/Counter C1 Compare or Capture A */ + EVSYS_CHMUX_TCC1_CCA_gc = (0xCC<<0), + /* Timer/Counter C1 Compare or Capture B */ + EVSYS_CHMUX_TCC1_CCB_gc = (0xCD<<0), EVSYS_CHMUX_TCD0_OVF_gc = (0xD0<<0), /* Timer/Counter D0 Overflow */ EVSYS_CHMUX_TCD0_ERR_gc = (0xD1<<0), /* Timer/Counter D0 Error */ - EVSYS_CHMUX_TCD0_CCA_gc = (0xD4<<0), /* Timer/Counter D0 Compare or Capture A */ - EVSYS_CHMUX_TCD0_CCB_gc = (0xD5<<0), /* Timer/Counter D0 Compare or Capture B */ - EVSYS_CHMUX_TCD0_CCC_gc = (0xD6<<0), /* Timer/Counter D0 Compare or Capture C */ - EVSYS_CHMUX_TCD0_CCD_gc = (0xD7<<0), /* Timer/Counter D0 Compare or Capture D */ + /* Timer/Counter D0 Compare or Capture A */ + EVSYS_CHMUX_TCD0_CCA_gc = (0xD4<<0), + /* Timer/Counter D0 Compare or Capture B */ + EVSYS_CHMUX_TCD0_CCB_gc = (0xD5<<0), + /* Timer/Counter D0 Compare or Capture C */ + EVSYS_CHMUX_TCD0_CCC_gc = (0xD6<<0), + /* Timer/Counter D0 Compare or Capture D */ + EVSYS_CHMUX_TCD0_CCD_gc = (0xD7<<0), EVSYS_CHMUX_TCD1_OVF_gc = (0xD8<<0), /* Timer/Counter D1 Overflow */ EVSYS_CHMUX_TCD1_ERR_gc = (0xD9<<0), /* Timer/Counter D1 Error */ - EVSYS_CHMUX_TCD1_CCA_gc = (0xDC<<0), /* Timer/Counter D1 Compare or Capture A */ - EVSYS_CHMUX_TCD1_CCB_gc = (0xDD<<0), /* Timer/Counter D1 Compare or Capture B */ + /* Timer/Counter D1 Compare or Capture A */ + EVSYS_CHMUX_TCD1_CCA_gc = (0xDC<<0), + /* Timer/Counter D1 Compare or Capture B */ + EVSYS_CHMUX_TCD1_CCB_gc = (0xDD<<0), EVSYS_CHMUX_TCE0_OVF_gc = (0xE0<<0), /* Timer/Counter E0 Overflow */ EVSYS_CHMUX_TCE0_ERR_gc = (0xE1<<0), /* Timer/Counter E0 Error */ - EVSYS_CHMUX_TCE0_CCA_gc = (0xE4<<0), /* Timer/Counter E0 Compare or Capture A */ - EVSYS_CHMUX_TCE0_CCB_gc = (0xE5<<0), /* Timer/Counter E0 Compare or Capture B */ - EVSYS_CHMUX_TCE0_CCC_gc = (0xE6<<0), /* Timer/Counter E0 Compare or Capture C */ - EVSYS_CHMUX_TCE0_CCD_gc = (0xE7<<0), /* Timer/Counter E0 Compare or Capture D */ + /* Timer/Counter E0 Compare or Capture A */ + EVSYS_CHMUX_TCE0_CCA_gc = (0xE4<<0), + /* Timer/Counter E0 Compare or Capture B */ + EVSYS_CHMUX_TCE0_CCB_gc = (0xE5<<0), + /* Timer/Counter E0 Compare or Capture C */ + EVSYS_CHMUX_TCE0_CCC_gc = (0xE6<<0), + /* Timer/Counter E0 Compare or Capture D */ + EVSYS_CHMUX_TCE0_CCD_gc = (0xE7<<0), EVSYS_CHMUX_TCE1_OVF_gc = (0xE8<<0), /* Timer/Counter E1 Overflow */ EVSYS_CHMUX_TCE1_ERR_gc = (0xE9<<0), /* Timer/Counter E1 Error */ - EVSYS_CHMUX_TCE1_CCA_gc = (0xEC<<0), /* Timer/Counter E1 Compare or Capture A */ - EVSYS_CHMUX_TCE1_CCB_gc = (0xED<<0), /* Timer/Counter E1 Compare or Capture B */ + /* Timer/Counter E1 Compare or Capture A */ + EVSYS_CHMUX_TCE1_CCA_gc = (0xEC<<0), + /* Timer/Counter E1 Compare or Capture B */ + EVSYS_CHMUX_TCE1_CCB_gc = (0xED<<0), EVSYS_CHMUX_TCF0_OVF_gc = (0xF0<<0), /* Timer/Counter F0 Overflow */ EVSYS_CHMUX_TCF0_ERR_gc = (0xF1<<0), /* Timer/Counter F0 Error */ - EVSYS_CHMUX_TCF0_CCA_gc = (0xF4<<0), /* Timer/Counter F0 Compare or Capture A */ - EVSYS_CHMUX_TCF0_CCB_gc = (0xF5<<0), /* Timer/Counter F0 Compare or Capture B */ - EVSYS_CHMUX_TCF0_CCC_gc = (0xF6<<0), /* Timer/Counter F0 Compare or Capture C */ - EVSYS_CHMUX_TCF0_CCD_gc = (0xF7<<0), /* Timer/Counter F0 Compare or Capture D */ + /* Timer/Counter F0 Compare or Capture A */ + EVSYS_CHMUX_TCF0_CCA_gc = (0xF4<<0), + /* Timer/Counter F0 Compare or Capture B */ + EVSYS_CHMUX_TCF0_CCB_gc = (0xF5<<0), + /* Timer/Counter F0 Compare or Capture C */ + EVSYS_CHMUX_TCF0_CCC_gc = (0xF6<<0), + /* Timer/Counter F0 Compare or Capture D */ + EVSYS_CHMUX_TCF0_CCD_gc = (0xF7<<0), EVSYS_CHMUX_TCF1_OVF_gc = (0xF8<<0), /* Timer/Counter F1 Overflow */ EVSYS_CHMUX_TCF1_ERR_gc = (0xF9<<0), /* Timer/Counter F1 Error */ - EVSYS_CHMUX_TCF1_CCA_gc = (0xFC<<0), /* Timer/Counter F1 Compare or Capture A */ - EVSYS_CHMUX_TCF1_CCB_gc = (0xFD<<0), /* Timer/Counter F1 Compare or Capture B */ + /* Timer/Counter F1 Compare or Capture A */ + EVSYS_CHMUX_TCF1_CCA_gc = (0xFC<<0), + /* Timer/Counter F1 Compare or Capture B */ + EVSYS_CHMUX_TCF1_CCB_gc = (0xFD<<0), } EVSYS_CHMUX_t; @@ -953,20 +1037,27 @@ typedef enum NVM_CMD_enum NVM_CMD_ERASE_USER_SIG_ROW_gc = (0x18<<0), /* Erase user signature row */ NVM_CMD_WRITE_USER_SIG_ROW_gc = (0x1A<<0), /* Write user signature row */ NVM_CMD_ERASE_APP_gc = (0x20<<0), /* Erase Application Section */ - NVM_CMD_ERASE_APP_PAGE_gc = (0x22<<0), /* Erase Application Section page */ + /* Erase Application Section page */ + NVM_CMD_ERASE_APP_PAGE_gc = (0x22<<0), NVM_CMD_LOAD_FLASH_BUFFER_gc = (0x23<<0), /* Load Flash page buffer */ - NVM_CMD_WRITE_APP_PAGE_gc = (0x24<<0), /* Write Application Section page */ - NVM_CMD_ERASE_WRITE_APP_PAGE_gc = (0x25<<0), /* Erase-and-write Application Section page */ - NVM_CMD_ERASE_FLASH_BUFFER_gc = (0x26<<0), /* Erase/flush Flash page buffer */ + /* Write Application Section page */ + NVM_CMD_WRITE_APP_PAGE_gc = (0x24<<0), + /* Erase-and-write Application Section page */ + NVM_CMD_ERASE_WRITE_APP_PAGE_gc = (0x25<<0), + /* Erase/flush Flash page buffer */ + NVM_CMD_ERASE_FLASH_BUFFER_gc = (0x26<<0), NVM_CMD_ERASE_BOOT_PAGE_gc = (0x2A<<0), /* Erase Boot Section page */ NVM_CMD_WRITE_BOOT_PAGE_gc = (0x2C<<0), /* Write Boot Section page */ - NVM_CMD_ERASE_WRITE_BOOT_PAGE_gc = (0x2D<<0), /* Erase-and-write Boot Section page */ + /* Erase-and-write Boot Section page */ + NVM_CMD_ERASE_WRITE_BOOT_PAGE_gc = (0x2D<<0), NVM_CMD_ERASE_EEPROM_gc = (0x30<<0), /* Erase EEPROM */ NVM_CMD_ERASE_EEPROM_PAGE_gc = (0x32<<0), /* Erase EEPROM page */ NVM_CMD_LOAD_EEPROM_BUFFER_gc = (0x33<<0), /* Load EEPROM page buffer */ NVM_CMD_WRITE_EEPROM_PAGE_gc = (0x34<<0), /* Write EEPROM page */ - NVM_CMD_ERASE_WRITE_EEPROM_PAGE_gc = (0x35<<0), /* Erase-and-write EEPROM page */ - NVM_CMD_ERASE_EEPROM_BUFFER_gc = (0x36<<0), /* Erase/flush EEPROM page buffer */ + /* Erase-and-write EEPROM page */ + NVM_CMD_ERASE_WRITE_EEPROM_PAGE_gc = (0x35<<0), + /* Erase/flush EEPROM page buffer */ + NVM_CMD_ERASE_EEPROM_BUFFER_gc = (0x36<<0), NVM_CMD_APP_CRC_gc = (0x38<<0), /* Generate Application section CRC */ NVM_CMD_BOOT_CRC_gc = (0x39<<0), /* Generate Boot Section CRC */ NVM_CMD_FLASH_RANGE_CRC_gc = (0x3A<<0), /* Generate Flash Range CRC */ @@ -1272,9 +1363,11 @@ typedef enum ADC_CH_MUXNEG_enum typedef enum ADC_CH_INPUTMODE_enum { ADC_CH_INPUTMODE_INTERNAL_gc = (0x00<<0), /* Internal inputs, no gain */ - ADC_CH_INPUTMODE_SINGLEENDED_gc = (0x01<<0), /* Single-ended input, no gain */ + /* Single-ended input, no gain */ + ADC_CH_INPUTMODE_SINGLEENDED_gc = (0x01<<0), ADC_CH_INPUTMODE_DIFF_gc = (0x02<<0), /* Differential input, no gain */ - ADC_CH_INPUTMODE_DIFFWGAIN_gc = (0x03<<0), /* Differential input, with gain */ + /* Differential input, with gain */ + ADC_CH_INPUTMODE_DIFFWGAIN_gc = (0x03<<0), } ADC_CH_INPUTMODE_t; /* Gain factor */ @@ -1294,7 +1387,8 @@ typedef enum ADC_RESOLUTION_enum { ADC_RESOLUTION_12BIT_gc = (0x00<<1), /* 12-bit right-adjusted result */ ADC_RESOLUTION_8BIT_gc = (0x02<<1), /* 8-bit right-adjusted result */ - ADC_RESOLUTION_LEFT12BIT_gc = (0x03<<1), /* 12-bit left-adjusted result */ + /* 12-bit left-adjusted result */ + ADC_RESOLUTION_LEFT12BIT_gc = (0x03<<1), } ADC_RESOLUTION_t; /* Voltage reference selection */ @@ -1334,18 +1428,23 @@ typedef enum ADC_EVACT_enum ADC_EVACT_NONE_gc = (0x00<<0), /* No event action */ ADC_EVACT_CH0_gc = (0x01<<0), /* First event triggers channel 0 */ ADC_EVACT_CH01_gc = (0x02<<0), /* First two events trigger channel 0,1 */ - ADC_EVACT_CH012_gc = (0x03<<0), /* First three events trigger channel 0,1,2 */ + /* First three events trigger channel 0,1,2 */ + ADC_EVACT_CH012_gc = (0x03<<0), ADC_EVACT_CH0123_gc = (0x04<<0), /* Events trigger channel 0,1,2,3 */ ADC_EVACT_SWEEP_gc = (0x05<<0), /* First event triggers sweep */ - ADC_EVACT_SYNCHSWEEP_gc = (0x06<<0), /* First event triggers synchronized sweep */ + /* First event triggers synchronized sweep */ + ADC_EVACT_SYNCHSWEEP_gc = (0x06<<0), } ADC_EVACT_t; /* Interupt mode */ typedef enum ADC_CH_INTMODE_enum { - ADC_CH_INTMODE_COMPLETE_gc = (0x00<<2), /* Interrupt on conversion complete */ - ADC_CH_INTMODE_BELOW_gc = (0x01<<2), /* Interrupt on result below compare value */ - ADC_CH_INTMODE_ABOVE_gc = (0x03<<2), /* Interrupt on result above compare value */ + /* Interrupt on conversion complete */ + ADC_CH_INTMODE_COMPLETE_gc = (0x00<<2), + /* Interrupt on result below compare value */ + ADC_CH_INTMODE_BELOW_gc = (0x01<<2), + /* Interrupt on result above compare value */ + ADC_CH_INTMODE_ABOVE_gc = (0x03<<2), } ADC_CH_INTMODE_t; /* Interrupt level */ @@ -1420,8 +1519,10 @@ typedef struct DAC_struct /* Output channel selection */ typedef enum DAC_CHSEL_enum { - DAC_CHSEL_SINGLE_gc = (0x00<<5), /* Single channel operation (Channel A only) */ - DAC_CHSEL_DUAL_gc = (0x02<<5), /* Dual channel operation (S/H on both channels) */ + /* Single channel operation (Channel A only) */ + DAC_CHSEL_SINGLE_gc = (0x00<<5), + /* Dual channel operation (S/H on both channels) */ + DAC_CHSEL_DUAL_gc = (0x02<<5), } DAC_CHSEL_t; /* Reference voltage selection */ @@ -1429,8 +1530,10 @@ typedef enum DAC_REFSEL_enum { DAC_REFSEL_INT1V_gc = (0x00<<3), /* Internal 1V */ DAC_REFSEL_AVCC_gc = (0x01<<3), /* Analog supply voltage */ - DAC_REFSEL_AREFA_gc = (0x02<<3), /* External reference on AREF on PORTA */ - DAC_REFSEL_AREFB_gc = (0x03<<3), /* External reference on AREF on PORTB */ + /* External reference on AREF on PORTA */ + DAC_REFSEL_AREFA_gc = (0x02<<3), + /* External reference on AREF on PORTB */ + DAC_REFSEL_AREFB_gc = (0x03<<3), } DAC_REFSEL_t; /* Event channel selection */ @@ -1810,7 +1913,8 @@ typedef enum TWI_MASTER_TIMEOUT_enum typedef enum TWI_MASTER_CMD_enum { TWI_MASTER_CMD_NOACT_gc = (0x00<<0), /* No Action */ - TWI_MASTER_CMD_REPSTART_gc = (0x01<<0), /* Issue Repeated Start Condition */ + /* Issue Repeated Start Condition */ + TWI_MASTER_CMD_REPSTART_gc = (0x01<<0), TWI_MASTER_CMD_RECVTRANS_gc = (0x02<<0), /* Receive or Transmit Data */ TWI_MASTER_CMD_STOP_gc = (0x03<<0), /* Issue Stop Condition */ } TWI_MASTER_CMD_t; @@ -1820,7 +1924,8 @@ typedef enum TWI_MASTER_BUSSTATE_enum { TWI_MASTER_BUSSTATE_UNKNOWN_gc = (0x00<<0), /* Unknown Bus State */ TWI_MASTER_BUSSTATE_IDLE_gc = (0x01<<0), /* Bus is Idle */ - TWI_MASTER_BUSSTATE_OWNER_gc = (0x02<<0), /* This Module Controls The Bus */ + /* This Module Controls The Bus */ + TWI_MASTER_BUSSTATE_OWNER_gc = (0x02<<0), TWI_MASTER_BUSSTATE_BUSY_gc = (0x03<<0), /* The Bus is Busy */ } TWI_MASTER_BUSSTATE_t; @@ -1837,8 +1942,10 @@ typedef enum TWI_SLAVE_INTLVL_enum typedef enum TWI_SLAVE_CMD_enum { TWI_SLAVE_CMD_NOACT_gc = (0x00<<0), /* No Action */ - TWI_SLAVE_CMD_COMPTRANS_gc = (0x02<<0), /* Used To Complete a Transaction */ - TWI_SLAVE_CMD_RESPONSE_gc = (0x03<<0), /* Used in Response to Address/Data Interrupt */ + /* Used To Complete a Transaction */ + TWI_SLAVE_CMD_COMPTRANS_gc = (0x02<<0), + /* Used in Response to Address/Data Interrupt */ + TWI_SLAVE_CMD_RESPONSE_gc = (0x03<<0), } TWI_SLAVE_CMD_t; @@ -2005,9 +2112,12 @@ typedef enum PORTCFG_CLKOUT_enum typedef enum PORTCFG_EVOUT_enum { PORTCFG_EVOUT_OFF_gc = (0x00<<4), /* Event Output Disabled */ - PORTCFG_EVOUT_PC7_gc = (0x01<<4), /* Event Channel 7 Output on Port C pin 7 */ - PORTCFG_EVOUT_PD7_gc = (0x02<<4), /* Event Channel 7 Output on Port D pin 7 */ - PORTCFG_EVOUT_PE7_gc = (0x03<<4), /* Event Channel 7 Output on Port E pin 7 */ + /* Event Channel 7 Output on Port C pin 7 */ + PORTCFG_EVOUT_PC7_gc = (0x01<<4), + /* Event Channel 7 Output on Port D pin 7 */ + PORTCFG_EVOUT_PD7_gc = (0x02<<4), + /* Event Channel 7 Output on Port E pin 7 */ + PORTCFG_EVOUT_PE7_gc = (0x03<<4), } PORTCFG_EVOUT_t; /* Port Interrupt 0 Level */ @@ -2032,7 +2142,8 @@ typedef enum PORT_INT1LVL_enum typedef enum PORT_OPC_enum { PORT_OPC_TOTEM_gc = (0x00<<3), /* Totempole */ - PORT_OPC_BUSKEEPER_gc = (0x01<<3), /* Totempole w/ Bus keeper on Input and Output */ + /* Totempole w/ Bus keeper on Input and Output */ + PORT_OPC_BUSKEEPER_gc = (0x01<<3), PORT_OPC_PULLDOWN_gc = (0x02<<3), /* Totempole w/ Pull-down on Input */ PORT_OPC_PULLUP_gc = (0x03<<3), /* Totempole w/ Pull-up on Input */ PORT_OPC_WIREDOR_gc = (0x04<<3), /* Wired OR */ @@ -2244,7 +2355,8 @@ typedef enum TC_WGMODE_enum TC_WGMODE_FRQ_gc = (0x01<<0), /* Frequency Generation Mode */ TC_WGMODE_SS_gc = (0x03<<0), /* Single Slope */ TC_WGMODE_DS_T_gc = (0x05<<0), /* Dual Slope, Update on TOP */ - TC_WGMODE_DS_TB_gc = (0x06<<0), /* Dual Slope, Update on TOP and BOTTOM */ + /* Dual Slope, Update on TOP and BOTTOM */ + TC_WGMODE_DS_TB_gc = (0x06<<0), TC_WGMODE_DS_B_gc = (0x07<<0), /* Dual Slope, Update on BOTTOM */ } TC_WGMODE_t; @@ -2349,9 +2461,12 @@ typedef enum AWEX_FDACT_enum typedef enum HIRES_HREN_enum { HIRES_HREN_NONE_gc = (0x00<<0), /* No Fault Protection */ - HIRES_HREN_TC0_gc = (0x01<<0), /* Enable High Resolution on Timer/Counter 0 */ - HIRES_HREN_TC1_gc = (0x02<<0), /* Enable High Resolution on Timer/Counter 1 */ - HIRES_HREN_BOTH_gc = (0x03<<0), /* Enable High Resolution both Timer/Counters */ + /* Enable High Resolution on Timer/Counter 0 */ + HIRES_HREN_TC0_gc = (0x01<<0), + /* Enable High Resolution on Timer/Counter 1 */ + HIRES_HREN_TC1_gc = (0x02<<0), + /* Enable High Resolution both Timer/Counters */ + HIRES_HREN_BOTH_gc = (0x03<<0), } HIRES_HREN_t; @@ -2482,7 +2597,8 @@ IRCOM - IR Communication Module typedef struct IRCOM_struct { register8_t CTRL; /* Control Register */ - register8_t TXPLCTRL; /* IrDA Transmitter Pulse Length Control Register */ + /* IrDA Transmitter Pulse Length Control Register */ + register8_t TXPLCTRL; register8_t RXPLCTRL; /* IrDA Receiver Pulse Length Control Register */ } IRCOM_t; @@ -2525,15 +2641,13 @@ typedef enum AES_INTLVL_enum AES_INTLVL_MED_gc = (0x02<<0), /* Medium Level */ AES_INTLVL_HI_gc = (0x03<<0), /* High Level */ } AES_INTLVL_t; +/** @} */ - - -/* -========================================================================== -IO Module Instances. Mapped to memory. -========================================================================== -*/ - +/** + * @name IO Module Instances. Mapped to Memory + * + * @{ + */ #define GPIO (*(GPIO_t *) 0x0000) /* General Purpose IO Registers */ #define VPORT0 (*(VPORT_t *) 0x0010) /* Virtual Port 0 */ #define VPORT1 (*(VPORT_t *) 0x0014) /* Virtual Port 1 */ @@ -2583,35 +2697,47 @@ IO Module Instances. Mapped to memory. #define TCC1 (*(TC1_t *) 0x0840) /* Timer/Counter C1 */ #define AWEXC (*(AWEX_t *) 0x0880) /* Advanced Waveform Extension C */ #define HIRESC (*(HIRES_t *) 0x0890) /* High-Resolution Extension C */ -#define USARTC0 (*(USART_t *) 0x08A0) /* Universal Asynchronous Receiver-Transmitter C0 */ -#define USARTC1 (*(USART_t *) 0x08B0) /* Universal Asynchronous Receiver-Transmitter C1 */ +/* Universal Asynchronous Receiver-Transmitter C0 */ +#define USARTC0 (*(USART_t *) 0x08A0) +/* Universal Asynchronous Receiver-Transmitter C1 */ +#define USARTC1 (*(USART_t *) 0x08B0) #define SPIC (*(SPI_t *) 0x08C0) /* Serial Peripheral Interface C */ #define IRCOM (*(IRCOM_t *) 0x08F8) /* IR Communication Module */ #define TCD0 (*(TC0_t *) 0x0900) /* Timer/Counter D0 */ #define TCD1 (*(TC1_t *) 0x0940) /* Timer/Counter D1 */ #define HIRESD (*(HIRES_t *) 0x0990) /* High-Resolution Extension D */ -#define USARTD0 (*(USART_t *) 0x09A0) /* Universal Asynchronous Receiver-Transmitter D0 */ -#define USARTD1 (*(USART_t *) 0x09B0) /* Universal Asynchronous Receiver-Transmitter D1 */ +/* Universal Asynchronous Receiver-Transmitter D0 */ +#define USARTD0 (*(USART_t *) 0x09A0) +/* Universal Asynchronous Receiver-Transmitter D1 */ +#define USARTD1 (*(USART_t *) 0x09B0) #define SPID (*(SPI_t *) 0x09C0) /* Serial Peripheral Interface D */ #define TCE0 (*(TC0_t *) 0x0A00) /* Timer/Counter E0 */ #define TCE1 (*(TC1_t *) 0x0A40) /* Timer/Counter E1 */ #define AWEXE (*(AWEX_t *) 0x0A80) /* Advanced Waveform Extension E */ #define HIRESE (*(HIRES_t *) 0x0A90) /* High-Resolution Extension E */ -#define USARTE0 (*(USART_t *) 0x0AA0) /* Universal Asynchronous Receiver-Transmitter E0 */ -#define USARTE1 (*(USART_t *) 0x0AB0) /* Universal Asynchronous Receiver-Transmitter E1 */ +/* Universal Asynchronous Receiver-Transmitter E0 */ +#define USARTE0 (*(USART_t *) 0x0AA0) +/* Universal Asynchronous Receiver-Transmitter E1 */ +#define USARTE1 (*(USART_t *) 0x0AB0) #define SPIE (*(SPI_t *) 0x0AC0) /* Serial Peripheral Interface E */ #define TCF0 (*(TC0_t *) 0x0B00) /* Timer/Counter F0 */ #define TCF1 (*(TC1_t *) 0x0B40) /* Timer/Counter F1 */ #define HIRESF (*(HIRES_t *) 0x0B90) /* High-Resolution Extension F */ -#define USARTF0 (*(USART_t *) 0x0BA0) /* Universal Asynchronous Receiver-Transmitter F0 */ -#define USARTF1 (*(USART_t *) 0x0BB0) /* Universal Asynchronous Receiver-Transmitter F1 */ +/* Universal Asynchronous Receiver-Transmitter F0 */ +#define USARTF0 (*(USART_t *) 0x0BA0) +/* Universal Asynchronous Receiver-Transmitter F1 */ +#define USARTF1 (*(USART_t *) 0x0BB0) #define SPIF (*(SPI_t *) 0x0BC0) /* Serial Peripheral Interface F */ #endif /* !defined (__ASSEMBLER__) */ +/** @} */ - -/* ========== Flattened fully qualified IO register names ========== */ +/** + * @name Flattened Fully Qualified IO Register Names + * + * @{ + */ /* GPIO - General Purpose IO Registers */ #define GPIO_GPIO0 _SFR_MEM8(0x0000) @@ -3629,11 +3755,13 @@ IO Module Instances. Mapped to memory. #define SPIF_INTCTRL _SFR_MEM8(0x0BC1) #define SPIF_STATUS _SFR_MEM8(0x0BC2) #define SPIF_DATA _SFR_MEM8(0x0BC3) +/** @} */ - - -/*================== Bitfield Definitions ================== */ - +/** + * @name Bitfield Definitions + * + * @{ + */ /* XOCD - On-Chip Debug System */ /* OCD.OCDR1 bit masks and bit positions */ #define OCD_OCDRD_bm 0x01 /* OCDR Dirty bit mask. */ @@ -3714,12 +3842,18 @@ IO Module Instances. Mapped to memory. #define CLK_PSADIV4_bm (1<<6) /* Prescaler A Division Factor bit 4 mask. */ #define CLK_PSADIV4_bp 6 /* Prescaler A Division Factor bit 4 position. */ -#define CLK_PSBCDIV_gm 0x03 /* Prescaler B and C Division factor group mask. */ -#define CLK_PSBCDIV_gp 0 /* Prescaler B and C Division factor group position. */ -#define CLK_PSBCDIV0_bm (1<<0) /* Prescaler B and C Division factor bit 0 mask. */ -#define CLK_PSBCDIV0_bp 0 /* Prescaler B and C Division factor bit 0 position. */ -#define CLK_PSBCDIV1_bm (1<<1) /* Prescaler B and C Division factor bit 1 mask. */ -#define CLK_PSBCDIV1_bp 1 /* Prescaler B and C Division factor bit 1 position. */ +/* Prescaler B and C Division factor group mask. */ +#define CLK_PSBCDIV_gm 0x03 +/* Prescaler B and C Division factor group position. */ +#define CLK_PSBCDIV_gp 0 +/* Prescaler B and C Division factor bit 0 mask. */ +#define CLK_PSBCDIV0_bm (1<<0) +/* Prescaler B and C Division factor bit 0 position. */ +#define CLK_PSBCDIV0_bp 0 +/* Prescaler B and C Division factor bit 1 mask. */ +#define CLK_PSBCDIV1_bm (1<<1) +/* Prescaler B and C Division factor bit 1 position. */ +#define CLK_PSBCDIV1_bp 1 /* CLK.LOCK bit masks and bit positions */ @@ -3895,14 +4029,20 @@ IO Module Instances. Mapped to memory. #define OSC_XOSCEN_bm 0x08 /* External Oscillator Enable bit mask. */ #define OSC_XOSCEN_bp 3 /* External Oscillator Enable bit position. */ -#define OSC_RC32KEN_bm 0x04 /* Internal 32kHz RC Oscillator Enable bit mask. */ -#define OSC_RC32KEN_bp 2 /* Internal 32kHz RC Oscillator Enable bit position. */ +/* Internal 32kHz RC Oscillator Enable bit mask. */ +#define OSC_RC32KEN_bm 0x04 +/* Internal 32kHz RC Oscillator Enable bit position. */ +#define OSC_RC32KEN_bp 2 -#define OSC_RC32MEN_bm 0x02 /* Internal 32MHz RC Oscillator Enable bit mask. */ -#define OSC_RC32MEN_bp 1 /* Internal 32MHz RC Oscillator Enable bit position. */ +/* Internal 32MHz RC Oscillator Enable bit mask. */ +#define OSC_RC32MEN_bm 0x02 +/* Internal 32MHz RC Oscillator Enable bit position. */ +#define OSC_RC32MEN_bp 1 -#define OSC_RC2MEN_bm 0x01 /* Internal 2MHz RC Oscillator Enable bit mask. */ -#define OSC_RC2MEN_bp 0 /* Internal 2MHz RC Oscillator Enable bit position. */ +/* Internal 2MHz RC Oscillator Enable bit mask. */ +#define OSC_RC2MEN_bm 0x01 +/* Internal 2MHz RC Oscillator Enable bit position. */ +#define OSC_RC2MEN_bp 0 /* OSC.STATUS bit masks and bit positions */ @@ -3912,14 +4052,20 @@ IO Module Instances. Mapped to memory. #define OSC_XOSCRDY_bm 0x08 /* External Oscillator Ready bit mask. */ #define OSC_XOSCRDY_bp 3 /* External Oscillator Ready bit position. */ -#define OSC_RC32KRDY_bm 0x04 /* Internal 32kHz RC Oscillator Ready bit mask. */ -#define OSC_RC32KRDY_bp 2 /* Internal 32kHz RC Oscillator Ready bit position. */ +/* Internal 32kHz RC Oscillator Ready bit mask. */ +#define OSC_RC32KRDY_bm 0x04 +/* Internal 32kHz RC Oscillator Ready bit position. */ +#define OSC_RC32KRDY_bp 2 -#define OSC_RC32MRDY_bm 0x02 /* Internal 32MHz RC Oscillator Ready bit mask. */ -#define OSC_RC32MRDY_bp 1 /* Internal 32MHz RC Oscillator Ready bit position. */ +/* Internal 32MHz RC Oscillator Ready bit mask. */ +#define OSC_RC32MRDY_bm 0x02 +/* Internal 32MHz RC Oscillator Ready bit position. */ +#define OSC_RC32MRDY_bp 1 -#define OSC_RC2MRDY_bm 0x01 /* Internal 2MHz RC Oscillator Ready bit mask. */ -#define OSC_RC2MRDY_bp 0 /* Internal 2MHz RC Oscillator Ready bit position. */ +/* Internal 2MHz RC Oscillator Ready bit mask. */ +#define OSC_RC2MRDY_bm 0x01 +/* Internal 2MHz RC Oscillator Ready bit position. */ +#define OSC_RC2MRDY_bp 0 /* OSC.XOSCCTRL bit masks and bit positions */ @@ -3933,21 +4079,33 @@ IO Module Instances. Mapped to memory. #define OSC_X32KLPM_bm 0x20 /* 32kHz XTAL OSC Low-power Mode bit mask. */ #define OSC_X32KLPM_bp 5 /* 32kHz XTAL OSC Low-power Mode bit position. */ -#define OSC_XOSCSEL_gm 0x0F /* External Oscillator Selection and Startup Time group mask. */ -#define OSC_XOSCSEL_gp 0 /* External Oscillator Selection and Startup Time group position. */ -#define OSC_XOSCSEL0_bm (1<<0) /* External Oscillator Selection and Startup Time bit 0 mask. */ -#define OSC_XOSCSEL0_bp 0 /* External Oscillator Selection and Startup Time bit 0 position. */ -#define OSC_XOSCSEL1_bm (1<<1) /* External Oscillator Selection and Startup Time bit 1 mask. */ -#define OSC_XOSCSEL1_bp 1 /* External Oscillator Selection and Startup Time bit 1 position. */ -#define OSC_XOSCSEL2_bm (1<<2) /* External Oscillator Selection and Startup Time bit 2 mask. */ -#define OSC_XOSCSEL2_bp 2 /* External Oscillator Selection and Startup Time bit 2 position. */ -#define OSC_XOSCSEL3_bm (1<<3) /* External Oscillator Selection and Startup Time bit 3 mask. */ -#define OSC_XOSCSEL3_bp 3 /* External Oscillator Selection and Startup Time bit 3 position. */ +/* External Oscillator Selection and Startup Time group mask. */ +#define OSC_XOSCSEL_gm 0x0F +/* External Oscillator Selection and Startup Time group position. */ +#define OSC_XOSCSEL_gp 0 +/* External Oscillator Selection and Startup Time bit 0 mask. */ +#define OSC_XOSCSEL0_bm (1<<0) +/* External Oscillator Selection and Startup Time bit 0 position. */ +#define OSC_XOSCSEL0_bp 0 +/* External Oscillator Selection and Startup Time bit 1 mask. */ +#define OSC_XOSCSEL1_bm (1<<1) +/* External Oscillator Selection and Startup Time bit 1 position. */ +#define OSC_XOSCSEL1_bp 1 +/* External Oscillator Selection and Startup Time bit 2 mask. */ +#define OSC_XOSCSEL2_bm (1<<2) +/* External Oscillator Selection and Startup Time bit 2 position. */ +#define OSC_XOSCSEL2_bp 2 +/* External Oscillator Selection and Startup Time bit 3 mask. */ +#define OSC_XOSCSEL3_bm (1<<3) +/* External Oscillator Selection and Startup Time bit 3 position. */ +#define OSC_XOSCSEL3_bp 3 /* OSC.XOSCFAIL bit masks and bit positions */ -#define OSC_XOSCFDIF_bm 0x02 /* Failure Detection Interrupt Flag bit mask. */ -#define OSC_XOSCFDIF_bp 1 /* Failure Detection Interrupt Flag bit position. */ +/* Failure Detection Interrupt Flag bit mask. */ +#define OSC_XOSCFDIF_bm 0x02 +/* Failure Detection Interrupt Flag bit position. */ +#define OSC_XOSCFDIF_bp 1 #define OSC_XOSCFDEN_bm 0x01 /* Failure Detection Enable bit mask. */ #define OSC_XOSCFDEN_bp 0 /* Failure Detection Enable bit position. */ @@ -4033,8 +4191,10 @@ IO Module Instances. Mapped to memory. #define RST_SRF_bm 0x20 /* Software Reset Flag bit mask. */ #define RST_SRF_bp 5 /* Software Reset Flag bit position. */ -#define RST_PDIRF_bm 0x10 /* Programming and Debug Interface Interface Reset Flag bit mask. */ -#define RST_PDIRF_bp 4 /* Programming and Debug Interface Interface Reset Flag bit position. */ +/* Programming and Debug Interface Interface Reset Flag bit mask. */ +#define RST_PDIRF_bm 0x10 +/* Programming and Debug Interface Interface Reset Flag bit position. */ +#define RST_PDIRF_bp 4 #define RST_WDRF_bm 0x08 /* Watchdog Reset Flag bit mask. */ #define RST_WDRF_bp 3 /* Watchdog Reset Flag bit position. */ @@ -4128,8 +4288,10 @@ IO Module Instances. Mapped to memory. #define PMIC_HILVLEX_bm 0x04 /* High Level Interrupt Executing bit mask. */ #define PMIC_HILVLEX_bp 2 /* High Level Interrupt Executing bit position. */ -#define PMIC_MEDLVLEX_bm 0x02 /* Medium Level Interrupt Executing bit mask. */ -#define PMIC_MEDLVLEX_bp 1 /* Medium Level Interrupt Executing bit position. */ +/* Medium Level Interrupt Executing bit mask. */ +#define PMIC_MEDLVLEX_bm 0x02 +/* Medium Level Interrupt Executing bit position. */ +#define PMIC_MEDLVLEX_bp 1 #define PMIC_LOLVLEX_bm 0x01 /* Low Level Interrupt Executing bit mask. */ #define PMIC_LOLVLEX_bp 0 /* Low Level Interrupt Executing bit position. */ @@ -4166,8 +4328,10 @@ IO Module Instances. Mapped to memory. #define DMA_CH_TRFREQ_bm 0x10 /* Channel Transfer Request bit mask. */ #define DMA_CH_TRFREQ_bp 4 /* Channel Transfer Request bit position. */ -#define DMA_CH_SINGLE_bm 0x04 /* Channel Single Shot Data Transfer bit mask. */ -#define DMA_CH_SINGLE_bp 2 /* Channel Single Shot Data Transfer bit position. */ +/* Channel Single Shot Data Transfer bit mask. */ +#define DMA_CH_SINGLE_bm 0x04 +/* Channel Single Shot Data Transfer bit position. */ +#define DMA_CH_SINGLE_bp 2 #define DMA_CH_BURSTLEN_gm 0x03 /* Channel Transfer Mode group mask. */ #define DMA_CH_BURSTLEN_gp 0 /* Channel Transfer Mode group position. */ @@ -4184,55 +4348,93 @@ IO Module Instances. Mapped to memory. #define DMA_CH_CHPEND_bm 0x40 /* Block Transfer Pending bit mask. */ #define DMA_CH_CHPEND_bp 6 /* Block Transfer Pending bit position. */ -#define DMA_CH_ERRIF_bm 0x20 /* Block Transfer Error Interrupt Flag bit mask. */ -#define DMA_CH_ERRIF_bp 5 /* Block Transfer Error Interrupt Flag bit position. */ - -#define DMA_CH_TRNIF_bm 0x10 /* Transaction Complete Interrup Flag bit mask. */ -#define DMA_CH_TRNIF_bp 4 /* Transaction Complete Interrup Flag bit position. */ - -#define DMA_CH_ERRINTLVL_gm 0x0C /* Transfer Error Interrupt Level group mask. */ -#define DMA_CH_ERRINTLVL_gp 2 /* Transfer Error Interrupt Level group position. */ -#define DMA_CH_ERRINTLVL0_bm (1<<2) /* Transfer Error Interrupt Level bit 0 mask. */ -#define DMA_CH_ERRINTLVL0_bp 2 /* Transfer Error Interrupt Level bit 0 position. */ -#define DMA_CH_ERRINTLVL1_bm (1<<3) /* Transfer Error Interrupt Level bit 1 mask. */ -#define DMA_CH_ERRINTLVL1_bp 3 /* Transfer Error Interrupt Level bit 1 position. */ - -#define DMA_CH_TRNINTLVL_gm 0x03 /* Transaction Complete Interrupt Level group mask. */ -#define DMA_CH_TRNINTLVL_gp 0 /* Transaction Complete Interrupt Level group position. */ -#define DMA_CH_TRNINTLVL0_bm (1<<0) /* Transaction Complete Interrupt Level bit 0 mask. */ -#define DMA_CH_TRNINTLVL0_bp 0 /* Transaction Complete Interrupt Level bit 0 position. */ -#define DMA_CH_TRNINTLVL1_bm (1<<1) /* Transaction Complete Interrupt Level bit 1 mask. */ -#define DMA_CH_TRNINTLVL1_bp 1 /* Transaction Complete Interrupt Level bit 1 position. */ +/* Block Transfer Error Interrupt Flag bit mask. */ +#define DMA_CH_ERRIF_bm 0x20 +/* Block Transfer Error Interrupt Flag bit position. */ +#define DMA_CH_ERRIF_bp 5 + +/* Transaction Complete Interrup Flag bit mask. */ +#define DMA_CH_TRNIF_bm 0x10 +/* Transaction Complete Interrup Flag bit position. */ +#define DMA_CH_TRNIF_bp 4 + +/* Transfer Error Interrupt Level group mask. */ +#define DMA_CH_ERRINTLVL_gm 0x0C +/* Transfer Error Interrupt Level group position. */ +#define DMA_CH_ERRINTLVL_gp 2 +/* Transfer Error Interrupt Level bit 0 mask. */ +#define DMA_CH_ERRINTLVL0_bm (1<<2) +/* Transfer Error Interrupt Level bit 0 position. */ +#define DMA_CH_ERRINTLVL0_bp 2 +/* Transfer Error Interrupt Level bit 1 mask. */ +#define DMA_CH_ERRINTLVL1_bm (1<<3) + /* Transfer Error Interrupt Level bit 1 position. */ +#define DMA_CH_ERRINTLVL1_bp 3 + +/* Transaction Complete Interrupt Level group mask. */ +#define DMA_CH_TRNINTLVL_gm 0x03 +/* Transaction Complete Interrupt Level group position. */ +#define DMA_CH_TRNINTLVL_gp 0 +/* Transaction Complete Interrupt Level bit 0 mask. */ +#define DMA_CH_TRNINTLVL0_bm (1<<0) +/* Transaction Complete Interrupt Level bit 0 position. */ +#define DMA_CH_TRNINTLVL0_bp 0 +/* Transaction Complete Interrupt Level bit 1 mask. */ +#define DMA_CH_TRNINTLVL1_bm (1<<1) +/* Transaction Complete Interrupt Level bit 1 position. */ +#define DMA_CH_TRNINTLVL1_bp 1 /* DMA_CH.ADDRCTRL bit masks and bit positions */ -#define DMA_CH_SRCRELOAD_gm 0xC0 /* Channel Source Address Reload group mask. */ -#define DMA_CH_SRCRELOAD_gp 6 /* Channel Source Address Reload group position. */ -#define DMA_CH_SRCRELOAD0_bm (1<<6) /* Channel Source Address Reload bit 0 mask. */ -#define DMA_CH_SRCRELOAD0_bp 6 /* Channel Source Address Reload bit 0 position. */ -#define DMA_CH_SRCRELOAD1_bm (1<<7) /* Channel Source Address Reload bit 1 mask. */ -#define DMA_CH_SRCRELOAD1_bp 7 /* Channel Source Address Reload bit 1 position. */ +/* Channel Source Address Reload group mask. */ +#define DMA_CH_SRCRELOAD_gm 0xC0 +/* Channel Source Address Reload group position. */ +#define DMA_CH_SRCRELOAD_gp 6 +/* Channel Source Address Reload bit 0 mask. */ +#define DMA_CH_SRCRELOAD0_bm (1<<6) +/* Channel Source Address Reload bit 0 position. */ +#define DMA_CH_SRCRELOAD0_bp 6 +/* Channel Source Address Reload bit 1 mask. */ +#define DMA_CH_SRCRELOAD1_bm (1<<7) +/* Channel Source Address Reload bit 1 position. */ +#define DMA_CH_SRCRELOAD1_bp 7 #define DMA_CH_SRCDIR_gm 0x30 /* Channel Source Address Mode group mask. */ #define DMA_CH_SRCDIR_gp 4 /* Channel Source Address Mode group position. */ -#define DMA_CH_SRCDIR0_bm (1<<4) /* Channel Source Address Mode bit 0 mask. */ -#define DMA_CH_SRCDIR0_bp 4 /* Channel Source Address Mode bit 0 position. */ -#define DMA_CH_SRCDIR1_bm (1<<5) /* Channel Source Address Mode bit 1 mask. */ -#define DMA_CH_SRCDIR1_bp 5 /* Channel Source Address Mode bit 1 position. */ - -#define DMA_CH_DESTRELOAD_gm 0x0C /* Channel Destination Address Reload group mask. */ -#define DMA_CH_DESTRELOAD_gp 2 /* Channel Destination Address Reload group position. */ -#define DMA_CH_DESTRELOAD0_bm (1<<2) /* Channel Destination Address Reload bit 0 mask. */ -#define DMA_CH_DESTRELOAD0_bp 2 /* Channel Destination Address Reload bit 0 position. */ -#define DMA_CH_DESTRELOAD1_bm (1<<3) /* Channel Destination Address Reload bit 1 mask. */ -#define DMA_CH_DESTRELOAD1_bp 3 /* Channel Destination Address Reload bit 1 position. */ - -#define DMA_CH_DESTDIR_gm 0x03 /* Channel Destination Address Mode group mask. */ -#define DMA_CH_DESTDIR_gp 0 /* Channel Destination Address Mode group position. */ -#define DMA_CH_DESTDIR0_bm (1<<0) /* Channel Destination Address Mode bit 0 mask. */ -#define DMA_CH_DESTDIR0_bp 0 /* Channel Destination Address Mode bit 0 position. */ -#define DMA_CH_DESTDIR1_bm (1<<1) /* Channel Destination Address Mode bit 1 mask. */ -#define DMA_CH_DESTDIR1_bp 1 /* Channel Destination Address Mode bit 1 position. */ +/* Channel Source Address Mode bit 0 mask. */ +#define DMA_CH_SRCDIR0_bm (1<<4) +/* Channel Source Address Mode bit 0 position. */ +#define DMA_CH_SRCDIR0_bp 4 +/* Channel Source Address Mode bit 1 mask. */ +#define DMA_CH_SRCDIR1_bm (1<<5) +/* Channel Source Address Mode bit 1 position. */ +#define DMA_CH_SRCDIR1_bp 5 + +/* Channel Destination Address Reload group mask. */ +#define DMA_CH_DESTRELOAD_gm 0x0C +/* Channel Destination Address Reload group position. */ +#define DMA_CH_DESTRELOAD_gp 2 +/* Channel Destination Address Reload bit 0 mask. */ +#define DMA_CH_DESTRELOAD0_bm (1<<2) +/* Channel Destination Address Reload bit 0 position. */ +#define DMA_CH_DESTRELOAD0_bp 2 +/* Channel Destination Address Reload bit 1 mask. */ +#define DMA_CH_DESTRELOAD1_bm (1<<3) +/* Channel Destination Address Reload bit 1 position. */ +#define DMA_CH_DESTRELOAD1_bp 3 + +/* Channel Destination Address Mode group mask. */ +#define DMA_CH_DESTDIR_gm 0x03 +/* Channel Destination Address Mode group position. */ +#define DMA_CH_DESTDIR_gp 0 +/* Channel Destination Address Mode bit 0 mask. */ +#define DMA_CH_DESTDIR0_bm (1<<0) +/* Channel Destination Address Mode bit 0 position. */ +#define DMA_CH_DESTDIR0_bp 0 +/* Channel Destination Address Mode bit 1 mask. */ +#define DMA_CH_DESTDIR1_bm (1<<1) +/* Channel Destination Address Mode bit 1 position. */ +#define DMA_CH_DESTDIR1_bp 1 /* DMA_CH.TRIGSRC bit masks and bit positions */ @@ -4279,29 +4481,45 @@ IO Module Instances. Mapped to memory. /* DMA.INTFLAGS bit masks and bit positions */ -#define DMA_CH3ERRIF_bm 0x80 /* Channel 3 Block Transfer Error Interrupt Flag bit mask. */ -#define DMA_CH3ERRIF_bp 7 /* Channel 3 Block Transfer Error Interrupt Flag bit position. */ - -#define DMA_CH2ERRIF_bm 0x40 /* Channel 2 Block Transfer Error Interrupt Flag bit mask. */ -#define DMA_CH2ERRIF_bp 6 /* Channel 2 Block Transfer Error Interrupt Flag bit position. */ - -#define DMA_CH1ERRIF_bm 0x20 /* Channel 1 Block Transfer Error Interrupt Flag bit mask. */ -#define DMA_CH1ERRIF_bp 5 /* Channel 1 Block Transfer Error Interrupt Flag bit position. */ - -#define DMA_CH0ERRIF_bm 0x10 /* Channel 0 Block Transfer Error Interrupt Flag bit mask. */ -#define DMA_CH0ERRIF_bp 4 /* Channel 0 Block Transfer Error Interrupt Flag bit position. */ - -#define DMA_CH3TRNIF_bm 0x08 /* Channel 3 Transaction Complete Interrupt Flag bit mask. */ -#define DMA_CH3TRNIF_bp 3 /* Channel 3 Transaction Complete Interrupt Flag bit position. */ - -#define DMA_CH2TRNIF_bm 0x04 /* Channel 2 Transaction Complete Interrupt Flag bit mask. */ -#define DMA_CH2TRNIF_bp 2 /* Channel 2 Transaction Complete Interrupt Flag bit position. */ - -#define DMA_CH1TRNIF_bm 0x02 /* Channel 1 Transaction Complete Interrupt Flag bit mask. */ -#define DMA_CH1TRNIF_bp 1 /* Channel 1 Transaction Complete Interrupt Flag bit position. */ - -#define DMA_CH0TRNIF_bm 0x01 /* Channel 0 Transaction Complete Interrupt Flag bit mask. */ -#define DMA_CH0TRNIF_bp 0 /* Channel 0 Transaction Complete Interrupt Flag bit position. */ +/* Channel 3 Block Transfer Error Interrupt Flag bit mask. */ +#define DMA_CH3ERRIF_bm 0x80 +/* Channel 3 Block Transfer Error Interrupt Flag bit position. */ +#define DMA_CH3ERRIF_bp 7 + +/* Channel 2 Block Transfer Error Interrupt Flag bit mask. */ +#define DMA_CH2ERRIF_bm 0x40 +/* Channel 2 Block Transfer Error Interrupt Flag bit position. */ +#define DMA_CH2ERRIF_bp 6 + +/* Channel 1 Block Transfer Error Interrupt Flag bit mask. */ +#define DMA_CH1ERRIF_bm 0x20 +/* Channel 1 Block Transfer Error Interrupt Flag bit position. */ +#define DMA_CH1ERRIF_bp 5 + +/* Channel 0 Block Transfer Error Interrupt Flag bit mask. */ +#define DMA_CH0ERRIF_bm 0x10 +/* Channel 0 Block Transfer Error Interrupt Flag bit position. */ +#define DMA_CH0ERRIF_bp 4 + +/* Channel 3 Transaction Complete Interrupt Flag bit mask. */ +#define DMA_CH3TRNIF_bm 0x08 +/* Channel 3 Transaction Complete Interrupt Flag bit position. */ +#define DMA_CH3TRNIF_bp 3 + +/* Channel 2 Transaction Complete Interrupt Flag bit mask. */ +#define DMA_CH2TRNIF_bm 0x04 +/* Channel 2 Transaction Complete Interrupt Flag bit position. */ +#define DMA_CH2TRNIF_bp 2 + +/* Channel 1 Transaction Complete Interrupt Flag bit mask. */ +#define DMA_CH1TRNIF_bm 0x02 +/* Channel 1 Transaction Complete Interrupt Flag bit position. */ +#define DMA_CH1TRNIF_bp 1 + +/* Channel 0 Transaction Complete Interrupt Flag bit mask. */ +#define DMA_CH0TRNIF_bm 0x01 +/* Channel 0 Transaction Complete Interrupt Flag bit position. */ +#define DMA_CH0TRNIF_bp 0 /* DMA.STATUS bit masks and bit positions */ @@ -4318,16 +4536,20 @@ IO Module Instances. Mapped to memory. #define DMA_CH0BUSY_bp 4 /* Channel 0 Block Transfer Busy bit position. */ #define DMA_CH3PEND_bm 0x08 /* Channel 3 Block Transfer Pending bit mask. */ -#define DMA_CH3PEND_bp 3 /* Channel 3 Block Transfer Pending bit position. */ +/* Channel 3 Block Transfer Pending bit position. */ +#define DMA_CH3PEND_bp 3 #define DMA_CH2PEND_bm 0x04 /* Channel 2 Block Transfer Pending bit mask. */ -#define DMA_CH2PEND_bp 2 /* Channel 2 Block Transfer Pending bit position. */ +/* Channel 2 Block Transfer Pending bit position. */ +#define DMA_CH2PEND_bp 2 #define DMA_CH1PEND_bm 0x02 /* Channel 1 Block Transfer Pending bit mask. */ -#define DMA_CH1PEND_bp 1 /* Channel 1 Block Transfer Pending bit position. */ +/* Channel 1 Block Transfer Pending bit position. */ +#define DMA_CH1PEND_bp 1 #define DMA_CH0PEND_bm 0x01 /* Channel 0 Block Transfer Pending bit mask. */ -#define DMA_CH0PEND_bp 0 /* Channel 0 Block Transfer Pending bit position. */ +/* Channel 0 Block Transfer Pending bit position. */ +#define DMA_CH0PEND_bp 0 /* EVSYS - Event System */ @@ -4500,12 +4722,18 @@ IO Module Instances. Mapped to memory. /* EVSYS.CH0CTRL bit masks and bit positions */ -#define EVSYS_QDIRM_gm 0x60 /* Quadrature Decoder Index Recognition Mode group mask. */ -#define EVSYS_QDIRM_gp 5 /* Quadrature Decoder Index Recognition Mode group position. */ -#define EVSYS_QDIRM0_bm (1<<5) /* Quadrature Decoder Index Recognition Mode bit 0 mask. */ -#define EVSYS_QDIRM0_bp 5 /* Quadrature Decoder Index Recognition Mode bit 0 position. */ -#define EVSYS_QDIRM1_bm (1<<6) /* Quadrature Decoder Index Recognition Mode bit 1 mask. */ -#define EVSYS_QDIRM1_bp 6 /* Quadrature Decoder Index Recognition Mode bit 1 position. */ +/* Quadrature Decoder Index Recognition Mode group mask. */ +#define EVSYS_QDIRM_gm 0x60 +/* Quadrature Decoder Index Recognition Mode group position. */ +#define EVSYS_QDIRM_gp 5 +/* Quadrature Decoder Index Recognition Mode bit 0 mask. */ +#define EVSYS_QDIRM0_bm (1<<5) +/* Quadrature Decoder Index Recognition Mode bit 0 position. */ +#define EVSYS_QDIRM0_bp 5 +/* Quadrature Decoder Index Recognition Mode bit 1 mask. */ +#define EVSYS_QDIRM1_bm (1<<6) +/* Quadrature Decoder Index Recognition Mode bit 1 position. */ +#define EVSYS_QDIRM1_bp 6 #define EVSYS_QDIEN_bm 0x10 /* Quadrature Decoder Index Enable bit mask. */ #define EVSYS_QDIEN_bp 4 /* Quadrature Decoder Index Enable bit position. */ @@ -4691,7 +4919,8 @@ IO Module Instances. Mapped to memory. #define NVM_FBUSY_bp 6 /* Flash Memory Busy bit position. */ #define NVM_EELOAD_bm 0x02 /* EEPROM Page Buffer Active Loading bit mask. */ -#define NVM_EELOAD_bp 1 /* EEPROM Page Buffer Active Loading bit position. */ +/* EEPROM Page Buffer Active Loading bit position. */ +#define NVM_EELOAD_bp 1 #define NVM_FLOAD_bm 0x01 /* Flash Page Buffer Active Loading bit mask. */ #define NVM_FLOAD_bp 0 /* Flash Page Buffer Active Loading bit position. */ @@ -4705,19 +4934,31 @@ IO Module Instances. Mapped to memory. #define NVM_BLBB1_bm (1<<7) /* Boot Lock Bits - Boot Section bit 1 mask. */ #define NVM_BLBB1_bp 7 /* Boot Lock Bits - Boot Section bit 1 position. */ -#define NVM_BLBA_gm 0x30 /* Boot Lock Bits - Application Section group mask. */ -#define NVM_BLBA_gp 4 /* Boot Lock Bits - Application Section group position. */ -#define NVM_BLBA0_bm (1<<4) /* Boot Lock Bits - Application Section bit 0 mask. */ -#define NVM_BLBA0_bp 4 /* Boot Lock Bits - Application Section bit 0 position. */ -#define NVM_BLBA1_bm (1<<5) /* Boot Lock Bits - Application Section bit 1 mask. */ -#define NVM_BLBA1_bp 5 /* Boot Lock Bits - Application Section bit 1 position. */ - -#define NVM_BLBAT_gm 0x0C /* Boot Lock Bits - Application Table group mask. */ -#define NVM_BLBAT_gp 2 /* Boot Lock Bits - Application Table group position. */ -#define NVM_BLBAT0_bm (1<<2) /* Boot Lock Bits - Application Table bit 0 mask. */ -#define NVM_BLBAT0_bp 2 /* Boot Lock Bits - Application Table bit 0 position. */ -#define NVM_BLBAT1_bm (1<<3) /* Boot Lock Bits - Application Table bit 1 mask. */ -#define NVM_BLBAT1_bp 3 /* Boot Lock Bits - Application Table bit 1 position. */ +/* Boot Lock Bits - Application Section group mask. */ +#define NVM_BLBA_gm 0x30 +/* Boot Lock Bits - Application Section group position. */ +#define NVM_BLBA_gp 4 + /* Boot Lock Bits - Application Section bit 0 mask. */ +#define NVM_BLBA0_bm (1<<4) +/* Boot Lock Bits - Application Section bit 0 position. */ +#define NVM_BLBA0_bp 4 +/* Boot Lock Bits - Application Section bit 1 mask. */ +#define NVM_BLBA1_bm (1<<5) +/* Boot Lock Bits - Application Section bit 1 position. */ +#define NVM_BLBA1_bp 5 + +/* Boot Lock Bits - Application Table group mask. */ +#define NVM_BLBAT_gm 0x0C +/* Boot Lock Bits - Application Table group position. */ +#define NVM_BLBAT_gp 2 +/* Boot Lock Bits - Application Table bit 0 mask. */ +#define NVM_BLBAT0_bm (1<<2) +/* Boot Lock Bits - Application Table bit 0 position. */ +#define NVM_BLBAT0_bp 2 +/* Boot Lock Bits - Application Table bit 1 mask. */ +#define NVM_BLBAT1_bm (1<<3) +/* Boot Lock Bits - Application Table bit 1 position. */ +#define NVM_BLBAT1_bp 3 #define NVM_LB_gm 0x03 /* Lock Bits group mask. */ #define NVM_LB_gp 0 /* Lock Bits group position. */ @@ -4728,26 +4969,44 @@ IO Module Instances. Mapped to memory. /* NVM_LOCKBITS.LOCKBITS bit masks and bit positions */ -#define NVM_LOCKBITS_BLBB_gm 0xC0 /* Boot Lock Bits - Boot Section group mask. */ -#define NVM_LOCKBITS_BLBB_gp 6 /* Boot Lock Bits - Boot Section group position. */ -#define NVM_LOCKBITS_BLBB0_bm (1<<6) /* Boot Lock Bits - Boot Section bit 0 mask. */ -#define NVM_LOCKBITS_BLBB0_bp 6 /* Boot Lock Bits - Boot Section bit 0 position. */ -#define NVM_LOCKBITS_BLBB1_bm (1<<7) /* Boot Lock Bits - Boot Section bit 1 mask. */ -#define NVM_LOCKBITS_BLBB1_bp 7 /* Boot Lock Bits - Boot Section bit 1 position. */ - -#define NVM_LOCKBITS_BLBA_gm 0x30 /* Boot Lock Bits - Application Section group mask. */ -#define NVM_LOCKBITS_BLBA_gp 4 /* Boot Lock Bits - Application Section group position. */ -#define NVM_LOCKBITS_BLBA0_bm (1<<4) /* Boot Lock Bits - Application Section bit 0 mask. */ -#define NVM_LOCKBITS_BLBA0_bp 4 /* Boot Lock Bits - Application Section bit 0 position. */ -#define NVM_LOCKBITS_BLBA1_bm (1<<5) /* Boot Lock Bits - Application Section bit 1 mask. */ -#define NVM_LOCKBITS_BLBA1_bp 5 /* Boot Lock Bits - Application Section bit 1 position. */ - -#define NVM_LOCKBITS_BLBAT_gm 0x0C /* Boot Lock Bits - Application Table group mask. */ -#define NVM_LOCKBITS_BLBAT_gp 2 /* Boot Lock Bits - Application Table group position. */ -#define NVM_LOCKBITS_BLBAT0_bm (1<<2) /* Boot Lock Bits - Application Table bit 0 mask. */ -#define NVM_LOCKBITS_BLBAT0_bp 2 /* Boot Lock Bits - Application Table bit 0 position. */ -#define NVM_LOCKBITS_BLBAT1_bm (1<<3) /* Boot Lock Bits - Application Table bit 1 mask. */ -#define NVM_LOCKBITS_BLBAT1_bp 3 /* Boot Lock Bits - Application Table bit 1 position. */ +/* Boot Lock Bits - Boot Section group mask. */ +#define NVM_LOCKBITS_BLBB_gm 0xC0 +/* Boot Lock Bits - Boot Section group position. */ +#define NVM_LOCKBITS_BLBB_gp 6 +/* Boot Lock Bits - Boot Section bit 0 mask. */ +#define NVM_LOCKBITS_BLBB0_bm (1<<6) + /* Boot Lock Bits - Boot Section bit 0 position. */ +#define NVM_LOCKBITS_BLBB0_bp 6 +/* Boot Lock Bits - Boot Section bit 1 mask. */ +#define NVM_LOCKBITS_BLBB1_bm (1<<7) +/* Boot Lock Bits - Boot Section bit 1 position. */ +#define NVM_LOCKBITS_BLBB1_bp 7 + +/* Boot Lock Bits - Application Section group mask. */ +#define NVM_LOCKBITS_BLBA_gm 0x30 +/* Boot Lock Bits - Application Section group position. */ +#define NVM_LOCKBITS_BLBA_gp 4 +/* Boot Lock Bits - Application Section bit 0 mask. */ +#define NVM_LOCKBITS_BLBA0_bm (1<<4) +/* Boot Lock Bits - Application Section bit 0 position. */ +#define NVM_LOCKBITS_BLBA0_bp 4 +/* Boot Lock Bits - Application Section bit 1 mask. */ +#define NVM_LOCKBITS_BLBA1_bm (1<<5) +/* Boot Lock Bits - Application Section bit 1 position. */ +#define NVM_LOCKBITS_BLBA1_bp 5 + +/* Boot Lock Bits - Application Table group mask. */ +#define NVM_LOCKBITS_BLBAT_gm 0x0C +/* Boot Lock Bits - Application Table group position. */ +#define NVM_LOCKBITS_BLBAT_gp 2 +/* Boot Lock Bits - Application Table bit 0 mask. */ +#define NVM_LOCKBITS_BLBAT0_bm (1<<2) +/* Boot Lock Bits - Application Table bit 0 position. */ +#define NVM_LOCKBITS_BLBAT0_bp 2 +/* Boot Lock Bits - Application Table bit 1 mask. */ +#define NVM_LOCKBITS_BLBAT1_bm (1<<3) +/* Boot Lock Bits - Application Table bit 1 position. */ +#define NVM_LOCKBITS_BLBAT1_bp 3 #define NVM_LOCKBITS_LB_gm 0x03 /* Lock Bits group mask. */ #define NVM_LOCKBITS_LB_gp 0 /* Lock Bits group position. */ @@ -4779,16 +5038,26 @@ IO Module Instances. Mapped to memory. /* NVM_FUSES.FUSEBYTE1 bit masks and bit positions */ -#define NVM_FUSES_WDWP_gm 0xF0 /* Watchdog Window Timeout Period group mask. */ -#define NVM_FUSES_WDWP_gp 4 /* Watchdog Window Timeout Period group position. */ -#define NVM_FUSES_WDWP0_bm (1<<4) /* Watchdog Window Timeout Period bit 0 mask. */ -#define NVM_FUSES_WDWP0_bp 4 /* Watchdog Window Timeout Period bit 0 position. */ -#define NVM_FUSES_WDWP1_bm (1<<5) /* Watchdog Window Timeout Period bit 1 mask. */ -#define NVM_FUSES_WDWP1_bp 5 /* Watchdog Window Timeout Period bit 1 position. */ -#define NVM_FUSES_WDWP2_bm (1<<6) /* Watchdog Window Timeout Period bit 2 mask. */ -#define NVM_FUSES_WDWP2_bp 6 /* Watchdog Window Timeout Period bit 2 position. */ -#define NVM_FUSES_WDWP3_bm (1<<7) /* Watchdog Window Timeout Period bit 3 mask. */ -#define NVM_FUSES_WDWP3_bp 7 /* Watchdog Window Timeout Period bit 3 position. */ +/* Watchdog Window Timeout Period group mask. */ +#define NVM_FUSES_WDWP_gm 0xF0 +/* Watchdog Window Timeout Period group position. */ +#define NVM_FUSES_WDWP_gp 4 +/* Watchdog Window Timeout Period bit 0 mask. */ +#define NVM_FUSES_WDWP0_bm (1<<4) +/* Watchdog Window Timeout Period bit 0 position. */ +#define NVM_FUSES_WDWP0_bp 4 +/* Watchdog Window Timeout Period bit 1 mask. */ +#define NVM_FUSES_WDWP1_bm (1<<5) +/* Watchdog Window Timeout Period bit 1 position. */ +#define NVM_FUSES_WDWP1_bp 5 +/* Watchdog Window Timeout Period bit 2 mask. */ +#define NVM_FUSES_WDWP2_bm (1<<6) +/* Watchdog Window Timeout Period bit 2 position. */ +#define NVM_FUSES_WDWP2_bp 6 +/* Watchdog Window Timeout Period bit 3 mask. */ +#define NVM_FUSES_WDWP3_bm (1<<7) +/* Watchdog Window Timeout Period bit 3 position. */ +#define NVM_FUSES_WDWP3_bp 7 #define NVM_FUSES_WDP_gm 0x0F /* Watchdog Timeout Period group mask. */ #define NVM_FUSES_WDP_gp 0 /* Watchdog Timeout Period group position. */ @@ -4806,22 +5075,36 @@ IO Module Instances. Mapped to memory. #define NVM_FUSES_DVSDON_bm 0x80 /* Spike Detector Enable bit mask. */ #define NVM_FUSES_DVSDON_bp 7 /* Spike Detector Enable bit position. */ -#define NVM_FUSES_BOOTRST_bm 0x40 /* Boot Loader Section Reset Vector bit mask. */ -#define NVM_FUSES_BOOTRST_bp 6 /* Boot Loader Section Reset Vector bit position. */ - -#define NVM_FUSES_BODACT_gm 0x0C /* BOD Operation in Active Mode group mask. */ -#define NVM_FUSES_BODACT_gp 2 /* BOD Operation in Active Mode group position. */ -#define NVM_FUSES_BODACT0_bm (1<<2) /* BOD Operation in Active Mode bit 0 mask. */ -#define NVM_FUSES_BODACT0_bp 2 /* BOD Operation in Active Mode bit 0 position. */ -#define NVM_FUSES_BODACT1_bm (1<<3) /* BOD Operation in Active Mode bit 1 mask. */ -#define NVM_FUSES_BODACT1_bp 3 /* BOD Operation in Active Mode bit 1 position. */ - -#define NVM_FUSES_BODPD_gm 0x03 /* BOD Operation in Power-Down Mode group mask. */ -#define NVM_FUSES_BODPD_gp 0 /* BOD Operation in Power-Down Mode group position. */ -#define NVM_FUSES_BODPD0_bm (1<<0) /* BOD Operation in Power-Down Mode bit 0 mask. */ -#define NVM_FUSES_BODPD0_bp 0 /* BOD Operation in Power-Down Mode bit 0 position. */ -#define NVM_FUSES_BODPD1_bm (1<<1) /* BOD Operation in Power-Down Mode bit 1 mask. */ -#define NVM_FUSES_BODPD1_bp 1 /* BOD Operation in Power-Down Mode bit 1 position. */ +/* Boot Loader Section Reset Vector bit mask. */ +#define NVM_FUSES_BOOTRST_bm 0x40 +/* Boot Loader Section Reset Vector bit position. */ +#define NVM_FUSES_BOOTRST_bp 6 + +/* BOD Operation in Active Mode group mask. */ +#define NVM_FUSES_BODACT_gm 0x0C +/* BOD Operation in Active Mode group position. */ +#define NVM_FUSES_BODACT_gp 2 +/* BOD Operation in Active Mode bit 0 mask. */ +#define NVM_FUSES_BODACT0_bm (1<<2) +/* BOD Operation in Active Mode bit 0 position. */ +#define NVM_FUSES_BODACT0_bp 2 +/* BOD Operation in Active Mode bit 1 mask. */ +#define NVM_FUSES_BODACT1_bm (1<<3) +/* BOD Operation in Active Mode bit 1 position. */ +#define NVM_FUSES_BODACT1_bp 3 + +/* BOD Operation in Power-Down Mode group mask. */ +#define NVM_FUSES_BODPD_gm 0x03 +/* BOD Operation in Power-Down Mode group position. */ +#define NVM_FUSES_BODPD_gp 0 +/* BOD Operation in Power-Down Mode bit 0 mask. */ +#define NVM_FUSES_BODPD0_bm (1<<0) +/* BOD Operation in Power-Down Mode bit 0 position. */ +#define NVM_FUSES_BODPD0_bp 0 +/* BOD Operation in Power-Down Mode bit 1 mask. */ +#define NVM_FUSES_BODPD1_bm (1<<1) +/* BOD Operation in Power-Down Mode bit 1 position. */ +#define NVM_FUSES_BODPD1_bp 1 /* NVM_FUSES.FUSEBYTE4 bit masks and bit positions */ @@ -4840,17 +5123,27 @@ IO Module Instances. Mapped to memory. /* NVM_FUSES.FUSEBYTE5 bit masks and bit positions */ -#define NVM_FUSES_EESAVE_bm 0x08 /* Preserve EEPROM Through Chip Erase bit mask. */ -#define NVM_FUSES_EESAVE_bp 3 /* Preserve EEPROM Through Chip Erase bit position. */ - -#define NVM_FUSES_BODLVL_gm 0x07 /* Brown Out Detection Voltage Level group mask. */ -#define NVM_FUSES_BODLVL_gp 0 /* Brown Out Detection Voltage Level group position. */ -#define NVM_FUSES_BODLVL0_bm (1<<0) /* Brown Out Detection Voltage Level bit 0 mask. */ -#define NVM_FUSES_BODLVL0_bp 0 /* Brown Out Detection Voltage Level bit 0 position. */ -#define NVM_FUSES_BODLVL1_bm (1<<1) /* Brown Out Detection Voltage Level bit 1 mask. */ -#define NVM_FUSES_BODLVL1_bp 1 /* Brown Out Detection Voltage Level bit 1 position. */ -#define NVM_FUSES_BODLVL2_bm (1<<2) /* Brown Out Detection Voltage Level bit 2 mask. */ -#define NVM_FUSES_BODLVL2_bp 2 /* Brown Out Detection Voltage Level bit 2 position. */ +/* Preserve EEPROM Through Chip Erase bit mask. */ +#define NVM_FUSES_EESAVE_bm 0x08 +/* Preserve EEPROM Through Chip Erase bit position. */ +#define NVM_FUSES_EESAVE_bp 3 + +/* Brown Out Detection Voltage Level group mask. */ +#define NVM_FUSES_BODLVL_gm 0x07 +/* Brown Out Detection Voltage Level group position. */ +#define NVM_FUSES_BODLVL_gp 0 +/* Brown Out Detection Voltage Level bit 0 mask. */ +#define NVM_FUSES_BODLVL0_bm (1<<0) +/* Brown Out Detection Voltage Level bit 0 position. */ +#define NVM_FUSES_BODLVL0_bp 0 +/* Brown Out Detection Voltage Level bit 1 mask. */ +#define NVM_FUSES_BODLVL1_bm (1<<1) +/* Brown Out Detection Voltage Level bit 1 position. */ +#define NVM_FUSES_BODLVL1_bp 1 +/* Brown Out Detection Voltage Level bit 2 mask. */ +#define NVM_FUSES_BODLVL2_bm (1<<2) +/* Brown Out Detection Voltage Level bit 2 position. */ +#define NVM_FUSES_BODLVL2_bp 2 /* AC - Analog Comparator */ @@ -5309,12 +5602,18 @@ IO Module Instances. Mapped to memory. /* RTC.INTCTRL bit masks and bit positions */ -#define RTC_COMPINTLVL_gm 0x0C /* Compare Match Interrupt Level group mask. */ -#define RTC_COMPINTLVL_gp 2 /* Compare Match Interrupt Level group position. */ -#define RTC_COMPINTLVL0_bm (1<<2) /* Compare Match Interrupt Level bit 0 mask. */ -#define RTC_COMPINTLVL0_bp 2 /* Compare Match Interrupt Level bit 0 position. */ -#define RTC_COMPINTLVL1_bm (1<<3) /* Compare Match Interrupt Level bit 1 mask. */ -#define RTC_COMPINTLVL1_bp 3 /* Compare Match Interrupt Level bit 1 position. */ +/* Compare Match Interrupt Level group mask. */ +#define RTC_COMPINTLVL_gm 0x0C +/* Compare Match Interrupt Level group position. */ +#define RTC_COMPINTLVL_gp 2 + /* Compare Match Interrupt Level bit 0 mask. */ +#define RTC_COMPINTLVL0_bm (1<<2) +/* Compare Match Interrupt Level bit 0 position. */ +#define RTC_COMPINTLVL0_bp 2 +/* Compare Match Interrupt Level bit 1 mask. */ +#define RTC_COMPINTLVL1_bm (1<<3) +/* Compare Match Interrupt Level bit 1 position. */ +#define RTC_COMPINTLVL1_bp 3 #define RTC_OVFINTLVL_gm 0x03 /* Overflow Interrupt Level group mask. */ #define RTC_OVFINTLVL_gp 0 /* Overflow Interrupt Level group position. */ @@ -5459,14 +5758,22 @@ IO Module Instances. Mapped to memory. #define EBI_WRDLY1_bm (1<<7) /* SDRAM Write Recovery Delay bit 1 mask. */ #define EBI_WRDLY1_bp 7 /* SDRAM Write Recovery Delay bit 1 position. */ -#define EBI_ESRDLY_gm 0x38 /* SDRAM Exit-Self-refresh-to-Active Delay group mask. */ -#define EBI_ESRDLY_gp 3 /* SDRAM Exit-Self-refresh-to-Active Delay group position. */ -#define EBI_ESRDLY0_bm (1<<3) /* SDRAM Exit-Self-refresh-to-Active Delay bit 0 mask. */ -#define EBI_ESRDLY0_bp 3 /* SDRAM Exit-Self-refresh-to-Active Delay bit 0 position. */ -#define EBI_ESRDLY1_bm (1<<4) /* SDRAM Exit-Self-refresh-to-Active Delay bit 1 mask. */ -#define EBI_ESRDLY1_bp 4 /* SDRAM Exit-Self-refresh-to-Active Delay bit 1 position. */ -#define EBI_ESRDLY2_bm (1<<5) /* SDRAM Exit-Self-refresh-to-Active Delay bit 2 mask. */ -#define EBI_ESRDLY2_bp 5 /* SDRAM Exit-Self-refresh-to-Active Delay bit 2 position. */ +/* SDRAM Exit-Self-refresh-to-Active Delay group mask. */ +#define EBI_ESRDLY_gm 0x38 +/* SDRAM Exit-Self-refresh-to-Active Delay group position. */ +#define EBI_ESRDLY_gp 3 +/* SDRAM Exit-Self-refresh-to-Active Delay bit 0 mask. */ +#define EBI_ESRDLY0_bm (1<<3) +/* SDRAM Exit-Self-refresh-to-Active Delay bit 0 position. */ +#define EBI_ESRDLY0_bp 3 +/* SDRAM Exit-Self-refresh-to-Active Delay bit 1 mask. */ +#define EBI_ESRDLY1_bm (1<<4) +/* SDRAM Exit-Self-refresh-to-Active Delay bit 1 position. */ +#define EBI_ESRDLY1_bp 4 +/* SDRAM Exit-Self-refresh-to-Active Delay bit 2 mask. */ +#define EBI_ESRDLY2_bm (1<<5) +/* SDRAM Exit-Self-refresh-to-Active Delay bit 2 position. */ +#define EBI_ESRDLY2_bp 5 #define EBI_ROWCOLDLY_gm 0x07 /* SDRAM Row-to-Column Delay group mask. */ #define EBI_ROWCOLDLY_gp 0 /* SDRAM Row-to-Column Delay group position. */ @@ -5562,8 +5869,10 @@ IO Module Instances. Mapped to memory. #define TWI_SLAVE_DIEN_bm 0x20 /* Data Interrupt Enable bit mask. */ #define TWI_SLAVE_DIEN_bp 5 /* Data Interrupt Enable bit position. */ -#define TWI_SLAVE_APIEN_bm 0x10 /* Address/Stop Interrupt Enable bit mask. */ -#define TWI_SLAVE_APIEN_bp 4 /* Address/Stop Interrupt Enable bit position. */ +/* Address/Stop Interrupt Enable bit mask. */ +#define TWI_SLAVE_APIEN_bm 0x10 +/* Address/Stop Interrupt Enable bit position. */ +#define TWI_SLAVE_APIEN_bp 4 #define TWI_SLAVE_ENABLE_bm 0x08 /* Enable TWI Slave bit mask. */ #define TWI_SLAVE_ENABLE_bp 3 /* Enable TWI Slave bit position. */ @@ -6052,33 +6361,57 @@ IO Module Instances. Mapped to memory. /* TC0.INTCTRLB bit masks and bit positions */ -#define TC0_CCDINTLVL_gm 0xC0 /* Compare or Capture D Interrupt Level group mask. */ -#define TC0_CCDINTLVL_gp 6 /* Compare or Capture D Interrupt Level group position. */ -#define TC0_CCDINTLVL0_bm (1<<6) /* Compare or Capture D Interrupt Level bit 0 mask. */ -#define TC0_CCDINTLVL0_bp 6 /* Compare or Capture D Interrupt Level bit 0 position. */ -#define TC0_CCDINTLVL1_bm (1<<7) /* Compare or Capture D Interrupt Level bit 1 mask. */ -#define TC0_CCDINTLVL1_bp 7 /* Compare or Capture D Interrupt Level bit 1 position. */ - -#define TC0_CCCINTLVL_gm 0x30 /* Compare or Capture C Interrupt Level group mask. */ -#define TC0_CCCINTLVL_gp 4 /* Compare or Capture C Interrupt Level group position. */ -#define TC0_CCCINTLVL0_bm (1<<4) /* Compare or Capture C Interrupt Level bit 0 mask. */ -#define TC0_CCCINTLVL0_bp 4 /* Compare or Capture C Interrupt Level bit 0 position. */ -#define TC0_CCCINTLVL1_bm (1<<5) /* Compare or Capture C Interrupt Level bit 1 mask. */ -#define TC0_CCCINTLVL1_bp 5 /* Compare or Capture C Interrupt Level bit 1 position. */ - -#define TC0_CCBINTLVL_gm 0x0C /* Compare or Capture B Interrupt Level group mask. */ -#define TC0_CCBINTLVL_gp 2 /* Compare or Capture B Interrupt Level group position. */ -#define TC0_CCBINTLVL0_bm (1<<2) /* Compare or Capture B Interrupt Level bit 0 mask. */ -#define TC0_CCBINTLVL0_bp 2 /* Compare or Capture B Interrupt Level bit 0 position. */ -#define TC0_CCBINTLVL1_bm (1<<3) /* Compare or Capture B Interrupt Level bit 1 mask. */ -#define TC0_CCBINTLVL1_bp 3 /* Compare or Capture B Interrupt Level bit 1 position. */ - -#define TC0_CCAINTLVL_gm 0x03 /* Compare or Capture A Interrupt Level group mask. */ -#define TC0_CCAINTLVL_gp 0 /* Compare or Capture A Interrupt Level group position. */ -#define TC0_CCAINTLVL0_bm (1<<0) /* Compare or Capture A Interrupt Level bit 0 mask. */ -#define TC0_CCAINTLVL0_bp 0 /* Compare or Capture A Interrupt Level bit 0 position. */ -#define TC0_CCAINTLVL1_bm (1<<1) /* Compare or Capture A Interrupt Level bit 1 mask. */ -#define TC0_CCAINTLVL1_bp 1 /* Compare or Capture A Interrupt Level bit 1 position. */ +/* Compare or Capture D Interrupt Level group mask. */ +#define TC0_CCDINTLVL_gm 0xC0 +/* Compare or Capture D Interrupt Level group position. */ +#define TC0_CCDINTLVL_gp 6 +/* Compare or Capture D Interrupt Level bit 0 mask. */ +#define TC0_CCDINTLVL0_bm (1<<6) +/* Compare or Capture D Interrupt Level bit 0 position. */ +#define TC0_CCDINTLVL0_bp 6 +/* Compare or Capture D Interrupt Level bit 1 mask. */ +#define TC0_CCDINTLVL1_bm (1<<7) +/* Compare or Capture D Interrupt Level bit 1 position. */ +#define TC0_CCDINTLVL1_bp 7 + +/* Compare or Capture C Interrupt Level group mask. */ +#define TC0_CCCINTLVL_gm 0x30 + /* Compare or Capture C Interrupt Level group position. */ +#define TC0_CCCINTLVL_gp 4 +/* Compare or Capture C Interrupt Level bit 0 mask. */ +#define TC0_CCCINTLVL0_bm (1<<4) +/* Compare or Capture C Interrupt Level bit 0 position. */ +#define TC0_CCCINTLVL0_bp 4 + /* Compare or Capture C Interrupt Level bit 1 mask. */ +#define TC0_CCCINTLVL1_bm (1<<5) +/* Compare or Capture C Interrupt Level bit 1 position. */ +#define TC0_CCCINTLVL1_bp 5 + +/* Compare or Capture B Interrupt Level group mask. */ +#define TC0_CCBINTLVL_gm 0x0C +/* Compare or Capture B Interrupt Level group position. */ +#define TC0_CCBINTLVL_gp 2 +/* Compare or Capture B Interrupt Level bit 0 mask. */ +#define TC0_CCBINTLVL0_bm (1<<2) + /* Compare or Capture B Interrupt Level bit 0 position. */ +#define TC0_CCBINTLVL0_bp 2 +/* Compare or Capture B Interrupt Level bit 1 mask. */ +#define TC0_CCBINTLVL1_bm (1<<3) +/* Compare or Capture B Interrupt Level bit 1 position. */ +#define TC0_CCBINTLVL1_bp 3 + +/* Compare or Capture A Interrupt Level group mask. */ +#define TC0_CCAINTLVL_gm 0x03 +/* Compare or Capture A Interrupt Level group position. */ +#define TC0_CCAINTLVL_gp 0 +/* Compare or Capture A Interrupt Level bit 0 mask. */ +#define TC0_CCAINTLVL0_bm (1<<0) +/* Compare or Capture A Interrupt Level bit 0 position. */ +#define TC0_CCAINTLVL0_bp 0 +/* Compare or Capture A Interrupt Level bit 1 mask. */ +#define TC0_CCAINTLVL1_bm (1<<1) +/* Compare or Capture A Interrupt Level bit 1 position. */ +#define TC0_CCAINTLVL1_bp 1 /* TC0.CTRLFCLR bit masks and bit positions */ @@ -6146,17 +6479,25 @@ IO Module Instances. Mapped to memory. /* TC0.INTFLAGS bit masks and bit positions */ -#define TC0_CCDIF_bm 0x80 /* Compare or Capture D Interrupt Flag bit mask. */ -#define TC0_CCDIF_bp 7 /* Compare or Capture D Interrupt Flag bit position. */ - -#define TC0_CCCIF_bm 0x40 /* Compare or Capture C Interrupt Flag bit mask. */ -#define TC0_CCCIF_bp 6 /* Compare or Capture C Interrupt Flag bit position. */ - -#define TC0_CCBIF_bm 0x20 /* Compare or Capture B Interrupt Flag bit mask. */ -#define TC0_CCBIF_bp 5 /* Compare or Capture B Interrupt Flag bit position. */ - -#define TC0_CCAIF_bm 0x10 /* Compare or Capture A Interrupt Flag bit mask. */ -#define TC0_CCAIF_bp 4 /* Compare or Capture A Interrupt Flag bit position. */ +/* Compare or Capture D Interrupt Flag bit mask. */ +#define TC0_CCDIF_bm 0x80 +/* Compare or Capture D Interrupt Flag bit position. */ +#define TC0_CCDIF_bp 7 + +/* Compare or Capture C Interrupt Flag bit mask. */ +#define TC0_CCCIF_bm 0x40 +/* Compare or Capture C Interrupt Flag bit position. */ +#define TC0_CCCIF_bp 6 + +/* Compare or Capture B Interrupt Flag bit mask. */ +#define TC0_CCBIF_bm 0x20 +/* Compare or Capture B Interrupt Flag bit position. */ +#define TC0_CCBIF_bp 5 + +/* Compare or Capture A Interrupt Flag bit mask. */ +#define TC0_CCAIF_bm 0x10 +/* Compare or Capture A Interrupt Flag bit position. */ +#define TC0_CCAIF_bp 4 #define TC0_ERRIF_bm 0x02 /* Error Interrupt Flag bit mask. */ #define TC0_ERRIF_bp 1 /* Error Interrupt Flag bit position. */ @@ -6253,19 +6594,31 @@ IO Module Instances. Mapped to memory. /* TC1.INTCTRLB bit masks and bit positions */ -#define TC1_CCBINTLVL_gm 0x0C /* Compare or Capture B Interrupt Level group mask. */ -#define TC1_CCBINTLVL_gp 2 /* Compare or Capture B Interrupt Level group position. */ -#define TC1_CCBINTLVL0_bm (1<<2) /* Compare or Capture B Interrupt Level bit 0 mask. */ -#define TC1_CCBINTLVL0_bp 2 /* Compare or Capture B Interrupt Level bit 0 position. */ -#define TC1_CCBINTLVL1_bm (1<<3) /* Compare or Capture B Interrupt Level bit 1 mask. */ -#define TC1_CCBINTLVL1_bp 3 /* Compare or Capture B Interrupt Level bit 1 position. */ - -#define TC1_CCAINTLVL_gm 0x03 /* Compare or Capture A Interrupt Level group mask. */ -#define TC1_CCAINTLVL_gp 0 /* Compare or Capture A Interrupt Level group position. */ -#define TC1_CCAINTLVL0_bm (1<<0) /* Compare or Capture A Interrupt Level bit 0 mask. */ -#define TC1_CCAINTLVL0_bp 0 /* Compare or Capture A Interrupt Level bit 0 position. */ -#define TC1_CCAINTLVL1_bm (1<<1) /* Compare or Capture A Interrupt Level bit 1 mask. */ -#define TC1_CCAINTLVL1_bp 1 /* Compare or Capture A Interrupt Level bit 1 position. */ +/* Compare or Capture B Interrupt Level group mask. */ +#define TC1_CCBINTLVL_gm 0x0C +/* Compare or Capture B Interrupt Level group position. */ +#define TC1_CCBINTLVL_gp 2 +/* Compare or Capture B Interrupt Level bit 0 mask. */ +#define TC1_CCBINTLVL0_bm (1<<2) + /* Compare or Capture B Interrupt Level bit 0 position. */ +#define TC1_CCBINTLVL0_bp 2 +/* Compare or Capture B Interrupt Level bit 1 mask. */ +#define TC1_CCBINTLVL1_bm (1<<3) +/* Compare or Capture B Interrupt Level bit 1 position. */ +#define TC1_CCBINTLVL1_bp 3 + +/* Compare or Capture A Interrupt Level group mask. */ +#define TC1_CCAINTLVL_gm 0x03 +/* Compare or Capture A Interrupt Level group position. */ +#define TC1_CCAINTLVL_gp 0 +/* Compare or Capture A Interrupt Level bit 0 mask. */ +#define TC1_CCAINTLVL0_bm (1<<0) +/* Compare or Capture A Interrupt Level bit 0 position. */ +#define TC1_CCAINTLVL0_bp 0 +/* Compare or Capture A Interrupt Level bit 1 mask. */ +#define TC1_CCAINTLVL1_bm (1<<1) +/* Compare or Capture A Interrupt Level bit 1 position. */ +#define TC1_CCAINTLVL1_bp 1 /* TC1.CTRLFCLR bit masks and bit positions */ @@ -6321,11 +6674,16 @@ IO Module Instances. Mapped to memory. /* TC1.INTFLAGS bit masks and bit positions */ -#define TC1_CCBIF_bm 0x20 /* Compare or Capture B Interrupt Flag bit mask. */ -#define TC1_CCBIF_bp 5 /* Compare or Capture B Interrupt Flag bit position. */ -#define TC1_CCAIF_bm 0x10 /* Compare or Capture A Interrupt Flag bit mask. */ -#define TC1_CCAIF_bp 4 /* Compare or Capture A Interrupt Flag bit position. */ +/* Compare or Capture B Interrupt Flag bit mask. */ +#define TC1_CCBIF_bm 0x20 +/* Compare or Capture B Interrupt Flag bit position. */ +#define TC1_CCBIF_bp 5 + +/* Compare or Capture A Interrupt Flag bit mask. */ +#define TC1_CCAIF_bm 0x10 +/* Compare or Capture A Interrupt Flag bit position. */ +#define TC1_CCAIF_bp 4 #define TC1_ERRIF_bm 0x02 /* Error Interrupt Flag bit mask. */ #define TC1_ERRIF_bp 1 /* Error Interrupt Flag bit position. */ @@ -6341,22 +6699,32 @@ IO Module Instances. Mapped to memory. #define AWEX_CWCM_bm 0x10 /* Common Waveform Channel Mode bit mask. */ #define AWEX_CWCM_bp 4 /* Common Waveform Channel Mode bit position. */ -#define AWEX_DTICCDEN_bm 0x08 /* Dead Time Insertion Compare Channel D Enable bit mask. */ -#define AWEX_DTICCDEN_bp 3 /* Dead Time Insertion Compare Channel D Enable bit position. */ +/* Dead Time Insertion Compare Channel D Enable bit mask. */ +#define AWEX_DTICCDEN_bm 0x08 +/* Dead Time Insertion Compare Channel D Enable bit position. */ +#define AWEX_DTICCDEN_bp 3 -#define AWEX_DTICCCEN_bm 0x04 /* Dead Time Insertion Compare Channel C Enable bit mask. */ -#define AWEX_DTICCCEN_bp 2 /* Dead Time Insertion Compare Channel C Enable bit position. */ +/* Dead Time Insertion Compare Channel C Enable bit mask. */ +#define AWEX_DTICCCEN_bm 0x04 +/* Dead Time Insertion Compare Channel C Enable bit position. */ +#define AWEX_DTICCCEN_bp 2 -#define AWEX_DTICCBEN_bm 0x02 /* Dead Time Insertion Compare Channel B Enable bit mask. */ -#define AWEX_DTICCBEN_bp 1 /* Dead Time Insertion Compare Channel B Enable bit position. */ +/* Dead Time Insertion Compare Channel B Enable bit mask. */ +#define AWEX_DTICCBEN_bm 0x02 +/* Dead Time Insertion Compare Channel B Enable bit position. */ +#define AWEX_DTICCBEN_bp 1 -#define AWEX_DTICCAEN_bm 0x01 /* Dead Time Insertion Compare Channel A Enable bit mask. */ -#define AWEX_DTICCAEN_bp 0 /* Dead Time Insertion Compare Channel A Enable bit position. */ +/* Dead Time Insertion Compare Channel A Enable bit mask. */ +#define AWEX_DTICCAEN_bm 0x01 +/* Dead Time Insertion Compare Channel A Enable bit position. */ +#define AWEX_DTICCAEN_bp 0 /* AWEX.FDCTRL bit masks and bit positions */ -#define AWEX_FDDBD_bm 0x10 /* Fault Detect on Disable Break Disable bit mask. */ -#define AWEX_FDDBD_bp 4 /* Fault Detect on Disable Break Disable bit position. */ +/* Fault Detect on Disable Break Disable bit mask. */ +#define AWEX_FDDBD_bm 0x10 +/* Fault Detect on Disable Break Disable bit position. */ +#define AWEX_FDDBD_bp 4 #define AWEX_FDMODE_bm 0x04 /* Fault Detect Mode bit mask. */ #define AWEX_FDMODE_bp 2 /* Fault Detect Mode bit position. */ @@ -6373,11 +6741,15 @@ IO Module Instances. Mapped to memory. #define AWEX_FDF_bm 0x04 /* Fault Detect Flag bit mask. */ #define AWEX_FDF_bp 2 /* Fault Detect Flag bit position. */ -#define AWEX_DTHSBUFV_bm 0x02 /* Dead Time High Side Buffer Valid bit mask. */ -#define AWEX_DTHSBUFV_bp 1 /* Dead Time High Side Buffer Valid bit position. */ +/* Dead Time High Side Buffer Valid bit mask. */ +#define AWEX_DTHSBUFV_bm 0x02 +/* Dead Time High Side Buffer Valid bit position. */ +#define AWEX_DTHSBUFV_bp 1 -#define AWEX_DTLSBUFV_bm 0x01 /* Dead Time Low Side Buffer Valid bit mask. */ -#define AWEX_DTLSBUFV_bp 0 /* Dead Time Low Side Buffer Valid bit position. */ +/* Dead Time Low Side Buffer Valid bit mask. */ +#define AWEX_DTLSBUFV_bm 0x01 +/* Dead Time Low Side Buffer Valid bit position. */ +#define AWEX_DTLSBUFV_bp 0 /* HIRES.CTRL bit masks and bit positions */ @@ -6423,17 +6795,25 @@ IO Module Instances. Mapped to memory. #define USART_TXCINTLVL_gm 0x0C /* Transmit Interrupt Level group mask. */ #define USART_TXCINTLVL_gp 2 /* Transmit Interrupt Level group position. */ -#define USART_TXCINTLVL0_bm (1<<2) /* Transmit Interrupt Level bit 0 mask. */ +/* Transmit Interrupt Level bit 0 mask. */ +#define USART_TXCINTLVL0_bm (1<<2) #define USART_TXCINTLVL0_bp 2 /* Transmit Interrupt Level bit 0 position. */ -#define USART_TXCINTLVL1_bm (1<<3) /* Transmit Interrupt Level bit 1 mask. */ +/* Transmit Interrupt Level bit 1 mask. */ +#define USART_TXCINTLVL1_bm (1<<3) #define USART_TXCINTLVL1_bp 3 /* Transmit Interrupt Level bit 1 position. */ -#define USART_DREINTLVL_gm 0x03 /* Data Register Empty Interrupt Level group mask. */ -#define USART_DREINTLVL_gp 0 /* Data Register Empty Interrupt Level group position. */ -#define USART_DREINTLVL0_bm (1<<0) /* Data Register Empty Interrupt Level bit 0 mask. */ -#define USART_DREINTLVL0_bp 0 /* Data Register Empty Interrupt Level bit 0 position. */ -#define USART_DREINTLVL1_bm (1<<1) /* Data Register Empty Interrupt Level bit 1 mask. */ -#define USART_DREINTLVL1_bp 1 /* Data Register Empty Interrupt Level bit 1 position. */ +/* Data Register Empty Interrupt Level group mask. */ +#define USART_DREINTLVL_gm 0x03 +/* Data Register Empty Interrupt Level group position. */ +#define USART_DREINTLVL_gp 0 +/* Data Register Empty Interrupt Level bit 0 mask. */ +#define USART_DREINTLVL0_bm (1<<0) +/* Data Register Empty Interrupt Level bit 0 position. */ +#define USART_DREINTLVL0_bp 0 +/* Data Register Empty Interrupt Level bit 1 mask. */ +#define USART_DREINTLVL1_bm (1<<1) +/* Data Register Empty Interrupt Level bit 1 position. */ +#define USART_DREINTLVL1_bp 1 /* USART.CTRLB bit masks and bit positions */ @@ -6446,8 +6826,10 @@ IO Module Instances. Mapped to memory. #define USART_CLK2X_bm 0x04 /* Double transmission speed bit mask. */ #define USART_CLK2X_bp 2 /* Double transmission speed bit position. */ -#define USART_MPCM_bm 0x02 /* Multi-processor Communication Mode bit mask. */ -#define USART_MPCM_bp 1 /* Multi-processor Communication Mode bit position. */ +/* Multi-processor Communication Mode bit mask. */ +#define USART_MPCM_bm 0x02 +/* Multi-processor Communication Mode bit position. */ +#define USART_MPCM_bp 1 #define USART_TXB8_bm 0x01 /* Transmit bit 8 bit mask. */ #define USART_TXB8_bp 0 /* Transmit bit 8 bit position. */ @@ -6484,22 +6866,38 @@ IO Module Instances. Mapped to memory. /* USART.BAUDCTRLA bit masks and bit positions */ #define USART_BSEL_gm 0xFF /* Baud Rate Selection Bits [7:0] group mask. */ #define USART_BSEL_gp 0 /* Baud Rate Selection Bits [7:0] group position. */ -#define USART_BSEL0_bm (1<<0) /* Baud Rate Selection Bits [7:0] bit 0 mask. */ -#define USART_BSEL0_bp 0 /* Baud Rate Selection Bits [7:0] bit 0 position. */ -#define USART_BSEL1_bm (1<<1) /* Baud Rate Selection Bits [7:0] bit 1 mask. */ -#define USART_BSEL1_bp 1 /* Baud Rate Selection Bits [7:0] bit 1 position. */ -#define USART_BSEL2_bm (1<<2) /* Baud Rate Selection Bits [7:0] bit 2 mask. */ -#define USART_BSEL2_bp 2 /* Baud Rate Selection Bits [7:0] bit 2 position. */ -#define USART_BSEL3_bm (1<<3) /* Baud Rate Selection Bits [7:0] bit 3 mask. */ -#define USART_BSEL3_bp 3 /* Baud Rate Selection Bits [7:0] bit 3 position. */ -#define USART_BSEL4_bm (1<<4) /* Baud Rate Selection Bits [7:0] bit 4 mask. */ -#define USART_BSEL4_bp 4 /* Baud Rate Selection Bits [7:0] bit 4 position. */ -#define USART_BSEL5_bm (1<<5) /* Baud Rate Selection Bits [7:0] bit 5 mask. */ -#define USART_BSEL5_bp 5 /* Baud Rate Selection Bits [7:0] bit 5 position. */ -#define USART_BSEL6_bm (1<<6) /* Baud Rate Selection Bits [7:0] bit 6 mask. */ -#define USART_BSEL6_bp 6 /* Baud Rate Selection Bits [7:0] bit 6 position. */ -#define USART_BSEL7_bm (1<<7) /* Baud Rate Selection Bits [7:0] bit 7 mask. */ -#define USART_BSEL7_bp 7 /* Baud Rate Selection Bits [7:0] bit 7 position. */ +/* Baud Rate Selection Bits [7:0] bit 0 mask. */ +#define USART_BSEL0_bm (1<<0) +/* Baud Rate Selection Bits [7:0] bit 0 position. */ +#define USART_BSEL0_bp 0 +/* Baud Rate Selection Bits [7:0] bit 1 mask. */ +#define USART_BSEL1_bm (1<<1) +/* Baud Rate Selection Bits [7:0] bit 1 position. */ +#define USART_BSEL1_bp 1 +/* Baud Rate Selection Bits [7:0] bit 2 mask. */ +#define USART_BSEL2_bm (1<<2) +/* Baud Rate Selection Bits [7:0] bit 2 position. */ +#define USART_BSEL2_bp 2 +/* Baud Rate Selection Bits [7:0] bit 3 mask. */ +#define USART_BSEL3_bm (1<<3) +/* Baud Rate Selection Bits [7:0] bit 3 position. */ +#define USART_BSEL3_bp 3 +/* Baud Rate Selection Bits [7:0] bit 4 mask. */ +#define USART_BSEL4_bm (1<<4) +/* Baud Rate Selection Bits [7:0] bit 4 position. */ +#define USART_BSEL4_bp 4 +/* Baud Rate Selection Bits [7:0] bit 5 mask. */ +#define USART_BSEL5_bm (1<<5) +/* Baud Rate Selection Bits [7:0] bit 5 position. */ +#define USART_BSEL5_bp 5 +/* Baud Rate Selection Bits [7:0] bit 6 mask. */ +#define USART_BSEL6_bm (1<<6) +/* Baud Rate Selection Bits [7:0] bit 6 position. */ +#define USART_BSEL6_bp 6 +/* Baud Rate Selection Bits [7:0] bit 7 mask. */ +#define USART_BSEL7_bm (1<<7) +/* Baud Rate Selection Bits [7:0] bit 7 position. */ +#define USART_BSEL7_bp 7 /* USART.BAUDCTRLB bit masks and bit positions */ @@ -6640,14 +7038,19 @@ IO Module Instances. Mapped to memory. #define PIN6_bp 6 #define PIN7_bm 0x80 #define PIN7_bp 7 +/** @} */ - -/* ========== Interrupt Vector Definitions ========== */ +/** + * @name Interrupt Vector Definitions + * + * @{ + */ /* Vector 0 is the reset vector */ /* OSC interrupt vectors */ #define OSC_XOSCF_vect_num 1 -#define OSC_XOSCF_vect _VECTOR(1) /* External Oscillator Failure Interrupt (NMI) */ +/* External Oscillator Failure Interrupt (NMI) */ +#define OSC_XOSCF_vect _VECTOR(1) /* PORTC interrupt vectors */ #define PORTC_INT0_vect_num 2 @@ -6717,7 +7120,8 @@ IO Module Instances. Mapped to memory. #define USARTC0_DRE_vect_num 26 #define USARTC0_DRE_vect _VECTOR(26) /* Data Register Empty Interrupt */ #define USARTC0_TXC_vect_num 27 -#define USARTC0_TXC_vect _VECTOR(27) /* Transmission Complete Interrupt */ +/* Transmission Complete Interrupt */ +#define USARTC0_TXC_vect _VECTOR(27) /* USARTC1 interrupt vectors */ #define USARTC1_RXC_vect_num 28 @@ -6725,7 +7129,8 @@ IO Module Instances. Mapped to memory. #define USARTC1_DRE_vect_num 29 #define USARTC1_DRE_vect _VECTOR(29) /* Data Register Empty Interrupt */ #define USARTC1_TXC_vect_num 30 -#define USARTC1_TXC_vect _VECTOR(30) /* Transmission Complete Interrupt */ + /* Transmission Complete Interrupt */ +#define USARTC1_TXC_vect _VECTOR(30) /* AES interrupt vectors */ #define AES_INT_vect_num 31 @@ -6807,7 +7212,8 @@ IO Module Instances. Mapped to memory. #define USARTE0_DRE_vect_num 59 #define USARTE0_DRE_vect _VECTOR(59) /* Data Register Empty Interrupt */ #define USARTE0_TXC_vect_num 60 -#define USARTE0_TXC_vect _VECTOR(60) /* Transmission Complete Interrupt */ +/* Transmission Complete Interrupt */ +#define USARTE0_TXC_vect _VECTOR(60) /* USARTE1 interrupt vectors */ #define USARTE1_RXC_vect_num 61 @@ -6815,7 +7221,8 @@ IO Module Instances. Mapped to memory. #define USARTE1_DRE_vect_num 62 #define USARTE1_DRE_vect _VECTOR(62) /* Data Register Empty Interrupt */ #define USARTE1_TXC_vect_num 63 -#define USARTE1_TXC_vect _VECTOR(63) /* Transmission Complete Interrupt */ +/* Transmission Complete Interrupt */ +#define USARTE1_TXC_vect _VECTOR(63) /* PORTD interrupt vectors */ #define PORTD_INT0_vect_num 64 @@ -6887,7 +7294,8 @@ IO Module Instances. Mapped to memory. #define USARTD0_DRE_vect_num 89 #define USARTD0_DRE_vect _VECTOR(89) /* Data Register Empty Interrupt */ #define USARTD0_TXC_vect_num 90 -#define USARTD0_TXC_vect _VECTOR(90) /* Transmission Complete Interrupt */ +/* Transmission Complete Interrupt */ +#define USARTD0_TXC_vect _VECTOR(90) /* USARTD1 interrupt vectors */ #define USARTD1_RXC_vect_num 91 @@ -6895,7 +7303,8 @@ IO Module Instances. Mapped to memory. #define USARTD1_DRE_vect_num 92 #define USARTD1_DRE_vect _VECTOR(92) /* Data Register Empty Interrupt */ #define USARTD1_TXC_vect_num 93 -#define USARTD1_TXC_vect _VECTOR(93) /* Transmission Complete Interrupt */ +/* Transmission Complete Interrupt */ +#define USARTD1_TXC_vect _VECTOR(93) /* PORTQ interrupt vectors */ #define PORTQ_INT0_vect_num 94 @@ -6965,25 +7374,32 @@ IO Module Instances. Mapped to memory. #define USARTF0_RXC_vect_num 119 #define USARTF0_RXC_vect _VECTOR(119) /* Reception Complete Interrupt */ #define USARTF0_DRE_vect_num 120 -#define USARTF0_DRE_vect _VECTOR(120) /* Data Register Empty Interrupt */ +/* Data Register Empty Interrupt */ +#define USARTF0_DRE_vect _VECTOR(120) #define USARTF0_TXC_vect_num 121 -#define USARTF0_TXC_vect _VECTOR(121) /* Transmission Complete Interrupt */ +/* Transmission Complete Interrupt */ +#define USARTF0_TXC_vect _VECTOR(121) /* USARTF1 interrupt vectors */ #define USARTF1_RXC_vect_num 122 #define USARTF1_RXC_vect _VECTOR(122) /* Reception Complete Interrupt */ #define USARTF1_DRE_vect_num 123 -#define USARTF1_DRE_vect _VECTOR(123) /* Data Register Empty Interrupt */ +/* Data Register Empty Interrupt */ +#define USARTF1_DRE_vect _VECTOR(123) #define USARTF1_TXC_vect_num 124 -#define USARTF1_TXC_vect _VECTOR(124) /* Transmission Complete Interrupt */ +/* Transmission Complete Interrupt */ +#define USARTF1_TXC_vect _VECTOR(124) #define _VECTOR_SIZE 4 /* Size of individual vector. */ #define _VECTORS_SIZE (125 * _VECTOR_SIZE) +/** @} */ - -/* ========== Constants ========== */ - +/** + * @name Constants + * + * @{ + */ #define PROGMEM_START (0x0000) #define PROGMEM_SIZE (139264) #define PROGMEM_PAGE_SIZE (512) @@ -6997,7 +7413,8 @@ IO Module Instances. Mapped to memory. #define APPTABLE_SECTION_START (0x1E000) #define APPTABLE_SECTION_SIZE (8192) #define APPTABLE_SECTION_PAGE_SIZE (512) -#define APPTABLE_SECTION_END (APPTABLE_SECTION_START + APPTABLE_SECTION_SIZE - 1) +#define APPTABLE_SECTION_END (APPTABLE_SECTION_START + \ + APPTABLE_SECTION_SIZE - 1) #define BOOT_SECTION_START (0x20000) #define BOOT_SECTION_SIZE (8192) @@ -7052,12 +7469,14 @@ IO Module Instances. Mapped to memory. #define USER_SIGNATURES_START (0x0000) #define USER_SIGNATURES_SIZE (512) #define USER_SIGNATURES_PAGE_SIZE (0) -#define USER_SIGNATURES_END (USER_SIGNATURES_START + USER_SIGNATURES_SIZE - 1) +#define USER_SIGNATURES_END (USER_SIGNATURES_START + \ + USER_SIGNATURES_SIZE - 1) #define PROD_SIGNATURES_START (0x0000) #define PROD_SIGNATURES_SIZE (52) #define PROD_SIGNATURES_PAGE_SIZE (0) -#define PROD_SIGNATURES_END (PROD_SIGNATURES_START + PROD_SIGNATURES_SIZE - 1) +#define PROD_SIGNATURES_END (PROD_SIGNATURES_START + \ + PROD_SIGNATURES_SIZE - 1) #define FLASHEND PROGMEM_END #define SPM_PAGESIZE PROGMEM_PAGE_SIZE @@ -7069,9 +7488,13 @@ IO Module Instances. Mapped to memory. #define XRAMEND EXTERNAL_SRAM_END #define E2END EEPROM_END #define E2PAGESIZE EEPROM_PAGE_SIZE +/** @} */ - -/* ========== Fuses ========== */ +/** + * @name Fuses + * + * @{ + */ #define FUSE_MEMORY_SIZE 6 /* Fuse Byte 0 */ @@ -7090,18 +7513,27 @@ IO Module Instances. Mapped to memory. #define FUSE_WDP1 (unsigned char)~_BV(1) /* Watchdog Timeout Period Bit 1 */ #define FUSE_WDP2 (unsigned char)~_BV(2) /* Watchdog Timeout Period Bit 2 */ #define FUSE_WDP3 (unsigned char)~_BV(3) /* Watchdog Timeout Period Bit 3 */ -#define FUSE_WDWP0 (unsigned char)~_BV(4) /* Watchdog Window Timeout Period Bit 0 */ -#define FUSE_WDWP1 (unsigned char)~_BV(5) /* Watchdog Window Timeout Period Bit 1 */ -#define FUSE_WDWP2 (unsigned char)~_BV(6) /* Watchdog Window Timeout Period Bit 2 */ -#define FUSE_WDWP3 (unsigned char)~_BV(7) /* Watchdog Window Timeout Period Bit 3 */ +/* Watchdog Window Timeout Period Bit 0 */ +#define FUSE_WDWP0 (unsigned char)~_BV(4) +/* Watchdog Window Timeout Period Bit 1 */ +#define FUSE_WDWP1 (unsigned char)~_BV(5) +/* Watchdog Window Timeout Period Bit 2 */ +#define FUSE_WDWP2 (unsigned char)~_BV(6) +/* Watchdog Window Timeout Period Bit 3 */ +#define FUSE_WDWP3 (unsigned char)~_BV(7) #define FUSE1_DEFAULT (0xFF) /* Fuse Byte 2 */ -#define FUSE_BODPD0 (unsigned char)~_BV(0) /* BOD Operation in Power-Down Mode Bit 0 */ -#define FUSE_BODPD1 (unsigned char)~_BV(1) /* BOD Operation in Power-Down Mode Bit 1 */ -#define FUSE_BODACT0 (unsigned char)~_BV(2) /* BOD Operation in Active Mode Bit 0 */ -#define FUSE_BODACT1 (unsigned char)~_BV(3) /* BOD Operation in Active Mode Bit 1 */ -#define FUSE_BOOTRST (unsigned char)~_BV(6) /* Boot Loader Section Reset Vector */ +/* BOD Operation in Power-Down Mode Bit 0 */ +#define FUSE_BODPD0 (unsigned char)~_BV(0) +/* BOD Operation in Power-Down Mode Bit 1 */ +#define FUSE_BODPD1 (unsigned char)~_BV(1) +/* BOD Operation in Active Mode Bit 0 */ +#define FUSE_BODACT0 (unsigned char)~_BV(2) +/* BOD Operation in Active Mode Bit 1 */ +#define FUSE_BODACT1 (unsigned char)~_BV(3) +/* Boot Loader Section Reset Vector */ +#define FUSE_BOOTRST (unsigned char)~_BV(6) #define FUSE_DVSDON (unsigned char)~_BV(7) /* Spike Detector Enable */ #define FUSE2_DEFAULT (0xFF) @@ -7115,25 +7547,37 @@ IO Module Instances. Mapped to memory. #define FUSE4_DEFAULT (0xFF) /* Fuse Byte 5 */ -#define FUSE_BODLVL0 (unsigned char)~_BV(0) /* Brown Out Detection Voltage Level Bit 0 */ -#define FUSE_BODLVL1 (unsigned char)~_BV(1) /* Brown Out Detection Voltage Level Bit 1 */ -#define FUSE_BODLVL2 (unsigned char)~_BV(2) /* Brown Out Detection Voltage Level Bit 2 */ -#define FUSE_EESAVE (unsigned char)~_BV(3) /* Preserve EEPROM Through Chip Erase */ +/* Brown Out Detection Voltage Level Bit 0 */ +#define FUSE_BODLVL0 (unsigned char)~_BV(0) +/* Brown Out Detection Voltage Level Bit 1 */ +#define FUSE_BODLVL1 (unsigned char)~_BV(1) +/* Brown Out Detection Voltage Level Bit 2 */ +#define FUSE_BODLVL2 (unsigned char)~_BV(2) +/* Preserve EEPROM Through Chip Erase */ +#define FUSE_EESAVE (unsigned char)~_BV(3) #define FUSE5_DEFAULT (0xFF) +/** @} */ - -/* ========== Lock Bits ========== */ +/** + * @name Lock Bits + * + * @{ + */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_APPLICATION_TABLE_BITS_EXIST #define __BOOT_LOCK_APPLICATION_BITS_EXIST #define __BOOT_LOCK_BOOT_BITS_EXIST +/** @} */ - -/* ========== Signature ========== */ +/** + * @name Signature + * + * @{ + */ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x97 #define SIGNATURE_2 0x4C - +/** @} */ #endif /* _AVR_ATxmega128A1_H_ */ diff --git a/cpukit/score/cpu/avr/avr/portpins.h b/cpukit/score/cpu/avr/avr/portpins.h index 04e9b094f1..5c84e9db89 100644 --- a/cpukit/score/cpu/avr/avr/portpins.h +++ b/cpukit/score/cpu/avr/avr/portpins.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief Define Generic PORTn, DDn, and PINn Values + */ + /* Copyright (c) 2003 Theodore A. Roth All rights reserved. @@ -38,8 +44,6 @@ # error "Include instead of this file." #endif -/* Define Generic PORTn, DDn, and PINn values. */ - /* Port Data Register (generic) */ #define PORT7 7 #define PORT6 6 @@ -70,7 +74,9 @@ #define PIN1 1 #define PIN0 0 -/* Define PORTxn an Pxn values for all possible port pins if not defined already by io.h. */ +/* Define PORTxn an Pxn values for all possible port pins + * if not defined already by io.h. + */ /* PORT A */ diff --git a/cpukit/score/cpu/avr/avr/signature.h b/cpukit/score/cpu/avr/avr/signature.h index 13d3138965..06aedce580 100644 --- a/cpukit/score/cpu/avr/avr/signature.h +++ b/cpukit/score/cpu/avr/avr/signature.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief Signature Support + */ + /* Copyright (c) 2009, Atmel Corporation All rights reserved. @@ -34,38 +40,38 @@ #ifndef _AVR_SIGNATURE_H_ #define _AVR_SIGNATURE_H_ 1 -/** \file */ -/** \defgroup avr_signature : Signature Support - - \par Introduction - - The header file allows the user to automatically - and easily include the device's signature data in a special section of - the final linked ELF file. - - This value can then be used by programming software to compare the on-device - signature with the signature recorded in the ELF file to look for a match - before programming the device. - - \par API Usage Example - - Usage is very simple; just include the header file: - - \code - #include - \endcode - - This will declare a constant unsigned char array and it is initialized with - the three signature bytes, MSB first, that are defined in the device I/O - header file. This array is then placed in the .signature section in the - resulting linked ELF file. - - The three signature bytes that are used to initialize the array are - these defined macros in the device I/O header file, from MSB to LSB: - SIGNATURE_2, SIGNATURE_1, SIGNATURE_0. - - This header file should only be included once in an application. -*/ +/** + * @defgroup avr_signature Signature Support + * + * @par Introduction + * + * The header file allows the user to automatically + * and easily include the device's signature data in a special section of + * the final linked ELF file. + * + * This value can then be used by programming software to compare the + * on-device signature with the signature recorded in the ELF file + * to look for a match before programming the device. + * + * @par API Usage Example + * + * Usage is very simple; just include the header file: + * + * @code{.c} + * #include + * @endcode + * + * This will declare a constant unsigned char array and it is initialized with + * the three signature bytes, MSB first, that are defined in the device I/O + * header file. This array is then placed in the .signature section in the + * resulting linked ELF file. + * + * The three signature bytes that are used to initialize the array are + * these defined macros in the device I/O header file, from MSB to LSB: + * SIGNATURE_2, SIGNATURE_1, SIGNATURE_0. + * + * This header file should only be included once in an application. + */ #ifndef __ASSEMBLER__ @@ -75,8 +81,9 @@ const unsigned char __signature[3] __attribute__((section (".signature"))) = { SIGNATURE_2, SIGNATURE_1, SIGNATURE_0 }; - -#endif /* defined(SIGNATURE_0) && defined(SIGNATURE_1) && defined(SIGNATURE_2) */ + +/* defined(SIGNATURE_0) && defined(SIGNATURE_1) && defined(SIGNATURE_2) */ +#endif #endif /* __ASSEMBLER__ */ diff --git a/cpukit/score/cpu/avr/avr/sleep.h b/cpukit/score/cpu/avr/avr/sleep.h index 48b789f797..655c1e3e14 100644 --- a/cpukit/score/cpu/avr/avr/sleep.h +++ b/cpukit/score/cpu/avr/avr/sleep.h @@ -1,3 +1,10 @@ +/** + * @file + * + * @brief Power Management and Sleep Modes + * + */ + /* Copyright (c) 2002, 2004 Theodore A. Roth Copyright (c) 2004, 2007, 2008 Eric B. Weddington Copyright (c) 2005, 2006, 2007 Joerg Wunsch @@ -37,103 +44,104 @@ #include #include - -/** \file */ - -/** \defgroup avr_sleep : Power Management and Sleep Modes - - \code #include \endcode - - Use of the \c SLEEP instruction can allow an application to reduce its - power comsumption considerably. AVR devices can be put into different - sleep modes. Refer to the datasheet for the details relating to the device - you are using. - - There are several macros provided in this header file to actually - put the device into sleep mode. The simplest way is to optionally - set the desired sleep mode using \c set_sleep_mode() (it usually - defaults to idle mode where the CPU is put on sleep but all - peripheral clocks are still running), and then call - \c sleep_mode(). This macro automatically sets the sleep enable bit, goes - to sleep, and clears the sleep enable bit. - - Example: - \code - #include - - ... - set_sleep_mode(); - sleep_mode(); - \endcode - - Note that unless your purpose is to completely lock the CPU (until a - hardware reset), interrupts need to be enabled before going to sleep. - - As the \c sleep_mode() macro might cause race conditions in some - situations, the individual steps of manipulating the sleep enable - (SE) bit, and actually issuing the \c SLEEP instruction, are provided - in the macros \c sleep_enable(), \c sleep_disable(), and - \c sleep_cpu(). This also allows for test-and-sleep scenarios that - take care of not missing the interrupt that will awake the device - from sleep. - - Example: - \code - #include - #include - - ... - set_sleep_mode(); - cli(); - if (some_condition) - { - sleep_enable(); - sei(); - sleep_cpu(); - sleep_disable(); - } - sei(); - \endcode - - This sequence ensures an atomic test of \c some_condition with - interrupts being disabled. If the condition is met, sleep mode - will be prepared, and the \c SLEEP instruction will be scheduled - immediately after an \c SEI instruction. As the intruction right - after the \c SEI is guaranteed to be executed before an interrupt - could trigger, it is sure the device will really be put to sleep. - - Some devices have the ability to disable the Brown Out Detector (BOD) before - going to sleep. This will also reduce power while sleeping. If the - specific AVR device has this ability then an additional macro is defined: - \c sleep_bod_disable(). This macro generates inlined assembly code - that will correctly implement the timed sequence for disabling the BOD - before sleeping. However, there is a limited number of cycles after the - BOD has been disabled that the device can be put into sleep mode, otherwise - the BOD will not truly be disabled. Recommended practice is to disable - the BOD (\c sleep_bod_disable()), set the interrupts (\c sei()), and then - put the device to sleep (\c sleep_cpu()), like so: - - \code - #include - #include - - ... - set_sleep_mode(); - cli(); - if (some_condition) - { - sleep_enable(); - sleep_bod_disable(); - sei(); - sleep_cpu(); - sleep_disable(); - } - sei(); - \endcode -*/ - - -/* Define an internal sleep control register and an internal sleep enable bit mask. */ +/** + * @defgroup avr_sleep Power Management and Sleep Modes + * + * Use of the @c SLEEP instruction can allow an application to reduce its + * power comsumption considerably. AVR devices can be put into different + * sleep modes. Refer to the datasheet for the details relating to the device + * you are using. + * + * There are several macros provided in this header file to actually + * put the device into sleep mode. The simplest way is to optionally + * set the desired sleep mode using @c set_sleep_mode() (it usually + * defaults to idle mode where the CPU is put on sleep but all + * peripheral clocks are still running), and then call + * @c sleep_mode(). This macro automatically sets the sleep enable bit, goes + * to sleep, and clears the sleep enable bit. + * + * Example: + * @code{.c} + * #include + * + * ... + * set_sleep_mode(); + * sleep_mode(); + * @endcode + * + * Note that unless your purpose is to completely lock the CPU (until a + * hardware reset), interrupts need to be enabled before going to sleep. + * + * As the @c sleep_mode() macro might cause race conditions in some + * situations, the individual steps of manipulating the sleep enable + * (SE) bit, and actually issuing the @c SLEEP instruction, are provided + * in the macros @c sleep_enable(), @c sleep_disable(), and + * @c sleep_cpu(). This also allows for test-and-sleep scenarios that + * take care of not missing the interrupt that will awake the device + * from sleep. + * + * Example: + * @code{.c} + * #include + * #include * + * + * ... + * set_sleep_mode(); + * cli(); + * if (some_condition) + * { + * sleep_enable(); + * sei(); + * sleep_cpu(); + * sleep_disable(); + * } + * sei(); + * @endcode + * + * This sequence ensures an atomic test of @c some_condition with + * interrupts being disabled. If the condition is met, sleep mode + * will be prepared, and the @c SLEEP instruction will be scheduled + * immediately after an @c SEI instruction. As the intruction right + * after the @c SEI is guaranteed to be executed before an interrupt + * could trigger, it is sure the device will really be put to sleep. + * + * Some devices have the ability to disable the Brown Out Detector (BOD) + * before going to sleep. This will also reduce power while sleeping. If the + * specific AVR device has this ability then an additional macro is defined: + * @c sleep_bod_disable(). This macro generates inlined assembly code + * that will correctly implement the timed sequence for disabling the BOD + * before sleeping. However, there is a limited number of cycles after the + * BOD has been disabled that the device can be put into sleep mode, otherwise + * the BOD will not truly be disabled. Recommended practice is to disable + * the BOD (@c sleep_bod_disable()), set the interrupts (@c sei()), and then + * put the device to sleep (@c sleep_cpu()), like so: + * + * @code{.c} + * #include + * #include * + * + * ... + * set_sleep_mode(); + * cli(); + * if (some_condition) + * { + * sleep_enable(); + * sleep_bod_disable(); + * sei(); + * sleep_cpu(); + * sleep_disable(); + * } + * sei(); + * @endcode + * + * @{ + */ + + +/* + * Define an internal sleep control register and + * an internal sleep enable bit mask. + */ #if defined(SLEEP_CTRL) /* XMEGA devices */ @@ -167,8 +175,11 @@ #define set_sleep_mode(mode) \ do { \ - MCUCR = ((MCUCR & ~_BV(SM1)) | ((mode) == SLEEP_MODE_PWR_DOWN || (mode) == SLEEP_MODE_PWR_SAVE ? _BV(SM1) : 0)); \ - EMCUCR = ((EMCUCR & ~_BV(SM0)) | ((mode) == SLEEP_MODE_PWR_SAVE ? _BV(SM0) : 0)); \ + MCUCR = ((MCUCR & ~_BV(SM1)) | \ + ((mode) == SLEEP_MODE_PWR_DOWN || \ + (mode) == SLEEP_MODE_PWR_SAVE ? _BV(SM1) : 0)); \ + EMCUCR = ((EMCUCR & ~_BV(SM0)) | \ + ((mode) == SLEEP_MODE_PWR_SAVE ? _BV(SM0) : 0)); \ } while(0) @@ -184,9 +195,12 @@ #define set_sleep_mode(mode) \ do { \ - MCUCR = ((MCUCR & ~_BV(SM1)) | ((mode) == SLEEP_MODE_IDLE ? 0 : _BV(SM1))); \ - MCUCSR = ((MCUCSR & ~_BV(SM2)) | ((mode) == SLEEP_MODE_STANDBY || (mode) == SLEEP_MODE_EXT_STANDBY ? _BV(SM2) : 0)); \ - EMCUCR = ((EMCUCR & ~_BV(SM0)) | ((mode) == SLEEP_MODE_PWR_SAVE || (mode) == SLEEP_MODE_EXT_STANDBY ? _BV(SM0) : 0)); \ + MCUCR = ((MCUCR & ~_BV(SM1)) | \ + ((mode) == SLEEP_MODE_IDLE ? 0 : _BV(SM1))); \ + MCUCSR = ((MCUCSR & ~_BV(SM2)) | ((mode) == SLEEP_MODE_STANDBY || \ + (mode) == SLEEP_MODE_EXT_STANDBY ? _BV(SM2) : 0)); \ + EMCUCR = ((EMCUCR & ~_BV(SM0)) | ((mode) == SLEEP_MODE_PWR_SAVE || \ + (mode) == SLEEP_MODE_EXT_STANDBY ? _BV(SM0) : 0)); \ } while(0) #elif defined(__AVR_AT90S2313__) \ @@ -217,7 +231,8 @@ #define set_sleep_mode(mode) \ do { \ - _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1))) | (mode)); \ + _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & \ + ~(_BV(SM0) | _BV(SM1))) | (mode)); \ } while(0) #elif defined(__AVR_AT90S4434__) \ @@ -253,7 +268,8 @@ #define set_sleep_mode(mode) \ do { \ - _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1))) | (mode)); \ + _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & \ + ~(_BV(SM0) | _BV(SM1))) | (mode)); \ } while(0) #elif defined(__AVR_ATtiny2313__) \ @@ -266,7 +282,8 @@ #define set_sleep_mode(mode) \ do { \ - _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1))) | (mode)); \ + _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & \ + ~(_BV(SM0) | _BV(SM1))) | (mode)); \ } while(0) #elif defined(__AVR_AT94K__) @@ -277,7 +294,8 @@ #define set_sleep_mode(mode) \ do { \ - _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1))) | (mode)); \ + _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & \ + ~(_BV(SM0) | _BV(SM1))) | (mode)); \ } while(0) #elif defined(__AVR_ATtiny26__) \ @@ -290,7 +308,8 @@ #define set_sleep_mode(mode) \ do { \ - _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1))) | (mode)); \ + _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & \ + ~(_BV(SM0) | _BV(SM1))) | (mode)); \ } while(0) #elif defined(__AVR_AT90PWM216__) \ @@ -304,7 +323,8 @@ #define set_sleep_mode(mode) \ do { \ - _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \ + _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & \ + ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \ } while(0) #elif defined(__AVR_AT90CAN128__) \ @@ -415,7 +435,8 @@ #define set_sleep_mode(mode) \ do { \ - _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \ + _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & \ + ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \ } while(0) #elif defined(__AVR_ATxmega16A4__) \ @@ -438,11 +459,13 @@ #define SLEEP_MODE_PWR_DOWN (SLEEP_SMODE1_bm) #define SLEEP_MODE_PWR_SAVE (SLEEP_SMODE1_bm | SLEEP_SMODE0_bm) #define SLEEP_MODE_STANDBY (SLEEP_SMODE2_bm | SLEEP_SMODE1_bm) - #define SLEEP_MODE_EXT_STANDBY (SLEEP_SMODE2_bm | SLEEP_SMODE1_bm | SLEEP_SMODE0_bm) + #define SLEEP_MODE_EXT_STANDBY (SLEEP_SMODE2_bm | SLEEP_SMODE1_bm | \ + SLEEP_SMODE0_bm) #define set_sleep_mode(mode) \ do { \ - _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(SLEEP_SMODE2_bm | SLEEP_SMODE1_bm | SLEEP_SMODE0_bm)) | (mode)); \ + _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & \ + ~(SLEEP_SMODE2_bm | SLEEP_SMODE1_bm | SLEEP_SMODE0_bm)) | (mode)); \ } while(0) #elif defined(__AVR_AT90SCR100__) @@ -455,7 +478,8 @@ #define set_sleep_mode(mode) \ do { \ - _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \ + _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & \ + ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \ } while(0) #elif defined(__AVR_ATA6289__) @@ -466,7 +490,8 @@ #define set_sleep_mode(mode) \ do { \ - _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \ + _SLEEP_CONTROL_REG = ((_SLEEP_CONTROL_REG & \ + ~(_BV(SM0) | _BV(SM1) | _BV(SM2))) | (mode)); \ } while(0) #else @@ -477,18 +502,17 @@ -/** \ingroup avr_sleep - - Put the device in sleep mode. How the device is brought out of sleep mode - depends on the specific mode selected with the set_sleep_mode() function. - See the data sheet for your device for more details. */ +/** + * Put the device in sleep mode. How the device is brought out of sleep mode + * depends on the specific mode selected with the set_sleep_mode() function. + * See the data sheet for your device for more details. + */ #if defined(__DOXYGEN__) -/** \ingroup avr_sleep - - Set the SE (sleep enable) bit. +/** + * Set the SE (sleep enable) bit. */ extern void sleep_enable (void); @@ -504,10 +528,9 @@ do { \ #if defined(__DOXYGEN__) -/** \ingroup avr_sleep - - Clear the SE (sleep enable) bit. -*/ +/** + * Clear the SE (sleep enable) bit. + */ extern void sleep_disable (void); #else @@ -520,11 +543,10 @@ do { \ #endif -/** \ingroup avr_sleep - - Put the device into sleep mode. The SE bit must be set - beforehand, and it is recommended to clear it afterwards. -*/ +/** + * Put the device into sleep mode. The SE bit must be set + * beforehand, and it is recommended to clear it afterwards. + */ #if defined(__DOXYGEN__) extern void sleep_cpu (void); @@ -582,6 +604,6 @@ do { \ #endif -/*@}*/ +/** @} */ #endif /* _AVR_SLEEP_H_ */ diff --git a/cpukit/score/cpu/avr/avr/wdt.h b/cpukit/score/cpu/avr/avr/wdt.h index 0b424c9a83..7337e273b3 100644 --- a/cpukit/score/cpu/avr/avr/wdt.h +++ b/cpukit/score/cpu/avr/avr/wdt.h @@ -1,3 +1,8 @@ +/** + * @file + * + * @brief Watchdog Timer Handling + */ /* Copyright (c) 2002, 2004 Marek Michalkiewicz Copyright (c) 2005, 2006, 2007 Eric B. Weddington All rights reserved. @@ -40,59 +45,60 @@ #include #include -/** \file */ -/** \defgroup avr_watchdog : Watchdog timer handling - \code #include \endcode - - This header file declares the interface to some inline macros - handling the watchdog timer present in many AVR devices. In order - to prevent the watchdog timer configuration from being - accidentally altered by a crashing application, a special timed - sequence is required in order to change it. The macros within - this header file handle the required sequence automatically - before changing any value. Interrupts will be disabled during - the manipulation. - - \note Depending on the fuse configuration of the particular - device, further restrictions might apply, in particular it might - be disallowed to turn off the watchdog timer. - - Note that for newer devices (ATmega88 and newer, effectively any - AVR that has the option to also generate interrupts), the watchdog - timer remains active even after a system reset (except a power-on - condition), using the fastest prescaler value (approximately 15 - ms). It is therefore required to turn off the watchdog early - during program startup, the datasheet recommends a sequence like - the following: - - \code - #include - #include - - uint8_t mcusr_mirror __attribute__ ((section (".noinit"))); - - void get_mcusr(void) \ - __attribute__((naked)) \ - __attribute__((section(".init3"))); - void get_mcusr(void) - { - mcusr_mirror = MCUSR; - MCUSR = 0; - wdt_disable(); - } - \endcode - - Saving the value of MCUSR in \c mcusr_mirror is only needed if the - application later wants to examine the reset source, but in particular, - clearing the watchdog reset flag before disabling the - watchdog is required, according to the datasheet. +/** + * @defgroup avr_watchdog Watchdog Timer Handling + * + * This header file declares the interface to some inline macros + * handling the watchdog timer present in many AVR devices. In order + * to prevent the watchdog timer configuration from being + * accidentally altered by a crashing application, a special timed + * equence is required in order to change it. The macros within + * this header file handle the required sequence automatically + * before changing any value. Interrupts will be disabled during + * the manipulation. + * + * Note: Depending on the fuse configuration of the particular + * device, further restrictions might apply, in particular it might + * be disallowed to turn off the watchdog timer. + * + * Note that for newer devices (ATmega88 and newer, effectively any + * AVR that has the option to also generate interrupts), the watchdog + * timer remains active even after a system reset (except a power-on + * condition), using the fastest prescaler value (approximately 15 + * ms). It is therefore required to turn off the watchdog early + * during program startup, the datasheet recommends a sequence like + * the following: + * + * @code{.c} + * #include + * #include + * + * uint8_t mcusr_mirror __attribute__ ((section (".noinit"))); + * + * void get_mcusr(void) \ + * __attribute__((naked)) \ + * __attribute__((section(".init3"))); + * void get_mcusr(void) + * { + * mcusr_mirror = MCUSR; + * MCUSR = 0; + * wdt_disable(); + * } + * @endcode + * + * Saving the value of MCUSR in @c mcusr_mirror is only needed if the + * application later wants to examine the reset source, but in particular, + * clearing the watchdog reset flag before disabling the + * watchdog is required, according to the datasheet. + * @{ */ /** - \ingroup avr_watchdog - Reset the watchdog timer. When the watchdog timer is enabled, - a call to this instruction is required before the timer expires, - otherwise a watchdog-initiated device reset will occur. + * @brief Watchdog Timer Reset + * + * Reset the watchdog timer. When the watchdog timer is enabled, + * a call to this instruction is required before the timer expires, + * otherwise a watchdog-initiated device reset will occur. */ #define wdt_reset() __asm__ __volatile__ ("wdr") @@ -118,14 +124,13 @@ /** - \ingroup avr_watchdog - Enable the watchdog timer, configuring it for expiry after - \c timeout (which is a combination of the \c WDP0 through - \c WDP2 bits to write into the \c WDTCR register; For those devices - that have a \c WDTCSR register, it uses the combination of the \c WDP0 - through \c WDP3 bits). - - See also the symbolic constants \c WDTO_15MS et al. + * Enable the watchdog timer, configuring it for expiry after + * @c timeout (which is a combination of the @c WDP0 through + * @c WDP2 bits to write into the @c WDTCR register; For those devices + * that have a @c WDTCSR register, it uses the combination of the @c WDP0 + * through @c WDP3 bits). + * + * See also the symbolic constants @c WDTO_15MS et al. */ @@ -317,10 +322,9 @@ __asm__ __volatile__ ( \ ) /** - \ingroup avr_watchdog - Disable the watchdog timer, if possible. This attempts to turn off the - Enable bit in the watchdog control register. See the datasheet for - details. + * Disable the watchdog timer, if possible. This attempts to turn off the + * Enable bit in the watchdog control register. See the datasheet for + * details. */ #define wdt_disable() \ __asm__ __volatile__ ( \ @@ -340,101 +344,77 @@ __asm__ __volatile__ ( \ /** - \ingroup avr_watchdog - Symbolic constants for the watchdog timeout. Since the watchdog - timer is based on a free-running RC oscillator, the times are - approximate only and apply to a supply voltage of 5 V. At lower - supply voltages, the times will increase. For older devices, the - times will be as large as three times when operating at Vcc = 3 V, - while the newer devices (e. g. ATmega128, ATmega8) only experience - a negligible change. - - Possible timeout values are: 15 ms, 30 ms, 60 ms, 120 ms, 250 ms, - 500 ms, 1 s, 2 s. (Some devices also allow for 4 s and 8 s.) - Symbolic constants are formed by the prefix - \c WDTO_, followed by the time. - - Example that would select a watchdog timer expiry of approximately - 500 ms: - \code - wdt_enable(WDTO_500MS); - \endcode + * Symbolic constants for the watchdog timeout. Since the watchdog + * timer is based on a free-running RC oscillator, the times are + * approximate only and apply to a supply voltage of 5 V. At lower + * supply voltages, the times will increase. For older devices, the + * times will be as large as three times when operating at Vcc = 3 V, + * while the newer devices (e. g. ATmega128, ATmega8) only experience + * a negligible change. + * + * Possible timeout values are: 15 ms, 30 ms, 60 ms, 120 ms, 250 ms, + * 500 ms, 1 s, 2 s. (Some devices also allow for 4 s and 8 s.) + * Symbolic constants are formed by the prefix + * @c WDTO_, followed by the time. + * + * Example that would select a watchdog timer expiry of approximately + * 500 ms: + * + * @code{.c} + * wdt_enable(WDTO_500MS); + * @endcode */ #define WDTO_15MS 0 -/** \ingroup avr_watchdog - See \c WDT0_15MS */ +/** @see WDT0_15MS */ #define WDTO_30MS 1 -/** \ingroup avr_watchdog See - \c WDT0_15MS */ +/** @see WDT0_15MS */ #define WDTO_60MS 2 -/** \ingroup avr_watchdog - See \c WDT0_15MS */ +/** @see WDT0_15MS */ #define WDTO_120MS 3 -/** \ingroup avr_watchdog - See \c WDT0_15MS */ +/** @see WDT0_15MS */ #define WDTO_250MS 4 -/** \ingroup avr_watchdog - See \c WDT0_15MS */ +/** @see WDT0_15MS */ #define WDTO_500MS 5 -/** \ingroup avr_watchdog - See \c WDT0_15MS */ +/** @see WDT0_15MS */ #define WDTO_1S 6 -/** \ingroup avr_watchdog - See \c WDT0_15MS */ +/** @see WDT0_15MS */ #define WDTO_2S 7 #if defined(__DOXYGEN__) || defined(WDP3) -/** \ingroup avr_watchdog - See \c WDT0_15MS - Note: This is only available on the - ATtiny2313, - ATtiny24, ATtiny44, ATtiny84, - ATtiny25, ATtiny45, ATtiny85, - ATtiny261, ATtiny461, ATtiny861, - ATmega48, ATmega88, ATmega168, - ATmega48P, ATmega88P, ATmega168P, ATmega328P, - ATmega164P, ATmega324P, ATmega644P, ATmega644, - ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, - ATmega8HVA, ATmega16HVA, ATmega32HVB, - ATmega406, ATmega1284P, - AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, - AT90PWM81, - AT90USB82, AT90USB162, - AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, - ATtiny48, ATtiny88. - */ +/** + * @see WDT0_15MS + * + * Note: This is only available on: + * ATtiny2313, + * ATtiny24, ATtiny44, ATtiny84, + * ATtiny25, ATtiny45, ATtiny85, + * ATtiny261, ATtiny461, ATtiny861, + * ATmega48, ATmega88, ATmega168, + * ATmega48P, ATmega88P, ATmega168P, ATmega328P, + * ATmega164P, ATmega324P, ATmega644P, ATmega644, + * ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, + * ATmega8HVA, ATmega16HVA, ATmega32HVB, + * ATmega406, ATmega1284P, + * AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, + * AT90PWM81, + * AT90USB82, AT90USB162, + * AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, + * ATtiny48, ATtiny88. + */ #define WDTO_4S 8 -/** \ingroup avr_watchdog - See \c WDT0_15MS - Note: This is only available on the - ATtiny2313, - ATtiny24, ATtiny44, ATtiny84, - ATtiny25, ATtiny45, ATtiny85, - ATtiny261, ATtiny461, ATtiny861, - ATmega48, ATmega88, ATmega168, - ATmega48P, ATmega88P, ATmega168P, ATmega328P, - ATmega164P, ATmega324P, ATmega644P, ATmega644, - ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, - ATmega8HVA, ATmega16HVA, ATmega32HVB, - ATmega406, ATmega1284P, - AT90PWM1, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316, - AT90PWM81, - AT90USB82, AT90USB162, - AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, - ATtiny48, ATtiny88. - */ +/** @see WDTO_4S */ #define WDTO_8S 9 #endif /* defined(__DOXYGEN__) || defined(WDP3) */ - +/** @} */ #endif /* _AVR_WDT_H_ */ -- cgit v1.2.3 From a1f9934a8f096489620362620ef610b52a3c4ae1 Mon Sep 17 00:00:00 2001 From: Mathew Kallada Date: Fri, 4 Jan 2013 09:01:21 -0600 Subject: score: Doxygen Clean Up Task #3 --- cpukit/score/cpu/mips/rtems/mips/idtcpu.h | 67 ++++++++++-------- cpukit/score/cpu/mips/rtems/mips/iregdef.h | 81 ++++++++++++---------- cpukit/score/cpu/mips/rtems/score/cpu.h | 17 +++-- cpukit/score/cpu/mips/rtems/score/mips.h | 20 +++++- cpukit/score/cpu/mips/rtems/score/types.h | 19 +++-- cpukit/score/include/rtems/bspsmp.h | 29 ++++---- cpukit/score/include/rtems/score/address.h | 4 +- cpukit/score/include/rtems/score/apimutex.h | 14 ++-- cpukit/score/include/rtems/score/chain.h | 18 ++--- cpukit/score/include/rtems/score/corespinlock.h | 15 ++-- cpukit/score/include/rtems/score/isr.h | 62 +++++++++-------- cpukit/score/include/rtems/score/scheduleredf.h | 40 +++++++---- cpukit/score/include/rtems/score/schedulersimple.h | 42 ++++++----- .../score/include/rtems/score/schedulersimplesmp.h | 17 +++-- cpukit/score/include/rtems/score/smplock.h | 22 +++--- cpukit/score/include/rtems/score/threadmp.h | 18 +++-- cpukit/score/include/rtems/score/threadsync.h | 6 +- cpukit/score/include/rtems/score/timestamp64.h | 51 +++++++------- cpukit/score/include/rtems/score/wkspace.h | 24 ++++--- cpukit/score/include/rtems/seterr.h | 13 +++- 20 files changed, 349 insertions(+), 230 deletions(-) diff --git a/cpukit/score/cpu/mips/rtems/mips/idtcpu.h b/cpukit/score/cpu/mips/rtems/mips/idtcpu.h index c1a934098f..746129e116 100644 --- a/cpukit/score/cpu/mips/rtems/mips/idtcpu.h +++ b/cpukit/score/cpu/mips/rtems/mips/idtcpu.h @@ -1,33 +1,46 @@ -/* - -Based upon IDT provided code with the following release: - -This source code has been made available to you by IDT on an AS-IS -basis. Anyone receiving this source is licensed under IDT copyrights -to use it in any way he or she deems fit, including copying it, -modifying it, compiling it, and redistributing it either with or -without modifications. No license under IDT patents or patent -applications is to be implied by the copyright license. - -Any user of this software should understand that IDT cannot provide -technical support for this software and will not be responsible for -any consequences resulting from the use of this software. - -Any person who transfers this source code or any derivative work must -include the IDT copyright notice, this paragraph, and the preceeding -two paragraphs in the transferred software. - -COPYRIGHT IDT CORPORATION 1996 -LICENSED MATERIAL - PROGRAM PROPERTY OF IDT -*/ +/** + * @file idtcpu.h + * + * @brief CPU Related Definitions + * + * 950313: Ketan added sreg/lreg and R_SZ for 64-bit saves + * added Register definition for XContext reg. + * Look towards end of this file. + */ /* -** idtcpu.h -- cpu related defines -*/ + * Based upon IDT provided code with the following release: + * + * This source code has been made available to you by IDT on an AS-IS + * basis. Anyone receiving this source is licensed under IDT copyrights + * to use it in any way he or she deems fit, including copying it, + * modifying it, compiling it, and redistributing it either with or + * without modifications. No license under IDT patents or patent + * applications is to be implied by the copyright license. + * + * Any user of this software should understand that IDT cannot provide + * technical support for this software and will not be responsible for + * any consequences resulting from the use of this software. + * + * Any person who transfers this source code or any derivative work must + * include the IDT copyright notice, this paragraph, and the preceeding + * two paragraphs in the transferred software. + * + * COPYRIGHT IDT CORPORATION 1996 + * LICENSED MATERIAL - PROGRAM PROPERTY OF IDT + */ #ifndef _RTEMS_MIPS_IDTCPU_H #define _RTEMS_MIPS_IDTCPU_H +/** + * @defgroup MipsSet_idtcpu CPU Related Definitions + * + * @ingroup MIPS + * + */ +/**@{*/ + /* * 950313: Ketan added Register definition for XContext reg. * added define for WAIT instruction. @@ -92,7 +105,7 @@ LICENSED MATERIAL - PROGRAM PROPERTY OF IDT ** Cache size constants */ #define MINCACHE 0x200 /* 512 For 3041. */ -#define MAXCACHE 0x40000 /* 256*1024 256k */ +#define MAXCACHE 0x40000 /* 256*1024 256k */ #if __mips == 32 /* R4000 configuration register definitions */ @@ -691,5 +704,5 @@ LICENSED MATERIAL - PROGRAM PROPERTY OF IDT #define CALG $17 #endif -#endif /* _RTEMS_MIPS_IDTCPU_H */ - +/**@}*/ +#endif /* _RTEMS_MIPS_IDTCPU_H */ \ No newline at end of file diff --git a/cpukit/score/cpu/mips/rtems/mips/iregdef.h b/cpukit/score/cpu/mips/rtems/mips/iregdef.h index 631e5aa178..0dc9de7acc 100644 --- a/cpukit/score/cpu/mips/rtems/mips/iregdef.h +++ b/cpukit/score/cpu/mips/rtems/mips/iregdef.h @@ -1,44 +1,51 @@ -/* - -Based upon IDT provided code with the following release: - -This source code has been made available to you by IDT on an AS-IS -basis. Anyone receiving this source is licensed under IDT copyrights -to use it in any way he or she deems fit, including copying it, -modifying it, compiling it, and redistributing it either with or -without modifications. No license under IDT patents or patent -applications is to be implied by the copyright license. - -Any user of this software should understand that IDT cannot provide -technical support for this software and will not be responsible for -any consequences resulting from the use of this software. - -Any person who transfers this source code or any derivative work must -include the IDT copyright notice, this paragraph, and the preceeding -two paragraphs in the transferred software. - -COPYRIGHT IDT CORPORATION 1996 -LICENSED MATERIAL - PROGRAM PROPERTY OF IDT - +/** + * @file iregdef.h + * + * @brief IDT R3000 Register Structure + * + * 950313: Ketan added sreg/lreg and R_SZ for 64-bit saves + * added Register definition for XContext reg. + * Look towards end of this file. + */ /* -** iregdef.h - IDT R3000 register structure header file -** -** Copyright 1989 Integrated Device Technology, Inc -** All Rights Reserved -** -*/ + * Copyright 1989 Integrated Device Technology, Inc + * All Rights Reserved + * + * Based upon IDT provided code with the following release: + * + * This source code has been made available to you by IDT on an AS-IS + * basis. Anyone receiving this source is licensed under IDT copyrights + * to use it in any way he or she deems fit, including copying it, + * modifying it, compiling it, and redistributing it either with or + * without modifications. No license under IDT patents or patent + * applications is to be implied by the copyright license. + * + * Any user of this software should understand that IDT cannot provide + * technical support for this software and will not be responsible for + * any consequences resulting from the use of this software. + * + * Any person who transfers this source code or any derivative work must + * include the IDT copyright notice, this paragraph, and the preceeding + * two paragraphs in the transferred software. + * + * COPYRIGHT IDT CORPORATION 1996 + * LICENSED MATERIAL - PROGRAM PROPERTY OF IDT + */ + #ifndef _RTEMS_MIPS_IREGDEF_H #define _RTEMS_MIPS_IREGDEF_H -/* - * 950313: Ketan added sreg/lreg and R_SZ for 64-bit saves - * added Register definition for XContext reg. - * Look towards end of this file. +/** + * @defgroup MipsSet_iregdef Register Structure + * + * @ingroup MIPS + * */ -/* -** register names -*/ +/**@{*/ + +/* register names */ + #define r0 $0 #define r1 $1 #define r2 $2 @@ -326,5 +333,5 @@ LICENSED MATERIAL - PROGRAM PROPERTY OF IDT /* Ketan till here */ #endif -#endif /* _RTEMS_MIPS_IREGDEF_H */ - +/**@}*/ +#endif /* _RTEMS_MIPS_IREGDEF_H */ \ No newline at end of file diff --git a/cpukit/score/cpu/mips/rtems/score/cpu.h b/cpukit/score/cpu/mips/rtems/score/cpu.h index 1da23db423..64686ffb25 100644 --- a/cpukit/score/cpu/mips/rtems/score/cpu.h +++ b/cpukit/score/cpu/mips/rtems/score/cpu.h @@ -1,7 +1,7 @@ /** * @file - * - * Mips CPU Dependent Header File + * + * @brief Mips CPU Dependent Header File * * Conversion to MIPS port by Alan Cudmore and * Joel Sherrill . @@ -42,6 +42,14 @@ #ifndef _RTEMS_SCORE_CPU_H #define _RTEMS_SCORE_CPU_H +/** + * @defgroup ScoreCPU CPU CPU + * + * @ingroup Score + * + */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif @@ -211,7 +219,7 @@ extern "C" { * all tasks floating point. */ -#define CPU_ALL_TASKS_ARE_FP CPU_HARDWARE_FP +#define CPU_ALL_TASKS_ARE_FP CPU_HARDWARE_FP /* * Should the IDLE task have a floating point context? @@ -1172,4 +1180,5 @@ static inline uint32_t CPU_swap_u32( } #endif -#endif +/**@}*/ +#endif \ No newline at end of file diff --git a/cpukit/score/cpu/mips/rtems/score/mips.h b/cpukit/score/cpu/mips/rtems/score/mips.h index f81fd32ec2..e9b03c059b 100644 --- a/cpukit/score/cpu/mips/rtems/score/mips.h +++ b/cpukit/score/cpu/mips/rtems/score/mips.h @@ -1,5 +1,14 @@ /** * @file rtems/score/mips.h + * + * @brief Information to build RTEMS for a "no cpu" while in protected mode. + * + * This file contains the information required to build + * RTEMS for a particular member of the "no cpu" + * family when executing in protected mode. It does + * this by setting variables to indicate which implementation + * dependent features are present in a particular member + * of the family. */ /* @@ -14,6 +23,14 @@ #ifndef _RTEMS_SCORE_MIPS_H #define _RTEMS_SCORE_MIPS_H +/** + * @defgroup ScoreMips RTEMS no cpu Build Information + * + * @ingroup Score + * + */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif @@ -277,5 +294,6 @@ extern "C" { } #endif +/**@}*/ #endif /* _RTEMS_SCORE_MIPS_H */ -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/cpu/mips/rtems/score/types.h b/cpukit/score/cpu/mips/rtems/score/types.h index f26819a739..5885402daf 100644 --- a/cpukit/score/cpu/mips/rtems/score/types.h +++ b/cpukit/score/cpu/mips/rtems/score/types.h @@ -1,11 +1,13 @@ /** * @file rtems/score/types.h + * + * @brief Type Definitions Pertaining to the MIPS Processor Family + * + * This include file contains type definitions pertaining to the MIPS + * processor family. */ /* - * This include file contains type definitions pertaining to the MIPS - * processor family. - * * COPYRIGHT (c) 1989-2001. * On-Line Applications Research Corporation (OAR). * @@ -18,6 +20,14 @@ #ifndef _RTEMS_SCORE_TYPES_H #define _RTEMS_SCORE_TYPES_H +/** + * @defgroup ScoreTypes MIPS Processor Family Type Definitions + * + * @ingroup Score + * + */ +/**@{*/ + #include #ifndef ASM @@ -40,4 +50,5 @@ typedef void ( *mips_isr_entry )( void ); #endif /* !ASM */ -#endif +/**@}*/ +#endif \ No newline at end of file diff --git a/cpukit/score/include/rtems/bspsmp.h b/cpukit/score/include/rtems/bspsmp.h index fa1b65b815..dc747e00d2 100644 --- a/cpukit/score/include/rtems/bspsmp.h +++ b/cpukit/score/include/rtems/bspsmp.h @@ -26,6 +26,8 @@ /** * @defgroup RTEMS BSP SMP Interface * + * @ingroup Score + * * This defines the interface between RTEMS and the BSP for * SMP support. The interface uses the term primary * to refer to the "boot" processor and secondary to refer @@ -47,7 +49,7 @@ extern "C" { #ifndef ASM /** - * @brief Maximum Number of CPUs in SMP System + * @brief Maximum number of CPUs in SMP system. * * This variable is set during the SMP initialization sequence to * indicate the Maximum number of CPUs in this system. @@ -55,7 +57,7 @@ extern "C" { extern uint32_t rtems_configuration_smp_maximum_processors; /** - * @brief Initialize Secondary CPUs + * @brief Initialize secondary CPUs. * * This method is invoked by RTEMS during initialization to bring the * secondary CPUs out of reset. @@ -63,7 +65,7 @@ extern uint32_t rtems_configuration_smp_maximum_processors; * @param [in] maximum is the maximum number of CPU cores that RTEMS * can handle * - * @return This method returns the number of cores available in the + * @retval This method returns the number of cores available in the * system. */ int bsp_smp_initialize( @@ -71,17 +73,17 @@ int bsp_smp_initialize( ); /** - * @brief Obtain Current CPU Index + * @brief Obtain current CPU index. * * This method is invoked by RTEMS when it needs to know the index * of the CPU it is executing on. * - * @return This method returns the current CPU index. + * @retval This method returns the current CPU index. */ int bsp_smp_processor_id(void) RTEMS_COMPILER_PURE_ATTRIBUTE; /** - * @brief Make Request of Another CPU + * @brief Make request of another CPU. * * This method is invoked by RTEMS when it needs to make a request * of another CPU. It should be implemented using some type of @@ -96,7 +98,7 @@ void rtems_smp_send_message( ); /** - * @brief Generate a Interprocessor Broadcast Interrupt + * @brief Generate an interprocessor broadcast interrupt. * * This method is invoked when RTEMS wants to let all of the other * CPUs know that it has sent them message. CPUs not including @@ -110,7 +112,7 @@ void rtems_smp_send_message( void bsp_smp_broadcast_interrupt(void); /** - * @brief Generate a Interprocessor Interrupt + * @brief Generate a interprocessor interrupt. * * This method is invoked by RTEMS to let @a cpu know that it * has sent it a message. @@ -122,7 +124,7 @@ void bsp_smp_interrupt_cpu( ); /** - * @brief Obtain CPU Core Number + * @brief Obtain CPU core number. * * This method is invoked by RTEMS when it needs to know which core * number it is executing on. This is used when it needs to perform @@ -130,7 +132,7 @@ void bsp_smp_interrupt_cpu( * the other cores. For example, it may need to realize it needs to * preempt a thread on another node. * - * @return This method returns the Id of the current CPU core. + * @retval This method returns the Id of the current CPU core. */ int bsp_smp_processor_id( void ); @@ -145,7 +147,7 @@ int bsp_smp_processor_id( void ); void bsp_smp_secondary_cpu_initialize(int cpu); /** - * @brief RTEMS SMP Secondary CPU Initialize + * @brief Initialize secondary CPU and coordinates. * * This method is the C entry point which secondary CPUs should * arrange to call. It performs OS initialization for the secondary @@ -166,7 +168,7 @@ void rtems_smp_secondary_cpu_initialize(void); void rtems_smp_initialize_per_cpu(int cpu); /** - * @brief RTEMS SMP Proccess Interrupt + * @brief Process the incoming interprocessor request. * * This is the method called by the BSP's interrupt handler * to process the incoming interprocessor request. @@ -189,6 +191,7 @@ void bsp_smp_wait_for( #define bsp_smp_processor_id() 0 #endif +/**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/address.h b/cpukit/score/include/rtems/score/address.h index a09d63821c..299d3d270f 100644 --- a/cpukit/score/include/rtems/score/address.h +++ b/cpukit/score/include/rtems/score/address.h @@ -1,6 +1,8 @@ /** * @file rtems/score/address.h * + * @brief Information Required to Manipulate Physical Addresses + * * This include file contains the information required to manipulate * physical addresses. */ @@ -40,4 +42,4 @@ extern "C" { /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/apimutex.h b/cpukit/score/include/rtems/score/apimutex.h index 13b0dddd65..cb2b8e51ac 100644 --- a/cpukit/score/include/rtems/score/apimutex.h +++ b/cpukit/score/include/rtems/score/apimutex.h @@ -3,7 +3,7 @@ * * @ingroup ScoreAPIMutex * - * @brief API Mutex Handler API. + * @brief API Mutex Handler API */ /* @@ -76,11 +76,11 @@ void _API_Mutex_Allocate( API_Mutex_Control **mutex ); * @brief Acquires the specified API mutex. */ void _API_Mutex_Lock( - API_Mutex_Control *mutex + API_Mutex_Control *mutex ); /** - * @brief Releases the Specified API Mutex + * @brief Releases the specified API mutex. * * Releases the specified @a mutex. * @@ -105,7 +105,7 @@ void _API_Mutex_Unlock( API_Mutex_Control *mutex ); */ /** - * @brief Memory Allocation Mutex + * @brief Memory allocation mutex. * * This points to the API Mutex instance used to ensure that only * one thread at a time is allocating or freeing memory. @@ -113,7 +113,7 @@ void _API_Mutex_Unlock( API_Mutex_Control *mutex ); SCORE_EXTERN API_Mutex_Control *_RTEMS_Allocator_Mutex; /** - * @brief Macro to Ease Locking the Allocator Mutex + * @brief Macro to ease locking the allocator mutex. * * This macro makes it explicit that one is locking the allocator mutex. */ @@ -121,7 +121,7 @@ SCORE_EXTERN API_Mutex_Control *_RTEMS_Allocator_Mutex; _API_Mutex_Lock( _RTEMS_Allocator_Mutex ) /** - * @brief Macro to Ease Unlocking the Allocator Mutex + * @brief Macro to ease unlocking the allocator mutex. * * This macro makes it explicit that one is unlocking the allocator mutex. */ @@ -135,4 +135,4 @@ SCORE_EXTERN API_Mutex_Control *_RTEMS_Allocator_Mutex; #endif #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/chain.h b/cpukit/score/include/rtems/score/chain.h index f0a837f379..51241abaea 100644 --- a/cpukit/score/include/rtems/score/chain.h +++ b/cpukit/score/include/rtems/score/chain.h @@ -3,7 +3,7 @@ * * @ingroup ScoreChain * - * @brief Chain Handler API. + * @brief Chain Handler API */ /* @@ -107,7 +107,7 @@ typedef union { Chain_Control name = CHAIN_INITIALIZER_EMPTY(name) /** - * @brief Initialize a Chain Header + * @brief Initialize a chain header. * * This routine initializes @a the_chain structure to manage the * contiguous array of @a number_nodes nodes which starts at @@ -127,7 +127,7 @@ void _Chain_Initialize( ); /** - * @brief Extract the specified node from a chain + * @brief Extract the specified node from a chain. * * This routine extracts @a the_node from the chain on which it resides. * It disables interrupts to ensure the atomicity of the extract operation. @@ -142,12 +142,12 @@ void _Chain_Extract( ); /** - * @brief Obtain the first node on a chain + * @brief Obtain the first node on a chain. * * This function removes the first node from @a the_chain and returns * a pointer to that node. If @a the_chain is empty, then NULL is returned. * - * @return This method returns a pointer a node. If a node was removed, + * @retval This method returns a pointer a node. If a node was removed, * then a pointer to that node is returned. If @a the_chain was * empty, then NULL is returned. * @@ -158,7 +158,7 @@ Chain_Node *_Chain_Get( ); /** - * @brief Insert a node on a chain + * @brief Insert a node on a chain. * * This routine inserts @a the_node on a chain immediately following * @a after_node. @@ -179,7 +179,7 @@ void _Chain_Insert( ); /** - * @brief Append a node on the end of a chain + * @brief Append a node on the end of a chain. * * This routine appends @a the_node onto the end of @a the_chain. * @@ -262,7 +262,7 @@ bool _Chain_Get_with_empty_check( * @note It does NOT disable interrupts to ensure the atomicity of the * operation. * - * @return The node count of the chain. + * @retval The node count of the chain. */ size_t _Chain_Node_count_unprotected( const Chain_Control *chain ); @@ -277,4 +277,4 @@ size_t _Chain_Node_count_unprotected( const Chain_Control *chain ); /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/corespinlock.h b/cpukit/score/include/rtems/score/corespinlock.h index dfa62ccb8f..ac910a5e7a 100644 --- a/cpukit/score/include/rtems/score/corespinlock.h +++ b/cpukit/score/include/rtems/score/corespinlock.h @@ -1,6 +1,8 @@ /** * @file rtems/score/corespinlock.h * + * @brief Constants and Structures Associated with the Spinlock Handler + * * This include file contains all the constants and structures associated * with the Spinlock Handler. */ @@ -110,7 +112,7 @@ typedef struct { } CORE_spinlock_Control; /** - * @brief Initialized a spinlock + * @brief Initialize the spinlock. * * This routine initializes the spinlock based on the parameters passed. * @@ -123,7 +125,8 @@ void _CORE_spinlock_Initialize( ); /** - * @brief Wait for Spinlock + * @brief Wait for spinlock. + * * This routine wait for the spinlock to be released. If the spinlock * is set to automatic and this is the appropriate thread, then it returns * immediately. Otherwise, the calling thread is blocked until the spinlock @@ -133,7 +136,7 @@ void _CORE_spinlock_Initialize( * @param[in] wait is true if willing to wait * @param[in] timeout is the maximum number of ticks to spin (0 is forever) * - * @return A status is returned which indicates the success or failure of + * @retval A status is returned which indicates the success or failure of * this operation. */ CORE_spinlock_Status _CORE_spinlock_Wait( @@ -143,8 +146,8 @@ CORE_spinlock_Status _CORE_spinlock_Wait( ); /** - * @brief Manually release Spinlock - * + * @brief Manually release the spinlock. + * * This routine manually releases the spinlock. All of the threads waiting * for the spinlock will be readied. * @@ -165,4 +168,4 @@ CORE_spinlock_Status _CORE_spinlock_Release( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/isr.h b/cpukit/score/include/rtems/score/isr.h index 0d93d29de9..b58f8a4cff 100644 --- a/cpukit/score/include/rtems/score/isr.h +++ b/cpukit/score/include/rtems/score/isr.h @@ -1,6 +1,8 @@ /** * @file rtems/score/isr.h * + * @brief Data Related to the Management of Processor Interrupt Levels + * * This include file contains all the constants and structures associated * with the management of processor interrupt levels. This handler * supports interrupt critical sections, vectoring of user interrupt @@ -87,19 +89,19 @@ SCORE_EXTERN ISR_Handler_entry *_ISR_Vector_table; #endif /** - * @brief Initialize the ISR Handler + * @brief Initialize the ISR handler. * * This routine performs the initialization necessary for the ISR handler. */ void _ISR_Handler_initialization ( void ); /** - * @brief Disable Interrupts on This Core + * @brief Disable interrupts on this core. * * This routine disables all interrupts so that a critical section * of code can be executing without being interrupted. * - * @return The argument @a _level will contain the previous interrupt + * @retval The argument @a _level will contain the previous interrupt * mask level. */ #define _ISR_Disable_on_this_core( _level ) \ @@ -109,7 +111,7 @@ void _ISR_Handler_initialization ( void ); } while (0) /** - * @brief Enable Interrupts on This Core + * @brief Enable interrupts on this core. * * This routine enables interrupts to the previous interrupt mask * LEVEL. It is used at the end of a critical section of code to @@ -125,7 +127,7 @@ void _ISR_Handler_initialization ( void ); } while (0) /** - * @brief Temporarily Enable Interrupts on This Core + * @brief Temporarily enable interrupts on this core. * * This routine temporarily enables interrupts to the previous * interrupt mask level and then disables all interrupts so that @@ -153,7 +155,7 @@ void _ISR_Handler_initialization ( void ); #if defined(RTEMS_SMP) /** - * @brief Initialize SMP Interrupt Critical Section Support + * @brief Initialize SMP interrupt critical section support. * * This method initializes the variables required by the SMP implementation * of interrupt critical section management. @@ -161,17 +163,17 @@ void _ISR_Handler_initialization ( void ); void _ISR_SMP_Initialize(void); /** - * @brief Enter Interrupt Critical Section on SMP System + * @brief Enter interrupt critical section on SMP system. * * This method is used to enter an interrupt critical section that * is honored across all cores in an SMP system. * - * @return This method returns the previous interrupt mask level. + * @retval This method returns the previous interrupt mask level. */ ISR_Level _ISR_SMP_Disable(void); /** - * @brief Exit Interrupt Critical Section on SMP System + * @brief Exit interrupt critical section on SMP system. * * This method is used to exit an interrupt critical section that * is honored across all cores in an SMP system. @@ -182,7 +184,7 @@ ISR_Level _ISR_SMP_Disable(void); void _ISR_SMP_Enable(ISR_Level level); /** - * @brief Temporarily Exit Interrupt Critical Section on SMP System + * @brief Temporarily exit interrupt critical section on SMP system. * * This method is used to temporarily exit an interrupt critical section * that is honored across all cores in an SMP system. @@ -193,20 +195,20 @@ void _ISR_SMP_Enable(ISR_Level level); void _ISR_SMP_Flash(ISR_Level level); /** - * @brief Enter SMP interrupt code + * @brief Enter SMP interrupt code. * * This method is used to enter the SMP interrupt section. * - * @return This method returns the isr level. + * @retval This method returns the isr level. */ int _ISR_SMP_Enter(void); /** - * @brief Exit SMP interrupt code + * @brief Exit SMP interrupt code. * * This method is used to exit the SMP interrupt. * - * @return This method returns 0 on a simple return and returns 1 on a + * @retval This method returns 0 on a simple return and returns 1 on a * dispatching return. */ int _ISR_SMP_Exit(void); @@ -214,7 +216,7 @@ int _ISR_SMP_Exit(void); #endif /** - * @brief Enter Interrupt Disable Critical Section + * @brief Enter interrupt disable critical section. * * This routine enters an interrupt disable critical section. When * in an SMP configuration, this involves obtaining a spinlock to ensure @@ -222,7 +224,7 @@ int _ISR_SMP_Exit(void); * When on a single core system, this only involves disabling local * CPU interrupts. * - * @return The argument @a _level will contain the previous interrupt + * @retval The argument @a _level will contain the previous interrupt * mask level. */ #if defined(RTEMS_SMP) @@ -234,14 +236,14 @@ int _ISR_SMP_Exit(void); #endif /** - * @brief Exits Interrupt Disable Critical Section + * @brief Exits interrupt disable critical section. * * This routine exits an interrupt disable critical section. When * in an SMP configuration, this involves releasing a spinlock. * When on a single core system, this only involves disabling local * CPU interrupts. * - * @return The argument @a _level will contain the previous interrupt + * @retval The argument @a _level will contain the previous interrupt * mask level. */ #if defined(RTEMS_SMP) @@ -253,7 +255,7 @@ int _ISR_SMP_Exit(void); #endif /** - * @brief Temporarily Exit Interrupt Disable Critical Section + * @brief Temporarily exit interrupt disable critical section. * * This routine is used to temporarily enable interrupts * during a long critical section. It is used in long sections of @@ -263,7 +265,7 @@ int _ISR_SMP_Exit(void); * must be selected with care to ensure that the critical section * properly protects itself. * - * @return The argument @a _level will contain the previous interrupt + * @retval The argument @a _level will contain the previous interrupt * mask level. */ #if defined(RTEMS_SMP) @@ -275,7 +277,7 @@ int _ISR_SMP_Exit(void); #endif /** - * @brief Install Interrupt Handler Vector + * @brief Install interrupt handler vector. * * This routine installs new_handler as the interrupt service routine * for the specified vector. The previous interrupt service routine is @@ -289,26 +291,26 @@ int _ISR_SMP_Exit(void); * @param[in] _old_handler is a pointer to a variable which will be set * to the old handler * - * @return *_old_handler will be set to the old ISR handler + * @retval *_old_handler will be set to the old ISR handler */ #define _ISR_Install_vector( _vector, _new_handler, _old_handler ) \ _CPU_ISR_install_vector( _vector, _new_handler, _old_handler ) /** - * @brief Return Current Interrupt Level + * @brief Return current interrupt level. * * This routine returns the current interrupt level. * * LM32 Specific Information: * XXX document implementation including references if appropriate * - * @return This method returns the current level. + * @retval This method returns the current level. */ #define _ISR_Get_level() \ _CPU_ISR_Get_level() /** - * @brief Set Current Interrupt Level + * @brief Set current interrupt level. * * This routine sets the current interrupt level to that specified * by @a _new_level. The new interrupt level is effective when the @@ -324,7 +326,7 @@ int _ISR_SMP_Exit(void); } while (0) /** - * @brief ISR Handler or Dispatcher + * @brief ISR interrupt dispatcher. * * This routine is the interrupt dispatcher. ALL interrupts * are vectored to this routine so that minimal context can be saved @@ -340,7 +342,7 @@ int _ISR_SMP_Exit(void); void _ISR_Handler( void ); /** - * @brief ISR Wrapper for Thread Dispatcher + * @brief ISR wrapper for thread dispatcher. * * This routine provides a wrapper so that the routine * @ref _Thread_Dispatch can be invoked when a reschedule is necessary @@ -355,13 +357,13 @@ void _ISR_Handler( void ); void _ISR_Dispatch( void ); /** - * @brief Is an ISR in Progress + * @brief Checks if an ISR in progress. * * This function returns true if the processor is currently servicing * and interrupt and false otherwise. A return value of true indicates * that the caller is an interrupt service routine, NOT a thread. * - * @return This methods returns true when called from an ISR. + * @retval This methods returns true when called from an ISR. */ #if (CPU_PROVIDES_ISR_IS_IN_PROGRESS == TRUE) bool _ISR_Is_in_progress( void ); @@ -379,4 +381,4 @@ void _ISR_Dispatch( void ); /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/scheduleredf.h b/cpukit/score/include/rtems/score/scheduleredf.h index 8381184858..5c5c2c4f97 100644 --- a/cpukit/score/include/rtems/score/scheduleredf.h +++ b/cpukit/score/include/rtems/score/scheduleredf.h @@ -1,6 +1,8 @@ /** * @file rtems/score/scheduleredf.h * + * @brief Data Related to the Manipulation of Threads for the EDF Scheduler + * * This include file contains all the constants and structures associated * with the manipulation of threads for the EDF scheduler. */ @@ -27,6 +29,10 @@ extern "C" { #endif /** + * @defgroup ScoreScheduler + * + * @ingroup Score + * * @addtogroup ScoreScheduler * */ @@ -98,14 +104,14 @@ typedef struct { extern RBTree_Control _Scheduler_EDF_Ready_queue; /** - * @brief Scheduler EDF Initialize + * @brief Initialize EDF scheduler. * * This routine initializes the EDF scheduler. */ void _Scheduler_EDF_Initialize( void ); /** - * @brief Removes Thread from Ready Queue + * @brief Removes thread from ready queue. * * This routine removes @a the_thread from the scheduling decision, * that is, removes it from the ready queue. It performs @@ -119,7 +125,8 @@ void _Scheduler_EDF_Block( ); /** - * @brief Scheduler EDF Schedule + * @brief Sets the heir thread to be the next ready thread + * in the rbtree ready queue. * * This kernel routine sets the heir thread to be the next ready thread * in the rbtree ready queue. @@ -127,7 +134,7 @@ void _Scheduler_EDF_Block( void _Scheduler_EDF_Schedule( void ); /** - * @brief Scheduler EDF Allocate + * @brief Allocates EDF specific information of @a the_thread. * * This routine allocates EDF specific information of @a the_thread. * @@ -139,7 +146,7 @@ void *_Scheduler_EDF_Allocate( ); /** - * @brief Frees EDF information of a thread + * @brief Frees EDF information of a thread. * * This routine frees the EDF specific information of @a the_thread. * @@ -151,7 +158,7 @@ void _Scheduler_EDF_Free( ); /** - * @brief Scheduler EDF Update + * @brief Updates position in the ready queue of @a the_thread. * * This routine updates position in the ready queue of @a the_thread. * @@ -163,7 +170,7 @@ void _Scheduler_EDF_Update( ); /** - * @brief Scheduler EDF Unblock + * @brief Adds @a the_thread to the scheduling decision. * * This routine adds @a the_thread to the scheduling decision, that is, * adds it to the ready queue and updates any appropriate scheduling @@ -176,7 +183,9 @@ void _Scheduler_EDF_Unblock( ); /** - * @brief Scheduler EDF Yield + * @brief invoked when a thread wishes to voluntarily + * transfer control of the processor to another thread + * with equal deadline. * * This routine is invoked when a thread wishes to voluntarily * transfer control of the processor to another thread in the queue with @@ -189,7 +198,7 @@ void _Scheduler_EDF_Unblock( void _Scheduler_EDF_Yield( void ); /** - * @brief Scheduler EDF Enqueue + * @brief Put @a the_thread to the rbtree ready queue. * * This routine puts @a the_thread to the rbtree ready queue. * @@ -200,7 +209,7 @@ void _Scheduler_EDF_Enqueue( ); /** - * @brief Enqueues a thread to the ready queue + * @brief Enqueue a thread to the ready queue. * * This routine puts @a the_thread to the rbtree ready queue. * For the EDF scheduler this is the same as @a _Scheduler_EDF_Enqueue. @@ -212,7 +221,8 @@ void _Scheduler_EDF_Enqueue_first( ); /** - * @brief Scheduler EDF Extract + * @brief Remove a specific thread from the scheduler's set + * of ready threads. * * This routine removes a specific thread from the scheduler's set * of ready threads. @@ -224,12 +234,12 @@ void _Scheduler_EDF_Extract( ); /** - * @brief Scheduler EDF Priority compare + * @brief Explicitly compare absolute dedlines (priorities) of threads. * * This routine explicitly compares absolute dedlines (priorities) of threads. * In case of EDF scheduling time overflow is taken into account. * - * @return >0 for p1 > p2; 0 for p1 == p2; <0 for p1 < p2. + * @retval >0 for p1 > p2; 0 for p1 == p2; <0 for p1 < p2. */ int _Scheduler_EDF_Priority_compare ( Priority_Control p1, @@ -237,7 +247,7 @@ int _Scheduler_EDF_Priority_compare ( ); /** - * @brief Scheduler EDF Release job + * @brief Called when a new job of task is released. * * This routine is called when a new job of task is released. * It is called only from Rate Monotonic manager in the beginning @@ -260,4 +270,4 @@ void _Scheduler_EDF_Release_job ( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/schedulersimple.h b/cpukit/score/include/rtems/score/schedulersimple.h index 66b4018b50..f350d533ad 100644 --- a/cpukit/score/include/rtems/score/schedulersimple.h +++ b/cpukit/score/include/rtems/score/schedulersimple.h @@ -1,10 +1,13 @@ /** * @file rtems/score/schedulersimple.h * + * @brief Manipulation of Threads Simple-Priority-Based Ready Queue + * * This include file contains all the constants and structures associated * with the manipulation of threads on a simple-priority-based ready queue. - * - * + */ + +/* * Copyright (C) 2011 On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -16,8 +19,11 @@ #define _RTEMS_SCORE_SCHEDULERSIMPLE_H /** - * @addtogroup ScoreScheduler + * @defgroup ScoreScheduler * + * @ingroup Score + * + * @addtogroup ScoreScheduler */ /**@{*/ @@ -50,7 +56,7 @@ extern "C" { } /** - * @brief Initializes simple scheduler + * @brief Initialize simple scheduler. * * This routine initializes the simple scheduler. */ @@ -64,7 +70,8 @@ void _Scheduler_simple_Initialize( void ); void _Scheduler_simple_Schedule( void ); /** - * @brief Simple Schedule + * @brief Invoked when a thread wishes to voluntarily + * transfer control of the processor to another thread in the queue. * * This routine is invoked when a thread wishes to voluntarily * transfer control of the processor to another thread in the queue. @@ -79,7 +86,7 @@ void _Scheduler_simple_Schedule( void ); void _Scheduler_simple_Yield( void ); /** - * @brief Removes a thread from the queue + * @brief Remove a simple-priority-based thread from the queue. * * This routine removes @a the_thread from the scheduling decision, * that is, removes it from the ready queue. It performs @@ -93,7 +100,8 @@ void _Scheduler_simple_Block( ); /** - * @brief Scheduler Simple Handler / Unblock + * @brief Unblock a simple-priority-based thread. + * * This routine adds @a the_thread to the scheduling decision, * that is, adds it to the ready queue and * updates any appropriate scheduling variables, for example the heir thread. @@ -105,7 +113,7 @@ void _Scheduler_simple_Unblock( ); /** - * @brief Removes a thread from a simple queue + * @brief Removes a simple-priority-based thread from a simple queue. * * This routine removes a specific thread from the specified * simple-based ready queue. @@ -117,7 +125,7 @@ void _Scheduler_simple_Extract( ); /** - * @brief Puts thread onto the ready queue + * @brief Puts simple-priority-based thread onto the ready queue. * * This routine puts @a the_thread on to the ready queue. * @@ -128,7 +136,8 @@ void _Scheduler_simple_Enqueue( ); /** - * @brief Scheduler simple Enqueue first + * @brief Put simple-priority-based @a the_thread to + * the head of the ready queue. * * This routine puts @a the_thread to the head of the ready queue. * The thread will be the first thread at its priority level. @@ -140,7 +149,7 @@ void _Scheduler_simple_Enqueue_first( ); /** - * @brief Returns empty placeholder for scheduler + * @brief Return empty placeholder for the simple scheduler. * * This routine is a place holder for any memeory allocation needed * by the scheduler. For the simple scheduler the routine is an empty @@ -149,7 +158,7 @@ void _Scheduler_simple_Enqueue_first( * @param[in] the_thread is the thread the scheduler is allocating * management memory for * - * @return this routine returns -1 since this is just an empty placeholder + * @retval this routine returns -1 since this is just an empty placeholder * and the return value may be defined differently by each scheduler. */ void *_Scheduler_simple_Allocate( @@ -157,7 +166,7 @@ void *_Scheduler_simple_Allocate( ); /** - * @breif Stub for schedule update + * @breif Stub for simple schedule update. * * This routine does nothing, and is used as a stub for Schedule update * The overhead of a function call will still be imposed. @@ -169,7 +178,7 @@ void _Scheduler_simple_Update( ); /** - * @brief Stub for schedule free + * @brief Stub for simple schedule free. * * This routine does nothing, and is used as a stub for Schedule free * The overhead of a function call will still be imposed. @@ -193,7 +202,8 @@ void _Scheduler_simple_Ready_queue_enqueue( ); /** - * @brief Scheduler Simple Ready Queue Enqueue First + * @brief Puts simple-priority-based @a the_thread on to the ready queue + * at the beginning of its priority group. * * This routine puts @a the_thread on to the ready queue * at the beginning of its priority group. @@ -215,4 +225,4 @@ void _Scheduler_simple_Ready_queue_enqueue_first( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/schedulersimplesmp.h b/cpukit/score/include/rtems/score/schedulersimplesmp.h index e915993a52..86c7d9a900 100644 --- a/cpukit/score/include/rtems/score/schedulersimplesmp.h +++ b/cpukit/score/include/rtems/score/schedulersimplesmp.h @@ -1,6 +1,8 @@ /** * @file rtems/score/schedulersimplesmp.h * + * @brief Manipulation of Threads on a Simple-Priority-Based Ready Queue + * * This include file contains all the constants and structures associated * with the manipulation of threads on a simple-priority-based ready queue. * This implementation is SMP-aware and schedules across multiple cores. @@ -21,6 +23,10 @@ #define _RTEMS_SCORE_SCHEDULERSIMPLE_SMP_H /** + * @defgroup ScoreScheduler + * + * @ingroup Score + * * @addtogroup ScoreScheduler * * The Simple SMP Scheduler attempts to faithfully implement the @@ -62,7 +68,7 @@ extern "C" { } /** - * @brief Scheduler Simple SMP Schedule Method + * @brief Allocates ready SMP threads to individual cores in an SMP system. * * This routine allocates ready threads to individual cores in an SMP * system. If the allocation results in a new heir which requires @@ -71,7 +77,7 @@ extern "C" { void _Scheduler_simple_smp_Schedule( void ); /** - * @brief Scheduler Simple SMP Block Method + * @brief Remove SMP @a the_thread from the ready queue. * * This routine removes @a the_thread from the scheduling decision, * that is, removes it from the ready queue. It performs @@ -85,7 +91,8 @@ void _Scheduler_simple_smp_Block( ); /** - * @brief Scheduler Simple SMP Unblock Method + * @brief Adds SMP @a the_thread to the ready queue and updates any + * appropriate scheduling variables, for example the heir thread. * * This routine adds @a the_thread to the scheduling decision, * that is, adds it to the ready queue and updates any appropriate @@ -98,7 +105,7 @@ void _Scheduler_simple_smp_Unblock( ); /** - * @brief Scheduler Simple SMP Tick Method + * @brief Invoked as part of processing each SMP clock tick. * * This routine is invoked as part of processing each clock tick. * It is responsible for determining if the current thread allows @@ -113,4 +120,4 @@ void _Scheduler_simple_smp_Tick( void ); /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/smplock.h b/cpukit/score/include/rtems/score/smplock.h index 611b49811f..1f1c992628 100644 --- a/cpukit/score/include/rtems/score/smplock.h +++ b/cpukit/score/include/rtems/score/smplock.h @@ -1,6 +1,8 @@ /** * @file rtems/score/smplock.h * + * @brief Interface for Atomic Locks + * * This include file defines the interface for atomic locks * which can be used in multiprocessor configurations. */ @@ -54,7 +56,7 @@ typedef struct { } SMP_lock_spinlock_nested_Control; /** - * @brief Initialize a Lock + * @brief Initialize a lock. * * This method is used to initialize the lock at @a lock. * @@ -65,13 +67,13 @@ void _SMP_lock_spinlock_simple_Initialize( ); /** - * @brief Obtain a Lock + * @brief Obtain a lock. * * This method is used to obtain the lock at @a lock. * * @param [in] lock is the address of the lock to obtain. * - * @return This method returns with processor interrupts disabled. + * @retval This method returns with processor interrupts disabled. * The previous level is returned. */ ISR_Level _SMP_lock_spinlock_simple_Obtain( @@ -79,7 +81,7 @@ ISR_Level _SMP_lock_spinlock_simple_Obtain( ); /** - * @brief Release a Lock + * @brief Release a lock. * * This method is used to release the lock at @a lock. * @@ -91,7 +93,7 @@ void _SMP_lock_spinlock_simple_Release( ); /** - * @brief Initialize a Lock + * @brief Initialize a lock. * * This method is used to initialize the lock at @a lock. * @@ -102,7 +104,7 @@ void _SMP_lock_spinlock_nested_Initialize( ); /** - * @brief Obtain a Lock + * @brief Obtain a lock. * * This method is used to obtain the lock at @a lock. ISR's are * disabled when this routine returns and it is the callers responsibility @@ -115,7 +117,7 @@ void _SMP_lock_spinlock_nested_Initialize( * * @param [in] lock is the address of the lock to obtain. * - * @return This method returns with processor interrupts disabled. + * @retval This method returns with processor interrupts disabled. * The previous level is returned. */ ISR_Level _SMP_lock_spinlock_nested_Obtain( @@ -123,9 +125,9 @@ ISR_Level _SMP_lock_spinlock_nested_Obtain( ); /** - * @brief Release a Lock + * @brief Release a lock. * - * This method is used to release the lock at @a lock. + * This method is used to release the lock at @a lock. * * @note ISR's are reenabled by this method and are expected to be * disabled upon entry to the method. @@ -144,4 +146,4 @@ void _SMP_lock_spinlock_nested_Release( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/threadmp.h b/cpukit/score/include/rtems/score/threadmp.h index eba713ca57..945b9c1969 100644 --- a/cpukit/score/include/rtems/score/threadmp.h +++ b/cpukit/score/include/rtems/score/threadmp.h @@ -1,6 +1,8 @@ /** * @file rtems/score/threadmp.h * + * @brief Multiprocessing Portion of the Thread Package + * * This include file contains the specification for all routines * and data specific to the multiprocessing portion of the thread package. */ @@ -20,6 +22,8 @@ /** * @defgroup ScoreThreadMP Thread Handler Multiprocessing Support * + * @ingroup Score + * * This handler encapsulates functionality which is related to managing * threads in a multiprocessor system configuration. This handler must * manage proxies which represent remote threads blocking on local @@ -32,7 +36,7 @@ extern "C" { #endif /** - * @brief MP Thread Handler Initialization + * @brief Initialize MP thread handler. * * This routine initializes the multiprocessing portion of the Thread Handler. */ @@ -41,7 +45,8 @@ void _Thread_MP_Handler_initialization ( ); /** - * @brief MP Thread Proxy Allocate + * @brief Allocate a MP proxy control block from + * the inactive chain of free proxy control blocks. * * This allocates a proxy control block from * the inactive chain of free proxy control blocks. @@ -54,7 +59,8 @@ Thread_Control *_Thread_MP_Allocate_proxy ( ); /** - * @brief MP Thread Proxy Find + * @brief Removes the MP proxy control block for the specified + * id from the active chain of proxy control blocks. * * This function removes the proxy control block for the specified * id from the active chain of proxy control blocks. @@ -64,14 +70,14 @@ Thread_Control *_Thread_MP_Find_proxy ( ); /** - * @brief Active Proxy Set + * @brief Manage the active set MP proxies. * * The following chain is used to manage the active set proxies. */ SCORE_EXTERN Chain_Control _Thread_MP_Active_proxies; /** - * @brief Inactive Proxy Set + * @brief Manage the inactive set of MP proxies. * * The following chain is used to manage the inactive set of proxies. */ @@ -88,4 +94,4 @@ SCORE_EXTERN Chain_Control _Thread_MP_Inactive_proxies; /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/threadsync.h b/cpukit/score/include/rtems/score/threadsync.h index df8ce5f800..3d045948fe 100644 --- a/cpukit/score/include/rtems/score/threadsync.h +++ b/cpukit/score/include/rtems/score/threadsync.h @@ -1,5 +1,7 @@ /** - * @file rtems/score/threadsync.h + * @file rtems/score/threadsync.h + * + * @brief Synchronize Thread Blocking Operations with Actions in an ISR * * This include file contains all constants and structures associated * with synchronizing a thread blocking operation with potential @@ -55,4 +57,4 @@ typedef enum { /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/timestamp64.h b/cpukit/score/include/rtems/score/timestamp64.h index 41735fa144..65da8f3497 100644 --- a/cpukit/score/include/rtems/score/timestamp64.h +++ b/cpukit/score/include/rtems/score/timestamp64.h @@ -1,6 +1,8 @@ /** * @file rtems/score/timestamp64.h * + * @brief Helpers for Manipulating 64-bit Integer Timestamps + * * This include file contains helpers for manipulating * 64-bit integer timestamps. */ @@ -61,7 +63,7 @@ static inline void _Timestamp64_implementation_Set( } /** - * @brief Set Timestamp to Seconds Nanosecond + * @brief Set 64-bit timestamp to seconds nanosecond. * * This method sets the timestamp to the specified seconds and nanoseconds * value. @@ -89,10 +91,9 @@ static inline void _Timestamp64_implementation_Set_to_zero( } /** - * @brief Zero Timestamp + * @brief Sets the 64-bit timestamp to zero. * - * This method sets the timestamp to zero. - * value. + * This method sets the timestamp to zero value. * * @param[in] _time points to the timestamp instance to zero. */ @@ -106,13 +107,13 @@ static inline void _Timestamp64_implementation_Set_to_zero( #endif /** - * @brief Is Timestamp Valid + * @brief Determines the validity of a 64-bit timestamp. * * This method determines the validity of a timestamp. * * @param[in] _time points to the timestamp instance to validate. * - * @return This method returns true if @a time is valid and + * @retval This method returns true if @a time is valid and * false otherwise. */ #define _Timestamp64_Is_valid( _time ) \ @@ -127,14 +128,14 @@ static inline bool _Timestamp64_implementation_Less_than( } /** - * @brief Timestamp Less Than Operator + * @brief The "less than" operator for 64-bit timestamps. * * This method is the less than operator for timestamps. * * @param[in] _lhs points to the left hand side timestamp * @param[in] _rhs points to the right hand side timestamp * - * @return This method returns true if @a _lhs is less than the @a _rhs and + * @retval This method returns true if @a _lhs is less than the @a _rhs and * false otherwise. */ #if CPU_TIMESTAMP_USE_INT64_INLINE == TRUE @@ -159,14 +160,14 @@ static inline bool _Timestamp64_implementation_Equal_to( _Timestamp64_Less_than( _rhs, _lhs ) /** - * @brief Timestamp equal to Operator + * @brief The "equal to" operator for 64-bit timestamps. * * This method is the is equal to than operator for timestamps. * * @param[in] _lhs points to the left hand side timestamp * @param[in] _rhs points to the right hand side timestamp * - * @return This method returns true if @a _lhs is equal to @a _rhs and + * @retval This method returns true if @a _lhs is equal to @a _rhs and * false otherwise. */ #if CPU_TIMESTAMP_USE_INT64_INLINE == TRUE @@ -188,7 +189,7 @@ static inline void _Timestamp64_implementation_Add_to( } /** - * @brief Add to a Timestamp + * @brief Add two 64-bit timestamps. * * This routine adds two timestamps. The second argument is added * to the first. @@ -196,7 +197,7 @@ static inline void _Timestamp64_implementation_Add_to( * @param[in] _time points to the base time to be added to * @param[in] _add points to the timestamp to add to the first argument * - * @return This method returns the number of seconds @a time increased by. + * @retval This method returns the number of seconds @a time increased by. */ #if CPU_TIMESTAMP_USE_INT64_INLINE == TRUE #define _Timestamp64_Add_to( _time, _add ) \ @@ -209,21 +210,21 @@ static inline void _Timestamp64_implementation_Add_to( #endif /** - * @brief Convert Timestamp to Number of Ticks + * @brief Convert 64-bit timestamp to number of ticks. * * This routine convert the @a time timestamp to the corresponding number * of clock ticks. * * @param[in] _time points to the time to be converted * - * @return This method returns the number of ticks computed. + * @retval This method returns the number of ticks computed. */ uint32_t _Timestamp64_To_ticks( const Timestamp64_Control *_time ); /** - * @brief Convert Ticks to Timestamp + * @brief Convert ticks to 64-bit timestamp. * * This routine converts the @a _ticks value to the corresponding * timestamp format @a _time. @@ -246,7 +247,7 @@ static inline void _Timestamp64_implementation_Subtract( } /** - * @brief Subtract Two Timestamp + * @brief Subtract two 64-bit timestamps. * * This routine subtracts two timestamps. @a result is set to * @a end - @a start. @@ -277,7 +278,7 @@ static inline void _Timestamp64_implementation_Divide_by_integer( } /** - * @brief Divide Timestamp By Integer + * @brief Divide 64-bit timestamp by an integer. * * This routine divides a timestamp by an integer value. The expected * use is to assist in benchmark calculations where you typically @@ -299,7 +300,7 @@ static inline void _Timestamp64_implementation_Divide_by_integer( #endif /** - * @brief Divide Timestamp + * @brief Divide 64-bit timestamp by another 64-bit timestamp. * * This routine divides a timestamp by another timestamp. The * intended use is for calculating percentages to three decimal points. @@ -324,13 +325,13 @@ static inline uint32_t _Timestamp64_implementation_Get_seconds( } /** - * @brief Get Seconds Portion of Timestamp + * @brief Get seconds portion of a 64-bit timestamp. * * This method returns the seconds portion of the specified timestamp * * @param[in] _time points to the timestamp * - * @return The seconds portion of @a _time. + * @retval The seconds portion of @a _time. */ #if CPU_TIMESTAMP_USE_INT64_INLINE == TRUE #define _Timestamp64_Get_seconds( _time ) \ @@ -349,13 +350,13 @@ static inline uint32_t _Timestamp64_implementation_Get_nanoseconds( } /** - * @brief Get Nanoseconds Portion of Timestamp + * @brief Get nanoseconds portion of a 64-bit timestamp. * * This method returns the nanoseconds portion of the specified timestamp * * @param[in] _time points to the timestamp * - * @return The nanoseconds portion of @a _time. + * @retval The nanoseconds portion of @a _time. */ #if CPU_TIMESTAMP_USE_INT64_INLINE == TRUE #define _Timestamp64_Get_nanoseconds( _time ) \ @@ -376,7 +377,7 @@ static inline void _Timestamp64_implementation_To_timespec( } /** - * @brief Convert Timestamp to struct timespec + * @brief Convert 64-bit timestamp to struct timespec. * * This method returns the seconds portion of the specified timestamp * @@ -403,7 +404,7 @@ static inline void _Timestamp64_implementation_To_timeval( } /** - * @brief Convert Timestamp to struct timeval + * @brief Convert 64-bit timestamp to struct timeval. * * This method returns the seconds portion of the specified timestamp * @@ -427,4 +428,4 @@ static inline void _Timestamp64_implementation_To_timeval( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/score/wkspace.h b/cpukit/score/include/rtems/score/wkspace.h index ffac4cbff0..bccb88eda9 100644 --- a/cpukit/score/include/rtems/score/wkspace.h +++ b/cpukit/score/include/rtems/score/wkspace.h @@ -1,5 +1,7 @@ /** - * @file rtems/score/wkspace.h + * @file rtems/score/wkspace.h + * + * @brief Information Related to the RAM Workspace * * This include file contains information related to the * RAM Workspace. This Handler provides mechanisms which can be used to @@ -44,7 +46,7 @@ extern "C" { SCORE_EXTERN Heap_Control _Workspace_Area; /** - * @brief Workspace Handler Initialization + * @brief Initilize workspace handler. * * This routine performs the initialization necessary for this handler. */ @@ -55,7 +57,7 @@ void _Workspace_Handler_initialization( ); /** - * @brief Allocate Memory from Workspace + * @brief Allocate memory from workspace. * * This routine returns the address of a block of memory of size * bytes. If a block of the appropriate size cannot be allocated @@ -63,14 +65,14 @@ void _Workspace_Handler_initialization( * * @param size is the requested size * - * @return a pointer to the requested memory or NULL. + * @retval a pointer to the requested memory or NULL. */ void *_Workspace_Allocate( size_t size ); /** - * @brief Free Memory to the Workspace + * @brief Free memory to the workspace. * * This function frees the specified block of memory. If the block * belongs to the Workspace and can be successfully freed, then @@ -88,27 +90,27 @@ void _Workspace_Free( ); /** - * @brief Workspace Allocate or Fail with Fatal Error + * @brief Workspace allocate or fail with fatal error. * * This routine returns the address of a block of memory of @a size * bytes. If a block of the appropriate size cannot be allocated * from the workspace, then the internal error handler is invoked. * * @param[in] size is the desired number of bytes to allocate - * @return If successful, the starting address of the allocated memory + * @retval If successful, the starting address of the allocated memory */ void *_Workspace_Allocate_or_fatal_error( size_t size ); /** - * @brief Duplicates String with Memory from the Workspace + * @brief Duplicates string with memory from the workspace. * * @param[in] string is the pointer to a zero terminated string. * @param[in] len is the length of the string (equal to strlen(string)). * - * @return NULL Not enough memory. - * @return other Duplicated string. + * @retval NULL Not enough memory. + * @retval other Duplicated string. */ char *_Workspace_String_duplicate( const char *string, @@ -126,4 +128,4 @@ char *_Workspace_String_duplicate( /**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file diff --git a/cpukit/score/include/rtems/seterr.h b/cpukit/score/include/rtems/seterr.h index ddd5c1c685..49830191d5 100644 --- a/cpukit/score/include/rtems/seterr.h +++ b/cpukit/score/include/rtems/seterr.h @@ -1,6 +1,8 @@ /** * @file rtems/seterr.h * + * @brief Data which Ease the Burden of Consistently Setting Errno + * * This file contains macros and definitions which ease the burden * of consistently setting errno and returning -1. */ @@ -17,6 +19,14 @@ #ifndef _RTEMS_SETERR_H #define _RTEMS_SETERR_H +/** + * @defgroup ScoreSetErr Set Errno + * + * @ingroup Score + * + */ +/**@{*/ + #include /** @@ -41,5 +51,6 @@ #define rtems_set_errno_and_return_minus_one_cast( _error, _cast ) \ do { errno = (_error); return (_cast) -1; } while(0) +/**@}*/ #endif -/* end of include file */ +/* end of include file */ \ No newline at end of file -- cgit v1.2.3 From 00c1cd5f600fbc9be2760f7e0d1735cdf6780277 Mon Sep 17 00:00:00 2001 From: Mathew Kallada Date: Fri, 4 Jan 2013 09:06:08 -0600 Subject: score: Doxygen Clean Up Task #10 --- cpukit/score/cpu/avr/avr/eeprom.h | 153 +++++++++++++++++++--------------- cpukit/score/cpu/avr/avr/io90scr100.h | 85 +++++++++++-------- cpukit/score/cpu/avr/avr/iom128.h | 111 +++++++++++++----------- cpukit/score/cpu/avr/avr/iom161.h | 83 ++++++++++-------- cpukit/score/cpu/avr/avr/iom162.h | 89 +++++++++++--------- cpukit/score/cpu/avr/avr/iom16hva2.h | 87 ++++++++++--------- cpukit/score/cpu/avr/avr/iom32u6.h | 85 +++++++++++-------- cpukit/score/cpu/avr/avr/iom406.h | 99 ++++++++++++---------- cpukit/score/cpu/avr/avr/iom6490.h | 86 +++++++++++-------- cpukit/score/cpu/avr/avr/iom64hve.h | 87 ++++++++++--------- cpukit/score/cpu/avr/avr/iotn11.h | 81 ++++++++++-------- cpukit/score/cpu/avr/avr/iotn13.h | 87 +++++++++++-------- cpukit/score/cpu/avr/avr/iotn24.h | 79 ++++++++++-------- cpukit/score/cpu/avr/avr/iotn261a.h | 85 +++++++++++-------- cpukit/score/cpu/avr/avr/iousb1287.h | 81 ++++++++++-------- cpukit/score/cpu/avr/avr/iousb646.h | 81 ++++++++++-------- cpukit/score/cpu/avr/avr/iox128a3.h | 97 +++++++++++---------- cpukit/score/cpu/avr/avr/iox16a4.h | 97 +++++++++++---------- cpukit/score/cpu/avr/avr/iox256a3b.h | 97 +++++++++++---------- cpukit/score/cpu/avr/avr/iox64a1.h | 97 +++++++++++---------- 20 files changed, 1046 insertions(+), 801 deletions(-) diff --git a/cpukit/score/cpu/avr/avr/eeprom.h b/cpukit/score/cpu/avr/avr/eeprom.h index ab21d2dbe0..db5dda4e59 100644 --- a/cpukit/score/cpu/avr/avr/eeprom.h +++ b/cpukit/score/cpu/avr/avr/eeprom.h @@ -1,34 +1,78 @@ -/* Copyright (c) 2002, 2003, 2004, 2007 Marek Michalkiewicz - Copyright (c) 2005, 2006 Bjoern Haase - Copyright (c) 2008 Atmel Corporation - Copyright (c) 2008 Wouter van Gulik - Copyright (c) 2009 Dmitry Xmelkov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * 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. - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ +/** + * @file + * + * @brief Data EEPROM Contained in the AVR Microcontrollers + * + * This header file declares the interface to some simple library + * routines suitable for handling the data EEPROM contained in the + * AVR microcontrollers. The implementation uses a simple polled + * mode interface. Applications that require interrupt-controlled + * EEPROM access to ensure that no time will be wasted in spinloops + * will have to deploy their own implementation. + * + * \par Notes: + * + * - In addition to the write functions there is a set of update ones. + * This functions read each byte first and skip the burning if the + * old value is the same with new. The scaning direction is from + * high address to low, to obtain quick return in common cases. + * + * - All of the read/write functions first make sure the EEPROM is + * ready to be accessed. Since this may cause long delays if a + * write operation is still pending, time-critical applications + * should first poll the EEPROM e. g. using eeprom_is_ready() before + * attempting any actual I/O. But this functions are not wait until + * SELFPRGEN in SPMCSR becomes zero. Do this manually, if your + * softwate contains the Flash burning. + * + * - As these functions modify IO registers, they are known to be + * non-reentrant. If any of these functions are used from both, + * standard and interrupt context, the applications must ensure + * proper protection (e.g. by disabling interrupts before accessing + * them). + * + * - All write functions force erase_and_write programming mode. + * + * - For Xmega the EEPROM start address is 0, like other architectures. + * The reading functions add the 0x2000 value to use EEPROM mapping into + * data space. + */ + +/* + * Copyright (c) 2002, 2003, 2004, 2007 Marek Michalkiewicz + * Copyright (c) 2005, 2006 Bjoern Haase + * Copyright (c) 2008 Atmel Corporation + * Copyright (c) 2008 Wouter van Gulik + * Copyright (c) 2009 Dmitry Xmelkov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_EEPROM_H_ @@ -409,43 +453,12 @@ #include /* size_t */ #include -/** \defgroup avr_eeprom : EEPROM handling - \code #include \endcode - - This header file declares the interface to some simple library - routines suitable for handling the data EEPROM contained in the - AVR microcontrollers. The implementation uses a simple polled - mode interface. Applications that require interrupt-controlled - EEPROM access to ensure that no time will be wasted in spinloops - will have to deploy their own implementation. - - \par Notes: - - - In addition to the write functions there is a set of update ones. - This functions read each byte first and skip the burning if the - old value is the same with new. The scaning direction is from - high address to low, to obtain quick return in common cases. - - - All of the read/write functions first make sure the EEPROM is - ready to be accessed. Since this may cause long delays if a - write operation is still pending, time-critical applications - should first poll the EEPROM e. g. using eeprom_is_ready() before - attempting any actual I/O. But this functions are not wait until - SELFPRGEN in SPMCSR becomes zero. Do this manually, if your - softwate contains the Flash burning. - - - As these functions modify IO registers, they are known to be - non-reentrant. If any of these functions are used from both, - standard and interrupt context, the applications must ensure - proper protection (e.g. by disabling interrupts before accessing - them). - - - All write functions force erase_and_write programming mode. - - - For Xmega the EEPROM start address is 0, like other architectures. - The reading functions add the 0x2000 value to use EEPROM mapping into - data space. +/** + * @defgroup avr_eeprom EEPROM handling + * + * @ingroup avr */ +/**@{*/ #ifdef __cplusplus extern "C" { @@ -486,7 +499,7 @@ extern "C" { \ingroup avr_eeprom Loops until the eeprom is no longer busy. \returns Nothing. - */ + */ #define eeprom_busy_wait() do {} while (!eeprom_is_ready()) @@ -602,4 +615,6 @@ void eeprom_update_block (const void *__src, void *__dst, size_t __n); #endif /* !__ASSEMBLER__ */ #endif /* E2END || defined(__DOXYGEN__) || defined(__COMPILING_AVR_LIBC__) */ -#endif /* !_AVR_EEPROM_H_ */ + +/**@}*/ +#endif /* !_AVR_EEPROM_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/io90scr100.h b/cpukit/score/cpu/avr/avr/io90scr100.h index 4451ec8b5d..bda0a9ba76 100644 --- a/cpukit/score/cpu/avr/avr/io90scr100.h +++ b/cpukit/score/cpu/avr/avr/io90scr100.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/io90scr100.h - definitions for AT90SCR100 */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/io90scr100.h + * + * @brief Definitions for AT90SCR100 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "io90scr100.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_AT90SCR100_H_ #define _AVR_AT90SCR100_H_ 1 +/** + * @defgroup Avr_io90scr100 AT90SCR100 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers. */ @@ -1693,5 +1704,5 @@ #define SIGNATURE_2 0xC1 -#endif /* _AVR_AT90SCR100_H_ */ - +/**@}*/ +#endif /* _AVR_AT90SCR100_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom128.h b/cpukit/score/cpu/avr/avr/iom128.h index 0a41879f23..525ca5a7a9 100644 --- a/cpukit/score/cpu/avr/avr/iom128.h +++ b/cpukit/score/cpu/avr/avr/iom128.h @@ -1,44 +1,56 @@ -/* Copyright (c) 2002, Peter Jansen - Copyright (c) 2007, Atmel Corporation - All rights reserved. +/** + * @file avr/iom128.h + * + * @brief Definitions for ATmega128 + * + * This file should only be included from , never directly. + * + * As of 2002-08-27: + * - This should be up to date with data sheet 2467E-AVR-05/02 + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom128.h - defines for ATmega128 - - As of 2002-08-27: - - This should be up to date with data sheet 2467E-AVR-05/02 */ +/* + * Copyright (c) 2002, Peter Jansen + * Copyright (c) 2007, Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM128_H_ #define _AVR_IOM128_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iom128 ATmega128 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -48,7 +60,7 @@ # define _AVR_IOXXX_H_ "iom128.h" #else # error "Attempt to include more than one file." -#endif +#endif /* I/O registers */ @@ -793,9 +805,9 @@ #define WDP1 1 #define WDP0 0 -/* - The ADHSM bit has been removed from all documentation, - as being not needed at all since the comparator has proven +/* + The ADHSM bit has been removed from all documentation, + as being not needed at all since the comparator has proven to be fast enough even without feeding it more power. */ @@ -965,7 +977,7 @@ #define PINA5 5 #define PINA4 4 #define PINA3 3 -#define PINA2 2 +#define PINA2 2 #define PINA1 1 #define PINA0 0 @@ -995,7 +1007,7 @@ #define PINB5 5 #define PINB4 4 #define PINB3 3 -#define PINB2 2 +#define PINB2 2 #define PINB1 1 #define PINB0 0 @@ -1025,7 +1037,7 @@ #define PINC5 5 #define PINC4 4 #define PINC3 3 -#define PINC2 2 +#define PINC2 2 #define PINC1 1 #define PINC0 0 @@ -1055,7 +1067,7 @@ #define PIND5 5 #define PIND4 4 #define PIND3 3 -#define PIND2 2 +#define PIND2 2 #define PIND1 1 #define PIND0 0 @@ -1085,7 +1097,7 @@ #define PINE5 5 #define PINE4 4 #define PINE3 3 -#define PINE2 2 +#define PINE2 2 #define PINE1 1 #define PINE0 0 @@ -1115,7 +1127,7 @@ #define PINF5 5 #define PINF4 4 #define PINF3 3 -#define PINF2 2 +#define PINF2 2 #define PINF1 1 #define PINF0 0 @@ -1136,7 +1148,7 @@ /* Port G Input Pins - PING */ #define PING4 4 #define PING3 3 -#define PING2 2 +#define PING2 2 #define PING1 1 #define PING0 0 @@ -1190,7 +1202,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -1199,4 +1211,5 @@ #define SIGNATURE_2 0x02 -#endif /* _AVR_IOM128_H_ */ +/**@}*/ +#endif /* _AVR_IOM128_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom161.h b/cpukit/score/cpu/avr/avr/iom161.h index 8a12acf428..a603cc8c90 100644 --- a/cpukit/score/cpu/avr/avr/iom161.h +++ b/cpukit/score/cpu/avr/avr/iom161.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2002, Marek Michalkiewicz - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - +/** + * @file avr/iom161.h + * + * @brief Definitions for ATmega161 + * + * This file should only be included from , never directly. + */ -/* avr/iom161.h - definitions for ATmega161 */ +/* + * Copyright (c) 2002, Marek Michalkiewicz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM161_H_ #define _AVR_IOM161_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iom161 ATmega161 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "iom161.h" #else # error "Attempt to include more than one file." -#endif +#endif /* I/O registers */ @@ -660,7 +672,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -669,4 +681,5 @@ #define SIGNATURE_2 0x01 -#endif /* _AVR_IOM161_H_ */ +/**@}*/ +#endif /* _AVR_IOM161_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom162.h b/cpukit/score/cpu/avr/avr/iom162.h index bdd90de0c9..98c2b464fb 100644 --- a/cpukit/score/cpu/avr/avr/iom162.h +++ b/cpukit/score/cpu/avr/avr/iom162.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2002, Nils Kristian Strom - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* iom162.h - definitions for ATmega162 */ +/** + * @file iom162.h + * + * @brief Definitions for ATmega162 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2002, Nils Kristian Strom + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM162_H_ #define _AVR_IOM162_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iom162 ATmega162 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "iom162.h" #else # error "Attempt to include more than one file." -#endif +#endif /* Memory mapped I/O registers */ @@ -163,7 +175,7 @@ #define UCSR1A _SFR_IO8(0x02) /* USART 1 Control and Status Register A */ #define UCSR1B _SFR_IO8(0x01) /* USART 1 Control and Status Register B */ #define UBRR1L _SFR_IO8(0x00) /* USART 0 Baud Rate Register High Byte */ - + /* Interrupt vectors (byte addresses) */ @@ -456,7 +468,7 @@ -/* SPMCR bit definitions */ +/* SPMCR bit definitions */ #define SPMIE 7 #define RWWSB 6 @@ -939,7 +951,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -948,4 +960,5 @@ #define SIGNATURE_2 0x04 -#endif /* _AVR_IOM162_H_ */ +/**@}*/ +#endif /* _AVR_IOM162_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom16hva2.h b/cpukit/score/cpu/avr/avr/iom16hva2.h index 2f1893ff20..be5466032f 100644 --- a/cpukit/score/cpu/avr/avr/iom16hva2.h +++ b/cpukit/score/cpu/avr/avr/iom16hva2.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom16hva2.h - definitions for ATmega16HVA2 */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iom16hva2.h + * + * @brief Definitions for ATmega16HVA2 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iom16hva2.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATmega16HVA2_H_ #define _AVR_ATmega16HVA2_H_ 1 +/** + * @defgroup Avr_iom16hva2 ATmega16HVA2 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers. */ @@ -809,7 +820,7 @@ #define PI_DDR DDRI #define PI_PORT PORTI #define PI_PIN PINI -#define PI_BIT +#define PI_BIT #define NI_DDR DDRNI #define NI_PORT PORTNI @@ -866,5 +877,5 @@ #define OC_PIN PINOC #define OC_BIT OC -#endif /* _AVR_ATmega16HVA2_H_ */ - +/**@}*/ +#endif /* _AVR_ATmega16HVA2_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom32u6.h b/cpukit/score/cpu/avr/avr/iom32u6.h index a8b7f566f1..929e1c5e29 100644 --- a/cpukit/score/cpu/avr/avr/iom32u6.h +++ b/cpukit/score/cpu/avr/avr/iom32u6.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2008 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom32u6.h - definitions for ATmega32U6 */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iom32u6.h + * + * @brief Definitions for ATmega32U6 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2008 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iom32u6.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATmega32U6_H_ #define _AVR_ATmega32U6_H_ 1 +/** + * @defgroup Avr_iom32u6 ATmega32U6 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers. */ @@ -1406,5 +1417,5 @@ #define SIGNATURE_2 0x88 -#endif /* _AVR_ATmega32U6_H_ */ - +/**@}*/ +#endif /* _AVR_ATmega32U6_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom406.h b/cpukit/score/cpu/avr/avr/iom406.h index a349ff369c..fd144f0b36 100644 --- a/cpukit/score/cpu/avr/avr/iom406.h +++ b/cpukit/score/cpu/avr/avr/iom406.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2006, Pieter Conradie - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom406.h - definitions for ATmega406 */ +/** + * @file avr/iom406.h + * + * @brief Definitions for ATmega406 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2006, Pieter Conradie + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM406_H_ #define _AVR_IOM406_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iom406 ATmega406 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "iom406.h" #else # error "Attempt to include more than one file." -#endif +#endif /* I/O registers */ @@ -348,13 +360,13 @@ /* Pin Change Mask Register 1 */ #define PCMSK1 _SFR_MEM8(0x6C) -#define PCINT15 7 -#define PCINT14 6 -#define PCINT13 5 -#define PCINT12 4 -#define PCINT11 3 -#define PCINT10 2 -#define PCINT9 1 +#define PCINT15 7 +#define PCINT14 6 +#define PCINT13 5 +#define PCINT12 4 +#define PCINT11 3 +#define PCINT10 2 +#define PCINT9 1 #define PCINT8 0 /* Reserved [0x6D] */ @@ -755,7 +767,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -764,4 +776,5 @@ #define SIGNATURE_2 0x07 -#endif /* _AVR_IOM406_H_ */ +/**@}*/ +#endif /* _AVR_IOM406_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom6490.h b/cpukit/score/cpu/avr/avr/iom6490.h index f678acf30f..e83cb8800b 100644 --- a/cpukit/score/cpu/avr/avr/iom6490.h +++ b/cpukit/score/cpu/avr/avr/iom6490.h @@ -1,40 +1,53 @@ -/* Copyright (c) 2004 Eric B. Weddington - Copyright (c) 2005,2006 Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - -/* avr/iom6490.h - definitions for ATmega6490 */ +/** + * @file avr/iom6490.h + * + * @brief Definitions for ATmega6490 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2004 Eric B. Weddington + * Copyright (c) 2005,2006 Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM6490_H_ #define _AVR_IOM6490_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iom6490 ATmega6490 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +57,7 @@ # define _AVR_IOXXX_H_ "iom6490.h" #else # error "Attempt to include more than one file." -#endif +#endif /* Registers and associated bit numbers */ @@ -1132,7 +1145,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -1141,4 +1154,5 @@ #define SIGNATURE_2 0x04 -#endif /* _AVR_IOM6490_H_ */ +/**@}*/ +#endif /* _AVR_IOM6490_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom64hve.h b/cpukit/score/cpu/avr/avr/iom64hve.h index 2e2debc19f..ddaee6d0c3 100644 --- a/cpukit/score/cpu/avr/avr/iom64hve.h +++ b/cpukit/score/cpu/avr/avr/iom64hve.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom64hve.h - definitions for ATmega64HVE */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iom64hve.h + * + * @brief Definitions for ATmega64HVE + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iom64hve.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATmega64HVE_H_ #define _AVR_ATmega64HVE_H_ 1 +/** + * @defgroup Avr_iom64hve ATmega64HVE Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers. */ @@ -958,7 +969,7 @@ #define PI_DDR DDRI #define PI_PORT PORTI #define PI_PIN PINI -#define PI_BIT +#define PI_BIT #define NI_DDR DDRNI #define NI_PORT PORTNI @@ -1015,5 +1026,5 @@ #define OC_PIN PINOC #define OC_BIT OC -#endif /* _AVR_ATmega64HVE_H_ */ - +/**@}*/ +#endif /* _AVR_ATmega64HVE_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn11.h b/cpukit/score/cpu/avr/avr/iotn11.h index 176b2dd0d3..8be3d48f6b 100644 --- a/cpukit/score/cpu/avr/avr/iotn11.h +++ b/cpukit/score/cpu/avr/avr/iotn11.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2002,2005 Marek Michalkiewicz - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - +/** + * @file avr/iotn11.h + * + * @brief Definitions for ATtiny10/11 + * + * This file should only be included from , never directly. + */ -/* avr/iotn11.h - definitions for ATtiny10/11 */ +/* + * Copyright (c) 2002, 2005 Marek Michalkiewicz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOTN11_H_ #define _AVR_IOTN11_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iotn11 ATtiny10/11 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "iotn11.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef __ASSEMBLER__ # warning "MCU not supported by the C compiler" @@ -230,4 +242,5 @@ #define SIGNATURE_2 0x04 -#endif /* _AVR_IOTN11_H_ */ +/**@}*/ +#endif /* _AVR_IOTN11_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn13.h b/cpukit/score/cpu/avr/avr/iotn13.h index ae13f703b9..0338146d9c 100644 --- a/cpukit/score/cpu/avr/avr/iotn13.h +++ b/cpukit/score/cpu/avr/avr/iotn13.h @@ -1,42 +1,54 @@ -/* Copyright (c) 2004, Theodore A. Roth - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iotn13.h - definitions for ATtiny13 */ - -/* Verified 5/20/04 by Bruce Graham */ +/** + * @file avr/iotn13.h + * + * @brief Definitions for ATtiny13 + * + * Verified 5/20/04 by Bruce Graham + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2004, Theodore A. Roth + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOTN13_H_ #define _AVR_IOTN13_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iotn13 ATtiny13 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -46,7 +58,7 @@ # define _AVR_IOXXX_H_ "iotn13.h" #else # error "Attempt to include more than one file." -#endif +#endif /* I/O registers and bit names */ @@ -360,4 +372,5 @@ #define SIGNATURE_2 0x07 -#endif /* _AVR_IOTN13_H_*/ +/**@}*/ +#endif /* _AVR_IOTN13_H_*/ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn24.h b/cpukit/score/cpu/avr/avr/iotn24.h index 57baa1d1c6..fb60907d5f 100644 --- a/cpukit/score/cpu/avr/avr/iotn24.h +++ b/cpukit/score/cpu/avr/avr/iotn24.h @@ -1,39 +1,51 @@ -/* Copyright (c) 2005, Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iotn24.h - definitions for ATtiny24 */ +/** + * @file avr/iotn24.h + * + * @brief Definitions for ATtiny24 + */ + +/* + * Copyright (c) 2005 Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOTN24_H_ #define _AVR_IOTN24_H_ 1 +/** + * @defgroup Avr_iotn24 ATtiny24 Definitions + * + * @ingroup avr + */ +/**@{*/ + #include #define SPM_PAGESIZE 32 @@ -85,4 +97,5 @@ #define SIGNATURE_2 0x0B -#endif /* _AVR_IOTN24_H_ */ +/**@}*/ +#endif /* _AVR_IOTN24_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn261a.h b/cpukit/score/cpu/avr/avr/iotn261a.h index 2d7169b8c8..aee8b49304 100644 --- a/cpukit/score/cpu/avr/avr/iotn261a.h +++ b/cpukit/score/cpu/avr/avr/iotn261a.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iotn261a.h - definitions for ATtiny261A */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iotn261a.h + * + * @brief Definitions for ATtiny261A + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iotn261a.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATtiny261A_H_ #define _AVR_ATtiny261A_H_ 1 +/** + * @defgroup Avr_iotn261a ATtiny261A Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers. */ @@ -971,5 +982,5 @@ #define PA0_PIN PINADC #define PA0_BIT ADC0 -#endif /* _AVR_ATtiny261A_H_ */ - +/**@}*/ +#endif /* _AVR_ATtiny261A_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iousb1287.h b/cpukit/score/cpu/avr/avr/iousb1287.h index 4a1db39670..8a2b704a3b 100644 --- a/cpukit/score/cpu/avr/avr/iousb1287.h +++ b/cpukit/score/cpu/avr/avr/iousb1287.h @@ -1,39 +1,51 @@ -/* Copyright (c) 2006 Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iousb1287.h - definitions for AT90USB1287 */ +/** + * @file avr/iousb1287.h + * + * @brief Definitions for AT90USB1287 + */ + +/* + * Copyright (c) 2006 Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_AT90USB1287_H_ #define _AVR_AT90USB1287_H_ 1 +/** + * @defgroup Avr_iousb1287 AT90USB1287 Definitions + * + * @ingroup avr + */ +/**@{*/ + #include /* Constants */ @@ -81,7 +93,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -90,4 +102,5 @@ #define SIGNATURE_2 0x82 -#endif /* _AVR_AT90USB1287_H_ */ +/**@}*/ +#endif /* _AVR_AT90USB1287_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iousb646.h b/cpukit/score/cpu/avr/avr/iousb646.h index d7a1d3a0f1..ae7c359ebc 100644 --- a/cpukit/score/cpu/avr/avr/iousb646.h +++ b/cpukit/score/cpu/avr/avr/iousb646.h @@ -1,39 +1,51 @@ -/* Copyright (c) 2006 Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iousb646.h - definitions for AT90USB646 */ +/** + * @file avr/iousb646.h + * + * @brief Definitions for AT90USB646 + */ + +/* + * Copyright (c) 2006 Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_AT90USB646_H_ #define _AVR_AT90USB646_H_ 1 +/** + * @defgroup Avr_iousb646 AT90USB646 Definitions + * + * @ingroup avr + */ +/**@{*/ + #include /* Constants */ @@ -81,7 +93,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -90,4 +102,5 @@ #define SIGNATURE_2 0x82 -#endif /* _AVR_AT90USB646_H_ */ +/**@}*/ +#endif /* _AVR_AT90USB646_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iox128a3.h b/cpukit/score/cpu/avr/avr/iox128a3.h index 9ec0cd8cc2..759c97f141 100644 --- a/cpukit/score/cpu/avr/avr/iox128a3.h +++ b/cpukit/score/cpu/avr/avr/iox128a3.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. +/** + * @file avr/iox128a3.h + * + * @brief Definitions for ATxmega128A3 + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iox128a3.h - definitions for ATxmega128A3 */ - -/* This file should only be included from , never directly. */ +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iox128a3.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATxmega128A3_H_ #define _AVR_ATxmega128A3_H_ 1 +/** + * @defgroup Avr_iox128a3 ATxmega128A3 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Ungrouped common registers */ #define GPIO0 _SFR_MEM8(0x0000) /* General Purpose IO Register 0 */ @@ -6437,21 +6448,21 @@ IO Module Instances. Mapped to memory. // Generic Port Pins -#define PIN0_bm 0x01 +#define PIN0_bm 0x01 #define PIN0_bp 0 #define PIN1_bm 0x02 #define PIN1_bp 1 -#define PIN2_bm 0x04 +#define PIN2_bm 0x04 #define PIN2_bp 2 -#define PIN3_bm 0x08 +#define PIN3_bm 0x08 #define PIN3_bp 3 -#define PIN4_bm 0x10 +#define PIN4_bm 0x10 #define PIN4_bp 4 -#define PIN5_bm 0x20 +#define PIN5_bm 0x20 #define PIN5_bp 5 -#define PIN6_bm 0x40 +#define PIN6_bm 0x40 #define PIN6_bp 6 -#define PIN7_bm 0x80 +#define PIN7_bm 0x80 #define PIN7_bp 7 @@ -6885,5 +6896,5 @@ IO Module Instances. Mapped to memory. #define SIGNATURE_2 0x42 -#endif /* _AVR_ATxmega128A3_H_ */ - +/**@}*/ +#endif /* _AVR_ATxmega128A3_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iox16a4.h b/cpukit/score/cpu/avr/avr/iox16a4.h index 1fcaab401f..2a6873e701 100644 --- a/cpukit/score/cpu/avr/avr/iox16a4.h +++ b/cpukit/score/cpu/avr/avr/iox16a4.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. +/** + * @file avr/iox16a4.h + * + * @brief Definitions for ATxmega16A4 + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iox16a4.h - definitions for ATxmega16A4 */ - -/* This file should only be included from , never directly. */ +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,8 +46,14 @@ # define _AVR_IOXXX_H_ "iox16a4.h" #else # error "Attempt to include more than one file." -#endif +#endif +/** + * @defgroup Avr_iox16a4 ATxmega16A4 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_ATxmega16A4_H_ #define _AVR_ATxmega16A4_H_ 1 @@ -6251,21 +6262,21 @@ IO Module Instances. Mapped to memory. // Generic Port Pins -#define PIN0_bm 0x01 +#define PIN0_bm 0x01 #define PIN0_bp 0 #define PIN1_bm 0x02 #define PIN1_bp 1 -#define PIN2_bm 0x04 +#define PIN2_bm 0x04 #define PIN2_bp 2 -#define PIN3_bm 0x08 +#define PIN3_bm 0x08 #define PIN3_bp 3 -#define PIN4_bm 0x10 +#define PIN4_bm 0x10 #define PIN4_bp 4 -#define PIN5_bm 0x20 +#define PIN5_bm 0x20 #define PIN5_bp 5 -#define PIN6_bm 0x40 +#define PIN6_bm 0x40 #define PIN6_bp 6 -#define PIN7_bm 0x80 +#define PIN7_bm 0x80 #define PIN7_bp 7 @@ -6640,5 +6651,5 @@ IO Module Instances. Mapped to memory. #define SIGNATURE_2 0x41 -#endif /* _AVR_ATxmega16A4_H_ */ - +/**@}*/ +#endif /* _AVR_ATxmega16A4_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iox256a3b.h b/cpukit/score/cpu/avr/avr/iox256a3b.h index 69e29f6bee..f1d41dd96a 100644 --- a/cpukit/score/cpu/avr/avr/iox256a3b.h +++ b/cpukit/score/cpu/avr/avr/iox256a3b.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. +/** + * @file avr/iox256a3b.h + * + * @brief Definitions for ATxmega256A3B + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iox256a3b.h - definitions for ATxmega256A3B */ - -/* This file should only be included from , never directly. */ +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iox256a3b.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATxmega256A3B_H_ #define _AVR_ATxmega256A3B_H_ 1 +/** + * @defgroup Avr_iox256a3b ATxmega256A3B Definitions + * + * @ingroup avr + */ +/**@{*/ /* Ungrouped common registers */ #define GPIO0 _SFR_MEM8(0x0000) /* General Purpose IO Register 0 */ @@ -6451,21 +6462,21 @@ IO Module Instances. Mapped to memory. // Generic Port Pins -#define PIN0_bm 0x01 +#define PIN0_bm 0x01 #define PIN0_bp 0 #define PIN1_bm 0x02 #define PIN1_bp 1 -#define PIN2_bm 0x04 +#define PIN2_bm 0x04 #define PIN2_bp 2 -#define PIN3_bm 0x08 +#define PIN3_bm 0x08 #define PIN3_bp 3 -#define PIN4_bm 0x10 +#define PIN4_bm 0x10 #define PIN4_bp 4 -#define PIN5_bm 0x20 +#define PIN5_bm 0x20 #define PIN5_bp 5 -#define PIN6_bm 0x40 +#define PIN6_bm 0x40 #define PIN6_bp 6 -#define PIN7_bm 0x80 +#define PIN7_bm 0x80 #define PIN7_bp 7 @@ -6887,5 +6898,5 @@ IO Module Instances. Mapped to memory. #define SIGNATURE_2 0x43 -#endif /* _AVR_ATxmega256A3B_H_ */ - +/**@}*/ +#endif /* _AVR_ATxmega256A3B_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iox64a1.h b/cpukit/score/cpu/avr/avr/iox64a1.h index ba9d4c1a8d..35d2f7fa0f 100644 --- a/cpukit/score/cpu/avr/avr/iox64a1.h +++ b/cpukit/score/cpu/avr/avr/iox64a1.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. +/** + * @file avr/iox64a1.h + * + * @brief Definitions for ATxmega64A1 + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iox64a1.h - definitions for ATxmega64A1 */ - -/* This file should only be included from , never directly. */ +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iox64a1.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATxmega64A1_H_ #define _AVR_ATxmega64A1_H_ 1 +/** + * @defgroup Avr_iox64a1 ATxmega64A1 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Ungrouped common registers */ #define GPIO0 _SFR_MEM8(0x0000) /* General Purpose IO Register 0 */ @@ -6624,21 +6635,21 @@ IO Module Instances. Mapped to memory. // Generic Port Pins -#define PIN0_bm 0x01 +#define PIN0_bm 0x01 #define PIN0_bp 0 #define PIN1_bm 0x02 #define PIN1_bp 1 -#define PIN2_bm 0x04 +#define PIN2_bm 0x04 #define PIN2_bp 2 -#define PIN3_bm 0x08 +#define PIN3_bm 0x08 #define PIN3_bp 3 -#define PIN4_bm 0x10 +#define PIN4_bm 0x10 #define PIN4_bp 4 -#define PIN5_bm 0x20 +#define PIN5_bm 0x20 #define PIN5_bp 5 -#define PIN6_bm 0x40 +#define PIN6_bm 0x40 #define PIN6_bp 6 -#define PIN7_bm 0x80 +#define PIN7_bm 0x80 #define PIN7_bp 7 @@ -7135,5 +7146,5 @@ IO Module Instances. Mapped to memory. #define SIGNATURE_2 0x4E -#endif /* _AVR_ATxmega64A1_H_ */ - +/**@}*/ +#endif /* _AVR_ATxmega64A1_H_ */ \ No newline at end of file -- cgit v1.2.3 From d106ab3efd5026cfd0d543b14bd28b099fccb595 Mon Sep 17 00:00:00 2001 From: Ayush Awasthi Date: Fri, 4 Jan 2013 09:22:20 -0600 Subject: rtems: Doxygen Clean Up Task #2 --- cpukit/rtems/include/rtems/rtems/asr.h | 21 +-- cpukit/rtems/include/rtems/rtems/barrier.h | 155 +++++++++---------- cpukit/rtems/include/rtems/rtems/clock.h | 223 ++++++++++++++-------------- cpukit/rtems/include/rtems/rtems/event.h | 209 +++++++++++++------------- cpukit/rtems/include/rtems/rtems/eventmp.h | 19 ++- cpukit/rtems/include/rtems/rtems/eventset.h | 21 +-- cpukit/rtems/include/rtems/rtems/intr.h | 35 +++-- cpukit/rtems/include/rtems/rtems/message.h | 223 ++++++++++++++-------------- cpukit/rtems/include/rtems/rtems/modes.h | 43 +++--- cpukit/rtems/include/rtems/rtems/msgmp.h | 25 ++-- cpukit/rtems/include/rtems/rtems/options.h | 29 ++-- cpukit/rtems/include/rtems/rtems/semmp.h | 41 ++--- cpukit/rtems/include/rtems/rtems/signalmp.h | 19 ++- cpukit/rtems/include/rtems/rtems/support.h | 15 +- cpukit/rtems/include/rtems/rtems/taskmp.h | 19 ++- cpukit/rtems/include/rtems/rtems/timer.h | 213 +++++++++++++------------- cpukit/rtems/inline/rtems/rtems/asr.inl | 19 ++- cpukit/rtems/inline/rtems/rtems/barrier.inl | 15 +- cpukit/rtems/inline/rtems/rtems/region.inl | 19 ++- cpukit/rtems/inline/rtems/rtems/timer.inl | 15 +- 20 files changed, 726 insertions(+), 652 deletions(-) diff --git a/cpukit/rtems/include/rtems/rtems/asr.h b/cpukit/rtems/include/rtems/rtems/asr.h index 372f4c7073..6516233328 100644 --- a/cpukit/rtems/include/rtems/rtems/asr.h +++ b/cpukit/rtems/include/rtems/rtems/asr.h @@ -1,19 +1,22 @@ /** * @file rtems/rtems/asr.h * - * @brief Constants and Structures Associated with the Asynchronous Signal Handler + * @defgroup ClassicASR ASR Support * - * This include file contains all the constants and structures associated - * with the Asynchronous Signal Handler. This Handler provides the low-level - * support required by the Signal Manager. + * @ingroup ClassicRTEMS + * @brief Asynchronous Signal Handler + * + * This include file contains all the constants and structures associated + * with the Asynchronous Signal Handler. This Handler provides the low-level + * support required by the Signal Manager. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_ASR_H diff --git a/cpukit/rtems/include/rtems/rtems/barrier.h b/cpukit/rtems/include/rtems/rtems/barrier.h index a7508b462e..b27f81b378 100644 --- a/cpukit/rtems/include/rtems/rtems/barrier.h +++ b/cpukit/rtems/include/rtems/rtems/barrier.h @@ -1,50 +1,53 @@ /** * @file rtems/rtems/barrier.h * - * @brief Constants and Structures Associated with the Barrier Manager + * @defgroup ClassicBarrier Barriers * - * This include file contains all the constants and structures associated - * with the Barrier Manager. + * @ingroup ClassicRTEMS + * @brief Classic API Barrier Manager * - * Directives provided are: + * This include file contains all the constants and structures associated + * with the Barrier Manager. * - * - create a barrier - * - get an ID of a barrier - * - delete a barrier - * - wait for a barrier - * - signal a barrier + * Directives provided are: + * + * - create a barrier + * - get an ID of a barrier + * - delete a barrier + * - wait for a barrier + * - signal a barrier */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_BARRIER_H #define _RTEMS_RTEMS_BARRIER_H /** - * @defgroup ClassicBarrier Barriers + * @defgroup ClassicBarrier Barriers * - * @ingroup ClassicRTEMS + * @ingroup ClassicRTEMS * - * This encapsulates functionality which implements the Classic API - * Barrier Manager. + * This encapsulates functionality which implements the Classic API + * Barrier Manager. */ /**@{*/ /** - * @brief Instantiate Barrier Data + * @brief Instantiate Barrier Data * - * Barrier Manager -- Instantiate Data + * Barrier Manager -- Instantiate Data * - * This constant is defined to extern most of the time when using - * this header file. However by defining it to nothing, the data - * declared in this header file can be instantiated. This is done - * in a single per manager file. + * This constant is defined to extern most of the time when using + * this header file. However by defining it to nothing, the data + * declared in this header file can be instantiated. This is done + * in a single per manager file. */ #ifndef RTEMS_BARRIER_EXTERN #define RTEMS_BARRIER_EXTERN extern @@ -87,23 +90,23 @@ RTEMS_BARRIER_EXTERN Objects_Information _Barrier_Information; void _Barrier_Manager_initialization(void); /** - * @brief RTEMS Create Barrier + * @brief RTEMS Create Barrier * - * Barrier Manager -- Create a Barrier Instance + * Barrier Manager -- Create a Barrier Instance * - * This routine implements the rtems_barrier_create directive. The - * barrier will have the name name. The starting count for - * the barrier is count. The attribute_set determines if - * the barrier is global or local and the thread queue - * discipline. It returns the id of the created barrier in ID. + * This routine implements the rtems_barrier_create directive. The + * barrier will have the name name. The starting count for + * the barrier is count. The attribute_set determines if + * the barrier is global or local and the thread queue + * discipline. It returns the id of the created barrier in ID. * - * @param[in] name is the name of this barrier instance. - * @param[in] attribute_set specifies the attributes of this barrier instance. - * @param[in] maximum_waiters is the maximum number of threads which will - * be allowed to concurrently wait at the barrier. - * @param[out] id will contain the id of this barrier. + * @param[in] name is the name of this barrier instance. + * @param[in] attribute_set specifies the attributes of this barrier instance. + * @param[in] maximum_waiters is the maximum number of threads which will + * be allowed to concurrently wait at the barrier. + * @param[out] id will contain the id of this barrier. * - * @return a status code indicating success or the reason for failure. + * @retval a status code indicating success or the reason for failure. */ rtems_status_code rtems_barrier_create( rtems_name name, @@ -113,20 +116,20 @@ rtems_status_code rtems_barrier_create( ); /** - * @brief RTEMS Barrier name to Id + * @brief RTEMS Barrier name to Id * - * This routine implements the rtems_barrier_ident directive. - * This directive returns the barrier ID associated with name. - * If more than one barrier is named name, then the barrier - * to which the ID belongs is arbitrary. node indicates the - * extent of the search for the ID of the barrier named name. - * The search can be limited to a particular node or allowed to - * encompass all nodes. + * This routine implements the rtems_barrier_ident directive. + * This directive returns the barrier ID associated with name. + * If more than one barrier is named name, then the barrier + * to which the ID belongs is arbitrary. node indicates the + * extent of the search for the ID of the barrier named name. + * The search can be limited to a particular node or allowed to + * encompass all nodes. * - * @param[in] name is the name of this barrier instance. - * @param[out] id will contain the id of this barrier. + * @param[in] name is the name of this barrier instance. + * @param[out] id will contain the id of this barrier. * - * @return a status code indicating success or the reason for failure. + * @retval a status code indicating success or the reason for failure. */ rtems_status_code rtems_barrier_ident( rtems_name name, @@ -134,34 +137,34 @@ rtems_status_code rtems_barrier_ident( ); /** - * @brief RTEMS Delete Barrier + * @brief RTEMS Delete Barrier * - * This routine implements the rtems_barrier_delete directive. The - * barrier indicated by @a id is deleted. The barrier is freed back to the - * inactive barrier chain. + * This routine implements the rtems_barrier_delete directive. The + * barrier indicated by @a id is deleted. The barrier is freed back to the + * inactive barrier chain. * * - * @param[in] id indicates the barrier to delete + * @param[in] id indicates the barrier to delete * - * @return a status code indicating success or the reason for failure. + * @retval a status code indicating success or the reason for failure. */ rtems_status_code rtems_barrier_delete( rtems_id id ); /** - * @brief RTEMS Barrier Wait + * @brief RTEMS Barrier Wait * - * This routine implements the rtems_barrier_wait directive. It - * attempts to wait at the barrier associated with @a id. The calling task - * may block waiting for the barrier with an optional timeout of @a timeout - * clock ticks. + * This routine implements the rtems_barrier_wait directive. It + * attempts to wait at the barrier associated with @a id. The calling task + * may block waiting for the barrier with an optional timeout of @a timeout + * clock ticks. * - * @param[in] id indicates the barrier to wait at. - * @param[in] timeout is the maximum length of time in ticks the calling - * thread is willing to block. + * @param[in] id indicates the barrier to wait at. + * @param[in] timeout is the maximum length of time in ticks the calling + * thread is willing to block. * - * @return a status code indicating success or the reason for failure. + * @retval a status code indicating success or the reason for failure. */ rtems_status_code rtems_barrier_wait( rtems_id id, @@ -169,19 +172,19 @@ rtems_status_code rtems_barrier_wait( ); /** - * @brief RTEMS Barrier Release + * @brief RTEMS Barrier Release * - * Barrier Manager -- Release Tasks Waitng at a Barrier + * Barrier Manager -- Release Tasks Waitng at a Barrier * - * This routine implements the rtems_barrier_release directive. It - * unblocks all of the threads waiting on the barrier associated with - * @a id. The number of threads unblocked is returned in @a released. + * This routine implements the rtems_barrier_release directive. It + * unblocks all of the threads waiting on the barrier associated with + * @a id. The number of threads unblocked is returned in @a released. * * - * @param[in] id indicates the barrier to wait at. - * @param[out] released will contain the number of threads unblocked. + * @param[in] id indicates the barrier to wait at. + * @param[out] released will contain the number of threads unblocked. * - * @return a status code indicating success or the reason for failure. + * @retval a status code indicating success or the reason for failure. */ rtems_status_code rtems_barrier_release( rtems_id id, @@ -189,14 +192,14 @@ rtems_status_code rtems_barrier_release( ); /** - * @brief Translate SuperCore Barrier Status Code to RTEMS Status Code + * @brief Translate SuperCore Barrier Status Code to RTEMS Status Code * - * This function returns a RTEMS status code based on the barrier - * status code specified. + * This function returns a RTEMS status code based on the barrier + * status code specified. * - * @param[in] the_status is the SuperCore Barrier status to translate. + * @param[in] the_status is the SuperCore Barrier status to translate. * - * @return a status code indicating success or the reason for failure. + * @retval a status code indicating success or the reason for failure. */ rtems_status_code _Barrier_Translate_core_barrier_return_code ( CORE_barrier_Status the_status diff --git a/cpukit/rtems/include/rtems/rtems/clock.h b/cpukit/rtems/include/rtems/rtems/clock.h index 549dc798c9..c5355230f9 100644 --- a/cpukit/rtems/include/rtems/rtems/clock.h +++ b/cpukit/rtems/include/rtems/rtems/clock.h @@ -1,27 +1,30 @@ /** * @file rtems/rtems/clock.h * - * @brief Constants and Structures Associated with the Clock Manager + * @defgroup ClassicClock Clocks * - * This include file contains all the constants and structures associated - * with the Clock Manager. This manager provides facilities to set, obtain, - * and continually update the current date and time. + * @ingroup ClassicRTEMS + * @brief Clock Manager API * - * This manager provides directives to: + * This include file contains all the constants and structures associated + * with the Clock Manager. This manager provides facilities to set, obtain, + * and continually update the current date and time. * - * - set the current date and time - * - obtain the current date and time - * - set the nanoseconds since last clock tick handler - * - announce a clock tick - * - obtain the system uptime + * This manager provides directives to: + * + * - set the current date and time + * - obtain the current date and time + * - set the nanoseconds since last clock tick handler + * - announce a clock tick + * - obtain the system uptime */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_CLOCK_H @@ -70,21 +73,21 @@ typedef Watchdog_Nanoseconds_since_last_tick_routine rtems_nanoseconds_extension_routine; /** - * @brief Obtain Current Time of Day + * @brief Obtain Current Time of Day * - * This routine implements the rtems_clock_get directive. It returns - * one of the following: - * + current time of day - * + seconds since epoch - * + ticks since boot - * + ticks per second + * This routine implements the rtems_clock_get directive. It returns + * one of the following: + * + current time of day + * + seconds since epoch + * + ticks since boot + * + ticks per second * - * @param[in] option is the format of time to return - * @param[in] time_buffer points to the output area + * @param[in] option is the format of time to return + * @param[in] time_buffer points to the output area * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_clock_get( rtems_clock_get_options option, @@ -92,189 +95,189 @@ rtems_status_code rtems_clock_get( ); /** - * @brief Obtain Current Time of Day (Classic TOD) + * @brief Obtain Current Time of Day (Classic TOD) * - * This routine implements the rtems_clock_get_tod directive. It returns - * the current time of day in the format defined by RTEID. + * This routine implements the rtems_clock_get_tod directive. It returns + * the current time of day in the format defined by RTEID. * - * Clock Manager - rtems_clock_get_tod + * Clock Manager - rtems_clock_get_tod * - * @param[in] time_buffer points to the time of day structure + * @param[in] time_buffer points to the time of day structure * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. If successful, the time_buffer will - * be filled in with the current time of day. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. If successful, the time_buffer will + * be filled in with the current time of day. */ rtems_status_code rtems_clock_get_tod( rtems_time_of_day *time_buffer ); /** - * @brief Obtain TOD in struct timeval Format + * @brief Obtain TOD in struct timeval Format * - * This routine implements the rtems_clock_get_tod_timeval - * directive. + * This routine implements the rtems_clock_get_tod_timeval + * directive. * - * @param[in] time points to the struct timeval variable to fill in + * @param[in] time points to the struct timeval variable to fill in * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. If successful, the time will - * be filled in with the current time of day. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. If successful, the time will + * be filled in with the current time of day. */ rtems_status_code rtems_clock_get_tod_timeval( struct timeval *time ); /** - * @brief Obtain Seconds Since Epoch + * @brief Obtain Seconds Since Epoch * - * This routine implements the rtems_clock_get_seconds_since_epoch - * directive. + * This routine implements the rtems_clock_get_seconds_since_epoch + * directive. * - * @param[in] the_interval points to the interval variable to fill in + * @param[in] the_interval points to the interval variable to fill in * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. If successful, the time_buffer will - * be filled in with the current time of day. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. If successful, the time_buffer will + * be filled in with the current time of day. */ rtems_status_code rtems_clock_get_seconds_since_epoch( rtems_interval *the_interval ); /** - * @brief Obtain Ticks Since Boot + * @brief Obtain Ticks Since Boot * - * This routine implements the rtems_clock_get_ticks_since_boot - * directive. + * This routine implements the rtems_clock_get_ticks_since_boot + * directive. * - * @return This method returns the number of ticks since boot. It cannot - * fail since RTEMS always keeps a running count of ticks since boot. + * @retval This method returns the number of ticks since boot. It cannot + * fail since RTEMS always keeps a running count of ticks since boot. */ rtems_interval rtems_clock_get_ticks_since_boot(void); /** - * @brief Obtain Ticks Per Seconds + * @brief Obtain Ticks Per Seconds * - * This routine implements the rtems_clock_get_ticks_per_second - * directive. + * This routine implements the rtems_clock_get_ticks_per_second + * directive. * - * @return This method returns the number of ticks since boot. It cannot - * fail since RTEMS is always configured to know the number of - * ticks per second. + * @retval This method returns the number of ticks since boot. It cannot + * fail since RTEMS is always configured to know the number of + * ticks per second. */ rtems_interval rtems_clock_get_ticks_per_second(void); /** - * @brief Set the Current TOD + * @brief Set the Current TOD * - * This routine implements the rtems_clock_set directive. It sets - * the current time of day to that in the time_buffer record. + * This routine implements the rtems_clock_set directive. It sets + * the current time of day to that in the time_buffer record. * - * @param[in] time_buffer points to the new TOD + * @param[in] time_buffer points to the new TOD * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. * - * @note Activities scheduled based upon the current time of day - * may be executed immediately if the time is moved forward. + * @note Activities scheduled based upon the current time of day + * may be executed immediately if the time is moved forward. */ rtems_status_code rtems_clock_set( const rtems_time_of_day *time_buffer ); /** - * @brief Announce a Clock Tick + * @brief Announce a Clock Tick * - * This routine implements the rtems_clock_tick directive. It is invoked - * to inform RTEMS of the occurrence of a clock tick. + * This routine implements the rtems_clock_tick directive. It is invoked + * to inform RTEMS of the occurrence of a clock tick. * - * @return This directive always returns RTEMS_SUCCESSFUL. + * @retval This directive always returns RTEMS_SUCCESSFUL. * - * @note This method is typically called from an ISR and is the basis - * for all timeouts and delays. This routine only works for leap-years - * through 2099. + * @note This method is typically called from an ISR and is the basis + * for all timeouts and delays. This routine only works for leap-years + * through 2099. */ rtems_status_code rtems_clock_tick( void ); /** - * @brief Set the BSP specific Nanoseconds Extension + * @brief Set the BSP specific Nanoseconds Extension * - * Clock Manager + * Clock Manager * - * This directive sets the BSP provided nanoseconds since last tick - * extension. + * This directive sets the BSP provided nanoseconds since last tick + * extension. * - * @param[in] routine is a pointer to the extension routine + * @param[in] routine is a pointer to the extension routine * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @return This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_clock_set_nanoseconds_extension( rtems_nanoseconds_extension_routine routine ); /** - * @brief Obtain the System Uptime + * @brief Obtain the System Uptime * - * This directive returns the system uptime. + * This directive returns the system uptime. * - * @param[in] uptime is a pointer to the time structure + * @param[in] uptime is a pointer to the time structure * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. If successful, the uptime will be - * filled in. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. If successful, the uptime will be + * filled in. * - * Clock Manager - get uptime + * Clock Manager - get uptime */ rtems_status_code rtems_clock_get_uptime( struct timespec *uptime ); /** - * @brief Gets the System Uptime in the Struct Timeval Format + * @brief Gets the System Uptime in the Struct Timeval Format * - * @param[out] Returns the system uptime. Pointer must not be NULL. + * @param[out] Returns the system uptime. Pointer must not be NULL. */ void rtems_clock_get_uptime_timeval( struct timeval *uptime ); /** - * @brief Returns the system uptime in seconds. + * @brief Returns the system uptime in seconds. * - * @return The system uptime in seconds. + * @retval The system uptime in seconds. */ time_t rtems_clock_get_uptime_seconds( void ); /** - * @brief TOD Validate + * @brief TOD Validate * - * This support function returns true if @a the_tod contains - * a valid time of day, and false otherwise. + * This support function returns true if @a the_tod contains + * a valid time of day, and false otherwise. * - * @param[in] the_tod is the TOD structure to validate + * @param[in] the_tod is the TOD structure to validate * - * @return This method returns true if the TOD is valid and false otherwise. + * @retval This method returns true if the TOD is valid and false otherwise. * - * @note This routine only works for leap-years through 2099. + * @note This routine only works for leap-years through 2099. */ bool _TOD_Validate( const rtems_time_of_day *the_tod ); /** - * @brief TOD to Seconds + * @brief TOD to Seconds * - * This function returns the number seconds between the epoch and @a the_tod. + * This function returns the number seconds between the epoch and @a the_tod. * - * @param[in] the_tod is the TOD structure to convert to seconds + * @param[in] the_tod is the TOD structure to convert to seconds * - * @return This method returns the number of seconds since epoch represented - * by @a the_tod + * @retval This method returns the number of seconds since epoch represented + * by @a the_tod */ Watchdog_Interval _TOD_To_seconds( const rtems_time_of_day *the_tod diff --git a/cpukit/rtems/include/rtems/rtems/event.h b/cpukit/rtems/include/rtems/rtems/event.h index 6c265c3f40..b1599a88a2 100644 --- a/cpukit/rtems/include/rtems/rtems/event.h +++ b/cpukit/rtems/include/rtems/rtems/event.h @@ -1,25 +1,28 @@ /** * @file rtems/rtems/event.h * - * @brief Information Related to the Event Manager + * @defgroup ClassicEvent Events * - * This include file contains the information pertaining to the Event - * Manager. This manager provides a high performance method of communication - * and synchronization. + * @ingroup ClassicRTEMS + * @brief Information Related to Event Manager * - * Directives provided are: + * This include file contains the information pertaining to the Event + * Manager. This manager provides a high performance method of communication + * and synchronization. * - * - send an event set to a task - * - receive event condition + * Directives provided are: + * + * - send an event set to a task + * - receive event condition * */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_EVENT_H @@ -100,38 +103,38 @@ extern "C" { */ /** - * @brief Sends an Event Set to the Target Task - * - * This directive sends an event set @a event_in to the task specified by - * @a id. - * - * Based upon the state of the target task, one of the following situations - * applies. The target task is - * - blocked waiting for events. - * If the waiting task's input event condition is - * - satisfied, then the task is made ready for execution. - * - not satisfied, then the event set is posted but left pending and the - * task remains blocked. - * - not waiting for events. - * - The event set is posted and left pending. - * - * Identical events sent to a task are not queued. In other words, the second, - * and subsequent, posting of an event to a task before it can perform an - * rtems_event_receive() has no effect. - * - * The calling task will be preempted if it has preemption enabled and a - * higher priority task is unblocked as the result of this directive. - * - * Sending an event set to a global task which does not reside on the local - * node will generate a request telling the remote node to send the event set - * to the appropriate task. - * - * @param[in] id Identifier of the target task. Specifying @ref RTEMS_SELF - * results in the event set being sent to the calling task. - * @param[in] event_in Event set sent to the target task. - * - * @retval RTEMS_SUCCESSFUL Successful operation. - * @retval RTEMS_INVALID_ID Invalid task identifier. + * @brief Sends an Event Set to the Target Task + * + * This directive sends an event set @a event_in to the task specified by + * @a id. + * + * Based upon the state of the target task, one of the following situations + * applies. The target task is + * - blocked waiting for events. + * If the waiting task's input event condition is + * - satisfied, then the task is made ready for execution. + * - not satisfied, then the event set is posted but left pending and the + * task remains blocked. + * - not waiting for events. + * - The event set is posted and left pending. + * + * Identical events sent to a task are not queued. In other words, the second, + * and subsequent, posting of an event to a task before it can perform an + * rtems_event_receive() has no effect. + * + * The calling task will be preempted if it has preemption enabled and a + * higher priority task is unblocked as the result of this directive. + * + * Sending an event set to a global task which does not reside on the local + * node will generate a request telling the remote node to send the event set + * to the appropriate task. + * + * @param[in] id Identifier of the target task. Specifying @ref RTEMS_SELF + * results in the event set being sent to the calling task. + * @param[in] event_in Event set sent to the target task. + * + * @retval RTEMS_SUCCESSFUL Successful operation. + * @retval RTEMS_INVALID_ID Invalid task identifier. */ rtems_status_code rtems_event_send ( rtems_id id, @@ -139,65 +142,65 @@ rtems_status_code rtems_event_send ( ); /** - * @brief Receives pending events. - * - * This directive attempts to receive the event condition specified in - * @a event_in. If @a event_in is set to @ref RTEMS_PENDING_EVENTS, then the - * current pending events are returned in @a event_out and left pending. The - * @aref RTEMS_WAIT and @aref RTEMS_NO_WAIT options in the @a option_set - * parameter are used to specify whether or not the task is willing to wait - * for the event condition to be satisfied. The @ref RTEMS_EVENT_ANY and @ref - * RTEMS_EVENT_ALL are used in the @a option_set parameter to specify whether - * at least a single event or the complete event set is necessary to satisfy - * the event condition. The @a event_out parameter is returned to the calling - * task with the value that corresponds to the events in @a event_in that were - * satisfied. - * - * A task can determine the pending event set by using a value of - * @ref RTEMS_PENDING_EVENTS for the input event set @a event_in. The pending - * events are returned to the calling task but the event set is left - * unaltered. - * - * A task can receive all of the currently pending events by using the a value - * of @ref RTEMS_ALL_EVENTS for the input event set @a event_in and - * @ref RTEMS_NO_WAIT | @ref RTEMS_EVENT_ANY for the option set @a option_set. - * The pending events are returned to the calling task and the event set is - * cleared. If no events are pending then the @ref RTEMS_UNSATISFIED status - * code will be returned. - * - * If pending events satisfy the event condition, then @a event_out is set to - * the satisfied events and the pending events in the event condition are - * cleared. If the event condition is not satisfied and @ref RTEMS_NO_WAIT is - * specified, then @a event_out is set to the currently satisfied events. If - * the calling task chooses to wait, then it will block waiting for the event - * condition. - * - * If the calling task must wait for the event condition to be satisfied, then - * the timeout parameter is used to specify the maximum interval to wait. If - * it is set to @ref RTEMS_NO_TIMEOUT, then the calling task will wait forever. - * - * This directive only affects the events specified in @a event_in. Any - * pending events that do not correspond to any of the events specified in - * @a event_in will be left pending. - * - * A clock tick is required to support the wait with time out functionality of - * this directive. - * - * @param[in] event_in Set of requested events (input events). - * @param[in] option_set Use a bitwise or of the following options - * - @ref RTEMS_WAIT - task will wait for event (default), - * - @ref RTEMS_NO_WAIT - task should not wait, - * - @ref RTEMS_EVENT_ALL - return after all events (default), and - * - @ref RTEMS_EVENT_ANY - return after any events. - * @param[in] ticks Time out in ticks. Use @ref RTEMS_NO_TIMEOUT to wait - * without a time out (potentially forever). - * @param[out] event_out Set of received events (output events). - * - * @retval RTEMS_SUCCESSFUL Successful operation. - * @retval RTEMS_UNSATISFIED Input events not satisfied (only with the - * @ref RTEMS_NO_WAIT option). - * @retval RTEMS_INVALID_ADDRESS The @a event_out pointer is @c NULL. - * @retval RTEMS_TIMEOUT Timed out waiting for events. + * @brief Receives pending events. + * + * This directive attempts to receive the event condition specified in + * @a event_in. If @a event_in is set to @ref RTEMS_PENDING_EVENTS, then the + * current pending events are returned in @a event_out and left pending. The + * @aref RTEMS_WAIT and @aref RTEMS_NO_WAIT options in the @a option_set + * parameter are used to specify whether or not the task is willing to wait + * for the event condition to be satisfied. The @ref RTEMS_EVENT_ANY and @ref + * RTEMS_EVENT_ALL are used in the @a option_set parameter to specify whether + * at least a single event or the complete event set is necessary to satisfy + * the event condition. The @a event_out parameter is returned to the calling + * task with the value that corresponds to the events in @a event_in that were + * satisfied. + * + * A task can determine the pending event set by using a value of + * @ref RTEMS_PENDING_EVENTS for the input event set @a event_in. The pending + * events are returned to the calling task but the event set is left + * unaltered. + * + * A task can receive all of the currently pending events by using the a value + * of @ref RTEMS_ALL_EVENTS for the input event set @a event_in and + * @ref RTEMS_NO_WAIT | @ref RTEMS_EVENT_ANY for the option set @a option_set. + * The pending events are returned to the calling task and the event set is + * cleared. If no events are pending then the @ref RTEMS_UNSATISFIED status + * code will be returned. + * + * If pending events satisfy the event condition, then @a event_out is set to + * the satisfied events and the pending events in the event condition are + * cleared. If the event condition is not satisfied and @ref RTEMS_NO_WAIT is + * specified, then @a event_out is set to the currently satisfied events. If + * the calling task chooses to wait, then it will block waiting for the event + * condition. + * + * If the calling task must wait for the event condition to be satisfied, then + * the timeout parameter is used to specify the maximum interval to wait. If + * it is set to @ref RTEMS_NO_TIMEOUT, then the calling task will wait forever. + * + * This directive only affects the events specified in @a event_in. Any + * pending events that do not correspond to any of the events specified in + * @a event_in will be left pending. + * + * A clock tick is required to support the wait with time out functionality of + * this directive. + * + * @param[in] event_in Set of requested events (input events). + * @param[in] option_set Use a bitwise or of the following options + * - @ref RTEMS_WAIT - task will wait for event (default), + * - @ref RTEMS_NO_WAIT - task should not wait, + * - @ref RTEMS_EVENT_ALL - return after all events (default), and + * - @ref RTEMS_EVENT_ANY - return after any events. + * @param[in] ticks Time out in ticks. Use @ref RTEMS_NO_TIMEOUT to wait + * without a time out (potentially forever). + * @param[out] event_out Set of received events (output events). + * + * @retval RTEMS_SUCCESSFUL Successful operation. + * @retval RTEMS_UNSATISFIED Input events not satisfied (only with the + * @ref RTEMS_NO_WAIT option). + * @retval RTEMS_INVALID_ADDRESS The @a event_out pointer is @c NULL. + * @retval RTEMS_TIMEOUT Timed out waiting for events. */ rtems_status_code rtems_event_receive ( rtems_event_set event_in, diff --git a/cpukit/rtems/include/rtems/rtems/eventmp.h b/cpukit/rtems/include/rtems/rtems/eventmp.h index a54f79cffe..45f60b67b7 100644 --- a/cpukit/rtems/include/rtems/rtems/eventmp.h +++ b/cpukit/rtems/include/rtems/rtems/eventmp.h @@ -1,16 +1,21 @@ /** * @file rtems/rtems/eventmp.h * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the Event Manager. + * @defgroup ClassicEventMP Event MP Support + * + * @ingroup ClassicRTEMS + * @brief Event Manager MP Support + * + * This include file contains all the constants and structures associated + * with the Multiprocessing Support in the Event Manager. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_EVENTMP_H diff --git a/cpukit/rtems/include/rtems/rtems/eventset.h b/cpukit/rtems/include/rtems/rtems/eventset.h index 632e217c79..4d2bff8a89 100644 --- a/cpukit/rtems/include/rtems/rtems/eventset.h +++ b/cpukit/rtems/include/rtems/rtems/eventset.h @@ -1,19 +1,22 @@ /** * @file rtems/rtems/eventset.h * - * @brief Information Related to the Event Sets Handler + * @defgroup ClassicEventSet Event Set * - * This include file contains the information pertaining to the - * Event Sets Handler. This handler provides methods for the manipulation - * of event sets which will be sent and received by tasks. + * @ingroup ClassicRTEMS + * @brief Event Sets Handler + * + * This include file contains the information pertaining to the + * Event Sets Handler. This handler provides methods for the manipulation + * of event sets which will be sent and received by tasks. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_EVENTSET_H diff --git a/cpukit/rtems/include/rtems/rtems/intr.h b/cpukit/rtems/include/rtems/rtems/intr.h index 66684fe327..ea6dc6b64a 100644 --- a/cpukit/rtems/include/rtems/rtems/intr.h +++ b/cpukit/rtems/include/rtems/rtems/intr.h @@ -1,18 +1,21 @@ /** * @file rtems/rtems/intr.h * - * @brief Header file for the Interrupt Manager. + * @defgroup ClassicINTR Interrupts * - * This include file contains all the constants and structures associated with - * the Interrupt Manager. + * @ingroup ClassicRTEMS + * @brief Header file for Interrupt Manager + * + * This include file contains all the constants and structures associated with + * the Interrupt Manager. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_INTR_H @@ -63,17 +66,17 @@ typedef rtems_isr ( *rtems_isr_entry )( ); /** - * @brief RTEMS Interrupt Catch + * @brief RTEMS Interrupt Catch * - * This directive installs @a new_isr_handler as the RTEMS interrupt service - * routine for the interrupt vector with number @a vector. The previous RTEMS - * interrupt service routine is returned in @a old_isr_handler. + * This directive installs @a new_isr_handler as the RTEMS interrupt service + * routine for the interrupt vector with number @a vector. The previous RTEMS + * interrupt service routine is returned in @a old_isr_handler. * - * @param[in] new_isr_handler is the address of interrupt service routine - * @param[in] vector is the interrupt vector number - * @param[in] old_isr_handler address at which to store previous ISR address + * @param[in] new_isr_handler is the address of interrupt service routine + * @param[in] vector is the interrupt vector number + * @param[in] old_isr_handler address at which to store previous ISR address * - * @return RTEMS_SUCCESSFUL and *old_isr_handler filled with previous ISR + * @retval RTEMS_SUCCESSFUL and *old_isr_handler filled with previous ISR * address */ rtems_status_code rtems_interrupt_catch( diff --git a/cpukit/rtems/include/rtems/rtems/message.h b/cpukit/rtems/include/rtems/rtems/message.h index 9ad1e9b9ef..e8bbee8cc4 100644 --- a/cpukit/rtems/include/rtems/rtems/message.h +++ b/cpukit/rtems/include/rtems/rtems/message.h @@ -1,30 +1,33 @@ /** * @file rtems/rtems/message.h * - * @brief Constants and Structures Associated with the Message Queue Manager - * - * This include file contains all the constants and structures associated - * with the Message Queue Manager. This manager provides a mechanism for - * communication and synchronization between tasks using messages. - * - * Directives provided are: - * - * - create a queue - * - get ID of a queue - * - delete a queue - * - put a message at the rear of a queue - * - put a message at the front of a queue - * - broadcast N messages to a queue - * - receive message from a queue - * - flush all messages on a queue + * @defgroup ClassicMessageQueue Message Queues + * + * @ingroup ClassicRTEMS + * @brief Message Queue Manager + * + * This include file contains all the constants and structures associated + * with the Message Queue Manager. This manager provides a mechanism for + * communication and synchronization between tasks using messages. + * + * Directives provided are: + * + * - create a queue + * - get ID of a queue + * - delete a queue + * - put a message at the rear of a queue + * - put a message at the front of a queue + * - broadcast N messages to a queue + * - receive message from a queue + * - flush all messages on a queue */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_MESSAGE_H @@ -106,25 +109,25 @@ RTEMS_MESSAGE_EXTERN Objects_Information _Message_queue_Information; void _Message_queue_Manager_initialization(void); /** - * @brief RTEMS Create Message Queue - * - * This routine implements the rtems_message_queue_create directive. The - * message queue will have the @a name. If the @a attribute_set indicates - * that the message queue is to be limited in the number of messages - * that can be outstanding, then @a count indicates the maximum number of - * messages that will be held. It returns the id of the created - * message queue in @a id. - * - * @param[in] name is the user defined queue name - * @param[in] count is the maximum message and reserved buffer count - * @param[in] max_message_size is the maximum size of each message - * @param[in] attribute_set is the process method - * @param[in] id is the pointer to queue - * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. If successful, the @a id will - * be filled in with the queue id. + * @brief RTEMS Create Message Queue + * + * This routine implements the rtems_message_queue_create directive. The + * message queue will have the @a name. If the @a attribute_set indicates + * that the message queue is to be limited in the number of messages + * that can be outstanding, then @a count indicates the maximum number of + * messages that will be held. It returns the id of the created + * message queue in @a id. + * + * @param[in] name is the user defined queue name + * @param[in] count is the maximum message and reserved buffer count + * @param[in] max_message_size is the maximum size of each message + * @param[in] attribute_set is the process method + * @param[in] id is the pointer to queue + * + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. If successful, the @a id will + * be filled in with the queue id. */ rtems_status_code rtems_message_queue_create( rtems_name name, @@ -135,22 +138,22 @@ rtems_status_code rtems_message_queue_create( ); /** - * @brief RTEMS Message Queue Name to Id - * - * This routine implements the rtems_message_queue_ident directive. - * This directive returns the message queue ID associated with NAME. - * If more than one message queue is named name, then the message - * queue to which the ID belongs is arbitrary. node indicates the - * extent of the search for the ID of the message queue named name. - * The search can be limited to a particular node or allowed to - * encompass all nodes. - * - * @param[in] name is the user defined message queue name - * @param[in] node is the node(s) to be searched - * @param[in] id is the pointer to message queue id - * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful and - * *id filled with the message queue id + * @brief RTEMS Message Queue Name to Id + * + * This routine implements the rtems_message_queue_ident directive. + * This directive returns the message queue ID associated with NAME. + * If more than one message queue is named name, then the message + * queue to which the ID belongs is arbitrary. node indicates the + * extent of the search for the ID of the message queue named name. + * The search can be limited to a particular node or allowed to + * encompass all nodes. + * + * @param[in] name is the user defined message queue name + * @param[in] node is the node(s) to be searched + * @param[in] id is the pointer to message queue id + * + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful and + * *id filled with the message queue id */ rtems_status_code rtems_message_queue_ident( rtems_name name, @@ -159,14 +162,14 @@ rtems_status_code rtems_message_queue_ident( ); /** - * @brief RTEMS Delete Message Queue + * @brief RTEMS Delete Message Queue * - * This routine implements the rtems_message_queue_delete directive. The - * message queue indicated by ID is deleted. + * This routine implements the rtems_message_queue_delete directive. The + * message queue indicated by ID is deleted. * - * @param[in] id is the queue id + * @param[in] id is the queue id * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful */ rtems_status_code rtems_message_queue_delete( rtems_id id @@ -194,19 +197,19 @@ rtems_status_code rtems_message_queue_send( ); /** - * @brief RTEMS Urgent Message Queue + * @brief RTEMS Urgent Message Queue * - * This routine implements the rtems_message_queue_urgent directive. - * This directive has the same behavior as rtems_message_queue_send - * except that if no tasks are waiting, the message buffer will - * be placed at the FRONT of the chain of pending messages rather - * than at the REAR. + * This routine implements the rtems_message_queue_urgent directive. + * This directive has the same behavior as rtems_message_queue_send + * except that if no tasks are waiting, the message buffer will + * be placed at the FRONT of the chain of pending messages rather + * than at the REAR. * - * @param[in] id is the pointer to message queue - * @param[in] buffer is the pointer to message buffer - * @param[in] size is the size of message to send urgently + * @param[in] id is the pointer to message queue + * @param[in] buffer is the pointer to message buffer + * @param[in] size is the size of message to send urgently * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful */ rtems_status_code rtems_message_queue_urgent( rtems_id id, @@ -215,20 +218,20 @@ rtems_status_code rtems_message_queue_urgent( ); /** - * @brief RTEMS Broadcast Message Queue + * @brief RTEMS Broadcast Message Queue * - * This routine implements the rtems_message_queue_broadcast directive. - * This directive sends the message buffer to all of the tasks blocked - * waiting for a message on the message queue indicated by ID. - * If no tasks are waiting, then the message buffer will not be queued. + * This routine implements the rtems_message_queue_broadcast directive. + * This directive sends the message buffer to all of the tasks blocked + * waiting for a message on the message queue indicated by ID. + * If no tasks are waiting, then the message buffer will not be queued. * - * @param[in] id is the pointer to message queue - * @param[in] buffer is the pointer to message buffer - * @param[in] size is the size of message to broadcast - * @param[in] count pointer to area to store number of threads made ready + * @param[in] id is the pointer to message queue + * @param[in] buffer is the pointer to message buffer + * @param[in] size is the size of message to broadcast + * @param[in] count pointer to area to store number of threads made ready * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful and - * *count filled in with number of threads made ready + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful and + * *count filled in with number of threads made ready */ rtems_status_code rtems_message_queue_broadcast( rtems_id id, @@ -238,25 +241,25 @@ rtems_status_code rtems_message_queue_broadcast( ); /** - * @brief RTEMS Message Queue Receive - * - * This routine implements the rtems_message_queue_receive directive. - * This directive is invoked when the calling task wishes to receive - * a message from the message queue indicated by ID. The received - * message is to be placed in buffer. If no messages are outstanding - * and the option_set indicates that the task is willing to block, - * then the task will be blocked until a message arrives or until, - * optionally, timeout clock ticks have passed. - * - * @param[in] id is the queue id - * @param[in] buffer is the pointer to message buffer - * @param[in] size is the size of message receive - * @param[in] option_set is the options on receive - * @param[in] timeout is the number of ticks to wait - * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @brief RTEMS Message Queue Receive + * + * This routine implements the rtems_message_queue_receive directive. + * This directive is invoked when the calling task wishes to receive + * a message from the message queue indicated by ID. The received + * message is to be placed in buffer. If no messages are outstanding + * and the option_set indicates that the task is willing to block, + * then the task will be blocked until a message arrives or until, + * optionally, timeout clock ticks have passed. + * + * @param[in] id is the queue id + * @param[in] buffer is the pointer to message buffer + * @param[in] size is the size of message receive + * @param[in] option_set is the options on receive + * @param[in] timeout is the number of ticks to wait + * + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_message_queue_receive( rtems_id id, @@ -315,24 +318,24 @@ rtems_status_code _Message_queue_Submit( ); /** - * @brief Message Queue Allocate + * @brief Message Queue Allocate * - * This function allocates a message queue control block from - * the inactive chain of free message queue control blocks. + * This function allocates a message queue control block from + * the inactive chain of free message queue control blocks. * - * @return the_message_queue filled in if successful, NULL otherwise + * @retval the_message_queue filled in if successful, NULL otherwise */ Message_queue_Control *_Message_queue_Allocate (void); /** - * @brief Message queue Translate Core Message Queue Return Code + * @brief Message queue Translate Core Message Queue Return Code * - * This function returns a RTEMS status code based on - * @a the_message_queue_status. + * This function returns a RTEMS status code based on + * @a the_message_queue_status. * - * @param[in] the_message_queue_status is the status code to translate + * @param[in] the_message_queue_status is the status code to translate * - * @return translated RTEMS status code + * @retval translated RTEMS status code */ rtems_status_code _Message_queue_Translate_core_message_queue_return_code ( uint32_t the_message_queue_status diff --git a/cpukit/rtems/include/rtems/rtems/modes.h b/cpukit/rtems/include/rtems/rtems/modes.h index 6ac7d15773..9a4bf73f91 100644 --- a/cpukit/rtems/include/rtems/rtems/modes.h +++ b/cpukit/rtems/include/rtems/rtems/modes.h @@ -1,18 +1,21 @@ /** * @file rtems/rtems/modes.h * - * @brief Constants and Structures Associated with the RTEMS thread and RTEMS_ASR modes + * @defgroup ClassicModes Modes * - * This include file contains all constants and structures associated - * with the RTEMS thread and RTEMS_ASR modes. + * @ingroup ClassicRTEMS + * @brief RTEMS thread and RTEMS_ASR modes + * + * This include file contains all constants and structures associated + * with the RTEMS thread and RTEMS_ASR modes. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_MODES_H @@ -84,14 +87,14 @@ typedef uint32_t Modes_Control; #define RTEMS_NO_ASR 0x00000400 /** - * @brief RTEMS_INTERRUPT_LEVEL + * @brief RTEMS_INTERRUPT_LEVEL * - * This function returns the processor dependent interrupt - * level which corresponds to the requested interrupt level. + * This function returns the processor dependent interrupt + * level which corresponds to the requested interrupt level. * - * @note RTEMS supports 256 interrupt levels using the least - * significant eight bits of MODES.CONTROL. On any - * particular CPU, fewer than 256 levels may be supported. + * @note RTEMS supports 256 interrupt levels using the least + * significant eight bits of MODES.CONTROL. On any + * particular CPU, fewer than 256 levels may be supported. */ #define RTEMS_INTERRUPT_LEVEL( _mode_set ) \ ( (_mode_set) & RTEMS_INTERRUPT_MASK ) @@ -104,15 +107,15 @@ typedef uint32_t Modes_Control; extern const uint32_t rtems_interrupt_mask; /** - * @brief Body for RTEMS_INTERRUPT_LEVEL Macro + * @brief Body for RTEMS_INTERRUPT_LEVEL Macro * - * @param[in] level is the desired interrupt level + * @param[in] level is the desired interrupt level * - * @return This methods returns a mode with the desired interrupt - * @a level in the proper bitfield location. + * @retval This methods returns a mode with the desired interrupt + * @a level in the proper bitfield location. * - * @note This variable is used by bindings from languages other than - * C and C++. + * @note This variable is used by bindings from languages other than + * C and C++. */ Modes_Control rtems_interrupt_level_body( uint32_t level diff --git a/cpukit/rtems/include/rtems/rtems/msgmp.h b/cpukit/rtems/include/rtems/rtems/msgmp.h index f512eaeda7..5d895dea1c 100644 --- a/cpukit/rtems/include/rtems/rtems/msgmp.h +++ b/cpukit/rtems/include/rtems/rtems/msgmp.h @@ -1,16 +1,21 @@ /** * @file rtems/rtems/msgmp.h * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the Message Manager. + * @defgroup ClassicMsgMP Message Queue MP Support + * + * @ingroup ClassicRTEMS + * @brief Message Manager MP Support + * + * This include file contains all the constants and structures associated + * with the Multiprocessing Support in the Message Manager. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_MSGMP_H @@ -119,10 +124,10 @@ void _Message_queue_MP_Send_response_packet ( /** * - @brief * _Message_queue_MP_Process_packet + * @brief _Message_queue_MP_Process_packet * - * This routine performs the actions specific to this package for - * the request from another node. + * This routine performs the actions specific to this package for + * the request from another node. */ void _Message_queue_MP_Process_packet ( rtems_packet_prefix *the_packet_prefix diff --git a/cpukit/rtems/include/rtems/rtems/options.h b/cpukit/rtems/include/rtems/rtems/options.h index c42af1c431..29c0351a34 100644 --- a/cpukit/rtems/include/rtems/rtems/options.h +++ b/cpukit/rtems/include/rtems/rtems/options.h @@ -1,18 +1,21 @@ /** * @file rtems/rtems/options.h * - * @brief Information Which Defines the Options Available on Many Directives. + * @defgroup ClassicOptions Classic API Options * - * This include file contains information which defines the - * options available on many directives. + * @ingroup ClassicRTEMS + * @brief Options Available on Many Directives + * + * This include file contains information which defines the + * options available on many directives. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_OPTIONS_H @@ -23,13 +26,13 @@ extern "C" { #endif /** - * @defgroup ClassicOptions Classic API Options + * @defgroup ClassicOptions Classic API Options * - * @ingroup ClassicRTEMS + * @ingroup ClassicRTEMS * - * This encapsulates functionality related to the options argument - * to Classic API blocking operations. The primary option is whether - * or not a task is willing to wait for the operation to complete. + * This encapsulates functionality related to the options argument + * to Classic API blocking operations. The primary option is whether + * or not a task is willing to wait for the operation to complete. */ /**@{*/ diff --git a/cpukit/rtems/include/rtems/rtems/semmp.h b/cpukit/rtems/include/rtems/rtems/semmp.h index d592d33b3a..d52176de7d 100644 --- a/cpukit/rtems/include/rtems/rtems/semmp.h +++ b/cpukit/rtems/include/rtems/rtems/semmp.h @@ -1,16 +1,21 @@ /** * @file rtems/rtems/semmp.h * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the Semaphore Manager. + * @defgroup ClassicSEM Semaphore MP Support + * + * @ingroup ClassicRTEMS + * @brief Semaphore Manager MP Support + * + * This include file contains all the constants and structures associated + * with the Multiprocessing Support in the Semaphore Manager. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_SEMMP_H @@ -142,12 +147,12 @@ Semaphore_MP_Packet *_Semaphore_MP_Get_packet ( void ); /** * @brief Semaphore Core Mutex MP Support * - * This function processes the global actions necessary for remote - * accesses to a global semaphore based on a core mutex. This function - * is called by the core. + * This function processes the global actions necessary for remote + * accesses to a global semaphore based on a core mutex. This function + * is called by the core. * - * @param[in] the_thread the remote thread the semaphore was surrendered to - * @param[in] id is the id of the surrendered semaphore + * @param[in] the_thread the remote thread the semaphore was surrendered to + * @param[in] id is the id of the surrendered semaphore */ void _Semaphore_Core_mutex_mp_support ( Thread_Control *the_thread, @@ -155,14 +160,14 @@ void _Semaphore_Core_mutex_mp_support ( ); /** - * @brief Semaphore Core MP Support + * @brief Semaphore Core MP Support * - * This function processes the global actions necessary for remote - * accesses to a global semaphore based on a core semaphore. This function - * is called by the core. + * This function processes the global actions necessary for remote + * accesses to a global semaphore based on a core semaphore. This function + * is called by the core. * - * @param[in] the_thread the remote thread the semaphore was surrendered to - * @param[in] id is the id of the surrendered semaphore + * @param[in] the_thread the remote thread the semaphore was surrendered to + * @param[in] id is the id of the surrendered semaphore */ void _Semaphore_Core_semaphore_mp_support ( Thread_Control *the_thread, diff --git a/cpukit/rtems/include/rtems/rtems/signalmp.h b/cpukit/rtems/include/rtems/rtems/signalmp.h index 2b373a92ed..de32f3cc0e 100644 --- a/cpukit/rtems/include/rtems/rtems/signalmp.h +++ b/cpukit/rtems/include/rtems/rtems/signalmp.h @@ -1,16 +1,21 @@ /** * @file rtems/rtems/signalmp.h * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the Signal Manager. + * @defgroup ClassicSignalMP Signal MP Support + * + * @ingroup ClassicRTEMS + * @brief Signal MP Support + * + * This include file contains all the constants and structures associated + * with the Multiprocessing Support in the Signal Manager. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_SIGNALMP_H diff --git a/cpukit/rtems/include/rtems/rtems/support.h b/cpukit/rtems/include/rtems/rtems/support.h index 30716de72f..75f5069767 100644 --- a/cpukit/rtems/include/rtems/rtems/support.h +++ b/cpukit/rtems/include/rtems/rtems/support.h @@ -1,19 +1,18 @@ /** * @file * - * @ingroup ClassicRTEMS - * - * @ingroup ClassicRTEMSWorkspace + * @defgroup ClassicRTEMSWorkspace Workspace * + * @ingroup ClassicRTEMS * @brief Classic API support. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_SUPPORT_H diff --git a/cpukit/rtems/include/rtems/rtems/taskmp.h b/cpukit/rtems/include/rtems/rtems/taskmp.h index 7bf4c1bf2e..01a283b2f5 100644 --- a/cpukit/rtems/include/rtems/rtems/taskmp.h +++ b/cpukit/rtems/include/rtems/rtems/taskmp.h @@ -1,16 +1,21 @@ /** * @file rtems/rtems/taskmp.h * - * This include file contains all the constants and structures associated - * with the multiprocessing support in the task manager. + * @defgroup ClassicTaskMP Task MP Support + * + * @ingroup ClassicRTEMS + * @brief Task Manager MP Support + * + * This include file contains all the constants and structures associated + * with the multiprocessing support in the task manager. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_TASKMP_H diff --git a/cpukit/rtems/include/rtems/rtems/timer.h b/cpukit/rtems/include/rtems/rtems/timer.h index 29c9f092ec..f27f958d9a 100644 --- a/cpukit/rtems/include/rtems/rtems/timer.h +++ b/cpukit/rtems/include/rtems/rtems/timer.h @@ -1,38 +1,41 @@ /** * @file rtems/rtems/timer.h * - * @brief Constants, Structures, and Prototypes Associated with the Timer Manager - * - * This include file contains all the constants, structures, and - * prototypes associated with the Timer Manager. This manager provides - * facilities to configure, initiate, cancel, and delete timers which will - * fire at specified intervals of time. - * - * Directives provided are: - * - * - create a timer - * - get an ID of a timer - * - delete a timer - * - set timer to fire in context of clock tick - * - after a number of ticks have passed - * - when a specified date and time has been reached - * - initiate the timer server task - * - set timer to fire in context of the timer server task - * - after a number of ticks have passed - * - when a specified date and time has been reached - * - reset a timer - * - cancel a time + * @defgroup ClassicTimer Timers + * + * @ingroup ClassicRTEMS + * @brief Instantiate RTEMS Timer Data + * + * This include file contains all the constants, structures, and + * prototypes associated with the Timer Manager. This manager provides + * facilities to configure, initiate, cancel, and delete timers which will + * fire at specified intervals of time. + * + * Directives provided are: + * + * - create a timer + * - get an ID of a timer + * - delete a timer + * - set timer to fire in context of clock tick + * - after a number of ticks have passed + * - when a specified date and time has been reached + * - initiate the timer server task + * - set timer to fire in context of the timer server task + * - after a number of ticks have passed + * - when a specified date and time has been reached + * - reset a timer + * - cancel a time */ /* - * COPYRIGHT (c) 1989-2011. - * On-Line Applications Research Corporation (OAR). + * COPYRIGHT (c) 1989-2011. + * On-Line Applications Research Corporation (OAR). * - * Copyright (c) 2009 embedded brains GmbH. + * Copyright (c) 2009 embedded brains GmbH. * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_TIMER_H @@ -231,16 +234,16 @@ RTEMS_TIMER_EXTERN Objects_Information _Timer_Information; void _Timer_Manager_initialization(void); /** - * @brief RTEMS Create Timer + * @brief RTEMS Create Timer * - * This routine implements the rtems_timer_create directive. The - * timer will have the name name. It returns the id of the - * created timer in ID. + * This routine implements the rtems_timer_create directive. The + * timer will have the name name. It returns the id of the + * created timer in ID. * - * @param[in] name is the timer name - * @param[out] id is the pointer to timer id + * @param[in] name is the timer name + * @param[out] id is the pointer to timer id * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful */ rtems_status_code rtems_timer_create( rtems_name name, @@ -248,18 +251,18 @@ rtems_status_code rtems_timer_create( ); /** - * @brief RTEMS Timer Name to Id + * @brief RTEMS Timer Name to Id * - * This routine implements the rtems_timer_ident directive. - * This directive returns the timer ID associated with name. - * If more than one timer is named name, then the timer - * to which the ID belongs is arbitrary. + * This routine implements the rtems_timer_ident directive. + * This directive returns the timer ID associated with name. + * If more than one timer is named name, then the timer + * to which the ID belongs is arbitrary. * - * @param[in] name is the user defined message queue name - * @param[in] id is the pointer to timer id + * @param[in] name is the user defined message queue name + * @param[in] id is the pointer to timer id * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful and - * id filled with the message queue id + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful and + * id filled with the message queue id */ rtems_status_code rtems_timer_ident( rtems_name name, @@ -277,38 +280,38 @@ rtems_status_code rtems_timer_cancel( ); /** - * @brief RTEMS Delete Timer + * @brief RTEMS Delete Timer * - * This routine implements the rtems_timer_delete directive. The - * timer indicated by ID is deleted. + * This routine implements the rtems_timer_delete directive. The + * timer indicated by ID is deleted. * - * @param[in] id is the timer id + * @param[in] id is the timer id * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_timer_delete( rtems_id id ); /** - * @brief RTEMS Timer Fire After - * - * This routine implements the rtems_timer_fire_after directive. It - * initiates the timer associated with ID to fire in ticks clock ticks. - * When the timer fires, the routine will be invoked in the context - * of the rtems_clock_tick directive which is normally invoked as - * part of servicing a periodic interupt. - * - * @param[in] id is the timer id - * @param[in] ticks is the interval until routine is fired - * @param[in] routine is the routine to schedule - * @param[in] user_data is the passed as argument to routine when it is fired - * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @brief RTEMS Timer Fire After + * + * This routine implements the rtems_timer_fire_after directive. It + * initiates the timer associated with ID to fire in ticks clock ticks. + * When the timer fires, the routine will be invoked in the context + * of the rtems_clock_tick directive which is normally invoked as + * part of servicing a periodic interupt. + * + * @param[in] id is the timer id + * @param[in] ticks is the interval until routine is fired + * @param[in] routine is the routine to schedule + * @param[in] user_data is the passed as argument to routine when it is fired + * + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_timer_fire_after( rtems_id id, @@ -318,22 +321,22 @@ rtems_status_code rtems_timer_fire_after( ); /** - * @brief RTEMS Timer Server Fire After - * - * This routine implements the rtems_timer_server_fire_after directive. It - * initiates the timer associated with ID to fire in ticks clock - * ticks. When the timer fires, the routine will be invoked by the - * Timer Server in the context of a task NOT IN THE CONTEXT of the - * clock tick interrupt. - * - * @param[in] id is the timer id - * @param[in] ticks is the interval until routine is fired - * @param[in] routine is the routine to schedule - * @param[in] user_data is the passed as argument to routine when it is fired - * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @brief RTEMS Timer Server Fire After + * + * This routine implements the rtems_timer_server_fire_after directive. It + * initiates the timer associated with ID to fire in ticks clock + * ticks. When the timer fires, the routine will be invoked by the + * Timer Server in the context of a task NOT IN THE CONTEXT of the + * clock tick interrupt. + * + * @param[in] id is the timer id + * @param[in] ticks is the interval until routine is fired + * @param[in] routine is the routine to schedule + * @param[in] user_data is the passed as argument to routine when it is fired + * + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_timer_server_fire_after( rtems_id id, @@ -343,22 +346,22 @@ rtems_status_code rtems_timer_server_fire_after( ); /** - * @brief RTEMS Timer Fire When - * - * This routine implements the rtems_timer_fire_when directive. It - * initiates the timer associated with ID to fire at wall_time - * When the timer fires, the routine will be invoked in the context - * of the rtems_clock_tick directive which is normally invoked as - * part of servicing a periodic interupt. - * - * @param[in] id is the timer id - * @param[in] wall_time is the time of day to fire timer - * @param[in] routine is the routine to schedule - * @param[in] user_data is the passed as argument to routine when it is fired - * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @brief RTEMS Timer Fire When + * + * This routine implements the rtems_timer_fire_when directive. It + * initiates the timer associated with ID to fire at wall_time + * When the timer fires, the routine will be invoked in the context + * of the rtems_clock_tick directive which is normally invoked as + * part of servicing a periodic interupt. + * + * @param[in] id is the timer id + * @param[in] wall_time is the time of day to fire timer + * @param[in] routine is the routine to schedule + * @param[in] user_data is the passed as argument to routine when it is fired + * + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_timer_fire_when( rtems_id id, @@ -435,16 +438,16 @@ typedef struct { } rtems_timer_information; /** - * @brief RTEMS Get Timer Information + * @brief RTEMS Get Timer Information * - * This routine implements the rtems_timer_get_information directive. - * This directive returns information about the timer. + * This routine implements the rtems_timer_get_information directive. + * This directive returns information about the timer. * - * @param[in] id is the timer id - * @param[in] the_info is the pointer to timer information block + * @param[in] id is the timer id + * @param[in] the_info is the pointer to timer information block * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful and - * *the_info region information block filled in + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful and + * *the_info region information block filled in */ rtems_status_code rtems_timer_get_information( rtems_id id, diff --git a/cpukit/rtems/inline/rtems/rtems/asr.inl b/cpukit/rtems/inline/rtems/rtems/asr.inl index 3aabaaae5b..9f42120018 100644 --- a/cpukit/rtems/inline/rtems/rtems/asr.inl +++ b/cpukit/rtems/inline/rtems/rtems/asr.inl @@ -1,16 +1,21 @@ /** * @file rtems/rtems/asr.inl * - * This include file contains the implemenation of all routines - * associated with the asynchronous signal handler which are inlined. + * @defgroup ClassicASR ASR Support + * + * @ingroup ClassicRTEMS + * @brief Asynchronous Signal Handler + * + * This include file contains the implemenation of all routines + * associated with the asynchronous signal handler which are inlined. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_ASR_H diff --git a/cpukit/rtems/inline/rtems/rtems/barrier.inl b/cpukit/rtems/inline/rtems/rtems/barrier.inl index 08508b9665..0d0ee4cf88 100644 --- a/cpukit/rtems/inline/rtems/rtems/barrier.inl +++ b/cpukit/rtems/inline/rtems/rtems/barrier.inl @@ -1,17 +1,22 @@ /** * @file rtems/rtems/barrier.inl * + * @defgroup ClassicBarrier Barriers + * + * @ingroup ClassicRTEMS + * @brief Inline Implementation from Barrier Manager + * * This file contains the static inlin implementation of the inlined * routines from the Barrier Manager. */ /* - * COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). + * COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_BARRIER_H diff --git a/cpukit/rtems/inline/rtems/rtems/region.inl b/cpukit/rtems/inline/rtems/rtems/region.inl index 3319630dc9..d63ad1c109 100644 --- a/cpukit/rtems/inline/rtems/rtems/region.inl +++ b/cpukit/rtems/inline/rtems/rtems/region.inl @@ -1,16 +1,21 @@ /** * @file rtems/rtems/region.inl * - * This file contains the macro implementation of the inlined - * routines from the Region Manager. + * @defgroup ClassicRegion + * + * @ingroup ClassicRTEMS + * @brief Macro Implementation from Region Manager + * + * This file contains the macro implementation of the inlined + * routines from the Region Manager. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_REGION_H diff --git a/cpukit/rtems/inline/rtems/rtems/timer.inl b/cpukit/rtems/inline/rtems/rtems/timer.inl index 73f5221a86..f4067ae09a 100644 --- a/cpukit/rtems/inline/rtems/rtems/timer.inl +++ b/cpukit/rtems/inline/rtems/rtems/timer.inl @@ -1,17 +1,22 @@ /** * @file rtems/rtems/timer.inl * + * @defgroup ClassicTimer Timers + * + * @ingroup ClassicRTEMS + * @brief Inline Implementation from Timer Manager + * * This file contains the static inline implementation of the inlined routines * from the Timer Manager. */ /* - * COPYRIGHT (c) 1989-2011. - * On-Line Applications Research Corporation (OAR). + * COPYRIGHT (c) 1989-2011. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_TIMER_H -- cgit v1.2.3 From 61b8e9f65c881db401cdbcb24b642415dce1edc7 Mon Sep 17 00:00:00 2001 From: Ayush Awasthi Date: Fri, 4 Jan 2013 09:29:06 -0600 Subject: rtems: Doxygen Clean Up Task #1 --- cpukit/rtems/include/rtems.h | 15 +- cpukit/rtems/include/rtems/rtems/attr.h | 19 +- cpukit/rtems/include/rtems/rtems/barriermp.h | 19 +- cpukit/rtems/include/rtems/rtems/cache.h | 39 ++-- cpukit/rtems/include/rtems/rtems/config.h | 19 +- cpukit/rtems/include/rtems/rtems/dpmem.h | 142 +++++++------- cpukit/rtems/include/rtems/rtems/mp.h | 19 +- cpukit/rtems/include/rtems/rtems/object.h | 283 ++++++++++++++------------- cpukit/rtems/include/rtems/rtems/part.h | 107 +++++----- cpukit/rtems/include/rtems/rtems/partmp.h | 19 +- cpukit/rtems/include/rtems/rtems/ratemon.h | 163 +++++++-------- cpukit/rtems/include/rtems/rtems/region.h | 255 ++++++++++++------------ cpukit/rtems/include/rtems/rtems/regionmp.h | 19 +- cpukit/rtems/include/rtems/rtems/rtemsapi.h | 17 +- cpukit/rtems/include/rtems/rtems/sem.h | 163 +++++++-------- cpukit/rtems/include/rtems/rtems/signal.h | 57 +++--- cpukit/rtems/include/rtems/rtems/smp.h | 46 ++--- cpukit/rtems/include/rtems/rtems/status.h | 19 +- cpukit/rtems/include/rtems/rtems/tasks.h | 271 ++++++++++++------------- cpukit/rtems/include/rtems/rtems/types.h | 15 +- 20 files changed, 887 insertions(+), 819 deletions(-) diff --git a/cpukit/rtems/include/rtems.h b/cpukit/rtems/include/rtems.h index d989a02aac..d4af28a8ec 100644 --- a/cpukit/rtems/include/rtems.h +++ b/cpukit/rtems/include/rtems.h @@ -1,17 +1,20 @@ /** * @file * + * @defgroup ClassicRTEMS RTEMS Classic API + * * @ingroup ClassicRTEMS + * @brief RTEMS Classic API * - * @brief Provides the Public Interface to the RTEMS Classic API + * the Public Interface to the RTEMS Classic API */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_H diff --git a/cpukit/rtems/include/rtems/rtems/attr.h b/cpukit/rtems/include/rtems/rtems/attr.h index 20c4ae2f16..4753e3acee 100644 --- a/cpukit/rtems/include/rtems/rtems/attr.h +++ b/cpukit/rtems/include/rtems/rtems/attr.h @@ -1,18 +1,21 @@ /** * @file rtems/rtems/attr.h * - * @brief Information about the Object Attributes Handler + * @defgroup ClassicAttributes Attributes * - * This include file contains all information about the Object Attributes - * Handler. + * @ingroup ClassicRTEMS + * @brief Object Attributes Handler + * + * This include file contains all information about the Object Attributes + * Handler. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_ATTR_H diff --git a/cpukit/rtems/include/rtems/rtems/barriermp.h b/cpukit/rtems/include/rtems/rtems/barriermp.h index 102979c36b..da5d372c0a 100644 --- a/cpukit/rtems/include/rtems/rtems/barriermp.h +++ b/cpukit/rtems/include/rtems/rtems/barriermp.h @@ -1,16 +1,21 @@ /** * @file rtems/rtems/barriermp.h * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the Barrier Manager. + * @defgroup ClassicBarrierMP Barrier MP Support + * + * @ingroup ClassicMP + * @brief MP Support in the Barrier Manager + * + * This include file contains all the constants and structures associated + * with the Multiprocessing Support in the Barrier Manager. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_SEMMP_H diff --git a/cpukit/rtems/include/rtems/rtems/cache.h b/cpukit/rtems/include/rtems/rtems/cache.h index 95cf14f741..c4bc79dc97 100644 --- a/cpukit/rtems/include/rtems/rtems/cache.h +++ b/cpukit/rtems/include/rtems/rtems/cache.h @@ -1,32 +1,35 @@ /** * @file rtems/rtems/cache.h * - * @brief Functionality Associated with the Cache Manager + * @defgroup ClassicCache Cache * - * Cache Manager + * @ingroup ClassicRTEMS + * @brief Cache Manager + * + * Functionality Associated with the Cache Manager */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. * * - * The functions in this file define the API to the RTEMS Cache Manager and - * are divided into data cache and instruction cache functions. Data cache - * functions are only meaningful if a data cache is supported. Instruction - * cache functions are only meaningful if an instruction cache is supported. + * The functions in this file define the API to the RTEMS Cache Manager and + * are divided into data cache and instruction cache functions. Data cache + * functions are only meaningful if a data cache is supported. Instruction + * cache functions are only meaningful if an instruction cache is supported. * - * The functions below are implemented with CPU dependent support routines - * implemented as part of libcpu. In the event that a CPU does not support a - * specific function, the CPU dependent routine does nothing (but does exist). + * The functions below are implemented with CPU dependent support routines + * implemented as part of libcpu. In the event that a CPU does not support a + * specific function, the CPU dependent routine does nothing (but does exist). * - * At this point, the Cache Manager makes no considerations, and provides no - * support for BSP specific issues such as a secondary cache. In such a system, - * the CPU dependent routines would have to be modified, or a BSP layer added - * to this Manager. + * At this point, the Cache Manager makes no considerations, and provides no + * support for BSP specific issues such as a secondary cache. In such a system, + * the CPU dependent routines would have to be modified, or a BSP layer added + * to this Manager. */ #ifndef _RTEMS_RTEMS_CACHE_H diff --git a/cpukit/rtems/include/rtems/rtems/config.h b/cpukit/rtems/include/rtems/rtems/config.h index e4ac509d88..3ad19ea68b 100644 --- a/cpukit/rtems/include/rtems/rtems/config.h +++ b/cpukit/rtems/include/rtems/rtems/config.h @@ -1,18 +1,21 @@ /** * @file rtems/rtems/config.h * - * @brief Records Which Define the Configuration Table + * @defgroup ClassicConfig Configuration * - * This include file contains the table of user defined configuration - * parameters specific for the RTEMS API. + * @ingroup ClassicRTEMS + * @brief Configuration Table + * + * This include file contains the table of user defined configuration + * parameters specific for the RTEMS API. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_CONFIG_H diff --git a/cpukit/rtems/include/rtems/rtems/dpmem.h b/cpukit/rtems/include/rtems/rtems/dpmem.h index 1ea1e02faf..aea8aea6a4 100644 --- a/cpukit/rtems/include/rtems/rtems/dpmem.h +++ b/cpukit/rtems/include/rtems/rtems/dpmem.h @@ -1,30 +1,32 @@ /** * @file rtems/rtems/dpmem.h * - * @brief Constants and Structures Associated with the Dual Ported Memory - * Manager + * @defgroup ClassicDPMEM Dual Ported Memory * - * This include file contains all the constants and structures associated - * with the Dual Ported Memory Manager. This manager provides a mechanism - * for converting addresses between internal and external representations - * for multiple dual-ported memory areas. + * @ingroup ClassicRTEMS + * @brief Dual Ported Memory Manager * - * Directives provided are: + * This include file contains all the constants and structures associated + * with the Dual Ported Memory Manager. This manager provides a mechanism + * for converting addresses between internal and external representations + * for multiple dual-ported memory areas. * - * - create a port - * - get ID of a port - * - delete a port - * - convert external to internal address - * - convert internal to external address + * Directives provided are: + * + * - create a port + * - get ID of a port + * - delete a port + * - convert external to internal address + * - convert internal to external address * */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_DPMEM_H @@ -88,24 +90,24 @@ RTEMS_DPMEM_EXTERN Objects_Information _Dual_ported_memory_Information; void _Dual_ported_memory_Manager_initialization(void); /** - * @brief Creates a port into a dual-ported memory area. - * - * This routine implements the rtems_port_create directive. The port - * will have the name @a name. The port maps onto an area of dual ported - * memory of length bytes which has internal_start and external_start - * as the internal and external starting addresses, respectively. - * It returns the id of the created port in ID. - * - * @param[in] name is the user defined port name - * @param[in] internal_start is the internal start address of port - * @param[in] external_start is the external start address of port - * @param[in] length is the physical length in bytes - * @param[out] id is the address of port id to set - * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. If successful, the id will - * be filled in with the port id. + * @brief Creates a port into a dual-ported memory area. + * + * This routine implements the rtems_port_create directive. The port + * will have the name @a name. The port maps onto an area of dual ported + * memory of length bytes which has internal_start and external_start + * as the internal and external starting addresses, respectively. + * It returns the id of the created port in ID. + * + * @param[in] name is the user defined port name + * @param[in] internal_start is the internal start address of port + * @param[in] external_start is the external start address of port + * @param[in] length is the physical length in bytes + * @param[out] id is the address of port id to set + * + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. If successful, the id will + * be filled in with the port id. */ rtems_status_code rtems_port_create( rtems_name name, @@ -116,16 +118,16 @@ rtems_status_code rtems_port_create( ); /** - * @brief RTEMS Port Name to Id + * @brief RTEMS Port Name to Id * - * This routine implements the rtems_port_ident directive. This directive - * returns the port ID associated with name. If more than one port is - * named name, then the port to which the ID belongs is arbitrary. + * This routine implements the rtems_port_ident directive. This directive + * returns the port ID associated with name. If more than one port is + * named name, then the port to which the ID belongs is arbitrary. * - * @param[in] name is the user defined port name - * @param[out] id is the pointer to port id + * @param[in] name is the user defined port name + * @param[out] id is the pointer to port id * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful */ rtems_status_code rtems_port_ident( rtems_name name, @@ -133,35 +135,35 @@ rtems_status_code rtems_port_ident( ); /** - * @brief RTEMS Delete Port + * @brief RTEMS Delete Port * - * This routine implements the rtems_port_delete directive. It deletes - * the port associated with ID. + * This routine implements the rtems_port_delete directive. It deletes + * the port associated with ID. * - * @param[in] id is the dual-ported memory area id + * @param[in] id is the dual-ported memory area id * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_port_delete( rtems_id id ); /** - * @brief RTEMS Port External to Internal + * @brief RTEMS Port External to Internal * - * This routine implements the rtems_port_external_to_internal directive. - * It returns the internal port address which maps to the provided - * external port address for the specified port ID.If the given external - * address is an invalid dual-ported address, then the internal address is - * set to the given external address. + * This routine implements the rtems_port_external_to_internal directive. + * It returns the internal port address which maps to the provided + * external port address for the specified port ID. If the given external + * address is an invalid dual-ported address, then the internal address is + * set to the given external address. * - * @param[in] id is the id of dp memory object - * @param[in] external is the external address - * @param[out] internal is the pointer of internal address to set + * @param[in] id is the id of dp memory object + * @param[in] external is the external address + * @param[out] internal is the pointer of internal address to set * - * @return RTEMS_SUCCESSFUL + * @retval RTEMS_SUCCESSFUL */ rtems_status_code rtems_port_external_to_internal( rtems_id id, @@ -170,20 +172,20 @@ rtems_status_code rtems_port_external_to_internal( ); /** - * @brief RTEMS Port Internal to External + * @brief RTEMS Port Internal to External * - * This routine implements the Port_internal_to_external directive. - * It returns the external port address which maps to the provided - * internal port address for the specified port ID. If the given - * internal address is an invalid dual-ported address, then the - * external address is set to the given internal address. + * This routine implements the Port_internal_to_external directive. + * It returns the external port address which maps to the provided + * internal port address for the specified port ID. If the given + * internal address is an invalid dual-ported address, then the + * external address is set to the given internal address. * - * @param[in] id is the id of dual-ported memory object - * @param[in] internal is the internal address to set - * @param[in] external is the pointer to external address + * @param[in] id is the id of dual-ported memory object + * @param[in] internal is the internal address to set + * @param[in] external is the pointer to external address * - * @return RTEMS_SUCCESSFUL and the external will be filled in - * with the external addresses + * @retval RTEMS_SUCCESSFUL and the external will be filled in + * with the external addresses */ rtems_status_code rtems_port_internal_to_external( rtems_id id, diff --git a/cpukit/rtems/include/rtems/rtems/mp.h b/cpukit/rtems/include/rtems/rtems/mp.h index f7b5f20c62..fc59e74493 100644 --- a/cpukit/rtems/include/rtems/rtems/mp.h +++ b/cpukit/rtems/include/rtems/rtems/mp.h @@ -1,16 +1,21 @@ /** * @file rtems/rtems/mp.h * - * This include file contains all the constants and structures associated - * with the Multiprocessing Manager. + * @defgroup ClassicMP Multiprocessing + * + * @ingroup ClassicRTEMS + * @brief Multiprocessing Manager + * + * This include file contains all the constants and structures associated + * with the Multiprocessing Manager. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_MP_H diff --git a/cpukit/rtems/include/rtems/rtems/object.h b/cpukit/rtems/include/rtems/rtems/object.h index c4e99cbeff..bd80cc00da 100644 --- a/cpukit/rtems/include/rtems/rtems/object.h +++ b/cpukit/rtems/include/rtems/rtems/object.h @@ -1,17 +1,20 @@ /** * @file rtems/rtems/object.h * + * @defgroup ClassicClassInfo Object Class Information + * + * @ingroup ClassicRTEMS * @brief Classic API interfaces to Object Services * * This include file defines Classic API interfaces to Object Services. */ -/* COPYRIGHT (c) 1989-2011. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2011. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_OBJECT_H @@ -53,59 +56,59 @@ typedef struct { } rtems_object_api_class_information; /** - * @brief Build Object Id + * @brief Build Object Id * - * This function returns an object id composed of the - * specified @a api, @a class, @a node, - * and @a index. + * This function returns an object id composed of the + * specified @a api, @a class, @a node, + * and @a index. * - * @param[in] _api indicates the api to use for the Id - * @param[in] _class indicates the class to use for the Id - * @param[in] _node indicates the node to use for the Id - * @param[in] _index indicates the index to use for the Id + * @param[in] _api indicates the api to use for the Id + * @param[in] _class indicates the class to use for the Id + * @param[in] _node indicates the node to use for the Id + * @param[in] _index indicates the index to use for the Id * - * @return This method returns an object Id built from the - * specified values. + * @retval This method returns an object Id built from the + * specified values. * - * @note A body is also provided. + * @note A body is also provided. */ #define rtems_build_id( _api, _class, _node, _index ) \ _Objects_Build_id( _api, _class, _node, _index ) /** - * @brief Build Thirty-Two Bit Object Name + * @brief Build Thirty-Two Bit Object Name * - * RTEMS Object Helper -- Build an Object Id + * RTEMS Object Helper -- Build an Object Id * - * This function returns an object name composed of the four characters - * C1, C2, C3, and C4. + * This function returns an object name composed of the four characters + * C1, C2, C3, and C4. * - * @param[in] _C1 is the first character of the name - * @param[in] _C2 is the second character of the name - * @param[in] _C3 is the third character of the name - * @param[in] _C4 is the fourth character of the name + * @param[in] _C1 is the first character of the name + * @param[in] _C2 is the second character of the name + * @param[in] _C3 is the third character of the name + * @param[in] _C4 is the fourth character of the name * - * @note This must be implemented as a macro for use in - * Configuration Tables. A body is also provided. + * @note This must be implemented as a macro for use in + * Configuration Tables. A body is also provided. * */ #define rtems_build_name( _C1, _C2, _C3, _C4 ) \ _Objects_Build_name( _C1, _C2, _C3, _C4 ) /** - * @brief Obtain Name of Object + * @brief Obtain Name of Object * - * This directive returns the name associated with the specified - * object ID. + * This directive returns the name associated with the specified + * object ID. * - * @param[in] id is the Id of the object to obtain the name of. - * @param[out] name will be set to the name of the object + * @param[in] id is the Id of the object to obtain the name of. + * @param[out] name will be set to the name of the object * - * @note The object must be have a name of the 32-bit form. + * @note The object must be have a name of the 32-bit form. * - * @return @a *name will contain user defined object name - * @return @a RTEMS_SUCCESSFUL - if successful - * @return error code - if unsuccessful + * @retval @a *name will contain user defined object name + * @retval @a RTEMS_SUCCESSFUL - if successful + * @retval error code - if unsuccessful */ rtems_status_code rtems_object_get_classic_name( rtems_id id, @@ -113,18 +116,18 @@ rtems_status_code rtems_object_get_classic_name( ); /** - * @brief Obtain Object Name as String + * @brief Obtain Object Name as String * - * This directive returns the name associated with the specified - * object ID. + * This directive returns the name associated with the specified + * object ID. * - * @param[in] id is the Id of the object to obtain the name of - * @param[in] length is the length of the output name buffer - * @param[out] name will be set to the name of the object + * @param[in] id is the Id of the object to obtain the name of + * @param[in] length is the length of the output name buffer + * @param[out] name will be set to the name of the object * - * @return @a *name will contain user defined object name - * @return @a name - if successful - * @return @a NULL - if unsuccessful + * @retval @a *name will contain user defined object name + * @retval @a name - if successful + * @retval @a NULL - if unsuccessful */ char *rtems_object_get_name( rtems_id id, @@ -133,20 +136,20 @@ char *rtems_object_get_name( ); /** - * @brief Set Name of Object + * @brief Set Name of Object * - * This method allows the caller to set the name of an - * object. This can be used to set the name of objects - * which do not have a naming scheme per their API. + * This method allows the caller to set the name of an + * object. This can be used to set the name of objects + * which do not have a naming scheme per their API. * - * RTEMS Object Helper -- Set Name of Object as String + * RTEMS Object Helper -- Set Name of Object as String * - * @param[in] id is the Id of the object to obtain the name of - * @param[out] name will be set to the name of the object + * @param[in] id is the Id of the object to obtain the name of + * @param[out] name will be set to the name of the object * - * @return @a *name will contain user defined object name - * @return @a RTEMS_SUCCESSFUL - if successful - * @return error code - if unsuccessful + * @retval @a *name will contain user defined object name + * @retval @a RTEMS_SUCCESSFUL - if successful + * @retval error code - if unsuccessful */ rtems_status_code rtems_object_set_name( rtems_id id, @@ -154,131 +157,131 @@ rtems_status_code rtems_object_set_name( ); /** - * @brief Get API Portion of Object Id + * @brief Get API Portion of Object Id * - * RTEMS Object Helper -- Extract API From Id + * RTEMS Object Helper -- Extract API From Id * - * This function returns the API portion of the Id. + * This function returns the API portion of the Id. * - * @param[in] _id is the Id of the object to obtain the API from + * @param[in] _id is the Id of the object to obtain the API from * - * @return This method returns the API portion of the provided - * @a _id. + * @retval This method returns the API portion of the provided + * @a _id. * - * @note This method does NOT validate the @a _id provided. + * @note This method does NOT validate the @a _id provided. * - * @note A body is also provided. + * @note A body is also provided. */ #define rtems_object_id_get_api( _id ) \ _Objects_Get_API( _id ) /** - * @brief Get Class Portion of Object Id + * @brief Get Class Portion of Object Id * - * This function returns the class portion of the @a _id ID. + * This function returns the class portion of the @a _id ID. * - * @param[in] _id is the Id of the object to obtain the class from + * @param[in] _id is the Id of the object to obtain the class from * - * @return This method returns the class portion of the provided - * @a _id. + * @retval This method returns the class portion of the provided + * @a _id. * - * @note This method does NOT validate the @a _id provided. + * @note This method does NOT validate the @a _id provided. * - * @note A body is also provided. + * @note A body is also provided. */ #define rtems_object_id_get_class( _id ) \ _Objects_Get_class( _id ) /** - * @brief Get Node Portion of Object Id + * @brief Get Node Portion of Object Id * - * This function returns the node portion of the ID. + * This function returns the node portion of the ID. * - * @param[in] _id is the Id of the object to obtain the node from + * @param[in] _id is the Id of the object to obtain the node from * - * @return This method returns the node portion of the provided + * @retval This method returns the node portion of the provided * @a _id. * - * @note This method does NOT validate the @a _id provided. + * @note This method does NOT validate the @a _id provided. * - * @note A body is also provided. + * @note A body is also provided. */ #define rtems_object_id_get_node( _id ) \ _Objects_Get_node( _id ) /** - * @brief Get Index Portion of Object Id + * @brief Get Index Portion of Object Id * - * This function returns the index portion of the ID. + * This function returns the index portion of the ID. * - * @param[in] _id is the Id of the object to obtain the index from + * @param[in] _id is the Id of the object to obtain the index from * - * @return This method returns the index portion of the provided - * @a _id. + * @retval This method returns the index portion of the provided + * @a _id. * - * @note This method does NOT validate the @a _id provided. + * @note This method does NOT validate the @a _id provided. * - * @note A body is also provided. + * @note A body is also provided. */ #define rtems_object_id_get_index( _id ) \ _Objects_Get_index( _id ) /** - * @brief Get Lowest Valid API Index + * @brief Get Lowest Valid API Index * - * This method returns the lowest valid value for the API - * portion of an RTEMS object Id. + * This method returns the lowest valid value for the API + * portion of an RTEMS object Id. * - * @return This method returns the least valid value for - * the API portion of an RTEMS object Id. + * @retval This method returns the least valid value for + * the API portion of an RTEMS object Id. * - * @note A body is also provided. + * @note A body is also provided. */ #define rtems_object_id_api_minimum() \ OBJECTS_INTERNAL_API /** - * @brief Get Highest Valid API Index + * @brief Get Highest Valid API Index * - * This method returns the highest valid value for the API - * portion of an RTEMS object Id. + * This method returns the highest valid value for the API + * portion of an RTEMS object Id. * - * @return This method returns the greatest valid value for - * the API portion of an RTEMS object Id. + * @retval This method returns the greatest valid value for + * the API portion of an RTEMS object Id. * - * @note A body is also provided. + * @note A body is also provided. */ #define rtems_object_id_api_maximum() \ OBJECTS_APIS_LAST /** - * @brief Get Lowest Valid Class Value + * @brief Get Lowest Valid Class Value * - * This method returns the lowest valid value Class for the - * specified @a api. Each API supports a different number - * of object classes. + * This method returns the lowest valid value Class for the + * specified @a api. Each API supports a different number + * of object classes. * - * @param[in] api is the API to obtain the minimum class of + * @param[in] api is the API to obtain the minimum class of * - * @return This method returns the least valid value for - * class number for the specified @a api. - * RTEMS Object Helper -- Get Least Valid Class for an API + * @retval This method returns the least valid value for + * class number for the specified @a api. + * RTEMS Object Helper -- Get Least Valid Class for an API */ int rtems_object_api_minimum_class( int api ); /** - * @brief Get Highest Valid Class Value + * @brief Get Highest Valid Class Value * - * This method returns the highest valid value Class for the - * specified @a api. Each API supports a different number - * of object classes. + * This method returns the highest valid value Class for the + * specified @a api. Each API supports a different number + * of object classes. * - * @param[in] api is the API to obtain the maximum class of + * @param[in] api is the API to obtain the maximum class of * - * @return This method returns the greatet valid value for - * class number for the specified @a api. + * @retval This method returns the greatet valid value for + * class number for the specified @a api. */ int rtems_object_api_maximum_class( int api @@ -286,49 +289,49 @@ int rtems_object_api_maximum_class( /** - * @brief Get Highest Valid Class Value + * @brief Get Highest Valid Class Value * - * This method returns the lowest valid value Class for the - * specified @a api. Each API supports a different number - * of object classes. + * This method returns the lowest valid value Class for the + * specified @a api. Each API supports a different number + * of object classes. * - * @param[in] api is the API to obtain the maximum class of + * @param[in] api is the API to obtain the maximum class of * - * @return This method returns the least valid value for - * class number for the specified @a api. + * @retval This method returns the least valid value for + * class number for the specified @a api. */ int rtems_object_id_api_maximum_class( int api ); /** - * @brief Get API Name + * @brief Get API Name * - * This method returns a string containing the name of the - * specified @a api. + * This method returns a string containing the name of the + * specified @a api. * - * @param[in] api is the API to obtain the name of + * @param[in] api is the API to obtain the name of * - * @return If successful, this method returns the name of - * the specified @a api. Otherwise, it returns - * the string "BAD API" + * @retval If successful, this method returns the name of + * the specified @a api. Otherwise, it returns + * the string "BAD API" */ const char *rtems_object_get_api_name( int api ); /** - * @brief Get Class Name + * @brief Get Class Name * - * This method returns a string containing the name of the - * @a class from the specified @a api. + * This method returns a string containing the name of the + * @a class from the specified @a api. * - * @param[in] the_api is the API for the class - * @param[in] the_class is the class to obtain the name of + * @param[in] the_api is the API for the class + * @param[in] the_class is the class to obtain the name of * - * @return If successful, this method returns the name of - * the specified @a class. Otherwise, it returns - * the string "BAD CLASS" + * @retval If successful, this method returns the name of + * the specified @a class. Otherwise, it returns + * the string "BAD CLASS" */ const char *rtems_object_get_api_class_name( int the_api, @@ -336,18 +339,18 @@ const char *rtems_object_get_api_class_name( ); /** - * @brief Get Class Information + * @brief Get Class Information * - * This method returns a string containing the name of the - * @a the_class from the specified @a api. + * This method returns a string containing the name of the + * @a the_class from the specified @a api. * - * @param[in] the_api is the API for the class - * @param[in] the_class is the class to obtain information about - * @param[in] info points to the information structure to fill in + * @param[in] the_api is the API for the class + * @param[in] the_class is the class to obtain information about + * @param[in] info points to the information structure to fill in * - * @return If successful, this method returns the name of - * RTEMS_SUCCESSFUL with @a *info filled in. Otherwise, - * a status is returned to indicate the error. + * @retval If successful, this method returns the name of + * RTEMS_SUCCESSFUL with @a *info filled in. Otherwise, + * a status is returned to indicate the error. * */ rtems_status_code rtems_object_get_class_information( diff --git a/cpukit/rtems/include/rtems/rtems/part.h b/cpukit/rtems/include/rtems/rtems/part.h index ff1cedd823..c864bebc5f 100644 --- a/cpukit/rtems/include/rtems/rtems/part.h +++ b/cpukit/rtems/include/rtems/rtems/part.h @@ -1,40 +1,43 @@ /** * @file rtems/rtems/part.h * - * @brief Constants and Structures Associated with the Partition Manager + * @defgroup ClassicPart Partitions * - * This include file contains all the constants and structures associated - * with the Partition Manager. This manager provides facilities to - * dynamically allocate memory in fixed-sized units which are returned - * as buffers. + * @ingroup ClassicRTEMS + * @brief Partition Manager * - * Directives provided are: + * This include file contains all the constants and structures associated + * with the Partition Manager. This manager provides facilities to + * dynamically allocate memory in fixed-sized units which are returned + * as buffers. * - * - create a partition - * - get an ID of a partition - * - delete a partition - * - get a buffer from a partition - * - return a buffer to a partition + * Directives provided are: + * + * - create a partition + * - get an ID of a partition + * - delete a partition + * - get a buffer from a partition + * - return a buffer to a partition */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_PART_H #define _RTEMS_RTEMS_PART_H /** - * This constant is defined to extern most of the time when using - * this header file. However by defining it to nothing, the data - * declared in this header file can be instantiated. This is done - * in a single per manager file. + * This constant is defined to extern most of the time when using + * this header file. However by defining it to nothing, the data + * declared in this header file can be instantiated. This is done + * in a single per manager file. * - * Partition Manager -- Instantiate Data + * Partition Manager -- Instantiate Data */ #ifndef RTEMS_PART_EXTERN #define RTEMS_PART_EXTERN extern @@ -117,22 +120,22 @@ rtems_status_code rtems_partition_create( ); /** - * @brief RTEMS Partition Ident - * - * This routine implements the rtems_partition_ident directive. - * This directive returns the partition ID associated with name. - * If more than one partition is named name, then the partition - * to which the ID belongs is arbitrary. node indicates the - * extent of the search for the ID of the partition named name. - * The search can be limited to a particular node or allowed to - * encompass all nodes. - * - * @param[in] name is the user defined partition name - * @param[in] node is(are) the node(s) to be searched - * @param[in] id is the pointer to partition id - * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful and - * *id filled in with the partition id + * @brief RTEMS Partition Ident + * + * This routine implements the rtems_partition_ident directive. + * This directive returns the partition ID associated with name. + * If more than one partition is named name, then the partition + * to which the ID belongs is arbitrary. node indicates the + * extent of the search for the ID of the partition named name. + * The search can be limited to a particular node or allowed to + * encompass all nodes. + * + * @param[in] name is the user defined partition name + * @param[in] node is(are) the node(s) to be searched + * @param[in] id is the pointer to partition id + * + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful and + * *id filled in with the partition id */ rtems_status_code rtems_partition_ident( rtems_name name, @@ -141,33 +144,33 @@ rtems_status_code rtems_partition_ident( ); /** - * @brief RTEMS Delete Partition + * @brief RTEMS Delete Partition * - * This routine implements the rtems_partition_delete directive. The - * partition indicated by ID is deleted, provided that none of its buffers - * are still allocated. + * This routine implements the rtems_partition_delete directive. The + * partition indicated by ID is deleted, provided that none of its buffers + * are still allocated. * - * @param[in] id is the partition id + * @param[in] id is the partition id * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_partition_delete( rtems_id id ); /** - * @brief RTEMS Get Partition Buffer + * @brief RTEMS Get Partition Buffer * - * This routine implements the rtems_partition_get_buffer directive. It - * attempts to allocate a buffer from the partition associated with ID. - * If a buffer is allocated, its address is returned in buffer. + * This routine implements the rtems_partition_get_buffer directive. It + * attempts to allocate a buffer from the partition associated with ID. + * If a buffer is allocated, its address is returned in buffer. * - * @param[in] id is the partition id - * @param[out] buffer is the pointer to buffer address + * @param[in] id is the partition id + * @param[out] buffer is the pointer to buffer address * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful */ rtems_status_code rtems_partition_get_buffer( rtems_id id, diff --git a/cpukit/rtems/include/rtems/rtems/partmp.h b/cpukit/rtems/include/rtems/rtems/partmp.h index fee58e9038..0405f8036b 100644 --- a/cpukit/rtems/include/rtems/rtems/partmp.h +++ b/cpukit/rtems/include/rtems/rtems/partmp.h @@ -1,16 +1,21 @@ /** * @file rtems/rtems/partmp.h * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the Partition Manager. + * @defgroup ClassicPartMP Partition MP Support + * + * @ingroup ClassicMP + * @brief MP Support in Partition Manager + * + * This include file contains all the constants and structures associated + * with the Multiprocessing Support in the Partition Manager. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_PARTMP_H diff --git a/cpukit/rtems/include/rtems/rtems/ratemon.h b/cpukit/rtems/include/rtems/rtems/ratemon.h index 2ea3d23a13..91b84e3a26 100644 --- a/cpukit/rtems/include/rtems/rtems/ratemon.h +++ b/cpukit/rtems/include/rtems/rtems/ratemon.h @@ -1,28 +1,31 @@ /** * @file rtems/rtems/ratemon.h * - * @brief Constants, Structures, and Prototypes Associated to the Classic API Rate Monotonic Manager. + * @defgroup ClassicRateMon Rate Monotonic Scheduler * - * This include file contains all the constants, structures, and - * prototypes associated with the Rate Monotonic Manager. This manager - * provides facilities to implement threads which execute in a periodic - * fashion. + * @ingroup ClassicRTEMS + * @brief Classic API Rate Monotonic Manager. * - * Directives provided are: + * This include file contains all the constants, structures, and + * prototypes associated with the Rate Monotonic Manager. This manager + * provides facilities to implement threads which execute in a periodic + * fashion. * - * - create a rate monotonic timer - * - cancel a period - * - delete a rate monotonic timer - * - conclude current and start the next period - * - obtain status information on a period + * Directives provided are: + * + * - create a rate monotonic timer + * - cancel a period + * - delete a rate monotonic timer + * - conclude current and start the next period + * - obtain status information on a period */ -/* COPYRIGHT (c) 1989-2009. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2009. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_RATEMON_H @@ -293,19 +296,19 @@ rtems_status_code rtems_rate_monotonic_create( ); /** - * @brief RTEMS Rate Monotonic Name to Id + * @brief RTEMS Rate Monotonic Name to Id * - * This routine implements the rtems_rate_monotonic_ident directive. - * It returns the period ID associated with name. If more than one period - * is named name, then the period to which the ID belongs is arbitrary. + * This routine implements the rtems_rate_monotonic_ident directive. + * It returns the period ID associated with name. If more than one period + * is named name, then the period to which the ID belongs is arbitrary. * - * @param[in] name is the user defined period name - * @param[in] id is the pointer to period id + * @param[in] name is the user defined period name + * @param[in] id is the pointer to period id * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. If successful, the id will - * be filled in with the region id. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. If successful, the id will + * be filled in with the region id. */ rtems_status_code rtems_rate_monotonic_ident( rtems_name name, @@ -313,16 +316,16 @@ rtems_status_code rtems_rate_monotonic_ident( ); /** - * @brief RTEMS Rate Monotonic Cancel + * @brief RTEMS Rate Monotonic Cancel * - * This routine implements the rtems_rate_monotonic_cancel directive. This - * directive stops the period associated with ID from continuing to - * run. + * This routine implements the rtems_rate_monotonic_cancel directive. This + * directive stops the period associated with ID from continuing to + * run. * - * @param[in] id is the rate monotonic id + * @param[in] id is the rate monotonic id * - * @return RTEMS_SUCCESSFUL if successful and caller is not the owning thread - * or error code if unsuccessful + * @retval RTEMS_SUCCESSFUL if successful and caller is not the owning thread + * or error code if unsuccessful * */ rtems_status_code rtems_rate_monotonic_cancel( @@ -330,33 +333,33 @@ rtems_status_code rtems_rate_monotonic_cancel( ); /** - * @brief RTEMS Delete Rate Monotonic + * @brief RTEMS Delete Rate Monotonic * - * This routine implements the rtems_rate_monotonic_delete directive. The - * period indicated by ID is deleted. + * This routine implements the rtems_rate_monotonic_delete directive. The + * period indicated by ID is deleted. * - * @param[in] id is the rate monotonic id + * @param[in] id is the rate monotonic id * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_rate_monotonic_delete( rtems_id id ); /** - * @brief RTEMS Rate Monotonic Get Status + * @brief RTEMS Rate Monotonic Get Status * - * This routine implements the rtems_rate_monotonic_get_status directive. - * Information about the period indicated by ID is returned. + * This routine implements the rtems_rate_monotonic_get_status directive. + * Information about the period indicated by ID is returned. * - * @param[in] id is the rate monotonic id - * @param[in] status is the pointer to status control block + * @param[in] id is the rate monotonic id + * @param[in] status is the pointer to status control block * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. * */ rtems_status_code rtems_rate_monotonic_get_status( @@ -365,15 +368,15 @@ rtems_status_code rtems_rate_monotonic_get_status( ); /** - * @brief RTEMS Rate Monotonic Get Statistics + * @brief RTEMS Rate Monotonic Get Statistics * - * This routine implements the rtems_rate_monotonic_get_statistics directive. - * Statistics gathered from the use of this period are returned. + * This routine implements the rtems_rate_monotonic_get_statistics directive. + * Statistics gathered from the use of this period are returned. * - * @param[in] id is the rate monotonic id - * @param[in] statistics is the pointer to statistics control block + * @param[in] id is the rate monotonic id + * @param[in] statistics is the pointer to statistics control block * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful */ rtems_status_code rtems_rate_monotonic_get_statistics( rtems_id id, @@ -423,17 +426,17 @@ void rtems_rate_monotonic_report_statistics_with_plugin( void rtems_rate_monotonic_report_statistics( void ); /** - * @brief RTEMS Rate Monotonic Period + * @brief RTEMS Rate Monotonic Period * - * This routine implements the rtems_rate_monotonic_period directive. When - * length is non-zero, this directive initiates the period associated with - * ID from continuing for a period of length. If length is zero, then - * result is set to indicate the current state of the period. + * This routine implements the rtems_rate_monotonic_period directive. When + * length is non-zero, this directive initiates the period associated with + * ID from continuing for a period of length. If length is zero, then + * result is set to indicate the current state of the period. * - * @param[in] id is the rate monotonic id - * @param[in] lenght is the length of period (in ticks) + * @param[in] id is the rate monotonic id + * @param[in] lenght is the length of period (in ticks) * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful */ rtems_status_code rtems_rate_monotonic_period( rtems_id id, @@ -441,16 +444,16 @@ rtems_status_code rtems_rate_monotonic_period( ); /** - * @brief Rate Monotonic Timeout + * @brief Rate Monotonic Timeout * - * This routine is invoked when the period represented - * by ID expires. If the thread which owns this period is blocked - * waiting for the period to expire, then it is readied and the - * period is restarted. If the owning thread is not waiting for the - * period to expire, then the period is placed in the EXPIRED - * state and not restarted. + * This routine is invoked when the period represented + * by ID expires. If the thread which owns this period is blocked + * waiting for the period to expire, then it is readied and the + * period is restarted. If the owning thread is not waiting for the + * period to expire, then the period is placed in the EXPIRED + * state and not restarted. * - * @param[in] id is the period id + * @param[in] id is the period id */ void _Rate_monotonic_Timeout( rtems_id id, @@ -458,19 +461,19 @@ void _Rate_monotonic_Timeout( ); /** - * @brief _Rate_monotonic_Get_status( + * @brief _Rate_monotonic_Get_status( * - * This routine is invoked to compute the elapsed wall time and cpu - * time for a period. + * This routine is invoked to compute the elapsed wall time and cpu + * time for a period. * - * @param[in] the_period points to the period being operated upon. - * @param[out] wall_since_last_period is set to the wall time elapsed - * since the period was initiated. - * @param[out] cpu_since_last_period is set to the cpu time used by the - * owning thread since the period was initiated. + * @param[in] the_period points to the period being operated upon. + * @param[out] wall_since_last_period is set to the wall time elapsed + * since the period was initiated. + * @param[out] cpu_since_last_period is set to the cpu time used by the + * owning thread since the period was initiated. * - * @return This routine returns true if the status can be determined - * and false otherwise. + * @retval This routine returns true if the status can be determined + * and false otherwise. */ bool _Rate_monotonic_Get_status( Rate_monotonic_Control *the_period, diff --git a/cpukit/rtems/include/rtems/rtems/region.h b/cpukit/rtems/include/rtems/rtems/region.h index 73d66d290d..17519a5791 100644 --- a/cpukit/rtems/include/rtems/rtems/region.h +++ b/cpukit/rtems/include/rtems/rtems/region.h @@ -1,27 +1,30 @@ /** * @file rtems/rtems/region.h * - * @brief Constants and Structures Associated with the Region Manager + * @defgroup ClassicRegion Regions * - * This include file contains all the constants and structures associated - * with the Region Manager. This manager provides facilities to dynamically - * allocate memory in variable sized units which are returned as segments. + * @ingroup ClassicRTEMS + * @brief Region Manager * - * Directives provided are: + * This include file contains all the constants and structures associated + * with the Region Manager. This manager provides facilities to dynamically + * allocate memory in variable sized units which are returned as segments. * - * - create a region - * - get an ID of a region - * - delete a region - * - get a segment from a region - * - return a segment to a region + * Directives provided are: + * + * - create a region + * - get an ID of a region + * - delete a region + * - get a segment from a region + * - return a segment to a region */ -/* COPYRIGHT (c) 1989-2009. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2009. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_REGION_H @@ -119,20 +122,20 @@ rtems_status_code rtems_region_create( ); /** - * @brief RTEMS Extend Region + * @brief RTEMS Extend Region * - * This routine implements the rtems_region_extend directive. The - * region will have the name name. The memory area managed by - * the region will be attempted to be grown by length bytes using - * the memory starting at starting_address. + * This routine implements the rtems_region_extend directive. The + * region will have the name name. The memory area managed by + * the region will be attempted to be grown by length bytes using + * the memory starting at starting_address. * - * @param[in] id is the id of region to grow - * @param[in] starting_address starting address of memory area for extension - * @param[in] length is the physical length in bytes to grow the region + * @param[in] id is the id of region to grow + * @param[in] starting_address starting address of memory area for extension + * @param[in] length is the physical length in bytes to grow the region * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_region_extend( rtems_id id, @@ -141,20 +144,20 @@ rtems_status_code rtems_region_extend( ); /** - * @brief RTEMS Region Name to Id + * @brief RTEMS Region Name to Id * - * This routine implements the rtems_region_ident directive. - * This directive returns the region ID associated with name. - * If more than one region is named name, then the region - * to which the ID belongs is arbitrary. + * This routine implements the rtems_region_ident directive. + * This directive returns the region ID associated with name. + * If more than one region is named name, then the region + * to which the ID belongs is arbitrary. * - * @param[in] name is the user defined region name - * @param[in] id is the pointer to region id + * @param[in] name is the user defined region name + * @param[in] id is the pointer to region id * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. If successful, the id will - * be filled in with the region id. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. If successful, the id will + * be filled in with the region id. */ rtems_status_code rtems_region_ident( rtems_name name, @@ -162,17 +165,17 @@ rtems_status_code rtems_region_ident( ); /** - * @brief RTEMS Get Region Information + * @brief RTEMS Get Region Information * - * This routine implements the rtems_region_get_information directive. - * This directive returns information about the heap associated with - * this region. + * This routine implements the rtems_region_get_information directive. + * This directive returns information about the heap associated with + * this region. * - * @param[in] id is the region id - * @param[in] the_info is the pointer to region information block + * @param[in] id is the region id + * @param[in] the_info is the pointer to region information block * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful and - * *id filled with the region information block + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful and + * *id filled with the region information block */ rtems_status_code rtems_region_get_information( rtems_id id, @@ -180,20 +183,20 @@ rtems_status_code rtems_region_get_information( ); /** - * @brief RTEMS Get Region Free Information + * @brief RTEMS Get Region Free Information * - * This routine implements the rtems_region_get_free_information directive. - * This directive returns information about the free blocks in the - * heap associated with this region. Information about the used blocks - * will be returned as zero. + * This routine implements the rtems_region_get_free_information directive. + * This directive returns information about the free blocks in the + * heap associated with this region. Information about the used blocks + * will be returned as zero. * - * @param[in] id is the region id - * @param[in] the_info is the pointer to region information block + * @param[in] id is the region id + * @param[in] the_info is the pointer to region information block * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. If successful, the the_info will - * be filled in with the region information block. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. If successful, the the_info will + * be filled in with the region information block. */ rtems_status_code rtems_region_get_free_information( rtems_id id, @@ -201,43 +204,43 @@ rtems_status_code rtems_region_get_free_information( ); /** - * @brief RTEMS Delete Region + * @brief RTEMS Delete Region * - * This routine implements the rtems_region_delete directive. The - * region indicated by ID is deleted, provided that none of its segments are - * still allocated. + * This routine implements the rtems_region_delete directive. The + * region indicated by ID is deleted, provided that none of its segments are + * still allocated. * - * @param[in] id is the region id + * @param[in] id is the region id * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_region_delete( rtems_id id ); /** - * @brief RTEMS Get Region Segment - * - * This routine implements the rtems_region_get_segment directive. It - * attempts to allocate a segment from the region associated with @a id. - * If a segment of the requested @a size size can be allocated, its address - * is returned in @a segment. If no segment is available, then the task - * may return immediately or block waiting for a segment with an optional - * timeout of @a timeout clock ticks. Whether the task blocks or returns - * immediately is based on the no_wait option in the @a option_set. - * - * @param[in] id is the region id - * @param[in] size is the segment size in bytes - * @param[in] option_set is the wait option - * @param[in] timeout is the number of ticks to wait (0 means wait forever) - * @param[in] segment is the pointer to segment address - * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. If successful, the segment will - * be filled in with the segment address. + * @brief RTEMS Get Region Segment + * + * This routine implements the rtems_region_get_segment directive. It + * attempts to allocate a segment from the region associated with @a id. + * If a segment of the requested @a size size can be allocated, its address + * is returned in @a segment. If no segment is available, then the task + * may return immediately or block waiting for a segment with an optional + * timeout of @a timeout clock ticks. Whether the task blocks or returns + * immediately is based on the no_wait option in the @a option_set. + * + * @param[in] id is the region id + * @param[in] size is the segment size in bytes + * @param[in] option_set is the wait option + * @param[in] timeout is the number of ticks to wait (0 means wait forever) + * @param[in] segment is the pointer to segment address + * + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. If successful, the segment will + * be filled in with the segment address. */ rtems_status_code rtems_region_get_segment( rtems_id id, @@ -248,19 +251,19 @@ rtems_status_code rtems_region_get_segment( ); /** - * @brief RTEMS Get Region Segment Size + * @brief RTEMS Get Region Segment Size * - * This routine implements the rtems_region_get_segment_size directive. It - * returns the size in bytes of the specified user memory area. + * This routine implements the rtems_region_get_segment_size directive. It + * returns the size in bytes of the specified user memory area. * - * @param[in] id is the region id - * @param[in] segment is the segment address - * @param[in] size is the pointer to segment size in bytes + * @param[in] id is the region id + * @param[in] segment is the segment address + * @param[in] size is the pointer to segment size in bytes * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. If successful, the size will - * be filled in with the segment size in bytes. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. If successful, the size will + * be filled in with the segment size in bytes. */ rtems_status_code rtems_region_get_segment_size( rtems_id id, @@ -269,20 +272,20 @@ rtems_status_code rtems_region_get_segment_size( ); /** - * @brief RTEMS Return Region Segment + * @brief RTEMS Return Region Segment * - * This routine implements the rtems_region_return_segment directive. It - * frees the segment to the region associated with ID. The segment must - * have been previously allocated from the same region. If freeing the - * segment results in enough memory being available to satisfy the - * rtems_region_get_segment of the first blocked task, then that task and as - * many subsequent tasks as possible will be unblocked with their requests - * satisfied. + * This routine implements the rtems_region_return_segment directive. It + * frees the segment to the region associated with ID. The segment must + * have been previously allocated from the same region. If freeing the + * segment results in enough memory being available to satisfy the + * rtems_region_get_segment of the first blocked task, then that task and as + * many subsequent tasks as possible will be unblocked with their requests + * satisfied. * - * @param[in] id is the region id - * @param[in] segment is the pointer to segment address + * @param[in] id is the region id + * @param[in] segment is the pointer to segment address * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful */ rtems_status_code rtems_region_return_segment( rtems_id id, @@ -290,27 +293,27 @@ rtems_status_code rtems_region_return_segment( ); /** - * @brief Resize RTEMS Region Segment - * - * This routine implements the rtems_region_resize_segment directive. It - * tries to resize segment in the region associated with 'id' to the new size - * 'size' in place. The first 'size' or old size bytes of the segment - * (whatever is less) are guaranteed to remain unmodified. The segment must - * have been previously allocated from the same region. If resizing the - * segment results in enough memory being available to satisfy the - * rtems_region_get_segment of the first blocked task, then that task and as - * many subsequent tasks as possible will be unblocked with their requests - * satisfied. - * - * @param[in] id is the region id - * @param[in] segmet is the pointer to segment address - * @param[in] size is the new required size - * @return RTEMS_SUCCESSFUL if operation successful, RTEMS_UNSATISFIED if the - * the segment can't be resized in place or any other code atfailure - * - * @note On RTEMS_SUCCESSFUL or RTEMS_UNSATISFIED exit it returns into the - * 'old_size' the old size in bytes of the user memory area of the - * specified segment. + * @brief Resize RTEMS Region Segment + * + * This routine implements the rtems_region_resize_segment directive. It + * tries to resize segment in the region associated with 'id' to the new size + * 'size' in place. The first 'size' or old size bytes of the segment + * (whatever is less) are guaranteed to remain unmodified. The segment must + * have been previously allocated from the same region. If resizing the + * segment results in enough memory being available to satisfy the + * rtems_region_get_segment of the first blocked task, then that task and as + * many subsequent tasks as possible will be unblocked with their requests + * satisfied. + * + * @param[in] id is the region id + * @param[in] segmet is the pointer to segment address + * @param[in] size is the new required size + * @retval RTEMS_SUCCESSFUL if operation successful, RTEMS_UNSATISFIED if the + * the segment can't be resized in place or any other code at failure + * + * @note On RTEMS_SUCCESSFUL or RTEMS_UNSATISFIED exit it returns into the + * 'old_size' the old size in bytes of the user memory area of the + * specified segment. */ rtems_status_code rtems_region_resize_segment( rtems_id id, diff --git a/cpukit/rtems/include/rtems/rtems/regionmp.h b/cpukit/rtems/include/rtems/rtems/regionmp.h index f4adc2bda1..4ec1eb10c8 100644 --- a/cpukit/rtems/include/rtems/rtems/regionmp.h +++ b/cpukit/rtems/include/rtems/rtems/regionmp.h @@ -1,16 +1,21 @@ /** * @file rtems/rtems/regionmp.h * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the Region Manager. + * @defgroup ClassicRegionMP Region MP Support + * + * @ingroup ClassicMP + * @brief Multiprocessing Support in Region Manager + * + * This include file contains all the constants and structures associated + * with the Multiprocessing Support in the Region Manager. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_REGIONMP_H diff --git a/cpukit/rtems/include/rtems/rtems/rtemsapi.h b/cpukit/rtems/include/rtems/rtems/rtemsapi.h index 29b4d1be37..039436ded1 100644 --- a/cpukit/rtems/include/rtems/rtems/rtemsapi.h +++ b/cpukit/rtems/include/rtems/rtems/rtemsapi.h @@ -1,15 +1,22 @@ /** * @file rtems/rtems/rtemsapi.h * + * @defgroup ClassicAPI RTEMS API Support + * + * @ingroup ClassicRTEMS * @brief RTEMS API Support + * + * This routine initializes the RTEMS API by invoking the initialization + * routine for each RTEMS manager with the appropriate parameters + * from the configuration_table. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_RTEMSAPI_H diff --git a/cpukit/rtems/include/rtems/rtems/sem.h b/cpukit/rtems/include/rtems/rtems/sem.h index 5e851bcdc2..bc5f4dc30b 100644 --- a/cpukit/rtems/include/rtems/rtems/sem.h +++ b/cpukit/rtems/include/rtems/rtems/sem.h @@ -1,42 +1,45 @@ /** * @file rtems/rtems/sem.h * - * @brief Constants and Structures Associated with the Semaphore Manager + * @defgroup ClassicSem Semaphores * - * This include file contains all the constants and structures associated - * with the Semaphore Manager. This manager utilizes standard Dijkstra - * counting semaphores to provide synchronization and mutual exclusion - * capabilities. + * @ingroup ClassicRTEMS + * @brief Semaphore Manager * - * Directives provided are: + * This include file contains all the constants and structures associated + * with the Semaphore Manager. This manager utilizes standard Dijkstra + * counting semaphores to provide synchronization and mutual exclusion + * capabilities. * - * - create a semaphore - * - get an ID of a semaphore - * - delete a semaphore - * - acquire a semaphore - * - release a semaphore + * Directives provided are: + * + * - create a semaphore + * - get an ID of a semaphore + * - delete a semaphore + * - acquire a semaphore + * - release a semaphore */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_SEM_H #define _RTEMS_RTEMS_SEM_H /** - * @brief Instantiate Semaphore Data + * @brief Instantiate Semaphore Data * - * Semaphore Manager -- Data Instantiation + * Semaphore Manager -- Data Instantiation * - * This constant is defined to extern most of the time when using - * this header file. However by defining it to nothing, the data - * declared in this header file can be instantiated. This is done - * in a single per manager file. + * This constant is defined to extern most of the time when using + * this header file. However by defining it to nothing, the data + * declared in this header file can be instantiated. This is done + * in a single per manager file. * */ #ifndef RTEMS_SEM_EXTERN @@ -137,22 +140,22 @@ rtems_status_code rtems_semaphore_create( ); /** - * @brief RTEMS Semaphore Name to Id - * - * This routine implements the rtems_semaphore_ident directive. - * This directive returns the semaphore ID associated with name. - * If more than one semaphore is named name, then the semaphore - * to which the ID belongs is arbitrary. node indicates the - * extent of the search for the ID of the semaphore named name. - * The search can be limited to a particular node or allowed to - * encompass all nodes. - * - * @param[in] name is the user defined semaphore name - * @param[in] node is(are) the node(s) to be searched - * @param[in] id is the pointer to semaphore id - * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful and - * *id filled in with the semaphore id + * @brief RTEMS Semaphore Name to Id + * + * This routine implements the rtems_semaphore_ident directive. + * This directive returns the semaphore ID associated with name. + * If more than one semaphore is named name, then the semaphore + * to which the ID belongs is arbitrary. node indicates the + * extent of the search for the ID of the semaphore named name. + * The search can be limited to a particular node or allowed to + * encompass all nodes. + * + * @param[in] name is the user defined semaphore name + * @param[in] node is(are) the node(s) to be searched + * @param[in] id is the pointer to semaphore id + * + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful and + * *id filled in with the semaphore id */ rtems_status_code rtems_semaphore_ident( rtems_name name, @@ -161,39 +164,39 @@ rtems_status_code rtems_semaphore_ident( ); /** - * @brief RTEMS Delete Semaphore + * @brief RTEMS Delete Semaphore * - * This routine implements the rtems_semaphore_delete directive. The - * semaphore indicated by ID is deleted. + * This routine implements the rtems_semaphore_delete directive. The + * semaphore indicated by ID is deleted. * - * @param[in] id is the semaphore id + * @param[in] id is the semaphore id * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_semaphore_delete( rtems_id id ); /** - * @brief RTEMS Obtain Semaphore - * - * This routine implements the rtems_semaphore_obtain directive. It - * attempts to obtain a unit from the semaphore associated with ID. - * If a unit can be allocated, the calling task will return immediately. - * If no unit is available, then the task may return immediately or - * block waiting for a unit with an optional timeout of timeout - * clock ticks. Whether the task blocks or returns immediately - * is based on the RTEMS_NO_WAIT option in the option_set. - * - * @param[in] id is the semaphore id - * @param[in] option_set is the wait option - * @param[in] timeout is the number of ticks to wait (0 means wait forever) - * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @brief RTEMS Obtain Semaphore + * + * This routine implements the rtems_semaphore_obtain directive. It + * attempts to obtain a unit from the semaphore associated with ID. + * If a unit can be allocated, the calling task will return immediately. + * If no unit is available, then the task may return immediately or + * block waiting for a unit with an optional timeout of timeout + * clock ticks. Whether the task blocks or returns immediately + * is based on the RTEMS_NO_WAIT option in the option_set. + * + * @param[in] id is the semaphore id + * @param[in] option_set is the wait option + * @param[in] timeout is the number of ticks to wait (0 means wait forever) + * + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_semaphore_obtain( rtems_id id, @@ -217,18 +220,18 @@ rtems_status_code rtems_semaphore_release( ); /** - * @brief RTEMS Semaphore Flush + * @brief RTEMS Semaphore Flush * - * DESCRIPTION: - * This package is the implementation of the flush directive - * of the Semaphore Manager. + * DESCRIPTION: + * This package is the implementation of the flush directive + * of the Semaphore Manager. * - * This directive allows a thread to flush the threads - * pending on the semaphore. + * This directive allows a thread to flush the threads + * pending on the semaphore. * - * @param[in] id is the semaphore id + * @param[in] id is the semaphore id * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful */ rtems_status_code rtems_semaphore_flush( rtems_id id @@ -248,28 +251,28 @@ bool _Semaphore_Seize( ); /** - * @brief Semaphore Translate Core Mutex Return Code + * @brief Semaphore Translate Core Mutex Return Code * - * This function returns a RTEMS status code based on the mutex - * status code specified. + * This function returns a RTEMS status code based on the mutex + * status code specified. * - * @param[in] the_mutex_status is the mutex status code to translate + * @param[in] the_mutex_status is the mutex status code to translate * - * @return translated RTEMS status code + * @retval translated RTEMS status code */ rtems_status_code _Semaphore_Translate_core_mutex_return_code ( uint32_t the_mutex_status ); /** - * @brief Semaphore Translate Core Semaphore Return Code + * @brief Semaphore Translate Core Semaphore Return Code * - * This function returns a RTEMS status code based on the semaphore - * status code specified. + * This function returns a RTEMS status code based on the semaphore + * status code specified. * - * @param[in] status is the semaphore status code to translate + * @param[in] status is the semaphore status code to translate * - * @return translated RTEMS status code + * @retval translated RTEMS status code */ rtems_status_code _Semaphore_Translate_core_semaphore_return_code ( uint32_t the_mutex_status diff --git a/cpukit/rtems/include/rtems/rtems/signal.h b/cpukit/rtems/include/rtems/rtems/signal.h index b6430e251a..18f31b5ff5 100644 --- a/cpukit/rtems/include/rtems/rtems/signal.h +++ b/cpukit/rtems/include/rtems/rtems/signal.h @@ -1,24 +1,27 @@ /** * @file rtems/rtems/signal.h * - * @brief Constants and Structures Associated with the Signal Manager + * @defgroup ClassicSignal Signals * - * This include file contains all the constants and structures associated - * with the Signal Manager. This manager provides capabilities required - * for asynchronous communication between tasks via signal sets. + * @ingroup ClassicRTEMS + * @brief Signal Manager * - * Directives provided are: + * This include file contains all the constants and structures associated + * with the Signal Manager. This manager provides capabilities required + * for asynchronous communication between tasks via signal sets. * - * + establish an asynchronous signal routine - * + send a signal set to a task + * Directives provided are: + * + * + establish an asynchronous signal routine + * + send a signal set to a task */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_SIGNAL_H @@ -52,18 +55,18 @@ extern "C" { void _Signal_Manager_initialization( void ); /** - * @brief RTEMS Catch Signal + * @brief RTEMS Catch Signal * - * This routine implements the rtems_signal_catch directive. This directive - * is used to establish asr_handler as the Asynchronous Signal Routine - * (RTEMS_ASR) for the calling task. The asr_handler will execute with a - * mode of mode_set. + * This routine implements the rtems_signal_catch directive. This directive + * is used to establish asr_handler as the Asynchronous Signal Routine + * (RTEMS_ASR) for the calling task. The asr_handler will execute with a + * mode of mode_set. * - * @param[in] asr_handler is the address of asynchronous signal routine (asr) - * ( NULL indicates asr is invalid ) - * @param[in] mode_set is the mode value for asr + * @param[in] asr_handler is the address of asynchronous signal routine (asr) + * ( NULL indicates asr is invalid ) + * @param[in] mode_set is the mode value for asr * - * @return RTEMS_SUCCESSFUL + * @retval RTEMS_SUCCESSFUL */ rtems_status_code rtems_signal_catch( rtems_asr_entry asr_handler, @@ -71,15 +74,15 @@ rtems_status_code rtems_signal_catch( ); /** - * @brief RTEMS Send Signal + * @brief RTEMS Send Signal * - * This routine implements the rtems_signal_send directive. This directive - * sends the signal_set to the task specified by ID. + * This routine implements the rtems_signal_send directive. This directive + * sends the signal_set to the task specified by ID. * - * @param[in] id is the thread thread id - * @param[in] signal_set is the signal set + * @param[in] id is the thread thread id + * @param[in] signal_set is the signal set * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful */ rtems_status_code rtems_signal_send( rtems_id id, diff --git a/cpukit/rtems/include/rtems/rtems/smp.h b/cpukit/rtems/include/rtems/rtems/smp.h index cf2ae8e30b..e62084ce86 100644 --- a/cpukit/rtems/include/rtems/rtems/smp.h +++ b/cpukit/rtems/include/rtems/rtems/smp.h @@ -1,19 +1,21 @@ /** * @file rtems/rtems/smp.h * - * This include file provides the application interface - * to SMP information and services. + * @defgroup ClassicSMP Classic API SMP Services * - * Most of the SMP interface is hidden from the application - * and exists between the BSP and RTEMS. + * @ingroup ClassicRTEMS + * @brief SMP information and services. + * + * Most of the SMP interface is hidden from the application + * and exists between the BSP and RTEMS. */ -/* COPYRIGHT (c) 1989-2011. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2011. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_SMP_H @@ -37,35 +39,35 @@ extern "C" { extern uint32_t rtems_configuration_smp_maximum_processors; /** - * @brief Obtain Number of Cores in System + * @brief Obtain Number of Cores in System * - * This method returns the number of CPU cores that are currently in - * the system. This will always be less than or equal to the number - * of maximum number of cores which were configured. + * This method returns the number of CPU cores that are currently in + * the system. This will always be less than or equal to the number + * of maximum number of cores which were configured. * - * @return This method returns the number of cores in this system. + * @retval This method returns the number of cores in this system. */ #define rtems_smp_get_number_of_processors() \ (_SMP_Processor_count) /** - * @brief Obtain Maximum Cores Configured + * @brief Obtain Maximum Cores Configured * - * This method returns the number of CPU cores that were configured - * in the system. The actual number of cores will always be less than - * or equal to the number of maximum number of cores which were configured. + * This method returns the number of CPU cores that were configured + * in the system. The actual number of cores will always be less than + * or equal to the number of maximum number of cores which were configured. * - * @return This method returns the number of cores configured. + * @retval This method returns the number of cores configured. */ #define rtems_configuration_get_smp_maximum_processors() \ (rtems_configuration_smp_maximum_processors) /** - * @brief Obtain Current Core Number + * @brief Obtain Current Core Number * - * This method returns the id of the current CPU core. + * This method returns the id of the current CPU core. * - * @return This method returns the id of the current CPU core. + * @retval This method returns the id of the current CPU core. */ #define rtems_smp_get_current_processor() \ bsp_smp_processor_id() diff --git a/cpukit/rtems/include/rtems/rtems/status.h b/cpukit/rtems/include/rtems/rtems/status.h index 98923a0d53..9732d290f0 100644 --- a/cpukit/rtems/include/rtems/rtems/status.h +++ b/cpukit/rtems/include/rtems/rtems/status.h @@ -1,18 +1,21 @@ /** * @file rtems/rtems/status.h * - * @brief Status Codes Returned from the Executive Directives + * @defgroup ClassicStatus Status Codes * - * This include file contains the status codes returned from the - * executive directives. + * @ingroup ClassicRTEMS + * @brief Status Codes Returned from Executive Directives + * + * This include file contains the status codes returned from the + * executive directives. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2008. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_STATUS_H diff --git a/cpukit/rtems/include/rtems/rtems/tasks.h b/cpukit/rtems/include/rtems/rtems/tasks.h index c4ccafb824..3be3aebe7c 100644 --- a/cpukit/rtems/include/rtems/rtems/tasks.h +++ b/cpukit/rtems/include/rtems/rtems/tasks.h @@ -1,36 +1,39 @@ /** * @file rtems/rtems/tasks.h * - * @brief Constants and Structures Associated with RTEMS Tasks + * @defgroup ClassicTasks Tasks * - * This include file contains all constants and structures associated - * with RTEMS tasks. This manager provides a comprehensive set of directives - * to create, delete, and administer tasks. + * @ingroup ClassicRTEMS + * @brief RTEMS Tasks * - * Directives provided are: + * This include file contains all constants and structures associated + * with RTEMS tasks. This manager provides a comprehensive set of directives + * to create, delete, and administer tasks. * - * - create a task - * - get an ID of a task - * - start a task - * - restart a task - * - delete a task - * - suspend a task - * - resume a task - * - set a task's priority - * - change the current task's mode - * - get a task notepad entry - * - set a task notepad entry - * - wake up after interval - * - wake up when specified + * Directives provided are: + * + * - create a task + * - get an ID of a task + * - start a task + * - restart a task + * - delete a task + * - suspend a task + * - resume a task + * - set a task's priority + * - change the current task's mode + * - get a task notepad entry + * - set a task notepad entry + * - wake up after interval + * - wake up when specified */ /* - * COPYRIGHT (c) 1989-2011. - * On-Line Applications Research Corporation (OAR). + * COPYRIGHT (c) 1989-2011. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_TASKS_H @@ -251,24 +254,24 @@ extern void (*_RTEMS_tasks_Initialize_user_tasks_p)(void); void _RTEMS_tasks_Manager_initialization(void); /** - * @brief RTEMS Task Create + * @brief RTEMS Task Create * - * This routine implements the rtems_task_create directive. The task - * will have the name name. The attribute_set can be used to indicate - * that the task will be globally accessible or utilize floating point. - * The task's stack will be stack_size bytes. The task will begin - * execution with initial_priority and initial_modes. It returns the - * id of the created task in ID. + * This routine implements the rtems_task_create directive. The task + * will have the name name. The attribute_set can be used to indicate + * that the task will be globally accessible or utilize floating point. + * The task's stack will be stack_size bytes. The task will begin + * execution with initial_priority and initial_modes. It returns the + * id of the created task in ID. * - * @param[in] name is the user defined thread name - * @param[in] initial_priority is the thread priority - * @param[in] stack_size is the stack size in bytes - * @param[in] initial_modes is the initial thread mode - * @param[in] attribute_set is the thread attributes - * @param[in] id is the pointer to thread id + * @param[in] name is the user defined thread name + * @param[in] initial_priority is the thread priority + * @param[in] stack_size is the stack size in bytes + * @param[in] initial_modes is the initial thread mode + * @param[in] attribute_set is the thread attributes + * @param[in] id is the pointer to thread id * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful - * and *id thread id filled in + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful + * and *id thread id filled in */ rtems_status_code rtems_task_create( rtems_name name, @@ -280,24 +283,24 @@ rtems_status_code rtems_task_create( ); /** - * @brief RTEMS Task Name to Id + * @brief RTEMS Task Name to Id * - * This routine implements the rtems_task_ident directive. - * This directive returns the task ID associated with name. - * If more than one task is named name, then the task to - * which the ID belongs is arbitrary. node indicates the - * extent of the search for the ID of the task named name. - * The search can be limited to a particular node or allowed to - * encompass all nodes. + * This routine implements the rtems_task_ident directive. + * This directive returns the task ID associated with name. + * If more than one task is named name, then the task to + * which the ID belongs is arbitrary. node indicates the + * extent of the search for the ID of the task named name. + * The search can be limited to a particular node or allowed to + * encompass all nodes. * - * @param[in] name is the user defined thread name - * @param[in] node is(are) the node(s) to be searched - * @param[in] id is the pointer to thread id + * @param[in] name is the user defined thread name + * @param[in] node is(are) the node(s) to be searched + * @param[in] id is the pointer to thread id * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. If successful, the id will - * be filled in with the thread id. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. If successful, the id will + * be filled in with the thread id. */ rtems_status_code rtems_task_ident( rtems_name name, @@ -306,35 +309,35 @@ rtems_status_code rtems_task_ident( ); /** - * @brief RTEMS Delete Task + * @brief RTEMS Delete Task * - * This routine implements the rtems_task_delete directive. The - * task indicated by ID is deleted. The executive halts execution - * of the thread and frees the thread control block. + * This routine implements the rtems_task_delete directive. The + * task indicated by ID is deleted. The executive halts execution + * of the thread and frees the thread control block. * - * @param[in] id is the thread id + * @param[in] id is the thread id * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error and id is not the requesting thread. Status code is - * returned indicating the source of the error. Nothing - * is returned if id is the requesting thread (always succeeds). + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error and id is not the requesting thread. Status code is + * returned indicating the source of the error. Nothing + * is returned if id is the requesting thread (always succeeds). */ rtems_status_code rtems_task_delete( rtems_id id ); /** - * @brief RTEMS Get Task Node + * @brief RTEMS Get Task Node * - * This routine implements the rtems_task_get_note directive. The - * value of the indicated notepad for the task associated with ID - * is returned in note. + * This routine implements the rtems_task_get_note directive. The + * value of the indicated notepad for the task associated with ID + * is returned in note. * - * @param[in] id is the thread id - * @param[in] notepad is the notepad number - * @param[out] note is the pointer to note + * @param[in] id is the thread id + * @param[in] notepad is the notepad number + * @param[out] note is the pointer to note * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful */ rtems_status_code rtems_task_get_note( rtems_id id, @@ -343,19 +346,19 @@ rtems_status_code rtems_task_get_note( ); /** - * @brief RTEMS Set Task Note + * @brief RTEMS Set Task Note * - * This routine implements the rtems_task_set_note directive. The - * value of the indicated notepad for the task associated with ID - * is returned in note. + * This routine implements the rtems_task_set_note directive. The + * value of the indicated notepad for the task associated with ID + * is returned in note. * - * @param[in] id is the thread id - * @param[in] notepad is the notepad number - * @param[in] note is the note value + * @param[in] id is the thread id + * @param[in] notepad is the notepad number + * @param[in] note is the note value * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @return This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_task_set_note( rtems_id id, @@ -364,19 +367,19 @@ rtems_status_code rtems_task_set_note( ); /** - * @brief RTEMS Task Mode + * @brief RTEMS Task Mode * - * This routine implements the rtems_task_mode directive. The current - * values of the modes indicated by mask of the calling task are changed - * to that indicated in mode_set. The former mode of the task is - * returned in mode_set. + * This routine implements the rtems_task_mode directive. The current + * values of the modes indicated by mask of the calling task are changed + * to that indicated in mode_set. The former mode of the task is + * returned in mode_set. * - * @param[in] mode_set is the new mode - * @param[in] mask is the mask - * @param[in] previous_mode_set is the address of previous mode set + * @param[in] mode_set is the new mode + * @param[in] mask is the mask + * @param[in] previous_mode_set is the address of previous mode set * - * @return RTEMS_SUCCESSFUL and previous_mode_set filled in with the - * previous mode set + * @retval RTEMS_SUCCESSFUL and previous_mode_set filled in with the + * previous mode set */ rtems_status_code rtems_task_mode( rtems_mode mode_set, @@ -385,16 +388,16 @@ rtems_status_code rtems_task_mode( ); /** - * @brief RTEMS Task Restart + * @brief RTEMS Task Restart * - * This routine implements the rtems_task_restart directive. The - * task associated with ID is restarted at its initial entry - * point with the new argument. + * This routine implements the rtems_task_restart directive. The + * task associated with ID is restarted at its initial entry + * point with the new argument. * - * @param[in] id is the thread id - * @param[in] arg is the thread argument + * @param[in] id is the thread id + * @param[in] arg is the thread argument * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful */ rtems_status_code rtems_task_restart( rtems_id id, @@ -402,52 +405,52 @@ rtems_status_code rtems_task_restart( ); /** - * @brief RTEMS Suspend Task + * @brief RTEMS Suspend Task * - * This routine implements the rtems_task_suspend directive. The - * SUSPENDED state is set for task associated with ID. Note that the - * suspended state can be in addition to other waiting states. + * This routine implements the rtems_task_suspend directive. The + * SUSPENDED state is set for task associated with ID. Note that the + * suspended state can be in addition to other waiting states. * - * @param[in] id is the thread id + * @param[in] id is the thread id * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_task_suspend( rtems_id id ); /** - * @brief RTEMS Resume Task + * @brief RTEMS Resume Task * - * This routine implements the rtems_task_resume Directive. The - * SUSPENDED state is cleared for task associated with ID. + * This routine implements the rtems_task_resume Directive. The + * SUSPENDED state is cleared for task associated with ID. * - * @param[in] id is the thread id + * @param[in] id is the thread id * - * @return This method returns RTEMS_SUCCESSFUL if there was not an - * error. Otherwise, a status code is returned indicating the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL if there was not an + * error. Otherwise, a status code is returned indicating the + * source of the error. */ rtems_status_code rtems_task_resume( rtems_id id ); /** - * @brief RTEMS Set Task Priority + * @brief RTEMS Set Task Priority * - * This routine implements the rtems_task_set_priority directive. The - * current priority of the task associated with ID is set to - * new_priority. The former priority of that task is returned - * in old_priority. + * This routine implements the rtems_task_set_priority directive. The + * current priority of the task associated with ID is set to + * new_priority. The former priority of that task is returned + * in old_priority. * - * @param[in] id is the thread to extract - * @param[in] new_priority is the thread to extract - * @param[in] old_priority is the thread to extract + * @param[in] id is the thread to extract + * @param[in] new_priority is the thread to extract + * @param[in] old_priority is the thread to extract * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful and - * and *old_priority filled in with the previous previous priority + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful and + * and *old_priority filled in with the previous previous priority */ rtems_status_code rtems_task_set_priority( rtems_id id, @@ -471,29 +474,29 @@ rtems_status_code rtems_task_start( ); /** - * @brief RTEMS Task Wake When + * @brief RTEMS Task Wake When * - * This routine implements the rtems_task_wake_when directive. The - * calling task is blocked until the current time of day is - * equal to that indicated by time_buffer. + * This routine implements the rtems_task_wake_when directive. The + * calling task is blocked until the current time of day is + * equal to that indicated by time_buffer. * - * @param[in] time_buffer is the pointer to the time and date structure + * @param[in] time_buffer is the pointer to the time and date structure * - * @return RTEMS_SUCCESSFUL if successful or error code if unsuccessful + * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful */ rtems_status_code rtems_task_wake_when( rtems_time_of_day *time_buffer ); /** - * @brief RTEMS Task Wake After + * @brief RTEMS Task Wake After * - * This routine implements the rtems_task_wake_after directive. The - * calling task is blocked until the indicated number of clock - * ticks have occurred. + * This routine implements the rtems_task_wake_after directive. The + * calling task is blocked until the indicated number of clock + * ticks have occurred. * - * @param[in] ticks is the number of ticks to wait - * @return RTEMS_SUCCESSFUL + * @param[in] ticks is the number of ticks to wait + * @retval RTEMS_SUCCESSFUL */ rtems_status_code rtems_task_wake_after( rtems_interval ticks diff --git a/cpukit/rtems/include/rtems/rtems/types.h b/cpukit/rtems/include/rtems/rtems/types.h index 52afa2611a..e70441a1fe 100644 --- a/cpukit/rtems/include/rtems/rtems/types.h +++ b/cpukit/rtems/include/rtems/rtems/types.h @@ -1,17 +1,18 @@ /** * @file * - * @ingroup ClassicRTEMS + * @defgroup ClassicTypes Types * - * @brief Types used by the Classic API. + * @ingroup ClassicRTEMS + * @brief Types used by Classic API. */ -/* COPYRIGHT (c) 1989-2009. - * On-Line Applications Research Corporation (OAR). +/* COPYRIGHT (c) 1989-2009. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RTEMS_TYPES_H -- cgit v1.2.3 From 436f86e142265f746c6b761134e5259af9502048 Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Fri, 4 Jan 2013 09:36:01 -0600 Subject: posix: Doxygen Clean Up Task #2 --- cpukit/posix/include/rtems/posix/mutex.h | 40 ++++++++++++++++------- cpukit/posix/include/rtems/posix/posixapi.h | 34 ++++++++++--------- cpukit/posix/include/rtems/posix/semaphore.h | 32 ++++++++---------- cpukit/posix/include/semaphore.h | 30 +++++++++-------- cpukit/posix/inline/rtems/posix/barrier.inl | 47 ++++++++++++++++----------- cpukit/posix/inline/rtems/posix/key.inl | 46 +++++++++++++++----------- cpukit/posix/inline/rtems/posix/mqueue.inl | 4 ++- cpukit/posix/inline/rtems/posix/mutex.inl | 4 ++- cpukit/posix/inline/rtems/posix/priority.inl | 4 ++- cpukit/posix/inline/rtems/posix/pthread.inl | 4 ++- cpukit/posix/inline/rtems/posix/rwlock.inl | 43 ++++++++++++++---------- cpukit/posix/inline/rtems/posix/semaphore.inl | 4 ++- cpukit/posix/inline/rtems/posix/spinlock.inl | 43 ++++++++++++++---------- cpukit/posix/inline/rtems/posix/timer.inl | 4 ++- 14 files changed, 201 insertions(+), 138 deletions(-) diff --git a/cpukit/posix/include/rtems/posix/mutex.h b/cpukit/posix/include/rtems/posix/mutex.h index 727745ae67..f44a1c64b1 100644 --- a/cpukit/posix/include/rtems/posix/mutex.h +++ b/cpukit/posix/include/rtems/posix/mutex.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/mutex.h + * @file + * + * @brief POSIX MUTEX Support * * This include file contains all the private support information for * POSIX mutex's. @@ -27,6 +29,8 @@ extern "C" { * @ingroup POSIX * * @brief Private Support Information for POSIX Mutex + * + * @{ */ #include @@ -138,16 +142,28 @@ int _POSIX_Mutex_Lock_support( ); /** - * @brief POSIX Mutex Translate Core Mutex Return Code - * - * DESCRIPTION: - * - * A support routine which converts core mutex status codes into the - * appropriate POSIX status values. - * - * @param[in] the_mutex_status is the mutex status code to translate - * - * @return the translated POSIX status code + * @brief Convert core mutex status codes into the appropriate POSIX status + * values. + * + * DESCRIPTION: + * + * A support routine which converts core mutex status codes into the + * appropriate POSIX status values. + * + * @param[in] the_mutex_status is the mutex status code to translate + * + * @retval 0 Mutex status code indicates the operation completed successfully. + * @retval EBUSY Mutex status code indicates that the operation unable to + * complete immediately because the resource was unavailable. + * @retval EDEADLK Mutex status code indicates that an attempt was made to + * relock a mutex for which nesting is not configured. + * @retval EPERM Mutex status code indicates that an attempt was made to + * release a mutex by a thread other than the thread which locked it. + * @retval EINVAL Mutex status code indicates that the thread was blocked + * waiting for an operation to complete and the mutex was deleted. + * @retval ETIMEDOUT Mutex status code indicates that the calling task was + * willing to block but the operation was unable to complete within the time + * allotted because the resource never became available. */ int _POSIX_Mutex_Translate_core_mutex_return_code( @@ -198,5 +214,7 @@ POSIX_Mutex_Control *_POSIX_Mutex_Get_interrupt_disable ( } #endif +/** @} */ + #endif /* end of include file */ diff --git a/cpukit/posix/include/rtems/posix/posixapi.h b/cpukit/posix/include/rtems/posix/posixapi.h index dd8f8c2873..7092d1eddf 100644 --- a/cpukit/posix/include/rtems/posix/posixapi.h +++ b/cpukit/posix/include/rtems/posix/posixapi.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/posixapi.h + * @file + * + * @brief POSIX API Implementation * * This include file defines the top level interface to the POSIX API * implementation in RTEMS. @@ -29,27 +31,27 @@ */ /** - * @brief Initialize POSIX API + * @brief Initialize POSIX API. * - * This method is responsible for initializing each of the POSIX - * API managers. + * This method is responsible for initializing each of the POSIX + * API managers. */ void _POSIX_API_Initialize(void); /** - * @brief Queries the object identifier @a id for a @a name. + * @brief Queries the object identifier @a id for a @a name. * - * @param[in] information Object information. - * @param[in] name Zero terminated name string to look up. - * @param[out] id Pointer for identifier. The pointer must be valid. - * @param[out] len Pointer for string length. The pointer must be valid. + * @param[in] information Object information. + * @param[in] name Zero terminated name string to look up. + * @param[out] id Pointer for identifier. The pointer must be valid. + * @param[out] len Pointer for string length. The pointer must be valid. * - * @retval 0 Successful operation. - * @retval EINVAL The @a name pointer is @c NULL or the @a name string has - * zero length. - * @retval ENAMETOOLONG The @a name string length is greater than or equal to - * @c NAME_MAX. - * @retval ENOENT Found no corresponding identifier. + * @retval 0 Successful operation. + * @retval EINVAL The @a name pointer is @c NULL or the @a name string has + * zero length. + * @retval ENAMETOOLONG The @a name string length is greater than or equal to + * @c NAME_MAX. + * @retval ENOENT Found no corresponding identifier. */ int _POSIX_Name_to_id( Objects_Information *information, @@ -58,7 +60,7 @@ int _POSIX_Name_to_id( size_t *len ); -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/posix/include/rtems/posix/semaphore.h b/cpukit/posix/include/rtems/posix/semaphore.h index d7263b3e72..031a511d70 100644 --- a/cpukit/posix/include/rtems/posix/semaphore.h +++ b/cpukit/posix/include/rtems/posix/semaphore.h @@ -1,5 +1,5 @@ /** - * @file rtems/posix/semaphore.h + * @file * * @brief Private Support Information for POSIX Semaphores * @@ -20,19 +20,14 @@ #define _RTEMS_POSIX_SEMAPHORE_H /** - * @defgroup POSIX_SEMAPHORES Semaphore - * - * @ingroup POSIX + * @addtogroup POSIX_SEMAPHORES + * + * @{ */ -/**@{*/ #ifdef __cplusplus extern "C" { #endif -/** - * @ingroup POSIX_SEMAPHORE - */ - #include #include #include @@ -147,25 +142,24 @@ int _POSIX_Semaphore_Create_support( ); /** - * @brief POSIX Delete Semaphore + * @brief POSIX delete a semaphore. * - * DESCRIPTION: + * DESCRIPTION: * - * This routine supports the sem_close and sem_unlink routines. + * This routine supports the sem_close and sem_unlink routines. */ void _POSIX_Semaphore_Delete( POSIX_Semaphore_Control *the_semaphore ); -/* - * @brief POSIX Semaphore Wait Support +/** + * @brief POSIX semaphore wait support. * - * DESCRIPTION: + * DESCRIPTION: * - * This routine supports the sem_wait, sem_trywait, and sem_timedwait - * services. + * This routine supports the sem_wait, sem_trywait, and sem_timedwait + * services. */ - int _POSIX_Semaphore_Wait_support( sem_t *sem, bool blocking, @@ -191,7 +185,7 @@ int _POSIX_Semaphore_Translate_core_semaphore_return_code( } #endif -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/posix/include/semaphore.h b/cpukit/posix/include/semaphore.h index 37e3fd54b4..65708c96f1 100644 --- a/cpukit/posix/include/semaphore.h +++ b/cpukit/posix/include/semaphore.h @@ -1,5 +1,7 @@ /** - * @file semaphore.h + * @file + * + * @brief Private Support Information for POSIX Semaphores * * This file contains definitions that are internal to the RTEMS * implementation of POSIX Semaphores. @@ -55,9 +57,9 @@ int sem_init( ); /** - * @brief Destroy an Unnamed Semaphore + * @brief Destroy an unnamed semaphore. * - * 11.2.2 Destroy an Unnamed Semaphore, P1003.1b-1993, p.220 + * 11.2.2 Destroy an Unnamed Semaphore, P1003.1b-1993, p.220 */ int sem_destroy( sem_t *sem @@ -75,7 +77,7 @@ sem_t *sem_open( ); /** - * @brief Close a Named Semaphore + * @brief Close a named semaphore. * * Routine to close a semaphore that has been opened or initialized. * @@ -86,7 +88,7 @@ int sem_close( ); /** - * @brief Remove a Named Semaphore + * @brief Remove a named semaphore. * * Unlinks a named semaphore, sem_close must also be called to remove * the semaphore. @@ -98,20 +100,20 @@ int sem_unlink( ); /** - * @brief Lock a Semaphore + * @brief Lock a semaphore. * - * 11.2.6 Lock a Semaphore, P1003.1b-1993, p.226 + * 11.2.6 Lock a Semaphore, P1003.1b-1993, p.226 * - * @note P1003.4b/D8 adds sem_timedwait(), p. 27 + * NOTE: P1003.4b/D8 adds sem_timedwait(), p. 27 */ int sem_wait( sem_t *sem ); /** - * @brief Lock a Semaphore + * @brief Lock a semaphore. * - * @see sem_wait() + * @see sem_wait() */ int sem_trywait( sem_t *sem @@ -119,7 +121,7 @@ int sem_trywait( #if defined(_POSIX_TIMEOUTS) /** - * @brief Lock a Semaphore + * @brief Lock a semaphore. */ int sem_timedwait( sem_t *sem, @@ -128,16 +130,16 @@ int sem_timedwait( #endif /** - * @brief Unlock a Semaphore + * @brief Unlock a semaphore. * - * 11.2.7 Unlock a Semaphore, P1003.1b-1993, p.227 + * 11.2.7 Unlock a Semaphore, P1003.1b-1993, p.227 */ int sem_post( sem_t *sem ); /** - * @brief Get the Value of a Semaphore + * @brief Get the value of a semaphore. * * 11.2.8 Get the Value of a Semaphore, P1003.1b-1993, p.229 */ diff --git a/cpukit/posix/inline/rtems/posix/barrier.inl b/cpukit/posix/inline/rtems/posix/barrier.inl index f78e432b07..6e439d8c66 100644 --- a/cpukit/posix/inline/rtems/posix/barrier.inl +++ b/cpukit/posix/inline/rtems/posix/barrier.inl @@ -1,8 +1,10 @@ /** - * @file rtems/posix/barrier.inl + * @file + * + * @brief Inlined Routines from the POSIX Barrier Manager * - * This file contains the static inlin implementation of the inlined - * routines from the POSIX Barrier Manager. + * This file contains the static inlin implementation of the inlined + * routines from the POSIX Barrier Manager. */ /* @@ -24,10 +26,10 @@ #include /** - * @brief _POSIX_Barrier_Allocate + * @brief Allocate a barrier control block. * - * This function allocates a barrier control block from - * the inactive chain of free barrier control blocks. + * This function allocates a barrier control block from + * the inactive chain of free barrier control blocks. */ RTEMS_INLINE_ROUTINE POSIX_Barrier_Control *_POSIX_Barrier_Allocate( void ) { @@ -36,10 +38,10 @@ RTEMS_INLINE_ROUTINE POSIX_Barrier_Control *_POSIX_Barrier_Allocate( void ) } /** - * @brief _POSIX_Barrier_Free + * @brief Free a barrier control block. * - * This routine frees a barrier control block to the - * inactive chain of free barrier control blocks. + * This routine frees a barrier control block to the + * inactive chain of free barrier control blocks. */ RTEMS_INLINE_ROUTINE void _POSIX_Barrier_Free ( POSIX_Barrier_Control *the_barrier @@ -49,15 +51,15 @@ RTEMS_INLINE_ROUTINE void _POSIX_Barrier_Free ( } /** - * @brief _POSIX_Barrier_Get + * @brief Get a barrier control block. * - * This function maps barrier IDs to barrier control blocks. - * If ID corresponds to a local barrier, then it returns - * the_barrier control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the barrier ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_barrier is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_barrier is undefined. + * This function maps barrier IDs to barrier control blocks. + * If ID corresponds to a local barrier, then it returns + * the_barrier control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. if the barrier ID is global and + * resides on a remote node, then location is set to OBJECTS_REMOTE, + * and the_barrier is undefined. Otherwise, location is set + * to OBJECTS_ERROR and the_barrier is undefined. */ RTEMS_INLINE_ROUTINE POSIX_Barrier_Control *_POSIX_Barrier_Get ( pthread_barrier_t *barrier, @@ -72,9 +74,16 @@ RTEMS_INLINE_ROUTINE POSIX_Barrier_Control *_POSIX_Barrier_Get ( } /** - * @brief _POSIX_Barrier_Is_null + * @brief Check if a barrier control block is NULL. * - * This function returns TRUE if the_barrier is NULL and FALSE otherwise. + * This function returns @c TRUE if the_barrier is @c NULL and @c FALSE + * otherwise. + * + * @param[in] the_barrier is the pointer to the barrier control block + * to be checked. + * + * @retval TRUE The barrier control block is @c NULL. + * @retval FALSE The barrier control block is not @c NULL. */ RTEMS_INLINE_ROUTINE bool _POSIX_Barrier_Is_null ( POSIX_Barrier_Control *the_barrier diff --git a/cpukit/posix/inline/rtems/posix/key.inl b/cpukit/posix/inline/rtems/posix/key.inl index 4c2466be57..ce5601b06d 100644 --- a/cpukit/posix/inline/rtems/posix/key.inl +++ b/cpukit/posix/inline/rtems/posix/key.inl @@ -1,8 +1,10 @@ /** - * @file rtems/posix/key.inl + * @file + * + * @brief Private Inlined Routines for POSIX Key's * - * This include file contains the static inline implementation of the private - * inlined routines for POSIX key's. + * This include file contains the static inline implementation of the private + * inlined routines for POSIX key's. */ /* @@ -22,10 +24,10 @@ #define _RTEMS_POSIX_KEY_INL /** - * @brief _POSIX_Keys_Allocate + * @brief Allocate a keys control block. * - * This function allocates a keys control block from - * the inactive chain of free keys control blocks. + * This function allocates a keys control block from + * the inactive chain of free keys control blocks. */ RTEMS_INLINE_ROUTINE POSIX_Keys_Control *_POSIX_Keys_Allocate( void ) @@ -34,10 +36,10 @@ RTEMS_INLINE_ROUTINE POSIX_Keys_Control *_POSIX_Keys_Allocate( void ) } /** - * @brief _POSIX_Keys_Free + * @brief Free a keys control block. * - * This routine frees a keys control block to the - * inactive chain of free keys control blocks. + * This routine frees a keys control block to the + * inactive chain of free keys control blocks. */ RTEMS_INLINE_ROUTINE void _POSIX_Keys_Free ( POSIX_Keys_Control *the_key @@ -47,15 +49,15 @@ RTEMS_INLINE_ROUTINE void _POSIX_Keys_Free ( } /** - * @brief _POSIX_Keys_Get + * @brief Get a keys control block. * - * This function maps key IDs to key control blocks. - * If ID corresponds to a local keys, then it returns - * the_key control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the keys ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_key is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_key is undefined. + * This function maps key IDs to key control blocks. + * If ID corresponds to a local keys, then it returns + * the_key control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. if the keys ID is global and + * resides on a remote node, then location is set to OBJECTS_REMOTE, + * and the_key is undefined. Otherwise, location is set + * to OBJECTS_ERROR and the_key is undefined. */ RTEMS_INLINE_ROUTINE POSIX_Keys_Control *_POSIX_Keys_Get ( @@ -68,9 +70,15 @@ RTEMS_INLINE_ROUTINE POSIX_Keys_Control *_POSIX_Keys_Get ( } /** - * @brief _POSIX_Keys_Is_null + * @brief Check if a keys control block is NULL. * - * This function returns TRUE if the_key is NULL and FALSE otherwise. + * This function returns @c TRUE if the_key is @c NULL and @c FALSE + * otherwise. + * + * @param[in] the_key is the pointer to the key control block to be checked. + * + * @retval TRUE The key control block is @c NULL. + * @retval FALSE The key control block is not @c NULL. */ RTEMS_INLINE_ROUTINE bool _POSIX_Keys_Is_null ( POSIX_Keys_Control *the_key diff --git a/cpukit/posix/inline/rtems/posix/mqueue.inl b/cpukit/posix/inline/rtems/posix/mqueue.inl index ed345125af..e27efcacfe 100644 --- a/cpukit/posix/inline/rtems/posix/mqueue.inl +++ b/cpukit/posix/inline/rtems/posix/mqueue.inl @@ -1,6 +1,8 @@ /** - * @file rtems/posix/mqueue.inl + * @file * + * @brief Private Inlined Routines for POSIX Message Queue + * * This include file contains the static inline implementation of the private * inlined routines for POSIX Message Queue. */ diff --git a/cpukit/posix/inline/rtems/posix/mutex.inl b/cpukit/posix/inline/rtems/posix/mutex.inl index 033a4ccfcf..e5c68016bd 100644 --- a/cpukit/posix/inline/rtems/posix/mutex.inl +++ b/cpukit/posix/inline/rtems/posix/mutex.inl @@ -1,6 +1,8 @@ /** - * @file rtems/posix/mutex.inl + * @file * + * @brief Private Inlined Routines for POSIX Mutex's. + * * This include file contains the static inline implementation of the private * inlined routines for POSIX mutex's. */ diff --git a/cpukit/posix/inline/rtems/posix/priority.inl b/cpukit/posix/inline/rtems/posix/priority.inl index b1eb9b8da5..cae2242c78 100644 --- a/cpukit/posix/inline/rtems/posix/priority.inl +++ b/cpukit/posix/inline/rtems/posix/priority.inl @@ -1,6 +1,8 @@ /** - * @file rtems/posix/priority.inl + * @file * + * @brief Inline Methods Related to POSIX Priority Management + * * This defines the static inline methods related to POSIX priority management. */ diff --git a/cpukit/posix/inline/rtems/posix/pthread.inl b/cpukit/posix/inline/rtems/posix/pthread.inl index 1127841586..2df49804b0 100644 --- a/cpukit/posix/inline/rtems/posix/pthread.inl +++ b/cpukit/posix/inline/rtems/posix/pthread.inl @@ -1,5 +1,7 @@ /** - * @file rtems/posix/pthread.inl + * @file + * + * @brief Private Inlined Routines for POSIX Threads * * This include file contains the static inline implementation of the private * inlined routines for POSIX threads. diff --git a/cpukit/posix/inline/rtems/posix/rwlock.inl b/cpukit/posix/inline/rtems/posix/rwlock.inl index 5f1ef7e477..ac641c926b 100644 --- a/cpukit/posix/inline/rtems/posix/rwlock.inl +++ b/cpukit/posix/inline/rtems/posix/rwlock.inl @@ -1,5 +1,7 @@ /** - * @file rtems/posix/rwlock.inl + * @file + * + * @brief Inlined Routines from the POSIX RWLock Manager * * This file contains the static inlin implementation of the inlined * routines from the POSIX RWLock Manager. @@ -24,10 +26,10 @@ #include /** - * @brief _POSIX_RWLock_Allocate + * @brief Allocate a RWLock control block. * - * This function allocates a RWLock control block from - * the inactive chain of free RWLock control blocks. + * This function allocates a RWLock control block from + * the inactive chain of free RWLock control blocks. */ RTEMS_INLINE_ROUTINE POSIX_RWLock_Control *_POSIX_RWLock_Allocate( void ) { @@ -36,10 +38,10 @@ RTEMS_INLINE_ROUTINE POSIX_RWLock_Control *_POSIX_RWLock_Allocate( void ) } /** - * @brief _POSIX_RWLock_Free + * @brief Free a RWLock control block. * - * This routine frees a RWLock control block to the - * inactive chain of free RWLock control blocks. + * This routine frees a RWLock control block to the + * inactive chain of free RWLock control blocks. */ RTEMS_INLINE_ROUTINE void _POSIX_RWLock_Free ( POSIX_RWLock_Control *the_RWLock @@ -49,15 +51,15 @@ RTEMS_INLINE_ROUTINE void _POSIX_RWLock_Free ( } /** - * @brief _POSIX_RWLock_Get + * @brief Get a RWLock control block. * - * This function maps RWLock IDs to RWLock control blocks. - * If ID corresponds to a local RWLock, then it returns - * the_RWLock control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the RWLock ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_RWLock is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_RWLock is undefined. + * This function maps RWLock IDs to RWLock control blocks. + * If ID corresponds to a local RWLock, then it returns + * the_RWLock control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. if the RWLock ID is global and + * resides on a remote node, then location is set to OBJECTS_REMOTE, + * and the_RWLock is undefined. Otherwise, location is set + * to OBJECTS_ERROR and the_RWLock is undefined. */ RTEMS_INLINE_ROUTINE POSIX_RWLock_Control *_POSIX_RWLock_Get ( pthread_rwlock_t *RWLock, @@ -72,9 +74,16 @@ RTEMS_INLINE_ROUTINE POSIX_RWLock_Control *_POSIX_RWLock_Get ( } /** - * @brief _POSIX_RWLock_Is_null + * @brief Check if a RWLock control block is NULL. * - * This function returns TRUE if the_RWLock is NULL and FALSE otherwise. + * This function returns @c TRUE if the_RWLock is @c NULL and @c FALSE + * otherwise. + * + * @param[in] the_RWLock is the pointer to the RWLock control block + * to be checked. + * + * @retval TRUE The RWLock control block is @c NULL. + * @retval FALSE The RWLock control block is not @c NULL. */ RTEMS_INLINE_ROUTINE bool _POSIX_RWLock_Is_null ( POSIX_RWLock_Control *the_RWLock diff --git a/cpukit/posix/inline/rtems/posix/semaphore.inl b/cpukit/posix/inline/rtems/posix/semaphore.inl index 4828bcd5ea..8c7d6700a9 100644 --- a/cpukit/posix/inline/rtems/posix/semaphore.inl +++ b/cpukit/posix/inline/rtems/posix/semaphore.inl @@ -1,5 +1,7 @@ /** - * @file rtems/posix/semaphore.inl + * @file + * + * @brief Private Inlined Routines for POSIX Semaphores * * This include file contains the static inline implementation of the private * inlined routines for POSIX Semaphores. diff --git a/cpukit/posix/inline/rtems/posix/spinlock.inl b/cpukit/posix/inline/rtems/posix/spinlock.inl index 0924e5ad3d..b8ababda02 100644 --- a/cpukit/posix/inline/rtems/posix/spinlock.inl +++ b/cpukit/posix/inline/rtems/posix/spinlock.inl @@ -1,5 +1,7 @@ /** - * @file rtems/posix/spinlock.inl + * @file + * + * @brief Inlined Routines from the POSIX Spinlock Manager * * This file contains the static inlin implementation of the inlined * routines from the POSIX Spinlock Manager. @@ -24,10 +26,10 @@ #include /** - * @brief _POSIX_Spinlock_Allocate + * @brief Allocate a spinlock control block. * - * This function allocates a spinlock control block from - * the inactive chain of free spinlock control blocks. + * This function allocates a spinlock control block from + * the inactive chain of free spinlock control blocks. */ RTEMS_INLINE_ROUTINE POSIX_Spinlock_Control *_POSIX_Spinlock_Allocate( void ) { @@ -36,10 +38,10 @@ RTEMS_INLINE_ROUTINE POSIX_Spinlock_Control *_POSIX_Spinlock_Allocate( void ) } /** - * @brief _POSIX_Spinlock_Free + * @brief Free a spinlock control block. * - * This routine frees a spinlock control block to the - * inactive chain of free spinlock control blocks. + * This routine frees a spinlock control block to the + * inactive chain of free spinlock control blocks. */ RTEMS_INLINE_ROUTINE void _POSIX_Spinlock_Free ( POSIX_Spinlock_Control *the_spinlock @@ -49,15 +51,15 @@ RTEMS_INLINE_ROUTINE void _POSIX_Spinlock_Free ( } /** - * @brief _POSIX_Spinlock_Get + * @brief Get a spinlock control block. * - * This function maps spinlock IDs to spinlock control blocks. - * If ID corresponds to a local spinlock, then it returns - * the_spinlock control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the spinlock ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_spinlock is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_spinlock is undefined. + * This function maps spinlock IDs to spinlock control blocks. + * If ID corresponds to a local spinlock, then it returns + * the_spinlock control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. if the spinlock ID is global and + * resides on a remote node, then location is set to OBJECTS_REMOTE, + * and the_spinlock is undefined. Otherwise, location is set + * to OBJECTS_ERROR and the_spinlock is undefined. */ RTEMS_INLINE_ROUTINE POSIX_Spinlock_Control *_POSIX_Spinlock_Get ( pthread_spinlock_t *spinlock, @@ -72,9 +74,16 @@ RTEMS_INLINE_ROUTINE POSIX_Spinlock_Control *_POSIX_Spinlock_Get ( } /** - * @brief _POSIX_Spinlock_Is_null + * @brief Check if a spinlock control block is NULL. * - * This function returns TRUE if the_spinlock is NULL and FALSE otherwise. + * This function returns @c TRUE if the_spinlock is @c NULL and @c FALSE + * otherwise. + * + * @param[in] the_spinlock is the pointer to the spinlock control block + * to be checked. + * + * @retval TRUE The spinlock control block is @c NULL. + * @retval FALSE The spinlock control block is not @c NULL. */ RTEMS_INLINE_ROUTINE bool _POSIX_Spinlock_Is_null ( POSIX_Spinlock_Control *the_spinlock diff --git a/cpukit/posix/inline/rtems/posix/timer.inl b/cpukit/posix/inline/rtems/posix/timer.inl index 03377252fe..bc1db80c88 100644 --- a/cpukit/posix/inline/rtems/posix/timer.inl +++ b/cpukit/posix/inline/rtems/posix/timer.inl @@ -1,6 +1,8 @@ /** - * @file rtems/posix/timer.inl + * @file * + * @brief Inlined Routines from the POSIX Timer Manager + * * This file contains the static inline implementation of the inlined routines * from the POSIX Timer Manager. */ -- cgit v1.2.3 From a163882dae2f2935e19ec96f0d2a85d1c652be35 Mon Sep 17 00:00:00 2001 From: Ayush Awasthi Date: Fri, 4 Jan 2013 13:09:14 -0600 Subject: libmisc: Doxygen Clean Up Task #1 Conflicts occured durning this patch and modifications in the repo were favored over the patch. --- cpukit/libmisc/bspcmdline/bspcmdline.h | 124 ++++++++++--------- cpukit/libmisc/cpuuse/cpuuse.h | 16 +-- cpukit/libmisc/devnull/devzero.h | 15 ++- cpukit/libmisc/dumpbuf/dumpbuf.h | 12 +- cpukit/libmisc/fb/fb.h | 8 +- cpukit/libmisc/fb/mw_uid.h | 60 ++++----- cpukit/libmisc/fsmount/fsmount.h | 26 +++- cpukit/libmisc/mouse/mouse_parser.h | 35 +++--- cpukit/libmisc/mouse/serial_mouse.h | 86 ++++++------- cpukit/libmisc/stackchk/internal.h | 24 ++-- cpukit/libmisc/stackchk/stackchk.h | 42 ++++--- cpukit/libmisc/stringto/stringto.h | 219 +++++++++++++++++---------------- 12 files changed, 360 insertions(+), 307 deletions(-) diff --git a/cpukit/libmisc/bspcmdline/bspcmdline.h b/cpukit/libmisc/bspcmdline/bspcmdline.h index 1e489835af..4cd0e5c887 100644 --- a/cpukit/libmisc/bspcmdline/bspcmdline.h +++ b/cpukit/libmisc/bspcmdline/bspcmdline.h @@ -1,14 +1,16 @@ /** - * @file rtems/bspcmdline.h + * @file rtems/bspcmdline.h * - * @brief Related Prototypes and Specifications to - * BSP Command Line String and helper routines. + * @defgroup BSPCommandLine BSP Command Line Helpers * - * This include file contains all prototypes and specifications - * related to the BSP Command Line String and associated helper - * routines. The helpers are useful for locating command line - * type arguments (e.g. --mode) and their associated right - * hand side (e.g. FAST in --mode=FAST). + * @ingroup libmisc + * @brief BSP Command Line Handler + * + * This include file contains all prototypes and specifications + * related to the BSP Command Line String and associated helper + * routines. The helpers are useful for locating command line + * type arguments (e.g. --mode) and their associated right + * hand side (e.g. FAST in --mode=FAST). */ /* @@ -24,11 +26,11 @@ #define __BSP_COMMAND_LINE_h /** - * @defgroup BSPCommandLine BSP Command Line Helpers + * @defgroup BSPCommandLine BSP Command Line Helpers * - * The BSP Command Line Handler provides a set of routines which assist - * in examining and decoding the Command Line String passed to the BSP - * at boot time. + * The BSP Command Line Handler provides a set of routines which assist + * in examining and decoding the Command Line String passed to the BSP + * at boot time. */ /**@{*/ @@ -40,33 +42,33 @@ extern "C" { /** - * @brief Obtain Pointer to BSP Boot Command String + * @brief Obtain Pointer to BSP Boot Command String * - * This method returns a pointer to the BSP Boot Command String. It - * is as likely to be NULL as point to a string as most BSPs do not - * have a start environment that provides a boot string. + * This method returns a pointer to the BSP Boot Command String. It + * is as likely to be NULL as point to a string as most BSPs do not + * have a start environment that provides a boot string. * - * @return This method returns the pointer to the BSP Boot Command String. + * @retval This method returns the pointer to the BSP Boot Command String. */ const char *rtems_bsp_cmdline_get(void); /** - * @brief Obtain COPY of the Entire Matching Argument - * - * This method searches for the argument @a name in the BSP Boot Command - * String and returns a copy of the entire string associated with it in - * @a value up to a string of @a length. This will include the argument - * and any right hand side portion of the string. For example, one might - * be returned --mode=FAST if - * searching for --mode. - * - * @param[in] name is the arugment to search for - * @param[in] value points to where the contents will - * be placed if located. - * @param[in] length is the maximum length to copy - * - * @return This method returns NULL if not found and - * @a value if found. + * @brief Obtain COPY of the Entire Matching Argument + * + * This method searches for the argument @a name in the BSP Boot Command + * String and returns a copy of the entire string associated with it in + * @a value up to a string of @a length. This will include the argument + * and any right hand side portion of the string. For example, one might + * be returned --mode=FAST if + * searching for --mode. + * + * @param[in] name is the arugment to search for + * @param[in] value points to where the contents will + * be placed if located. + * @param[in] length is the maximum length to copy + * + * @return This method returns NULL if not found and + * @a value if found. */ const char *rtems_bsp_cmdline_get_param( const char *name, @@ -76,22 +78,22 @@ const char *rtems_bsp_cmdline_get_param( /** - * @brief Obtain COPY of the Right Hand Side of the Matching Argument - * - * This method searches for the argument @a name in - * the BSP Boot Command String and returns the right hand side - * associated with it in @a value up to a maximum string @a length. - * This will NOT include the argument but only any right hand side - * portion of the string. * For example, one might be returned FAST if - * searching for --mode. - * - * @param[in] name is the arugment to search for - * @param[in] value points to where the contents will - * be placed if located. - * @param[in] length is the maximum length to copy - * - * @return This method returns NULL if not found and - * @a value if found. + * @brief Obtain COPY of the Right Hand Side of the Matching Argument + * + * This method searches for the argument @a name in + * the BSP Boot Command String and returns the right hand side + * associated with it in @a value up to a maximum string @a length. + * This will NOT include the argument but only any right hand side + * portion of the string. * For example, one might be returned FAST if + * searching for --mode. + * + * @param[in] name is the arugment to search for + * @param[in] value points to where the contents will + * be placed if located. + * @param[in] length is the maximum length to copy + * + * @retval This method returns NULL if not found and + * @a value if found. */ const char *rtems_bsp_cmdline_get_param_rhs( const char *name, @@ -100,22 +102,22 @@ const char *rtems_bsp_cmdline_get_param_rhs( ); /** - * @brief Obtain Pointer to the Entire Matching Argument + * @brief Obtain Pointer to the Entire Matching Argument * - * This method searches for the argument @a name in - * the BSP Boot Command String and returns a pointer to the - * entire string associated with it. This will include the - * argument and any right hand side portion of the string. - * For example, one might be returned --mode=FAST if - * searching for --mode. + * This method searches for the argument @a name in + * the BSP Boot Command String and returns a pointer to the + * entire string associated with it. This will include the + * argument and any right hand side portion of the string. + * For example, one might be returned --mode=FAST if + * searching for --mode. * - * @param[in] name is the arugment to search for + * @param[in] name is the arugment to search for * - * @return This method returns NULL if not found and a pointer - * into the BSP Boot Command String if found. + * @retval This method returns NULL if not found and a pointer + * into the BSP Boot Command String if found. * - * @note The pointer will be to the original BSP Command - * Line string. Exercise caution when using this. + * @note The pointer will be to the original BSP Command + * Line string. Exercise caution when using this. */ const char *rtems_bsp_cmdline_get_param_raw( const char *name diff --git a/cpukit/libmisc/cpuuse/cpuuse.h b/cpukit/libmisc/cpuuse/cpuuse.h index a89c7dd346..0fa94d6357 100644 --- a/cpukit/libmisc/cpuuse/cpuuse.h +++ b/cpukit/libmisc/cpuuse/cpuuse.h @@ -1,20 +1,22 @@ /** * @file rtems/cpuuse.h + * + * @defgroup libmisc_cpuuse CPU Usage * - * @brief Information Necessary to Utilize - * and Install the CPU Usage Reporting Mechanism + * @ingroup libmisc + * @brief CPU Usage Report * * This include file contains information necessary to utilize * and install the cpu usage reporting mechanism. */ /* - * COPYRIGHT (c) 1989-2011. - * On-Line Applications Research Corporation (OAR). + * COPYRIGHT (c) 1989-2011. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef __RTEMS_CPUUSE_h diff --git a/cpukit/libmisc/devnull/devzero.h b/cpukit/libmisc/devnull/devzero.h index f1b3d5228f..6a37ca1da8 100644 --- a/cpukit/libmisc/devnull/devzero.h +++ b/cpukit/libmisc/devnull/devzero.h @@ -1,7 +1,10 @@ /** * @file rtems/devzero.h * - * @brief Interface to the RTEMS /dev/zero Device Driver + * @defgroup libmisc_devzero Device Driver + * + * @ingroup libmisc + * @brief RTEMS /dev/zero Device Driver * * This include file defines the interface to the RTEMS /dev/zero * device driver. @@ -10,11 +13,11 @@ /* * Copyright (c) 2011 embedded brains GmbH. All rights reserved. * - * embedded brains GmbH - * Obere Lagerstr. 30 - * 82178 Puchheim - * Germany - * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at diff --git a/cpukit/libmisc/dumpbuf/dumpbuf.h b/cpukit/libmisc/dumpbuf/dumpbuf.h index 02e5304673..6065fb11e2 100644 --- a/cpukit/libmisc/dumpbuf/dumpbuf.h +++ b/cpukit/libmisc/dumpbuf/dumpbuf.h @@ -30,14 +30,14 @@ extern "C" { #endif /** - * @brief Print memory buffer. + * @brief Print memory buffer. * - * This method prints @a length bytes beginning at @a buffer in - * a nice format similar to what one would expect from a debugger - * or ROM monitor. + * This method prints @a length bytes beginning at @a buffer in + * a nice format similar to what one would expect from a debugger + * or ROM monitor. * - * @param[in] buffer is the address of the buffer - * @param[in] length is the length of the buffer + * @param[in] buffer is the address of the buffer + * @param[in] length is the length of the buffer */ void rtems_print_buffer( const unsigned char *buffer, diff --git a/cpukit/libmisc/fb/fb.h b/cpukit/libmisc/fb/fb.h index 5a896e19db..2304405a95 100644 --- a/cpukit/libmisc/fb/fb.h +++ b/cpukit/libmisc/fb/fb.h @@ -1,4 +1,10 @@ -/** @file rtems/fb.h +/** + * @file rtems/fb.h + * + * @defgroup libmisc_fb Device Driver + * + * @ingroup libmisc + * @brief Frame Buffer Device Driver * * This file defines the interface to a frame buffer device driver. */ diff --git a/cpukit/libmisc/fb/mw_uid.h b/cpukit/libmisc/fb/mw_uid.h index 794378b70b..8a10a8f38c 100644 --- a/cpukit/libmisc/fb/mw_uid.h +++ b/cpukit/libmisc/fb/mw_uid.h @@ -1,11 +1,13 @@ /** * @file rtems/mw_uid.h * - * @brief Input device Interface for MicroWindows in an - * Embedded System Enviroment + * @defgroup libmisc_fb_mw Input Devices for MicroWindows * - * This file defines the interface for input devices used by - * MicroWindows in an embedded system environment. + * @ingroup libmisc + * @brief Input Devices for MicroWindows + * + * This file defines the interface for input devices used by MicroWindows + * in an embedded system environment. */ /* @@ -112,43 +114,43 @@ struct MW_UID_MESSAGE { */ /** - * This method creates the message queue that holds events from the - * input devices. + * This method creates the message queue that holds events from the + * input devices. * - * @param[in] q_name is the name of the message queue - * @param[in] flags controls the behaviour of the queue - * @param[in] max_msgs specifies the maximum number of pending messages + * @param[in] q_name is the name of the message queue + * @param[in] flags controls the behaviour of the queue + * @param[in] max_msgs specifies the maximum number of pending messages * - * @note The message queue is from the Classic API. + * @note The message queue is from the Classic API. * - * @return This method returns 0 on success and -1 on error. + * @retval This method returns 0 on success and -1 on error. */ extern int uid_open_queue( const char *q_name, int flags, size_t max_msgs ); /** - * This method closes the message queue and deletes it. + * This method closes the message queue and deletes it. * - * @return This method returns 0 on success and -1 on error. + * @retval This method returns 0 on success and -1 on error. */ extern int uid_close_queue( void ); /** - * This method reads a message from the queue. It waits up to the specified - * timeout in miliseconds. A @a timeout of 0 is a poll. + * This method reads a message from the queue. It waits up to the specified + * timeout in miliseconds. A @a timeout of 0 is a poll. * - * @param[in] m will be filled in with the received message - * @param[in] timeout is the maximum number of mulliseconds to wait + * @param[in] m will be filled in with the received message + * @param[in] timeout is the maximum number of mulliseconds to wait * - * @return This method returns 0 on success and -1 on error. + * @retval This method returns 0 on success and -1 on error. */ extern int uid_read_message( struct MW_UID_MESSAGE *m, unsigned long timeout ); /** - * This methods writes a message to the queue. + * This methods writes a message to the queue. * - * @param[in] m is the message to send + * @param[in] m is the message to send * - * @return This method returns 0 on success and -1 on error. + * @retval This method returns 0 on success and -1 on error. */ extern int uid_send_message( struct MW_UID_MESSAGE *m ); @@ -165,22 +167,22 @@ extern int uid_unregister_device( int fd ); extern int uid_set_kbd_mode( int fd, int mode, int *old_mode ); /** - * This methods prints the specified UID message using printk + * This methods prints the specified UID message using printk * - * @param[in] uid points to the message to print + * @param[in] uid points to the message to print */ void uid_print_message( struct MW_UID_MESSAGE *uid ); /** - * This methods prints the specified UID message using your fprintf - * style method of choice. + * This methods prints the specified UID message using your fprintf + * style method of choice. * - * @param[in] context is a pointer to a data area which may be - * used by some print handlers - * @param[in] handler is the fprintf style method to invoke - * @param[in] uid points to the message to print + * @param[in] context is a pointer to a data area which may be + * used by some print handlers + * @param[in] handler is the fprintf style method to invoke + * @param[in] uid points to the message to print */ void uid_print_message_with_plugin( void *context, diff --git a/cpukit/libmisc/fsmount/fsmount.h b/cpukit/libmisc/fsmount/fsmount.h index af1d9a532f..b824774142 100644 --- a/cpukit/libmisc/fsmount/fsmount.h +++ b/cpukit/libmisc/fsmount/fsmount.h @@ -1,9 +1,29 @@ /** - * @file + * @file rtems/fsmount.h * - * File system mount functions. + * @defgroup rtems_fstab File System Mount Support + * + * @ingroup FileSystemTypesAndMount + * @brief File System Mount Functions + * + * This file contains the fsmount functions. These functions + * are used to mount a list of filesystems (and create their mount + * points before) + */ + +/* + * + * Copyright (c) 2003 IMD + * + * Ingenieurbuero fuer Microcomputertechnik Th. Doerfler + * + * all rights reserved + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ - + /*===============================================================*\ | Project: RTEMS fsmount | +-----------------------------------------------------------------+ diff --git a/cpukit/libmisc/mouse/mouse_parser.h b/cpukit/libmisc/mouse/mouse_parser.h index cdd50826cf..3d2dad1695 100644 --- a/cpukit/libmisc/mouse/mouse_parser.h +++ b/cpukit/libmisc/mouse/mouse_parser.h @@ -1,7 +1,10 @@ /** * @file rtems/mouse_parser.h * - * @brief Mouse Parser Engine + * @defgroup libmisc_mouse Mouse Parser Engine + * + * @ingroup libmisc + * @brief Initialize Mouse Parser Engine * * This file is the header file for the Mouse Parser Engine. */ @@ -51,23 +54,23 @@ extern "C" { #endif /** - * This is the mask for the right button. + * This is the mask for the right button. * - * @note Use the same definitions as the user interface. + * @note Use the same definitions as the user interface. */ #define RBUTTON MV_BUTTON_RIGHT /** * This is the mask for the center button. * - * @note Use the same definitions as the user interface. + * @note Use the same definitions as the user interface. */ #define MBUTTON MV_BUTTON_CENTER /** - * This is the mask for the left button. + * This is the mask for the left button. * - * @note Use the same definitions as the user interface. + * @note Use the same definitions as the user interface. */ #define LBUTTON MV_BUTTON_LEFT @@ -89,25 +92,25 @@ typedef unsigned int BUTTON; typedef void (*mouse_parser_enqueue_handler)(unsigned char *, size_t); /** - * @brief Initialize the mouse parser engine. + * @brief Initialize the mouse parser engine. * - * This method initializes the Mouse Parser Engine for the mouse - * of @a type. The @a type should be one of the following strings: - * pc ms, logi, ps2. + * This method initializes the Mouse Parser Engine for the mouse + * of @a type. The @a type should be one of the following strings: + * pc ms, logi, ps2. * - * @a param[in] type indicates the type of mouse. + * @a param[in] type indicates the type of mouse. * - * @return This method returns 0 on success and -1 on error. + * @retval This method returns 0 on success and -1 on error. */ int mouse_parser_initialize(const char *type); /** - * @brief Enqueue input to the mouse parser engine. + * @brief Enqueue input to the mouse parser engine. * - * This method is used to pass mouse input to the Mouse Parser Engine. + * This method is used to pass mouse input to the Mouse Parser Engine. * - * @a param[in] buffer is the data to enqueue - * @a param[in] size is the amount of data to enqueue + * @a param[in] buffer is the data to enqueue + * @a param[in] size is the amount of data to enqueue */ void mouse_parser_enqueue( unsigned char *buffer, diff --git a/cpukit/libmisc/mouse/serial_mouse.h b/cpukit/libmisc/mouse/serial_mouse.h index 44d46338d7..e4f0ee4491 100644 --- a/cpukit/libmisc/mouse/serial_mouse.h +++ b/cpukit/libmisc/mouse/serial_mouse.h @@ -43,13 +43,13 @@ extern "C" { serial_mouse_read, serial_mouse_write, serial_mouse_control } /** - * @brief The initialization of the serial mouse driver. + * @brief The initialization of the serial mouse driver. * - * This method initializes the serial mouse driver. + * This method initializes the serial mouse driver. * - * @param[in] major is the mouse device major number - * @param[in] minor is the mouse device minor number - * @param[in] arguments points to device driver arguments + * @param[in] major is the mouse device major number + * @param[in] minor is the mouse device minor number + * @param[in] arguments points to device driver arguments */ rtems_device_driver serial_mouse_initialize( rtems_device_major_number major, @@ -58,14 +58,14 @@ rtems_device_driver serial_mouse_initialize( ); /** - * @brief Open device driver entry point for the serial mouse driver. + * @brief Open device driver entry point for the serial mouse driver. * - * This method implements the Open device driver entry - * point for the serial mouse driver. + * This method implements the Open device driver entry + * point for the serial mouse driver. * - * @param[in] major is the mouse device major number - * @param[in] minor is the mouse device minor number - * @param[in] arguments points to device driver arguments + * @param[in] major is the mouse device major number + * @param[in] minor is the mouse device minor number + * @param[in] arguments points to device driver arguments */ rtems_device_driver serial_mouse_open( rtems_device_major_number major, @@ -74,14 +74,14 @@ rtems_device_driver serial_mouse_open( ); /** - * @brief Close device driver entry point for the serial mouse driver. + * @brief Close device driver entry point for the serial mouse driver. * - * This method implements the Close device driver entry - * point for the serial mouse driver. + * This method implements the Close device driver entry + * point for the serial mouse driver. * - * @param[in] major is the mouse device major number - * @param[in] minor is the mouse device minor number - * @param[in] arguments points to device driver arguments + * @param[in] major is the mouse device major number + * @param[in] minor is the mouse device minor number + * @param[in] arguments points to device driver arguments */ rtems_device_driver serial_mouse_close( rtems_device_major_number major, @@ -90,14 +90,14 @@ rtems_device_driver serial_mouse_close( ); /** - * @brief Read device driver entry point for the serial mouse driver. + * @brief Read device driver entry point for the serial mouse driver. * - * This method implements the Read device driver entry - * point for the serial mouse driver. + * This method implements the Read device driver entry + * point for the serial mouse driver. * - * @param[in] major is the mouse device major number - * @param[in] minor is the mouse device minor number - * @param[in] arguments points to device driver arguments + * @param[in] major is the mouse device major number + * @param[in] minor is the mouse device minor number + * @param[in] arguments points to device driver arguments */ rtems_device_driver serial_mouse_read( rtems_device_major_number major, @@ -106,14 +106,14 @@ rtems_device_driver serial_mouse_read( ); /** - * @brief Write device driver entry point for the serial mouse driver. + * @brief Write device driver entry point for the serial mouse driver. * - * This method implements the Write device driver entry - * point for the serial mouse driver. + * This method implements the Write device driver entry + * point for the serial mouse driver. * - * @param[in] major is the mouse device major number - * @param[in] minor is the mouse device minor number - * @param[in] arguments points to device driver arguments + * @param[in] major is the mouse device major number + * @param[in] minor is the mouse device minor number + * @param[in] arguments points to device driver arguments */ rtems_device_driver serial_mouse_write( rtems_device_major_number major, @@ -122,14 +122,14 @@ rtems_device_driver serial_mouse_write( ); /** - * @brief IO Control device driver entry point for the serial mouse driver. + * @brief IO Control device driver entry point for the serial mouse driver. * - * This method implements the IO Control device driver entry - * point for the serial mouse driver. + * This method implements the IO Control device driver entry + * point for the serial mouse driver. * - * @param[in] major is the mouse device major number - * @param[in] minor is the mouse device minor number - * @param[in] arguments points to device driver arguments + * @param[in] major is the mouse device major number + * @param[in] minor is the mouse device minor number + * @param[in] arguments points to device driver arguments */ rtems_device_driver serial_mouse_control( rtems_device_major_number major, @@ -138,17 +138,17 @@ rtems_device_driver serial_mouse_control( ); /** - * @brief Obtain serial mouse configuration information. + * @brief Obtain serial mouse configuration information. * - * This method is implemented by the BSP or application and - * tells the driver what device to open() and what type of - * mouse is connected. + * This method is implemented by the BSP or application and + * tells the driver what device to open() and what type of + * mouse is connected. * - * @param[in] name will point to a string with the device name - * of the serial port with the mouse connected. - * @param[in] type will point to a string with the type of mouse connected. + * @param[in] name will point to a string with the device name + * of the serial port with the mouse connected. + * @param[in] type will point to a string with the type of mouse connected. * - * @return This method returns true on success and false on error. + * @retval This method returns true on success and false on error. */ bool bsp_get_serial_mouse_device( const char **name, diff --git a/cpukit/libmisc/stackchk/internal.h b/cpukit/libmisc/stackchk/internal.h index 9e34b8b2e7..40dde64c47 100644 --- a/cpukit/libmisc/stackchk/internal.h +++ b/cpukit/libmisc/stackchk/internal.h @@ -1,14 +1,22 @@ -/* internal.h +/* + * @file rtems/internal.h * - * This include file contains internal information - * for the RTEMS stack checker. + * @defgroup libmisc_internal Internal Stack Checker Information * - * COPYRIGHT (c) 1989-2006. - * On-Line Applications Research Corporation (OAR). + * @ingroup libmisc + * @brief Stack Checker Internal Information + * + * This include file contains internal information + * for the RTEMS stack checker. + */ + +/* + * COPYRIGHT (c) 1989-2006. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef __INTERNAL_STACK_CHECK_h diff --git a/cpukit/libmisc/stackchk/stackchk.h b/cpukit/libmisc/stackchk/stackchk.h index a5a9bca534..0c7e6c5bb5 100644 --- a/cpukit/libmisc/stackchk/stackchk.h +++ b/cpukit/libmisc/stackchk/stackchk.h @@ -1,8 +1,10 @@ /** * @file rtems/stackchk.h * - * @brief Information Necessary to Utilize and Install the - * Stack Checker Mechanism + * @defgroup libmisc_stackchk Stack Checker Mechanism + * + * @ingroup libmisc + * @brief Stack Checker Information * * This include file contains information necessary to utilize * and install the stack checker mechanism. @@ -36,37 +38,37 @@ extern "C" { #endif /** - * @brief Checks if current task is blown its stack. + * @brief Checks if current task is blown its stack. * - * This method is used to determine if the current stack pointer - * of the currently executing task is within bounds. + * This method is used to determine if the current stack pointer + * of the currently executing task is within bounds. * - * @return This method returns true if the currently executing task - * has blown its stack. + * @retval This method returns true if the currently executing task + * has blown its stack. * */ bool rtems_stack_checker_is_blown( void ); /** - * @brief Print the stack usage report using printk. + * @brief Print the stack usage report using printk. * - * This method prints a stack usage report for the curently executing - * task. + * This method prints a stack usage report for the curently executing + * task. * - * @note It uses printk to print the report. + * @note It uses printk to print the report. */ void rtems_stack_checker_report_usage( void ); /** - * @brief Print the stack usage report using caller's routine. + * @brief Print the stack usage report using caller's routine. * - * This method prints a stack usage report for the curently executing - * task. + * This method prints a stack usage report for the curently executing + * task. * - * @param[in] context is the context to pass to the print handler - * @param[in] print is the print handler + * @param[in] context is the context to pass to the print handler + * @param[in] print is the print handler * - * @note It uses the caller's routine to print the report. + * @note It uses the caller's routine to print the report. */ void rtems_stack_checker_report_usage_with_plugin( void *context, @@ -80,7 +82,7 @@ void rtems_stack_checker_report_usage_with_plugin( *************************************************************/ /** - * @brief Stack Checker Task Create Extension + * @brief Stack Checker Task Create Extension * * This method is the task create extension for the stack checker. * @@ -96,7 +98,7 @@ bool rtems_stack_checker_create_extension( ); /** - * @brief Stack Checker Task Begin Extension + * @brief Stack Checker Task Begin Extension * * This method is the task begin extension for the stack checker. * @@ -109,7 +111,7 @@ void rtems_stack_checker_begin_extension( ); /** - * @brief Stack Checker Task Context Switch Extension + * @brief Stack Checker Task Context Switch Extension * * This method is the task context switch extension for the stack checker. * diff --git a/cpukit/libmisc/stringto/stringto.h b/cpukit/libmisc/stringto/stringto.h index f643949ed9..8b1687e2a9 100644 --- a/cpukit/libmisc/stringto/stringto.h +++ b/cpukit/libmisc/stringto/stringto.h @@ -1,16 +1,21 @@ /** * @file rtems/stringto.h * + * @defgroup libmisc_conv_help Conversion Helpers + * + * @ingroup libmisc + * @brief Convert String to Pointer (with validation) + * * This file defines the interface to a set of string conversion helpers. */ /* - * COPYRIGHT (c) 2009-2011. - * On-Line Applications Research Corporation (OAR). + * COPYRIGHT (c) 2009-2011. + * On-Line Applications Research Corporation (OAR). * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_STRINGTO_H @@ -25,18 +30,18 @@ #include /** - * @brief Convert String to Pointer (with validation). + * @brief Convert String to Pointer (with validation). * - * This method converts a string to a pointer (void *) with - * basic numeric validation. + * This method converts a string to a pointer (void *) with + * basic numeric validation. * - * @param[in] s is the string to convert - * @param[in] n points to the variable to place the converted output in - * @param[in] endptr is used to keep track of the position in the string + * @param[in] s is the string to convert + * @param[in] n points to the variable to place the converted output in + * @param[in] endptr is used to keep track of the position in the string * - * @return This method returns RTEMS_SUCCESSFUL on successful conversion - * and *n is filled in. Otherwise, the status indicates the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL on successful conversion + * and *n is filled in. Otherwise, the status indicates the + * source of the error. */ rtems_status_code rtems_string_to_pointer( const char *s, @@ -45,19 +50,19 @@ rtems_status_code rtems_string_to_pointer( ); /** - * @brief Convert String to Unsigned Character (with validation). + * @brief Convert String to Unsigned Character (with validation). * - * This method converts a string to an unsigned character with - * range validation. + * This method converts a string to an unsigned character with + * range validation. * - * @param[in] s is the string to convert - * @param[in] n points to the variable to place the converted output in - * @param[in] endptr is used to keep track of the position in the string - * @param[in] base is the expected base of the number + * @param[in] s is the string to convert + * @param[in] n points to the variable to place the converted output in + * @param[in] endptr is used to keep track of the position in the string + * @param[in] base is the expected base of the number * - * @return This method returns RTEMS_SUCCESSFUL on successful conversion - * and *n is filled in. Otherwise, the status indicates the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL on successful conversion + * and *n is filled in. Otherwise, the status indicates the + * source of the error. */ rtems_status_code rtems_string_to_unsigned_char( const char *s, @@ -67,18 +72,18 @@ rtems_status_code rtems_string_to_unsigned_char( ); /** - * @brief Convert String to Int (with validation). + * @brief Convert String to Int (with validation). * - * This method converts a string to an int with range validation. + * This method converts a string to an int with range validation. * - * @param[in] s is the string to convert - * @param[in] n points to the variable to place the converted output in - * @param[in] endptr is used to keep track of the position in the string - * @param[in] base is the expected base of the number + * @param[in] s is the string to convert + * @param[in] n points to the variable to place the converted output in + * @param[in] endptr is used to keep track of the position in the string + * @param[in] base is the expected base of the number * - * @return This method returns RTEMS_SUCCESSFUL on successful conversion - * and *n is filled in. Otherwise, the status indicates the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL on successful conversion + * and *n is filled in. Otherwise, the status indicates the + * source of the error. */ rtems_status_code rtems_string_to_int( const char *s, @@ -88,18 +93,18 @@ rtems_status_code rtems_string_to_int( ); /** - * @brief Convert String to Unsigned Int (with validation). + * @brief Convert String to Unsigned Int (with validation). * - * This method converts a string to an unsigned int with range validation. + * This method converts a string to an unsigned int with range validation. * - * @param[in] s is the string to convert - * @param[in] n points to the variable to place the converted output in - * @param[in] endptr is used to keep track of the position in the string - * @param[in] base is the expected base of the number + * @param[in] s is the string to convert + * @param[in] n points to the variable to place the converted output in + * @param[in] endptr is used to keep track of the position in the string + * @param[in] base is the expected base of the number * - * @return This method returns RTEMS_SUCCESSFUL on successful conversion - * and *n is filled in. Otherwise, the status indicates the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL on successful conversion + * and *n is filled in. Otherwise, the status indicates the + * source of the error. */ rtems_status_code rtems_string_to_unsigned_int( const char *s, @@ -109,19 +114,19 @@ rtems_status_code rtems_string_to_unsigned_int( ); /** - * @brief Convert String to Long (with validation). + * @brief Convert String to Long (with validation). * - * This method converts a string to a long with - * range validation. + * This method converts a string to a long with + * range validation. * - * @param[in] s is the string to convert - * @param[in] n points to the variable to place the converted output in - * @param[in] endptr is used to keep track of the position in the string - * @param[in] base is the expected base of the number + * @param[in] s is the string to convert + * @param[in] n points to the variable to place the converted output in + * @param[in] endptr is used to keep track of the position in the string + * @param[in] base is the expected base of the number * - * @return This method returns RTEMS_SUCCESSFUL on successful conversion - * and *n is filled in. Otherwise, the status indicates the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL on successful conversion + * and *n is filled in. Otherwise, the status indicates the + * source of the error. */ rtems_status_code rtems_string_to_long( const char *s, @@ -131,19 +136,19 @@ rtems_status_code rtems_string_to_long( ); /** - * @brief Convert String to Unsigned Long (with validation). + * @brief Convert String to Unsigned Long (with validation). * - * This method converts a string to an unsigned long with - * range validation. + * This method converts a string to an unsigned long with + * range validation. * - * @param[in] s is the string to convert - * @param[in] n points to the variable to place the converted output in - * @param[in] endptr is used to keep track of the position in the string - * @param[in] base is the expected base of the number + * @param[in] s is the string to convert + * @param[in] n points to the variable to place the converted output in + * @param[in] endptr is used to keep track of the position in the string + * @param[in] base is the expected base of the number * - * @return This method returns RTEMS_SUCCESSFUL on successful conversion - * and *n is filled in. Otherwise, the status indicates the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL on successful conversion + * and *n is filled in. Otherwise, the status indicates the + * source of the error. */ rtems_status_code rtems_string_to_unsigned_long( const char *s, @@ -153,19 +158,19 @@ rtems_status_code rtems_string_to_unsigned_long( ); /** - * @brief Convert String to Long Long (with validation). + * @brief Convert String to Long Long (with validation). * - * This method converts a string to a long long with - * range validation. + * This method converts a string to a long long with + * range validation. * - * @param[in] s is the string to convert - * @param[in] n points to the variable to place the converted output in - * @param[in] endptr is used to keep track of the position in the string - * @param[in] base is the expected base of the number + * @param[in] s is the string to convert + * @param[in] n points to the variable to place the converted output in + * @param[in] endptr is used to keep track of the position in the string + * @param[in] base is the expected base of the number * - * @return This method returns RTEMS_SUCCESSFUL on successful conversion - * and *n is filled in. Otherwise, the status indicates the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL on successful conversion + * and *n is filled in. Otherwise, the status indicates the + * source of the error. */ rtems_status_code rtems_string_to_long_long( const char *s, @@ -175,19 +180,19 @@ rtems_status_code rtems_string_to_long_long( ); /** - * @brief Convert String to Unsigned Long Long (with validation). + * @brief Convert String to Unsigned Long Long (with validation). * - * This method converts a string to an unsigned character with - * range validation. + * This method converts a string to an unsigned character with + * range validation. * - * @param[in] s is the string to convert - * @param[in] n points to the variable to place the converted output in - * @param[in] endptr is used to keep track of the position in the string - * @param[in] base is the expected base of the number + * @param[in] s is the string to convert + * @param[in] n points to the variable to place the converted output in + * @param[in] endptr is used to keep track of the position in the string + * @param[in] base is the expected base of the number * - * @return This method returns RTEMS_SUCCESSFUL on successful conversion - * and *n is filled in. Otherwise, the status indicates the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL on successful conversion + * and *n is filled in. Otherwise, the status indicates the + * source of the error. */ rtems_status_code rtems_string_to_unsigned_long_long( const char *s, @@ -197,17 +202,17 @@ rtems_status_code rtems_string_to_unsigned_long_long( ); /** - * @brief Convert String to Float (with validation). + * @brief Convert String to Float (with validation). * - * This method converts a string to a float with range validation. + * This method converts a string to a float with range validation. * - * @param[in] s is the string to convert - * @param[in] n points to the variable to place the converted output in - * @param[in] endptr is used to keep track of the position in the string + * @param[in] s is the string to convert + * @param[in] n points to the variable to place the converted output in + * @param[in] endptr is used to keep track of the position in the string * - * @return This method returns RTEMS_SUCCESSFUL on successful conversion - * and *n is filled in. Otherwise, the status indicates the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL on successful conversion + * and *n is filled in. Otherwise, the status indicates the + * source of the error. */ rtems_status_code rtems_string_to_float( const char *s, @@ -216,17 +221,17 @@ rtems_status_code rtems_string_to_float( ); /** - * @brief Convert String to Double (with validation). + * @brief Convert String to Double (with validation). * - * This method converts a string to a double with range validation. + * This method converts a string to a double with range validation. * - * @param[in] s is the string to convert - * @param[in] n points to the variable to place the converted output in - * @param[in] endptr is used to keep track of the position in the string + * @param[in] s is the string to convert + * @param[in] n points to the variable to place the converted output in + * @param[in] endptr is used to keep track of the position in the string * - * @return This method returns RTEMS_SUCCESSFUL on successful conversion - * and *n is filled in. Otherwise, the status indicates the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL on successful conversion + * and *n is filled in. Otherwise, the status indicates the + * source of the error. */ rtems_status_code rtems_string_to_double( const char *s, @@ -235,17 +240,17 @@ rtems_status_code rtems_string_to_double( ); /** - * @brief Convert String to long double (with validation). + * @brief Convert String to long double (with validation). * - * This method converts a string to a long double with range validation. + * This method converts a string to a long double with range validation. * - * @param[in] s is the string to convert - * @param[in] n points to the variable to place the converted output in - * @param[in] endptr is used to keep track of the position in the string + * @param[in] s is the string to convert + * @param[in] n points to the variable to place the converted output in + * @param[in] endptr is used to keep track of the position in the string * - * @return This method returns RTEMS_SUCCESSFUL on successful conversion - * and *n is filled in. Otherwise, the status indicates the - * source of the error. + * @retval This method returns RTEMS_SUCCESSFUL on successful conversion + * and *n is filled in. Otherwise, the status indicates the + * source of the error. */ rtems_status_code rtems_string_to_long_double( const char *s, @@ -254,4 +259,4 @@ rtems_status_code rtems_string_to_long_double( ); #endif -/**@}*/ \ No newline at end of file +/**@}*/ -- cgit v1.2.3 From 3169affa16900849a470f18309f973968e3d816f Mon Sep 17 00:00:00 2001 From: Cynthia Rempel Date: Sun, 30 Dec 2012 04:55:11 +0000 Subject: tmoverhd.doc Hi, Adding test documentation... --- testsuites/tmtests/tmoverhd/tmoverhd.doc | 75 ++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/testsuites/tmtests/tmoverhd/tmoverhd.doc b/testsuites/tmtests/tmoverhd/tmoverhd.doc index a2dcbde8b6..3900c4006a 100644 --- a/testsuites/tmtests/tmoverhd/tmoverhd.doc +++ b/testsuites/tmtests/tmoverhd/tmoverhd.doc @@ -6,4 +6,79 @@ # http://www.rtems.com/license/LICENSE. # +directives: ++ rtems shutdown executive ++ rtems task create ++ rtems task ident ++ rtems task start ++ rtems task restart ++ rtems task delete ++ rtems task suspend ++ rtems task resume ++ rtems task set priority ++ rtems task mode ++ rtems task get note ++ rtems task set note ++ rtems task wake when ++ rtems task wake after ++ rtems interrupt catch ++ rtems clock get ++ rtems clock set ++ rtems clock tick ++ rtems timer create ++ rtems timer delete ++ rtems timer ident ++ rtems timer fire after ++ rtems timer fire when ++ rtems timer reset ++ rtems timer cancel ++ rtems semaphore create ++ rtems semaphore delete ++ rtems semaphore ident ++ rtems semaphore obtain ++ rtems semaphore release ++ rtems message queue create ++ rtems message queue ident ++ rtems message queue delete ++ rtems message queue send ++ rtems message queue urgent ++ rtems message queue broadcast ++ rtems message queue receive ++ rtems message queue flush ++ rtems event send ++ rtems event receive ++ rtems signal catch ++ rtems signal send ++ rtems partition create ++ rtems partition ident ++ rtems partition delete ++ rtems partition get buffer ++ rtems partition return buffer ++ rtems region create ++ rtems region ident ++ rtems region delete ++ rtems region get segment ++ rtems region return segment ++ rtems port create ++ rtems port ident ++ rtems port delete ++ rtems port external to internal ++ rtems port internal to external ++ rtems io initialize ++ rtems io open ++ rtems io close ++ rtems io read ++ rtems io write ++ rtems io control ++ rtems fatal error occurred ++ rtems rate monotonic create ++ rtems rate monotonic ident ++ rtems rate monotonic delete ++ rtems rate monotonic cancel ++ rtems rate monotonic period ++ rtems multiprocessing announce + +concepts: + ++ Test the overhead of various classic RTEMS directives. -- cgit v1.2.3 From 9224905b8961e2c008a6b60088c1eb8eda72ba42 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 3 Jan 2013 15:41:16 +0100 Subject: bsps: Fix rtems_interrupt_server_handler_remove() --- c/src/lib/libbsp/shared/src/irq-server.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/c/src/lib/libbsp/shared/src/irq-server.c b/c/src/lib/libbsp/shared/src/irq-server.c index 0026f0f5a6..a6cdf4c0fb 100644 --- a/c/src/lib/libbsp/shared/src/irq-server.c +++ b/c/src/lib/libbsp/shared/src/irq-server.c @@ -220,8 +220,8 @@ rtems_status_code rtems_interrupt_server_handler_remove( sc = rtems_interrupt_handler_remove( vector, - ie.entry->handler, - ie.entry->arg + bsp_interrupt_server_trigger, + ie.entry ); if (sc != RTEMS_SUCCESSFUL) { return sc; -- cgit v1.2.3 From b41f2e226b4b76961a65d6e4cffafb76217c6b82 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 3 Jan 2013 17:07:14 +0100 Subject: score: Fix _Objects_Shrink_information() The chain iteration was wrong. The chain tail is not an object. --- cpukit/score/src/objectshrinkinformation.c | 36 +++++++++++++----------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/cpukit/score/src/objectshrinkinformation.c b/cpukit/score/src/objectshrinkinformation.c index de32f24d8d..466a85df74 100644 --- a/cpukit/score/src/objectshrinkinformation.c +++ b/cpukit/score/src/objectshrinkinformation.c @@ -34,12 +34,9 @@ void _Objects_Shrink_information( Objects_Information *information ) { - Objects_Control *the_object; - Objects_Control *extract_me; uint32_t block_count; uint32_t block; uint32_t index_base; - uint32_t index; /* * Search the list to find block or chunk with all objects inactive. @@ -52,25 +49,24 @@ void _Objects_Shrink_information( for ( block = 0; block < block_count; block++ ) { if ( information->inactive_per_block[ block ] == information->allocation_size ) { + Chain_Node *node = _Chain_First( &information->Inactive ); + const Chain_Node *tail = _Chain_Immutable_tail( &information->Inactive ); + uint32_t index_end = index_base + information->allocation_size; - /* - * Assume the Inactive chain is never empty at this point - */ - the_object = (Objects_Control *) _Chain_First( &information->Inactive ); + while ( node != tail ) { + Objects_Control *object = (Objects_Control *) node; + uint32_t index = _Objects_Get_index( object->id ); + + /* + * Get the next node before the node is extracted + */ + node = _Chain_Next( node ); + + if ( index >= index_base && index < index_end ) { + _Chain_Extract( &object->Node ); + } + } - do { - index = _Objects_Get_index( the_object->id ); - /* - * Get the next node before the node is extracted - */ - extract_me = the_object; - the_object = (Objects_Control *) the_object->Node.next; - if ((index >= index_base) && - (index < (index_base + information->allocation_size))) { - _Chain_Extract( &extract_me->Node ); - } - } - while ( the_object ); /* * Free the memory and reset the structures in the object' information */ -- cgit v1.2.3 From 31eebc97e0d7bb6dabc8657e8925d6e3db196c29 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 4 Jan 2013 12:32:19 +0100 Subject: arm: Delete unused arm_exc_undefined() --- cpukit/score/cpu/arm/rtems/score/cpu.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/cpukit/score/cpu/arm/rtems/score/cpu.h b/cpukit/score/cpu/arm/rtems/score/cpu.h index c1ffb0765d..ea41dfe3c1 100644 --- a/cpukit/score/cpu/arm/rtems/score/cpu.h +++ b/cpukit/score/cpu/arm/rtems/score/cpu.h @@ -570,8 +570,6 @@ void bsp_interrupt_dispatch( void ); void arm_exc_interrupt( void ); -void arm_exc_undefined( void ); - /** @} */ /* XXX This is out of date */ -- cgit v1.2.3 From 9b2e714322d80583c4b1d482503457db733f00c5 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 4 Jan 2013 13:05:28 +0100 Subject: arm: Move prototypes to new file Move bsp_interrupt_dispatch() and arm_exc_interrupt() prototypes to new file since they have nothing to do with the CPU port. --- c/src/lib/libbsp/arm/edb7312/irq/irq.c | 2 ++ c/src/lib/libbsp/arm/lpc24xx/irq/irq.c | 1 + c/src/lib/libbsp/arm/lpc32xx/irq/irq.c | 2 ++ c/src/lib/libcpu/arm/at91rm9200/irq/irq.c | 2 ++ c/src/lib/libcpu/arm/lpc22xx/irq/irq.c | 2 ++ c/src/lib/libcpu/arm/mc9328mxl/irq/irq.c | 2 ++ c/src/lib/libcpu/arm/pxa255/irq/irq.c | 2 ++ c/src/lib/libcpu/arm/s3c24xx/irq/irq.c | 2 ++ cpukit/score/cpu/arm/Makefile.am | 1 + cpukit/score/cpu/arm/preinstall.am | 4 ++++ cpukit/score/cpu/arm/rtems/score/armv4.h | 36 +++++++++++++++++++++++++++++++ cpukit/score/cpu/arm/rtems/score/cpu.h | 4 ---- 12 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 cpukit/score/cpu/arm/rtems/score/armv4.h diff --git a/c/src/lib/libbsp/arm/edb7312/irq/irq.c b/c/src/lib/libbsp/arm/edb7312/irq/irq.c index a345d1b477..afe22b93fa 100644 --- a/c/src/lib/libbsp/arm/edb7312/irq/irq.c +++ b/c/src/lib/libbsp/arm/edb7312/irq/irq.c @@ -12,6 +12,8 @@ * http://www.rtems.com/license/LICENSE. */ +#include + #include #include #include diff --git a/c/src/lib/libbsp/arm/lpc24xx/irq/irq.c b/c/src/lib/libbsp/arm/lpc24xx/irq/irq.c index f99ce46c99..e1332a9c44 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/irq/irq.c +++ b/c/src/lib/libbsp/arm/lpc24xx/irq/irq.c @@ -20,6 +20,7 @@ * http://www.rtems.com/license/LICENSE. */ +#include #include #include diff --git a/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c b/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c index b53b9f4bd3..14505a3d5e 100644 --- a/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c +++ b/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c @@ -19,6 +19,8 @@ * http://www.rtems.com/license/LICENSE. */ +#include + #include #include #include diff --git a/c/src/lib/libcpu/arm/at91rm9200/irq/irq.c b/c/src/lib/libcpu/arm/at91rm9200/irq/irq.c index 8ef677529c..fc136de094 100644 --- a/c/src/lib/libcpu/arm/at91rm9200/irq/irq.c +++ b/c/src/lib/libcpu/arm/at91rm9200/irq/irq.c @@ -10,6 +10,8 @@ * http://www.rtems.com/license/LICENSE. */ +#include + #include #include #include diff --git a/c/src/lib/libcpu/arm/lpc22xx/irq/irq.c b/c/src/lib/libcpu/arm/lpc22xx/irq/irq.c index acb25dce81..bbebdf9025 100644 --- a/c/src/lib/libcpu/arm/lpc22xx/irq/irq.c +++ b/c/src/lib/libcpu/arm/lpc22xx/irq/irq.c @@ -9,6 +9,8 @@ * http://www.rtems.com/license/LICENSE. */ +#include + #include #include #include diff --git a/c/src/lib/libcpu/arm/mc9328mxl/irq/irq.c b/c/src/lib/libcpu/arm/mc9328mxl/irq/irq.c index a7e5b670d2..5209148cbd 100644 --- a/c/src/lib/libcpu/arm/mc9328mxl/irq/irq.c +++ b/c/src/lib/libcpu/arm/mc9328mxl/irq/irq.c @@ -10,6 +10,8 @@ * http://www.rtems.com/license/LICENSE. */ +#include + #include #include #include diff --git a/c/src/lib/libcpu/arm/pxa255/irq/irq.c b/c/src/lib/libcpu/arm/pxa255/irq/irq.c index 214fb3c745..376a157454 100644 --- a/c/src/lib/libcpu/arm/pxa255/irq/irq.c +++ b/c/src/lib/libcpu/arm/pxa255/irq/irq.c @@ -9,6 +9,8 @@ * http://www.rtems.com/license/LICENSE. */ +#include + #include #include #include diff --git a/c/src/lib/libcpu/arm/s3c24xx/irq/irq.c b/c/src/lib/libcpu/arm/s3c24xx/irq/irq.c index 9aa97935cc..d0877a13fc 100644 --- a/c/src/lib/libcpu/arm/s3c24xx/irq/irq.c +++ b/c/src/lib/libcpu/arm/s3c24xx/irq/irq.c @@ -12,6 +12,8 @@ * http://www.rtems.com/license/LICENSE. */ +#include + #include #include #include diff --git a/cpukit/score/cpu/arm/Makefile.am b/cpukit/score/cpu/arm/Makefile.am index f0ddbd679b..b084e7a5e3 100644 --- a/cpukit/score/cpu/arm/Makefile.am +++ b/cpukit/score/cpu/arm/Makefile.am @@ -6,6 +6,7 @@ include_rtems_scoredir = $(includedir)/rtems/score include_rtems_score_HEADERS = rtems/score/cpu.h include_rtems_score_HEADERS += rtems/score/cpu_asm.h include_rtems_score_HEADERS += rtems/score/arm.h +include_rtems_score_HEADERS += rtems/score/armv4.h include_rtems_score_HEADERS += rtems/score/armv7m.h include_rtems_score_HEADERS += rtems/score/types.h diff --git a/cpukit/score/cpu/arm/preinstall.am b/cpukit/score/cpu/arm/preinstall.am index 92ba4687fc..fb8881df93 100644 --- a/cpukit/score/cpu/arm/preinstall.am +++ b/cpukit/score/cpu/arm/preinstall.am @@ -39,6 +39,10 @@ $(PROJECT_INCLUDE)/rtems/score/arm.h: rtems/score/arm.h $(PROJECT_INCLUDE)/rtems $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/arm.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/arm.h +$(PROJECT_INCLUDE)/rtems/score/armv4.h: rtems/score/armv4.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/armv4.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/armv4.h + $(PROJECT_INCLUDE)/rtems/score/armv7m.h: rtems/score/armv7m.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/armv7m.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/armv7m.h diff --git a/cpukit/score/cpu/arm/rtems/score/armv4.h b/cpukit/score/cpu/arm/rtems/score/armv4.h new file mode 100644 index 0000000000..9204c734f8 --- /dev/null +++ b/cpukit/score/cpu/arm/rtems/score/armv4.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2013 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Dornierstr. 4 + * 82178 Puchheim + * Germany + * + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#ifndef RTEMS_SCORE_ARMV4_H +#define RTEMS_SCORE_ARMV4_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#ifdef ARM_MULTILIB_ARCH_V4 + +void bsp_interrupt_dispatch( void ); + +void arm_exc_interrupt( void ); + +#endif /* ARM_MULTILIB_ARCH_V4 */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* RTEMS_SCORE_ARMV4_H */ diff --git a/cpukit/score/cpu/arm/rtems/score/cpu.h b/cpukit/score/cpu/arm/rtems/score/cpu.h index ea41dfe3c1..935dcd21e5 100644 --- a/cpukit/score/cpu/arm/rtems/score/cpu.h +++ b/cpukit/score/cpu/arm/rtems/score/cpu.h @@ -566,10 +566,6 @@ void arm_exc_prefetch_abort_set_handler( arm_exc_abort_handler handler ); void arm_exc_prefetch_abort( void ); -void bsp_interrupt_dispatch( void ); - -void arm_exc_interrupt( void ); - /** @} */ /* XXX This is out of date */ -- cgit v1.2.3 From 370c2c8021c19b73a75736ea6d06a7d69f86200f Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 4 Jan 2013 13:06:51 +0100 Subject: arm: Rename arm_exc_interrupt() Rename arm_exc_interrupt() to _ARMV4_Exception_interrupt(). --- c/src/lib/libbsp/arm/edb7312/irq/irq.c | 2 +- c/src/lib/libbsp/arm/gba/start/start.S | 2 +- c/src/lib/libbsp/arm/lpc24xx/irq/irq.c | 2 +- c/src/lib/libbsp/arm/lpc32xx/irq/irq.c | 2 +- c/src/lib/libcpu/arm/at91rm9200/irq/irq.c | 2 +- c/src/lib/libcpu/arm/lpc22xx/irq/irq.c | 2 +- c/src/lib/libcpu/arm/mc9328mxl/irq/irq.c | 2 +- c/src/lib/libcpu/arm/pxa255/irq/irq.c | 2 +- c/src/lib/libcpu/arm/s3c24xx/irq/irq.c | 2 +- cpukit/score/cpu/arm/arm_exc_interrupt.S | 4 ++-- cpukit/score/cpu/arm/rtems/score/armv4.h | 2 +- 11 files changed, 12 insertions(+), 12 deletions(-) diff --git a/c/src/lib/libbsp/arm/edb7312/irq/irq.c b/c/src/lib/libbsp/arm/edb7312/irq/irq.c index afe22b93fa..85b4e26217 100644 --- a/c/src/lib/libbsp/arm/edb7312/irq/irq.c +++ b/c/src/lib/libbsp/arm/edb7312/irq/irq.c @@ -172,7 +172,7 @@ rtems_status_code bsp_interrupt_facility_initialize(void) } int_stat = *EP7312_INTSR3; - _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, arm_exc_interrupt, NULL); + _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt, NULL); return RTEMS_SUCCESSFUL; } diff --git a/c/src/lib/libbsp/arm/gba/start/start.S b/c/src/lib/libbsp/arm/gba/start/start.S index 3827c9d8a4..c391517371 100644 --- a/c/src/lib/libbsp/arm/gba/start/start.S +++ b/c/src/lib/libbsp/arm/gba/start/start.S @@ -162,7 +162,7 @@ .align PUBLIC_ARM_FUNCTION(_gba_ISR_handler) ldmfd r13!,{r0-r3,r12,r14} - b arm_exc_interrupt + b _ARMV4_Exception_interrupt LABEL_END(_gba_ISR_handler) diff --git a/c/src/lib/libbsp/arm/lpc24xx/irq/irq.c b/c/src/lib/libbsp/arm/lpc24xx/irq/irq.c index e1332a9c44..02ddb78942 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/irq/irq.c +++ b/c/src/lib/libbsp/arm/lpc24xx/irq/irq.c @@ -114,7 +114,7 @@ rtems_status_code bsp_interrupt_facility_initialize(void) } /* Install the IRQ exception handler */ - _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, arm_exc_interrupt, NULL); + _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt, NULL); return RTEMS_SUCCESSFUL; } diff --git a/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c b/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c index 14505a3d5e..94e0ca71f7 100644 --- a/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c +++ b/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c @@ -343,7 +343,7 @@ rtems_status_code bsp_interrupt_facility_initialize(void) lpc32xx.sic_1.atr = 0x26000; lpc32xx.sic_2.atr = 0x0; - lpc32xx_set_exception_handler(ARM_EXCEPTION_IRQ, arm_exc_interrupt); + lpc32xx_set_exception_handler(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt); return RTEMS_SUCCESSFUL; } diff --git a/c/src/lib/libcpu/arm/at91rm9200/irq/irq.c b/c/src/lib/libcpu/arm/at91rm9200/irq/irq.c index fc136de094..77b40697e1 100644 --- a/c/src/lib/libcpu/arm/at91rm9200/irq/irq.c +++ b/c/src/lib/libcpu/arm/at91rm9200/irq/irq.c @@ -52,7 +52,7 @@ rtems_status_code bsp_interrupt_facility_initialize(void) /* disable all interrupts */ AIC_CTL_REG(AIC_IDCR) = 0xffffffff; - _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, arm_exc_interrupt, NULL); + _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt, NULL); return RTEMS_SUCCESSFUL; } diff --git a/c/src/lib/libcpu/arm/lpc22xx/irq/irq.c b/c/src/lib/libcpu/arm/lpc22xx/irq/irq.c index bbebdf9025..440c481b62 100644 --- a/c/src/lib/libcpu/arm/lpc22xx/irq/irq.c +++ b/c/src/lib/libcpu/arm/lpc22xx/irq/irq.c @@ -66,7 +66,7 @@ rtems_status_code bsp_interrupt_facility_initialize(void) VICVectAddr = 0; /* Install the IRQ exception handler */ - _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, arm_exc_interrupt, NULL); + _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt, NULL); return RTEMS_SUCCESSFUL; } diff --git a/c/src/lib/libcpu/arm/mc9328mxl/irq/irq.c b/c/src/lib/libcpu/arm/mc9328mxl/irq/irq.c index 5209148cbd..447dedfc8c 100644 --- a/c/src/lib/libcpu/arm/mc9328mxl/irq/irq.c +++ b/c/src/lib/libcpu/arm/mc9328mxl/irq/irq.c @@ -38,7 +38,7 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector) rtems_status_code bsp_interrupt_facility_initialize(void) { - _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, arm_exc_interrupt, NULL); + _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt, NULL); return RTEMS_SUCCESSFUL; } diff --git a/c/src/lib/libcpu/arm/pxa255/irq/irq.c b/c/src/lib/libcpu/arm/pxa255/irq/irq.c index 376a157454..e65af93936 100644 --- a/c/src/lib/libcpu/arm/pxa255/irq/irq.c +++ b/c/src/lib/libcpu/arm/pxa255/irq/irq.c @@ -47,7 +47,7 @@ rtems_status_code bsp_interrupt_facility_initialize(void) XSCALE_INT_ICLR = 0x0; /* Install the IRQ exception handler */ - _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, arm_exc_interrupt, NULL); + _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt, NULL); return RTEMS_SUCCESSFUL; } diff --git a/c/src/lib/libcpu/arm/s3c24xx/irq/irq.c b/c/src/lib/libcpu/arm/s3c24xx/irq/irq.c index d0877a13fc..7758b77591 100644 --- a/c/src/lib/libcpu/arm/s3c24xx/irq/irq.c +++ b/c/src/lib/libcpu/arm/s3c24xx/irq/irq.c @@ -39,7 +39,7 @@ rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector) rtems_status_code bsp_interrupt_facility_initialize(void) { - _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, arm_exc_interrupt, NULL); + _CPU_ISR_install_vector(ARM_EXCEPTION_IRQ, _ARMV4_Exception_interrupt, NULL); return RTEMS_SUCCESSFUL; } diff --git a/cpukit/score/cpu/arm/arm_exc_interrupt.S b/cpukit/score/cpu/arm/arm_exc_interrupt.S index 8d7cfbc1c2..82f3007f5c 100644 --- a/cpukit/score/cpu/arm/arm_exc_interrupt.S +++ b/cpukit/score/cpu/arm/arm_exc_interrupt.S @@ -50,8 +50,8 @@ .extern bsp_interrupt_dispatch .arm -.globl arm_exc_interrupt -arm_exc_interrupt: +.globl _ARMV4_Exception_interrupt +_ARMV4_Exception_interrupt: /* Save exchange registers to exchange area */ stmdb sp, EXCHANGE_LIST diff --git a/cpukit/score/cpu/arm/rtems/score/armv4.h b/cpukit/score/cpu/arm/rtems/score/armv4.h index 9204c734f8..97f502d8e1 100644 --- a/cpukit/score/cpu/arm/rtems/score/armv4.h +++ b/cpukit/score/cpu/arm/rtems/score/armv4.h @@ -25,7 +25,7 @@ extern "C" { void bsp_interrupt_dispatch( void ); -void arm_exc_interrupt( void ); +void _ARMV4_Exception_interrupt( void ); #endif /* ARM_MULTILIB_ARCH_V4 */ -- cgit v1.2.3 From c04ac2ca4a03d574756a5ddd2ae097a518133251 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 4 Jan 2013 13:16:35 +0100 Subject: arm: Move type definition and prototypes --- cpukit/score/cpu/arm/rtems/score/armv4.h | 10 ++++++++++ cpukit/score/cpu/arm/rtems/score/cpu.h | 10 ---------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cpukit/score/cpu/arm/rtems/score/armv4.h b/cpukit/score/cpu/arm/rtems/score/armv4.h index 97f502d8e1..022f0c19aa 100644 --- a/cpukit/score/cpu/arm/rtems/score/armv4.h +++ b/cpukit/score/cpu/arm/rtems/score/armv4.h @@ -27,6 +27,16 @@ void bsp_interrupt_dispatch( void ); void _ARMV4_Exception_interrupt( void ); +typedef void arm_exc_abort_handler( arm_cpu_context *context ); + +void arm_exc_data_abort_set_handler( arm_exc_abort_handler handler ); + +void arm_exc_data_abort( void ); + +void arm_exc_prefetch_abort_set_handler( arm_exc_abort_handler handler ); + +void arm_exc_prefetch_abort( void ); + #endif /* ARM_MULTILIB_ARCH_V4 */ #ifdef __cplusplus diff --git a/cpukit/score/cpu/arm/rtems/score/cpu.h b/cpukit/score/cpu/arm/rtems/score/cpu.h index 935dcd21e5..82bad386c9 100644 --- a/cpukit/score/cpu/arm/rtems/score/cpu.h +++ b/cpukit/score/cpu/arm/rtems/score/cpu.h @@ -510,8 +510,6 @@ typedef struct { uint32_t cpsr; } arm_cpu_context; -typedef void arm_exc_abort_handler( arm_cpu_context *context ); - typedef enum { ARM_EXCEPTION_RESET = 0, ARM_EXCEPTION_UNDEF = 1, @@ -558,14 +556,6 @@ static inline void arm_status_restore( uint32_t psr ) RTEMS_COMPILER_MEMORY_BARRIER(); } -void arm_exc_data_abort_set_handler( arm_exc_abort_handler handler ); - -void arm_exc_data_abort( void ); - -void arm_exc_prefetch_abort_set_handler( arm_exc_abort_handler handler ); - -void arm_exc_prefetch_abort( void ); - /** @} */ /* XXX This is out of date */ -- cgit v1.2.3 From 010c09ac19846f3c01b1dd65b3c1fd708f07e9bb Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 4 Jan 2013 13:20:37 +0100 Subject: arm: Rename type and functions Rename arm_exc_abort_handler to ARMV4_Exception_abort_handler, arm_exc_data_abort() to _ARMV4_Exception_data_abort(), arm_exc_data_abort_set_handler() to _ARMV4_Exception_data_abort_set_handler(), arm_exc_prefetch_abort() to _ARMV4_Exception_prefetch_abort(), and arm_exc_prefetch_abort_set_handler() to _ARMV4_Exception_prefetch_abort_set_handler(), --- cpukit/score/cpu/arm/arm_exc_abort.S | 16 ++++++++-------- cpukit/score/cpu/arm/rtems/score/armv4.h | 14 +++++++++----- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/cpukit/score/cpu/arm/arm_exc_abort.S b/cpukit/score/cpu/arm/arm_exc_abort.S index 59ab5d2988..183773d64e 100644 --- a/cpukit/score/cpu/arm/arm_exc_abort.S +++ b/cpukit/score/cpu/arm/arm_exc_abort.S @@ -30,11 +30,11 @@ .extern rtems_fatal_error_occurred -.globl arm_exc_data_abort_set_handler -.globl arm_exc_data_abort +.globl _ARMV4_Exception_data_abort_set_handler +.globl _ARMV4_Exception_data_abort -.globl arm_exc_prefetch_abort_set_handler -.globl arm_exc_prefetch_abort +.globl _ARMV4_Exception_prefetch_abort_set_handler +.globl _ARMV4_Exception_prefetch_abort .section ".bss" @@ -50,7 +50,7 @@ prefetch_abort_handler: .thumb_func #endif -arm_exc_data_abort_set_handler: +_ARMV4_Exception_data_abort_set_handler: ldr r1, =data_abort_handler str r0, [r1] #ifdef __thumb__ @@ -63,7 +63,7 @@ arm_exc_data_abort_set_handler: .thumb_func #endif -arm_exc_prefetch_abort_set_handler: +_ARMV4_Exception_prefetch_abort_set_handler: ldr r1, =prefetch_abort_handler str r0, [r1] #ifdef __thumb__ @@ -74,7 +74,7 @@ arm_exc_prefetch_abort_set_handler: .arm -arm_exc_prefetch_abort: +_ARMV4_Exception_prefetch_abort: /* Save context and load handler */ sub sp, #16 @@ -83,7 +83,7 @@ arm_exc_prefetch_abort: b save_more_context -arm_exc_data_abort: +_ARMV4_Exception_data_abort: /* Save context and load handler */ sub sp, #16 diff --git a/cpukit/score/cpu/arm/rtems/score/armv4.h b/cpukit/score/cpu/arm/rtems/score/armv4.h index 022f0c19aa..5100413363 100644 --- a/cpukit/score/cpu/arm/rtems/score/armv4.h +++ b/cpukit/score/cpu/arm/rtems/score/armv4.h @@ -27,15 +27,19 @@ void bsp_interrupt_dispatch( void ); void _ARMV4_Exception_interrupt( void ); -typedef void arm_exc_abort_handler( arm_cpu_context *context ); +typedef void ARMV4_Exception_abort_handler( arm_cpu_context *context ); -void arm_exc_data_abort_set_handler( arm_exc_abort_handler handler ); +void _ARMV4_Exception_data_abort_set_handler( + ARMV4_Exception_abort_handler handler +); -void arm_exc_data_abort( void ); +void _ARMV4_Exception_data_abort( void ); -void arm_exc_prefetch_abort_set_handler( arm_exc_abort_handler handler ); +void _ARMV4_Exception_prefetch_abort_set_handler( + ARMV4_Exception_abort_handler handler +); -void arm_exc_prefetch_abort( void ); +void _ARMV4_Exception_prefetch_abort( void ); #endif /* ARM_MULTILIB_ARCH_V4 */ -- cgit v1.2.3 From 8d68773761b2f4a3f2d7102a6af01d61db33efec Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 4 Jan 2013 14:09:19 +0100 Subject: arm: Change CPU_Exception_frame Provide proper CPU_Exception_frame definition for ARMv4 and use it. Remove arm_cpu_context. --- cpukit/score/cpu/arm/arm_exc_abort.S | 18 ++++++++------ cpukit/score/cpu/arm/arm_exc_handler_high.c | 2 +- cpukit/score/cpu/arm/rtems/score/armv4.h | 2 +- cpukit/score/cpu/arm/rtems/score/cpu.h | 38 ++++++++++++----------------- 4 files changed, 27 insertions(+), 33 deletions(-) diff --git a/cpukit/score/cpu/arm/arm_exc_abort.S b/cpukit/score/cpu/arm/arm_exc_abort.S index 183773d64e..fb1b985319 100644 --- a/cpukit/score/cpu/arm/arm_exc_abort.S +++ b/cpukit/score/cpu/arm/arm_exc_abort.S @@ -77,8 +77,9 @@ _ARMV4_Exception_prefetch_abort_set_handler: _ARMV4_Exception_prefetch_abort: /* Save context and load handler */ - sub sp, #16 + sub sp, #20 stmdb sp!, {r0-r12} + mov r4, #3 ldr r6, =prefetch_abort_handler b save_more_context @@ -86,8 +87,9 @@ _ARMV4_Exception_prefetch_abort: _ARMV4_Exception_data_abort: /* Save context and load handler */ - sub sp, #16 + sub sp, #20 stmdb sp!, {r0-r12} + mov r4, #4 ldr r6, =data_abort_handler save_more_context: @@ -95,15 +97,15 @@ save_more_context: /* Save more context */ mov r2, lr mrs r3, spsr - mrs r4, cpsr + mrs r7, cpsr orr r5, r3, #ARM_PSR_I bic r5, #ARM_PSR_T msr cpsr, r5 mov r0, sp mov r1, lr - msr cpsr, r4 - add r5, sp, #68 - stmdb r5!, {r0-r3} + msr cpsr, r7 + add r5, sp, #72 + stmdb r5!, {r0-r4} /* Call high level handler */ ldr r2, [r6] @@ -121,11 +123,11 @@ save_more_context: #endif /* __thumb__ */ /* Restore context */ - ldmia r5!, {r0-r3} + ldmia r5!, {r0-r4} mov lr, r2 msr spsr, r3 ldmia sp!, {r0-r12} - add sp, #16 + add sp, #20 /* Return from interrupt */ subs pc, lr, #8 diff --git a/cpukit/score/cpu/arm/arm_exc_handler_high.c b/cpukit/score/cpu/arm/arm_exc_handler_high.c index 5f0fdd05f1..9e9449bdd8 100644 --- a/cpukit/score/cpu/arm/arm_exc_handler_high.c +++ b/cpukit/score/cpu/arm/arm_exc_handler_high.c @@ -42,7 +42,7 @@ static void _defaultExcHandler (CPU_Exception_frame *ctx) printk("----------------------------------------------------------\n\r"); #if 1 printk("Exception 0x%x caught at PC 0x%x by thread %d\n", - ctx->register_ip, ctx->register_lr - 4, + ctx->vector, ctx->register_lr - 4, _Thread_Executing->Object.id); #endif printk("----------------------------------------------------------\n\r"); diff --git a/cpukit/score/cpu/arm/rtems/score/armv4.h b/cpukit/score/cpu/arm/rtems/score/armv4.h index 5100413363..a7deb9ad83 100644 --- a/cpukit/score/cpu/arm/rtems/score/armv4.h +++ b/cpukit/score/cpu/arm/rtems/score/armv4.h @@ -27,7 +27,7 @@ void bsp_interrupt_dispatch( void ); void _ARMV4_Exception_interrupt( void ); -typedef void ARMV4_Exception_abort_handler( arm_cpu_context *context ); +typedef void ARMV4_Exception_abort_handler( CPU_Exception_frame *frame ); void _ARMV4_Exception_data_abort_set_handler( ARMV4_Exception_abort_handler handler diff --git a/cpukit/score/cpu/arm/rtems/score/cpu.h b/cpukit/score/cpu/arm/rtems/score/cpu.h index 82bad386c9..f83b30f229 100644 --- a/cpukit/score/cpu/arm/rtems/score/cpu.h +++ b/cpukit/score/cpu/arm/rtems/score/cpu.h @@ -490,26 +490,6 @@ static inline uint16_t CPU_swap_u16( uint16_t value ) * @{ */ -typedef struct { - uint32_t r0; - uint32_t r1; - uint32_t r2; - uint32_t r3; - uint32_t r4; - uint32_t r5; - uint32_t r6; - uint32_t r7; - uint32_t r8; - uint32_t r9; - uint32_t r10; - uint32_t r11; - uint32_t r12; - uint32_t sp; - uint32_t lr; - uint32_t pc; - uint32_t cpsr; -} arm_cpu_context; - typedef enum { ARM_EXCEPTION_RESET = 0, ARM_EXCEPTION_UNDEF = 1, @@ -519,7 +499,8 @@ typedef enum { ARM_EXCEPTION_RESERVED = 5, ARM_EXCEPTION_IRQ = 6, ARM_EXCEPTION_FIQ = 7, - MAX_EXCEPTIONS = 8 + MAX_EXCEPTIONS = 8, + ARM_EXCEPTION_MAKE_ENUM_32_BIT = 0xffffffff } Arm_symbolic_exception_name; static inline uint32_t arm_status_irq_enable( void ) @@ -558,14 +539,25 @@ static inline void arm_status_restore( uint32_t psr ) /** @} */ -/* XXX This is out of date */ typedef struct { uint32_t register_r0; uint32_t register_r1; uint32_t register_r2; uint32_t register_r3; - uint32_t register_ip; + uint32_t register_r4; + uint32_t register_r5; + uint32_t register_r6; + uint32_t register_r7; + uint32_t register_r8; + uint32_t register_r9; + uint32_t register_r10; + uint32_t register_r11; + uint32_t register_r12; + uint32_t register_sp; uint32_t register_lr; + uint32_t register_pc; + uint32_t register_cpsr; + Arm_symbolic_exception_name vector; } CPU_Exception_frame; typedef CPU_Exception_frame CPU_Interrupt_frame; -- cgit v1.2.3 From 50f3c42be544c40e91e0748875c075a2cdb8229b Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 4 Jan 2013 14:22:10 +0100 Subject: arm: Add and use _ARM_Exception_default() --- cpukit/score/cpu/arm/Makefile.am | 1 + cpukit/score/cpu/arm/arm-exception-default.c | 25 +++++++++++++++++++++++++ cpukit/score/cpu/arm/arm_exc_abort.S | 7 +++---- cpukit/score/cpu/arm/rtems/score/cpu.h | 2 ++ 4 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 cpukit/score/cpu/arm/arm-exception-default.c diff --git a/cpukit/score/cpu/arm/Makefile.am b/cpukit/score/cpu/arm/Makefile.am index b084e7a5e3..c941043ef6 100644 --- a/cpukit/score/cpu/arm/Makefile.am +++ b/cpukit/score/cpu/arm/Makefile.am @@ -20,6 +20,7 @@ libscorecpu_a_SOURCES += arm_exc_interrupt.S libscorecpu_a_SOURCES += arm_exc_handler_low.S libscorecpu_a_SOURCES += arm_exc_handler_high.c libscorecpu_a_SOURCES += arm-exception-frame-print.c +libscorecpu_a_SOURCES += arm-exception-default.c libscorecpu_a_SOURCES += armv7m-context-initialize.c libscorecpu_a_SOURCES += armv7m-context-restore.c libscorecpu_a_SOURCES += armv7m-context-switch.c diff --git a/cpukit/score/cpu/arm/arm-exception-default.c b/cpukit/score/cpu/arm/arm-exception-default.c new file mode 100644 index 0000000000..ec29f23431 --- /dev/null +++ b/cpukit/score/cpu/arm/arm-exception-default.c @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2013 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + +#include +#include + +void _ARM_Exception_default( CPU_Exception_frame *frame ) +{ + rtems_fatal( RTEMS_FATAL_SOURCE_EXCEPTION, (rtems_fatal_code) frame ); +} diff --git a/cpukit/score/cpu/arm/arm_exc_abort.S b/cpukit/score/cpu/arm/arm_exc_abort.S index fb1b985319..f4cf6724b8 100644 --- a/cpukit/score/cpu/arm/arm_exc_abort.S +++ b/cpukit/score/cpu/arm/arm_exc_abort.S @@ -28,7 +28,7 @@ #ifdef ARM_MULTILIB_ARCH_V4 -.extern rtems_fatal_error_occurred +.extern _ARM_Exception_default .globl _ARMV4_Exception_data_abort_set_handler .globl _ARMV4_Exception_data_abort @@ -110,9 +110,8 @@ save_more_context: /* Call high level handler */ ldr r2, [r6] cmp r2, #0 - ldreq r2, =rtems_fatal_error_occurred - movne r0, sp - moveq r0, #0xaa + ldreq r2, =_ARM_Exception_default + mov r0, sp #ifndef __thumb__ mov lr, pc mov pc, r2 diff --git a/cpukit/score/cpu/arm/rtems/score/cpu.h b/cpukit/score/cpu/arm/rtems/score/cpu.h index f83b30f229..d04a09eaf0 100644 --- a/cpukit/score/cpu/arm/rtems/score/cpu.h +++ b/cpukit/score/cpu/arm/rtems/score/cpu.h @@ -573,6 +573,8 @@ typedef CPU_Interrupt_frame CPU_Exception_frame; void _CPU_Exception_frame_print( const CPU_Exception_frame *frame ); +void _ARM_Exception_default( CPU_Exception_frame *frame ); + #ifdef __cplusplus } #endif -- cgit v1.2.3 From 13cf9520f4fd223337d5b450cad2b7cfe0361779 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 4 Jan 2013 15:47:34 +0100 Subject: arm: Add and use default exception handler Add and use _ARMV4_Exception_undef_default(), _ARMV4_Exception_swi_default(), _ARMV4_Exception_data_abort_default(), _ARMV4_Exception_pref_abort_default(), _ARMV4_Exception_reserved_default(), _ARMV4_Exception_irq_default(), and _ARMV4_Exception_fiq_default(). --- c/src/lib/libbsp/arm/shared/start/start.S | 30 +++---- cpukit/score/cpu/arm/Makefile.am | 1 + cpukit/score/cpu/arm/armv4-exception-default.S | 117 +++++++++++++++++++++++++ cpukit/score/cpu/arm/rtems/score/armv4.h | 14 +++ 4 files changed, 147 insertions(+), 15 deletions(-) create mode 100644 cpukit/score/cpu/arm/armv4-exception-default.S diff --git a/c/src/lib/libbsp/arm/shared/start/start.S b/c/src/lib/libbsp/arm/shared/start/start.S index 2167adc8b5..33783cb1ac 100644 --- a/c/src/lib/libbsp/arm/shared/start/start.S +++ b/c/src/lib/libbsp/arm/shared/start/start.S @@ -5,7 +5,7 @@ */ /* - * Copyright (c) 2008-2011 embedded brains GmbH. All rights reserved. + * Copyright (c) 2008-2013 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Obere Lagerstr. 30 @@ -31,6 +31,13 @@ .extern boot_card .extern bsp_start_hook_0 .extern bsp_start_hook_1 + .extern _ARMV4_Exception_undef_default + .extern _ARMV4_Exception_swi_default + .extern _ARMV4_Exception_data_abort_default + .extern _ARMV4_Exception_pref_abort_default + .extern _ARMV4_Exception_reserved_default + .extern _ARMV4_Exception_irq_default + .extern _ARMV4_Exception_fiq_default /* Global symbols */ .globl _start @@ -74,31 +81,31 @@ handler_addr_reset: handler_addr_undef: - .word reset + .word _ARMV4_Exception_undef_default handler_addr_swi: - .word reset + .word _ARMV4_Exception_swi_default handler_addr_prefetch: - .word reset + .word _ARMV4_Exception_data_abort_default handler_addr_abort: - .word reset + .word _ARMV4_Exception_pref_abort_default handler_addr_reserved: - .word reset + .word _ARMV4_Exception_reserved_default handler_addr_irq: - .word reset + .word _ARMV4_Exception_irq_default handler_addr_fiq: - .word reset + .word _ARMV4_Exception_fiq_default bsp_start_vector_table_end: @@ -199,13 +206,6 @@ twiddle: b twiddle -.arm - -reset: - - SWITCH_FROM_ARM_TO_THUMB r0 - b twiddle - #elif defined(ARM_MULTILIB_ARCH_V7M) .syntax unified diff --git a/cpukit/score/cpu/arm/Makefile.am b/cpukit/score/cpu/arm/Makefile.am index c941043ef6..85f9c7d967 100644 --- a/cpukit/score/cpu/arm/Makefile.am +++ b/cpukit/score/cpu/arm/Makefile.am @@ -21,6 +21,7 @@ libscorecpu_a_SOURCES += arm_exc_handler_low.S libscorecpu_a_SOURCES += arm_exc_handler_high.c libscorecpu_a_SOURCES += arm-exception-frame-print.c libscorecpu_a_SOURCES += arm-exception-default.c +libscorecpu_a_SOURCES += armv4-exception-default.S libscorecpu_a_SOURCES += armv7m-context-initialize.c libscorecpu_a_SOURCES += armv7m-context-restore.c libscorecpu_a_SOURCES += armv7m-context-switch.c diff --git a/cpukit/score/cpu/arm/armv4-exception-default.S b/cpukit/score/cpu/arm/armv4-exception-default.S new file mode 100644 index 0000000000..e5520d5817 --- /dev/null +++ b/cpukit/score/cpu/arm/armv4-exception-default.S @@ -0,0 +1,117 @@ +/* + * Copyright (c) 2013 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + +#include +#include + +#ifdef ARM_MULTILIB_ARCH_V4 + +.extern _ARM_Exception_default + +.globl _ARMV4_Exception_undef_default +.globl _ARMV4_Exception_swi_default +.globl _ARMV4_Exception_data_abort_default +.globl _ARMV4_Exception_pref_abort_default +.globl _ARMV4_Exception_reserved_default +.globl _ARMV4_Exception_irq_default +.globl _ARMV4_Exception_fiq_default + +.section ".text" + +.arm + +_ARMV4_Exception_undef_default: + + /* Save context and load vector */ + sub sp, #20 + stmdb sp!, {r0-r12} + mov r4, #1 + + b save_more_context + +_ARMV4_Exception_swi_default: + + /* Save context and load vector */ + sub sp, #20 + stmdb sp!, {r0-r12} + mov r4, #2 + + b save_more_context + +_ARMV4_Exception_pref_abort_default: + + /* Save context and load vector */ + sub sp, #20 + stmdb sp!, {r0-r12} + mov r4, #3 + + b save_more_context + +_ARMV4_Exception_data_abort_default: + + /* Save context and load vector */ + sub sp, #20 + stmdb sp!, {r0-r12} + mov r4, #4 + +_ARMV4_Exception_reserved_default: + + /* Save context and load vector */ + sub sp, #20 + stmdb sp!, {r0-r12} + mov r4, #5 + +_ARMV4_Exception_irq_default: + + /* Save context and load vector */ + sub sp, #20 + stmdb sp!, {r0-r12} + mov r4, #6 + +_ARMV4_Exception_fiq_default: + + /* Save context and load vector */ + sub sp, #20 + stmdb sp!, {r0-r12} + mov r4, #7 + +save_more_context: + + /* Save more context */ + mov r2, lr + mrs r3, spsr + mrs r7, cpsr + orr r5, r3, #ARM_PSR_I + bic r5, #ARM_PSR_T + msr cpsr, r5 + mov r0, sp + mov r1, lr + msr cpsr, r7 + add r5, sp, #72 + stmdb r5!, {r0-r4} + + /* Call high level handler */ + mov r0, sp + SWITCH_FROM_ARM_TO_THUMB r1 + bl _ARM_Exception_default + + /* Just in case */ +twiddle: + b twiddle + +#endif /* ARM_MULTILIB_ARCH_V4 */ diff --git a/cpukit/score/cpu/arm/rtems/score/armv4.h b/cpukit/score/cpu/arm/rtems/score/armv4.h index a7deb9ad83..8c000f1150 100644 --- a/cpukit/score/cpu/arm/rtems/score/armv4.h +++ b/cpukit/score/cpu/arm/rtems/score/armv4.h @@ -41,6 +41,20 @@ void _ARMV4_Exception_prefetch_abort_set_handler( void _ARMV4_Exception_prefetch_abort( void ); +void _ARMV4_Exception_undef_default( void ); + +void _ARMV4_Exception_swi_default( void ); + +void _ARMV4_Exception_data_abort_default( void ); + +void _ARMV4_Exception_pref_abort_default( void ); + +void _ARMV4_Exception_reserved_default( void ); + +void _ARMV4_Exception_irq_default( void ); + +void _ARMV4_Exception_fiq_default( void ); + #endif /* ARM_MULTILIB_ARCH_V4 */ #ifdef __cplusplus -- cgit v1.2.3 From 8df0e91ab0f9a890b0ba9c3c2428c91cde09a0e8 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 4 Jan 2013 16:22:18 +0100 Subject: arm: Move inline functions --- c/src/lib/libbsp/arm/lpc24xx/irq/irq-dispatch.c | 2 ++ cpukit/score/cpu/arm/rtems/score/armv4.h | 34 +++++++++++++++++++++++++ cpukit/score/cpu/arm/rtems/score/cpu.h | 34 ------------------------- 3 files changed, 36 insertions(+), 34 deletions(-) diff --git a/c/src/lib/libbsp/arm/lpc24xx/irq/irq-dispatch.c b/c/src/lib/libbsp/arm/lpc24xx/irq/irq-dispatch.c index 2f8a23c576..8eeb677680 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/irq/irq-dispatch.c +++ b/c/src/lib/libbsp/arm/lpc24xx/irq/irq-dispatch.c @@ -20,6 +20,8 @@ * http://www.rtems.com/license/LICENSE. */ +#include + #include #include #include diff --git a/cpukit/score/cpu/arm/rtems/score/armv4.h b/cpukit/score/cpu/arm/rtems/score/armv4.h index 8c000f1150..98ac84666e 100644 --- a/cpukit/score/cpu/arm/rtems/score/armv4.h +++ b/cpukit/score/cpu/arm/rtems/score/armv4.h @@ -55,6 +55,40 @@ void _ARMV4_Exception_irq_default( void ); void _ARMV4_Exception_fiq_default( void ); +static inline uint32_t arm_status_irq_enable( void ) +{ + uint32_t arm_switch_reg; + uint32_t psr; + + RTEMS_COMPILER_MEMORY_BARRIER(); + + __asm__ volatile ( + ARM_SWITCH_TO_ARM + "mrs %[psr], cpsr\n" + "bic %[arm_switch_reg], %[psr], #0x80\n" + "msr cpsr, %[arm_switch_reg]\n" + ARM_SWITCH_BACK + : [arm_switch_reg] "=&r" (arm_switch_reg), [psr] "=&r" (psr) + ); + + return psr; +} + +static inline void arm_status_restore( uint32_t psr ) +{ + ARM_SWITCH_REGISTERS; + + __asm__ volatile ( + ARM_SWITCH_TO_ARM + "msr cpsr, %[psr]\n" + ARM_SWITCH_BACK + : ARM_SWITCH_OUTPUT + : [psr] "r" (psr) + ); + + RTEMS_COMPILER_MEMORY_BARRIER(); +} + #endif /* ARM_MULTILIB_ARCH_V4 */ #ifdef __cplusplus diff --git a/cpukit/score/cpu/arm/rtems/score/cpu.h b/cpukit/score/cpu/arm/rtems/score/cpu.h index d04a09eaf0..ed1ce3ba90 100644 --- a/cpukit/score/cpu/arm/rtems/score/cpu.h +++ b/cpukit/score/cpu/arm/rtems/score/cpu.h @@ -503,40 +503,6 @@ typedef enum { ARM_EXCEPTION_MAKE_ENUM_32_BIT = 0xffffffff } Arm_symbolic_exception_name; -static inline uint32_t arm_status_irq_enable( void ) -{ - uint32_t arm_switch_reg; - uint32_t psr; - - RTEMS_COMPILER_MEMORY_BARRIER(); - - __asm__ volatile ( - ARM_SWITCH_TO_ARM - "mrs %[psr], cpsr\n" - "bic %[arm_switch_reg], %[psr], #0x80\n" - "msr cpsr, %[arm_switch_reg]\n" - ARM_SWITCH_BACK - : [arm_switch_reg] "=&r" (arm_switch_reg), [psr] "=&r" (psr) - ); - - return psr; -} - -static inline void arm_status_restore( uint32_t psr ) -{ - ARM_SWITCH_REGISTERS; - - __asm__ volatile ( - ARM_SWITCH_TO_ARM - "msr cpsr, %[psr]\n" - ARM_SWITCH_BACK - : ARM_SWITCH_OUTPUT - : [psr] "r" (psr) - ); - - RTEMS_COMPILER_MEMORY_BARRIER(); -} - /** @} */ typedef struct { -- cgit v1.2.3 From 0f7abd9943dc5be2f246bfe59c81a2770ed4f36c Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 4 Jan 2013 16:25:19 +0100 Subject: arm: Rename inline functions Rename arm_status_irq_enable() to _ARMV4_Status_irq_enable() and arm_status_restore() to _ARMV4_Status_restore(). --- c/src/lib/libbsp/arm/lpc24xx/irq/irq-dispatch.c | 4 ++-- c/src/lib/libbsp/arm/lpc32xx/irq/irq.c | 4 ++-- cpukit/score/cpu/arm/rtems/score/armv4.h | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/c/src/lib/libbsp/arm/lpc24xx/irq/irq-dispatch.c b/c/src/lib/libbsp/arm/lpc24xx/irq/irq-dispatch.c index 8eeb677680..4b84c94bf8 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/irq/irq-dispatch.c +++ b/c/src/lib/libbsp/arm/lpc24xx/irq/irq-dispatch.c @@ -35,13 +35,13 @@ void bsp_interrupt_dispatch(void) rtems_vector_number vector = VICVectAddr; /* Enable interrupts in program status register */ - uint32_t psr = arm_status_irq_enable(); + uint32_t psr = _ARMV4_Status_irq_enable(); /* Dispatch interrupt handlers */ bsp_interrupt_handler_dispatch(vector); /* Restore program status register */ - arm_status_restore(psr); + _ARMV4_Status_restore(psr); /* Acknowledge interrupt */ VICVectAddr = 0; diff --git a/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c b/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c index 94e0ca71f7..67506ee9f9 100644 --- a/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c +++ b/c/src/lib/libbsp/arm/lpc32xx/irq/irq.c @@ -254,11 +254,11 @@ void bsp_interrupt_dispatch(void) lpc32xx.sic_1.er = er_sic_1 & masks->field.sic_1; lpc32xx.sic_2.er = er_sic_2 & masks->field.sic_2; - psr = arm_status_irq_enable(); + psr = _ARMV4_Status_irq_enable(); bsp_interrupt_handler_dispatch(vector); - arm_status_restore(psr); + _ARMV4_Status_restore(psr); lpc32xx.mic.er = er_mic & lpc32xx_irq_enable.field.mic; lpc32xx.sic_1.er = er_sic_1 & lpc32xx_irq_enable.field.sic_1; diff --git a/cpukit/score/cpu/arm/rtems/score/armv4.h b/cpukit/score/cpu/arm/rtems/score/armv4.h index 98ac84666e..dfd57bb3bb 100644 --- a/cpukit/score/cpu/arm/rtems/score/armv4.h +++ b/cpukit/score/cpu/arm/rtems/score/armv4.h @@ -55,7 +55,7 @@ void _ARMV4_Exception_irq_default( void ); void _ARMV4_Exception_fiq_default( void ); -static inline uint32_t arm_status_irq_enable( void ) +static inline uint32_t _ARMV4_Status_irq_enable( void ) { uint32_t arm_switch_reg; uint32_t psr; @@ -74,7 +74,7 @@ static inline uint32_t arm_status_irq_enable( void ) return psr; } -static inline void arm_status_restore( uint32_t psr ) +static inline void _ARMV4_Status_restore( uint32_t psr ) { ARM_SWITCH_REGISTERS; -- cgit v1.2.3 From 0d8cde94eb859e9d644f90665f06daed7086f7fc Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 7 Jan 2013 08:39:45 +0100 Subject: arm: Provide CPU_Exception_frame for ARMv7-M --- cpukit/score/cpu/arm/rtems/score/cpu.h | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/cpukit/score/cpu/arm/rtems/score/cpu.h b/cpukit/score/cpu/arm/rtems/score/cpu.h index ed1ce3ba90..008311244c 100644 --- a/cpukit/score/cpu/arm/rtems/score/cpu.h +++ b/cpukit/score/cpu/arm/rtems/score/cpu.h @@ -482,14 +482,14 @@ static inline uint16_t CPU_swap_u16( uint16_t value ) /** @} */ -#if defined(ARM_MULTILIB_ARCH_V4) - /** * @addtogroup ScoreCPUARM * * @{ */ +#if defined(ARM_MULTILIB_ARCH_V4) + typedef enum { ARM_EXCEPTION_RESET = 0, ARM_EXCEPTION_UNDEF = 1, @@ -503,7 +503,7 @@ typedef enum { ARM_EXCEPTION_MAKE_ENUM_32_BIT = 0xffffffff } Arm_symbolic_exception_name; -/** @} */ +#endif /* defined(ARM_MULTILIB_ARCH_V4) */ typedef struct { uint32_t register_r0; @@ -520,27 +520,25 @@ typedef struct { uint32_t register_r11; uint32_t register_r12; uint32_t register_sp; - uint32_t register_lr; - uint32_t register_pc; + void *register_lr; + void *register_pc; +#if defined(ARM_MULTILIB_ARCH_V4) uint32_t register_cpsr; Arm_symbolic_exception_name vector; +#elif defined(ARM_MULTILIB_ARCH_V7M) + uint32_t register_xpsr; + uint32_t vector; +#endif } CPU_Exception_frame; typedef CPU_Exception_frame CPU_Interrupt_frame; -#else /* !defined(ARM_MULTILIB_ARCH_V4) */ - -typedef void CPU_Interrupt_frame; - -/* FIXME */ -typedef CPU_Interrupt_frame CPU_Exception_frame; - -#endif /* !defined(ARM_MULTILIB_ARCH_V4) */ - void _CPU_Exception_frame_print( const CPU_Exception_frame *frame ); void _ARM_Exception_default( CPU_Exception_frame *frame ); +/** @} */ + #ifdef __cplusplus } #endif -- cgit v1.2.3 From e377ad7d621f9b278a29dbbff25b915a40e6073b Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 7 Jan 2013 08:48:45 +0100 Subject: arm: Include --- cpukit/score/cpu/arm/armv7m-context-initialize.c | 3 +-- cpukit/score/cpu/arm/armv7m-context-restore.c | 3 +-- cpukit/score/cpu/arm/armv7m-context-switch.c | 3 +-- cpukit/score/cpu/arm/armv7m-exception-handler-get.c | 3 +-- cpukit/score/cpu/arm/armv7m-exception-handler-set.c | 4 +--- cpukit/score/cpu/arm/armv7m-exception-priority-get.c | 4 +--- cpukit/score/cpu/arm/armv7m-exception-priority-handler.c | 4 +--- cpukit/score/cpu/arm/armv7m-exception-priority-set.c | 4 +--- cpukit/score/cpu/arm/armv7m-initialize.c | 4 +--- cpukit/score/cpu/arm/armv7m-isr-dispatch.c | 3 +-- cpukit/score/cpu/arm/armv7m-isr-enter-leave.c | 3 +-- cpukit/score/cpu/arm/armv7m-isr-level-get.c | 4 +--- cpukit/score/cpu/arm/armv7m-isr-level-set.c | 4 +--- cpukit/score/cpu/arm/armv7m-isr-vector-install.c | 3 +-- cpukit/score/cpu/arm/armv7m-multitasking-start-stop.c | 4 +--- cpukit/score/cpu/arm/rtems/score/armv7m.h | 7 +++++-- 16 files changed, 20 insertions(+), 40 deletions(-) diff --git a/cpukit/score/cpu/arm/armv7m-context-initialize.c b/cpukit/score/cpu/arm/armv7m-context-initialize.c index 640adae03d..892df4d8c8 100644 --- a/cpukit/score/cpu/arm/armv7m-context-initialize.c +++ b/cpukit/score/cpu/arm/armv7m-context-initialize.c @@ -24,12 +24,11 @@ #include +#include #include #ifdef ARM_MULTILIB_ARCH_V7M -#include - void _CPU_Context_Initialize( Context_Control *context, void *stack_area_begin, diff --git a/cpukit/score/cpu/arm/armv7m-context-restore.c b/cpukit/score/cpu/arm/armv7m-context-restore.c index 477904953b..a9afdf37e0 100644 --- a/cpukit/score/cpu/arm/armv7m-context-restore.c +++ b/cpukit/score/cpu/arm/armv7m-context-restore.c @@ -22,12 +22,11 @@ #include "config.h" #endif +#include #include #ifdef ARM_MULTILIB_ARCH_V7M -#include - void __attribute__((naked)) _CPU_Context_restore( Context_Control *heir ) diff --git a/cpukit/score/cpu/arm/armv7m-context-switch.c b/cpukit/score/cpu/arm/armv7m-context-switch.c index 0fd3c206d0..9814ed07a1 100644 --- a/cpukit/score/cpu/arm/armv7m-context-switch.c +++ b/cpukit/score/cpu/arm/armv7m-context-switch.c @@ -22,12 +22,11 @@ #include "config.h" #endif +#include #include #ifdef ARM_MULTILIB_ARCH_V7M -#include - void __attribute__((naked)) _CPU_Context_switch( Context_Control *executing, Context_Control *heir diff --git a/cpukit/score/cpu/arm/armv7m-exception-handler-get.c b/cpukit/score/cpu/arm/armv7m-exception-handler-get.c index cf25cafe77..cf100778b8 100644 --- a/cpukit/score/cpu/arm/armv7m-exception-handler-get.c +++ b/cpukit/score/cpu/arm/armv7m-exception-handler-get.c @@ -22,12 +22,11 @@ #include "config.h" #endif +#include #include #ifdef ARM_MULTILIB_ARCH_V7M -#include - ARMV7M_Exception_handler _ARMV7M_Get_exception_handler( int index ) { return _ARMV7M_SCB->vtor [index]; diff --git a/cpukit/score/cpu/arm/armv7m-exception-handler-set.c b/cpukit/score/cpu/arm/armv7m-exception-handler-set.c index ea3fce3ca5..0de3a222c0 100644 --- a/cpukit/score/cpu/arm/armv7m-exception-handler-set.c +++ b/cpukit/score/cpu/arm/armv7m-exception-handler-set.c @@ -22,12 +22,10 @@ #include "config.h" #endif -#include +#include #ifdef ARM_MULTILIB_ARCH_V7M -#include - void _ARMV7M_Set_exception_handler( int index, ARMV7M_Exception_handler handler diff --git a/cpukit/score/cpu/arm/armv7m-exception-priority-get.c b/cpukit/score/cpu/arm/armv7m-exception-priority-get.c index 79224e184f..6a1df1df43 100644 --- a/cpukit/score/cpu/arm/armv7m-exception-priority-get.c +++ b/cpukit/score/cpu/arm/armv7m-exception-priority-get.c @@ -21,12 +21,10 @@ #include "config.h" #endif -#include +#include #ifdef ARM_MULTILIB_ARCH_V7M -#include - int _ARMV7M_Get_exception_priority( int vector ) { if ( _ARMV7M_Is_vector_an_irq( vector ) ) { diff --git a/cpukit/score/cpu/arm/armv7m-exception-priority-handler.c b/cpukit/score/cpu/arm/armv7m-exception-priority-handler.c index de0b020f23..7b3ff50dbe 100644 --- a/cpukit/score/cpu/arm/armv7m-exception-priority-handler.c +++ b/cpukit/score/cpu/arm/armv7m-exception-priority-handler.c @@ -22,12 +22,10 @@ #include "config.h" #endif -#include +#include #ifdef ARM_MULTILIB_ARCH_V7M -#include - void _ARMV7M_Set_exception_priority_and_handler( int index, int priority, diff --git a/cpukit/score/cpu/arm/armv7m-exception-priority-set.c b/cpukit/score/cpu/arm/armv7m-exception-priority-set.c index 085ce2dd96..76dd6d3d7f 100644 --- a/cpukit/score/cpu/arm/armv7m-exception-priority-set.c +++ b/cpukit/score/cpu/arm/armv7m-exception-priority-set.c @@ -22,12 +22,10 @@ #include "config.h" #endif -#include +#include #ifdef ARM_MULTILIB_ARCH_V7M -#include - void _ARMV7M_Set_exception_priority( int vector, int priority ) { if ( _ARMV7M_Is_vector_an_irq( vector ) ) { diff --git a/cpukit/score/cpu/arm/armv7m-initialize.c b/cpukit/score/cpu/arm/armv7m-initialize.c index cb3c19656d..236a0970e9 100644 --- a/cpukit/score/cpu/arm/armv7m-initialize.c +++ b/cpukit/score/cpu/arm/armv7m-initialize.c @@ -22,12 +22,10 @@ #include "config.h" #endif -#include +#include #ifdef ARM_MULTILIB_ARCH_V7M -#include - void _CPU_Initialize( void ) { /* diff --git a/cpukit/score/cpu/arm/armv7m-isr-dispatch.c b/cpukit/score/cpu/arm/armv7m-isr-dispatch.c index 7c2cd7370c..3cfe7d7ca5 100644 --- a/cpukit/score/cpu/arm/armv7m-isr-dispatch.c +++ b/cpukit/score/cpu/arm/armv7m-isr-dispatch.c @@ -22,12 +22,11 @@ #include "config.h" #endif +#include #include #ifdef ARM_MULTILIB_ARCH_V7M -#include - static void __attribute__((naked)) _ARMV7M_Thread_dispatch( void ) { __asm__ volatile ( diff --git a/cpukit/score/cpu/arm/armv7m-isr-enter-leave.c b/cpukit/score/cpu/arm/armv7m-isr-enter-leave.c index 1bce10ae77..5af0a8120d 100644 --- a/cpukit/score/cpu/arm/armv7m-isr-enter-leave.c +++ b/cpukit/score/cpu/arm/armv7m-isr-enter-leave.c @@ -22,12 +22,11 @@ #include "config.h" #endif +#include #include #ifdef ARM_MULTILIB_ARCH_V7M -#include - void _ARMV7M_Interrupt_service_enter( void ) { ++_Thread_Dispatch_disable_level; diff --git a/cpukit/score/cpu/arm/armv7m-isr-level-get.c b/cpukit/score/cpu/arm/armv7m-isr-level-get.c index 887e30843d..7ba13ac111 100644 --- a/cpukit/score/cpu/arm/armv7m-isr-level-get.c +++ b/cpukit/score/cpu/arm/armv7m-isr-level-get.c @@ -22,12 +22,10 @@ #include "config.h" #endif -#include +#include #ifdef ARM_MULTILIB_ARCH_V7M -#include - uint32_t _CPU_ISR_Get_level( void ) { return 0; diff --git a/cpukit/score/cpu/arm/armv7m-isr-level-set.c b/cpukit/score/cpu/arm/armv7m-isr-level-set.c index 2f4c36312e..81cb9fdbd3 100644 --- a/cpukit/score/cpu/arm/armv7m-isr-level-set.c +++ b/cpukit/score/cpu/arm/armv7m-isr-level-set.c @@ -22,12 +22,10 @@ #include "config.h" #endif -#include +#include #ifdef ARM_MULTILIB_ARCH_V7M -#include - void _CPU_ISR_Set_level( uint32_t level ) { _ARMV7M_Set_basepri( 0 ); diff --git a/cpukit/score/cpu/arm/armv7m-isr-vector-install.c b/cpukit/score/cpu/arm/armv7m-isr-vector-install.c index 82b8e02e2b..ef813e318b 100644 --- a/cpukit/score/cpu/arm/armv7m-isr-vector-install.c +++ b/cpukit/score/cpu/arm/armv7m-isr-vector-install.c @@ -22,12 +22,11 @@ #include "config.h" #endif +#include #include #ifdef ARM_MULTILIB_ARCH_V7M -#include - void _CPU_ISR_install_vector( uint32_t vector, proc_ptr new_handler, diff --git a/cpukit/score/cpu/arm/armv7m-multitasking-start-stop.c b/cpukit/score/cpu/arm/armv7m-multitasking-start-stop.c index d27bf8b009..f3e96e343c 100644 --- a/cpukit/score/cpu/arm/armv7m-multitasking-start-stop.c +++ b/cpukit/score/cpu/arm/armv7m-multitasking-start-stop.c @@ -22,12 +22,10 @@ #include "config.h" #endif -#include +#include #ifdef ARM_MULTILIB_ARCH_V7M -#include - void __attribute__((naked)) _ARMV7M_Start_multitasking( Context_Control *bsp, Context_Control *heir diff --git a/cpukit/score/cpu/arm/rtems/score/armv7m.h b/cpukit/score/cpu/arm/rtems/score/armv7m.h index 62f69ff490..c8b55c1bfe 100644 --- a/cpukit/score/cpu/arm/rtems/score/armv7m.h +++ b/cpukit/score/cpu/arm/rtems/score/armv7m.h @@ -15,13 +15,14 @@ #ifndef RTEMS_SCORE_ARMV7M_H #define RTEMS_SCORE_ARMV7M_H -#include -#include +#include #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ +#ifdef ARM_MULTILIB_ARCH_V7M + typedef struct { uint32_t reserved_0; uint32_t ictr; @@ -475,6 +476,8 @@ void _ARMV7M_Pendable_service_call( void ); void _ARMV7M_Supervisor_call( void ); +#endif /* ARM_MULTILIB_ARCH_V7M */ + #ifdef __cplusplus } #endif /* __cplusplus */ -- cgit v1.2.3 From 04f399dc0b11248eeb19453f28248862432e9d1b Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 7 Jan 2013 10:19:23 +0100 Subject: arm: Add and use _ARMV7M_Exception_default() --- c/src/lib/libbsp/arm/shared/start/start.S | 31 ++++++++------- cpukit/score/cpu/arm/Makefile.am | 1 + cpukit/score/cpu/arm/armv7m-exception-default.c | 53 +++++++++++++++++++++++++ cpukit/score/cpu/arm/rtems/score/armv7m.h | 2 + 4 files changed, 72 insertions(+), 15 deletions(-) create mode 100644 cpukit/score/cpu/arm/armv7m-exception-default.c diff --git a/c/src/lib/libbsp/arm/shared/start/start.S b/c/src/lib/libbsp/arm/shared/start/start.S index 33783cb1ac..9954a8717d 100644 --- a/c/src/lib/libbsp/arm/shared/start/start.S +++ b/c/src/lib/libbsp/arm/shared/start/start.S @@ -38,6 +38,7 @@ .extern _ARMV4_Exception_reserved_default .extern _ARMV4_Exception_irq_default .extern _ARMV4_Exception_fiq_default + .extern _ARMV7M_Exception_default /* Global symbols */ .globl _start @@ -218,22 +219,22 @@ bsp_start_vector_table_begin: .word bsp_stack_main_end .word _start /* Reset */ - .word bsp_reset /* NMI */ - .word bsp_reset /* Hard Fault */ - .word bsp_reset /* MPU Fault */ - .word bsp_reset /* Bus Fault */ - .word bsp_reset /* Usage Fault */ - .word bsp_reset /* Reserved */ - .word bsp_reset /* Reserved */ - .word bsp_reset /* Reserved */ - .word bsp_reset /* Reserved */ - .word bsp_reset /* SVC */ - .word bsp_reset /* Debug Monitor */ - .word bsp_reset /* Reserved */ - .word bsp_reset /* PendSV */ - .word bsp_reset /* SysTick */ + .word _ARMV7M_Exception_default /* NMI */ + .word _ARMV7M_Exception_default /* Hard Fault */ + .word _ARMV7M_Exception_default /* MPU Fault */ + .word _ARMV7M_Exception_default /* Bus Fault */ + .word _ARMV7M_Exception_default /* Usage Fault */ + .word _ARMV7M_Exception_default /* Reserved */ + .word _ARMV7M_Exception_default /* Reserved */ + .word _ARMV7M_Exception_default /* Reserved */ + .word _ARMV7M_Exception_default /* Reserved */ + .word _ARMV7M_Exception_default /* SVC */ + .word _ARMV7M_Exception_default /* Debug Monitor */ + .word _ARMV7M_Exception_default /* Reserved */ + .word _ARMV7M_Exception_default /* PendSV */ + .word _ARMV7M_Exception_default /* SysTick */ .rept BSP_INTERRUPT_VECTOR_MAX + 1 - .word bsp_reset /* IRQ */ + .word _ARMV7M_Exception_default /* IRQ */ .endr bsp_start_vector_table_end: diff --git a/cpukit/score/cpu/arm/Makefile.am b/cpukit/score/cpu/arm/Makefile.am index 85f9c7d967..dedbb049b4 100644 --- a/cpukit/score/cpu/arm/Makefile.am +++ b/cpukit/score/cpu/arm/Makefile.am @@ -25,6 +25,7 @@ libscorecpu_a_SOURCES += armv4-exception-default.S libscorecpu_a_SOURCES += armv7m-context-initialize.c libscorecpu_a_SOURCES += armv7m-context-restore.c libscorecpu_a_SOURCES += armv7m-context-switch.c +libscorecpu_a_SOURCES += armv7m-exception-default.c libscorecpu_a_SOURCES += armv7m-exception-frame-print.c libscorecpu_a_SOURCES += armv7m-exception-handler-get.c libscorecpu_a_SOURCES += armv7m-exception-handler-set.c diff --git a/cpukit/score/cpu/arm/armv7m-exception-default.c b/cpukit/score/cpu/arm/armv7m-exception-default.c new file mode 100644 index 0000000000..fbd1039028 --- /dev/null +++ b/cpukit/score/cpu/arm/armv7m-exception-default.c @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2013 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + +#include + +#ifdef ARM_MULTILIB_ARCH_V7M + +void __attribute__((naked)) _ARMV7M_Exception_default( void ) +{ + __asm__ volatile ( + "sub sp, %[cpufsz]\n" + "stm sp, {r0-r12}\n" + "mov r2, lr\n" + "mrs r1, msp\n" + "mrs r0, psp\n" + "cmn r2, #3\n" + "itt ne\n" + "movne r0, r1\n" + "addne r0, %[cpufsz]\n" + "add r2, r0, %[v7mlroff]\n" + "add r1, sp, %[cpulroff]\n" + "ldm r2, {r3-r5}\n" + "stm r1, {r3-r5}\n" + "mrs r1, ipsr\n" + "str r1, [sp, %[cpuvecoff]]\n" + "mov r0, sp\n" + "b _ARM_Exception_default\n" + : + : [cpufsz] "i" (sizeof(CPU_Exception_frame)), + [v7mfsz] "i" (sizeof(ARMV7M_Exception_frame)), + [cpuspoff] "J" (offsetof(CPU_Exception_frame, register_sp)), + [cpulroff] "i" (offsetof(CPU_Exception_frame, register_lr)), + [v7mlroff] "i" (offsetof(ARMV7M_Exception_frame, register_lr)), + [cpuvecoff] "J" (offsetof(CPU_Exception_frame, vector)) + ); +} + +#endif /* ARM_MULTILIB_ARCH_V7M */ diff --git a/cpukit/score/cpu/arm/rtems/score/armv7m.h b/cpukit/score/cpu/arm/rtems/score/armv7m.h index c8b55c1bfe..f029b693e3 100644 --- a/cpukit/score/cpu/arm/rtems/score/armv7m.h +++ b/cpukit/score/cpu/arm/rtems/score/armv7m.h @@ -468,6 +468,8 @@ void _ARMV7M_Set_exception_priority_and_handler( ARMV7M_Exception_handler handler ); +void _ARMV7M_Exception_default( void ); + void _ARMV7M_Interrupt_service_enter( void ); void _ARMV7M_Interrupt_service_leave( void ); -- cgit v1.2.3 From 2f28a03b5c0e8d29b3f3427cc62f35b32103901c Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 7 Jan 2013 13:42:09 +0100 Subject: arm: Implement CPU_Exception_frame_print() --- cpukit/score/cpu/arm/Makefile.am | 1 - cpukit/score/cpu/arm/arm-exception-frame-print.c | 46 +++++++++++++++++++--- .../score/cpu/arm/armv7m-exception-frame-print.c | 28 ------------- 3 files changed, 40 insertions(+), 35 deletions(-) delete mode 100644 cpukit/score/cpu/arm/armv7m-exception-frame-print.c diff --git a/cpukit/score/cpu/arm/Makefile.am b/cpukit/score/cpu/arm/Makefile.am index dedbb049b4..56a5fdd465 100644 --- a/cpukit/score/cpu/arm/Makefile.am +++ b/cpukit/score/cpu/arm/Makefile.am @@ -26,7 +26,6 @@ libscorecpu_a_SOURCES += armv7m-context-initialize.c libscorecpu_a_SOURCES += armv7m-context-restore.c libscorecpu_a_SOURCES += armv7m-context-switch.c libscorecpu_a_SOURCES += armv7m-exception-default.c -libscorecpu_a_SOURCES += armv7m-exception-frame-print.c libscorecpu_a_SOURCES += armv7m-exception-handler-get.c libscorecpu_a_SOURCES += armv7m-exception-handler-set.c libscorecpu_a_SOURCES += armv7m-exception-priority-get.c diff --git a/cpukit/score/cpu/arm/arm-exception-frame-print.c b/cpukit/score/cpu/arm/arm-exception-frame-print.c index 4d89f69f76..53d31adb73 100644 --- a/cpukit/score/cpu/arm/arm-exception-frame-print.c +++ b/cpukit/score/cpu/arm/arm-exception-frame-print.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2012-2013 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Obere Lagerstr. 30 @@ -17,12 +17,46 @@ #endif #include - -#ifdef ARM_MULTILIB_ARCH_V4 +#include void _CPU_Exception_frame_print( const CPU_Exception_frame *frame ) { - /* TODO */ + printk( + "\n" + "R0 = 0x%08x R8 = 0x%08x\n" + "R1 = 0x%08x R9 = 0x%08x\n" + "R2 = 0x%08x R10 = 0x%08x\n" + "R3 = 0x%08x R11 = 0x%08x\n" + "R4 = 0x%08x R12 = 0x%08x\n" + "R5 = 0x%08x SP = 0x%08x\n" + "R6 = 0x%08x LR = 0x%08x\n" + "R7 = 0x%08x PC = 0x%08x\n" +#if defined(ARM_MULTILIB_ARCH_V4) + "CPSR = 0x%08x VEC = 0x%08x\n", +#elif defined(ARM_MULTILIB_ARCH_V7M) + "XPSR = 0x%08x VEC = 0x%08x\n", +#endif + frame->register_r0, + frame->register_r1, + frame->register_r2, + frame->register_r3, + frame->register_r4, + frame->register_r5, + frame->register_r6, + frame->register_r7, + frame->register_r8, + frame->register_r9, + frame->register_r10, + frame->register_r11, + frame->register_r12, + frame->register_sp, + frame->register_lr, + frame->register_pc, +#if defined(ARM_MULTILIB_ARCH_V4) + frame->register_cpsr, +#elif defined(ARM_MULTILIB_ARCH_V7M) + frame->register_xpsr, +#endif + frame->vector + ); } - -#endif /* ARM_MULTILIB_ARCH_V4 */ diff --git a/cpukit/score/cpu/arm/armv7m-exception-frame-print.c b/cpukit/score/cpu/arm/armv7m-exception-frame-print.c deleted file mode 100644 index 86931b2b24..0000000000 --- a/cpukit/score/cpu/arm/armv7m-exception-frame-print.c +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. - * - * embedded brains GmbH - * Obere Lagerstr. 30 - * 82178 Puchheim - * Germany - * - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - */ - -#ifdef HAVE_CONFIG_H - #include "config.h" -#endif - -#include - -#ifdef ARM_MULTILIB_ARCH_V7M - -void _CPU_Exception_frame_print( const CPU_Exception_frame *frame ) -{ - /* TODO */ -} - -#endif /* ARM_MULTILIB_ARCH_V7M */ -- cgit v1.2.3 From 2570a2a89684f90ac66aa47ce64b67360d0d25ab Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 7 Jan 2013 14:55:23 +0100 Subject: arm: Add AIRCR register defines --- cpukit/score/cpu/arm/rtems/score/armv7m.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cpukit/score/cpu/arm/rtems/score/armv7m.h b/cpukit/score/cpu/arm/rtems/score/armv7m.h index f029b693e3..9b56f797c7 100644 --- a/cpukit/score/cpu/arm/rtems/score/armv7m.h +++ b/cpukit/score/cpu/arm/rtems/score/armv7m.h @@ -59,6 +59,21 @@ typedef struct { uint32_t icsr; ARMV7M_Exception_handler *vtor; + +#define ARMV7M_SCB_AIRCR_VECTKEY (0x05fa << 16) +#define ARMV7M_SCB_AIRCR_ENDIANESS (1U << 15) +#define ARMV7M_SCB_AIRCR_PRIGROUP_SHIFT 8 +#define ARMV7M_SCB_AIRCR_PRIGROUP_MASK \ + ((0x7U) << ARMV7M_SCB_AIRCR_PRIGROUP_SHIFT) +#define ARMV7M_SCB_AIRCR_PRIGROUP(val) \ + (((val) << ARMV7M_SCB_AIRCR_PRIGROUP_SHIFT) & ARMV7M_SCB_AIRCR_PRIGROUP_MASK) +#define ARMV7M_SCB_AIRCR_PRIGROUP_GET(reg) \ + (((val) & ARMV7M_SCB_AIRCR_PRIGROUP_MASK) >> ARMV7M_SCB_AIRCR_PRIGROUP_SHIFT) +#define ARMV7M_SCB_AIRCR_PRIGROUP_SET(reg, val) \ + (((reg) & ~ARMV7M_SCB_AIRCR_PRIGROUP_MASK) | ARMV7M_SCB_AIRCR_PRIGROUP(val)) +#define ARMV7M_SCB_AIRCR_SYSRESETREQ (1U << 2) +#define ARMV7M_SCB_AIRCR_VECTCLRACTIVE (1U << 1) +#define ARMV7M_SCB_AIRCR_VECTRESET (1U << 0) uint32_t aircr; uint32_t scr; uint32_t ccr; -- cgit v1.2.3 From 4cc629cda82f16c152af75296841c2331650cdb4 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 7 Jan 2013 14:55:54 +0100 Subject: bsp/lpc24xx: Add WWDT module defines --- c/src/lib/libbsp/arm/lpc24xx/include/lpc17xx.h | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/c/src/lib/libbsp/arm/lpc24xx/include/lpc17xx.h b/c/src/lib/libbsp/arm/lpc24xx/include/lpc17xx.h index 6d1dd45a83..b2cd4b062c 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/include/lpc17xx.h +++ b/c/src/lib/libbsp/arm/lpc24xx/include/lpc17xx.h @@ -27,6 +27,24 @@ #define LPC17XX_BASE 0x00 +typedef struct { +#define LPC17XX_WWDT_MOD_WDEN BSP_BIT32(0) +#define LPC17XX_WWDT_MOD_WDRESET BSP_BIT32(1) +#define LPC17XX_WWDT_MOD_WDTOF BSP_BIT32(2) +#define LPC17XX_WWDT_MOD_WDINT BSP_BIT32(3) +#define LPC17XX_WWDT_MOD_WDPROTECT BSP_BIT32(4) + uint32_t mod; + uint32_t tc; + uint32_t feed; + uint32_t tv; + uint32_t reserved_10; + uint32_t warnint; + uint32_t window; + uint32_t reserved_1c; +} lpc17xx_wwdt; + +#define LPC17XX_WWDT (*(volatile lpc17xx_wwdt *) (LPC17XX_BASE + 0x40000000)) + typedef struct { #define LPC17XX_PLL_CON_PLLE BSP_BIT32(0) #define LPC17XX_PLL_SEL_MSEL(val) BSP_FLD32(val, 0, 4) @@ -176,7 +194,9 @@ typedef struct { #define LPC17XX_SCB (*(volatile lpc17xx_scb *) (LPC17XX_BASE + 0x400fc000)) typedef struct { - uint32_t reserved_00 [268693504]; + uint32_t reserved_00 [268435456]; + lpc17xx_wwdt wwdt; + uint32_t reserved_40000020 [258040]; lpc17xx_scb scb; } lpc17xx; -- cgit v1.2.3 From 2460cc7848985ee84fbe18a4b7f14dfd78eea4ee Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 7 Jan 2013 14:56:18 +0100 Subject: bsp/lpc24xx: Request system reset for LPC17XX --- c/src/lib/libbsp/arm/lpc24xx/startup/bspreset.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/bspreset.c b/c/src/lib/libbsp/arm/lpc24xx/startup/bspreset.c index d7bbc897c2..ca84e942bc 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/startup/bspreset.c +++ b/c/src/lib/libbsp/arm/lpc24xx/startup/bspreset.c @@ -7,7 +7,7 @@ */ /* - * Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2008-2013 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Obere Lagerstr. 30 @@ -21,6 +21,7 @@ */ #include +#include #include #include @@ -32,15 +33,16 @@ BSP_START_TEXT_SECTION __attribute__((flatten)) void bsp_reset(void) rtems_interrupt_disable(level); - #ifdef ARM_MULTILIB_ARCH_V4 + #if defined(ARM_MULTILIB_ARCH_V4) /* Trigger watchdog reset */ WDCLKSEL = 0; WDTC = 0xff; WDMOD = 0x3; WDFEED = 0xaa; WDFEED = 0x55; - #else - printk("reset\n"); + #elif defined(ARM_MULTILIB_ARCH_V7M) + _ARMV7M_SCB->aircr = ARMV7M_SCB_AIRCR_VECTKEY + | ARMV7M_SCB_AIRCR_SYSRESETREQ; #endif while (true) { -- cgit v1.2.3 From f1413c49da29f283e1f5912e2c8776b89f31e141 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 7 Jan 2013 14:56:53 +0100 Subject: bsp/lpc24xx: System reset after fatal conditions --- c/src/lib/libbsp/arm/lpc24xx/configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c/src/lib/libbsp/arm/lpc24xx/configure.ac b/c/src/lib/libbsp/arm/lpc24xx/configure.ac index 970eabd2bb..ed96563514 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/configure.ac +++ b/c/src/lib/libbsp/arm/lpc24xx/configure.ac @@ -123,7 +123,7 @@ RTEMS_BSPOPTS_HELP([BSP_START_RESET_VECTOR],[reset vector address for BSP start] RTEMS_BSPOPTS_SET([BSP_USB_OTG_TRANSCEIVER_I2C_ADDR],[lpc17xx_ea*],[(0x2f << 1)]) RTEMS_BSPOPTS_HELP([BSP_USB_OTG_TRANSCEIVER_I2C_ADDR],[USB OTG transceiver I2C address used by USB stack]) -RTEMS_BSP_CLEANUP_OPTIONS(0, 0) +RTEMS_BSP_CLEANUP_OPTIONS(0, 1) RTEMS_BSP_LINKCMDS AC_CONFIG_FILES([Makefile]) -- cgit v1.2.3 From dd46d67790fa8eb60bcee298796c4f49cbce6a79 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 7 Jan 2013 14:57:32 +0100 Subject: bsp/lpc32xx: System reset after fatal conditions --- c/src/lib/libbsp/arm/lpc32xx/configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c/src/lib/libbsp/arm/lpc32xx/configure.ac b/c/src/lib/libbsp/arm/lpc32xx/configure.ac index 06be1da217..d7967ffb10 100644 --- a/c/src/lib/libbsp/arm/lpc32xx/configure.ac +++ b/c/src/lib/libbsp/arm/lpc32xx/configure.ac @@ -106,7 +106,7 @@ RTEMS_BSPOPTS_HELP([BSP_USB_OTG_TRANSCEIVER_I2C_ADDR],[USB OTG transceiver I2C a RTEMS_BSPOPTS_SET([TESTS_USE_PRINTK],[*],[1]) RTEMS_BSPOPTS_HELP([TESTS_USE_PRINTK],[tests use printk() for output]) -RTEMS_BSP_CLEANUP_OPTIONS(0, 0) +RTEMS_BSP_CLEANUP_OPTIONS(0, 1) RTEMS_BSP_LINKCMDS AC_CONFIG_FILES([Makefile]) -- cgit v1.2.3 From 69d034af0aa2745346d97c0ee2fe2bfbe71e1439 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 2 Jan 2013 18:56:34 +0100 Subject: rtems: Add comment --- cpukit/rtems/src/eventsurrender.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cpukit/rtems/src/eventsurrender.c b/cpukit/rtems/src/eventsurrender.c index 05b8481a86..d0b1004e31 100644 --- a/cpukit/rtems/src/eventsurrender.c +++ b/cpukit/rtems/src/eventsurrender.c @@ -39,6 +39,11 @@ void _Event_Surrender( _ISR_Disable( level ); _Event_sets_Post( event_in, &event->pending_events ); pending_events = event->pending_events; + + /* + * At this point the event condition is a speculative quantity. Later state + * checks will show if the thread actually waits for an event. + */ event_condition = the_thread->Wait.count; seized_events = _Event_sets_Get( pending_events, event_condition ); -- cgit v1.2.3 From 57f125d02595661b72d66f27b6f71c9b9579f516 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 2 Jan 2013 18:56:35 +0100 Subject: rtems: Critical fix for events Commit 4b45c1393ce4ee3e1c2762ef3145d2bd6b5b38da marked a test in _Event_Timeout() as debug only. This test is required also in non-debug configurations since otherwise state corruption can happen. A revised test sptests/spintrcritical10 checks the relevant sequences. --- cpukit/rtems/src/eventtimeout.c | 19 +- testsuites/sptests/spintrcritical10/init.c | 307 +++++++++++++++++++-- .../sptests/spintrcritical10/spintrcritical10.scn | 5 +- 3 files changed, 301 insertions(+), 30 deletions(-) diff --git a/cpukit/rtems/src/eventtimeout.c b/cpukit/rtems/src/eventtimeout.c index 58dee84b1b..31eb04311e 100644 --- a/cpukit/rtems/src/eventtimeout.c +++ b/cpukit/rtems/src/eventtimeout.c @@ -49,13 +49,18 @@ void _Event_Timeout( * a timeout is not allowed to occur. */ _ISR_Disable( level ); - #if defined(RTEMS_DEBUG) - if ( !the_thread->Wait.count ) { /* verify thread is waiting */ - _Thread_Unnest_dispatch(); - _ISR_Enable( level ); - return; - } - #endif + /* + * Verify that the thread is still waiting for the event condition. + * This test is necessary to avoid state corruption if the timeout + * happens after the event condition is satisfied in + * _Event_Surrender(). A satisfied event condition is indicated with + * count set to zero. + */ + if ( !the_thread->Wait.count ) { + _Thread_Unnest_dispatch(); + _ISR_Enable( level ); + return; + } the_thread->Wait.count = 0; if ( _Thread_Is_executing( the_thread ) ) { diff --git a/testsuites/sptests/spintrcritical10/init.c b/testsuites/sptests/spintrcritical10/init.c index 66306cd966..f284780546 100644 --- a/testsuites/sptests/spintrcritical10/init.c +++ b/testsuites/sptests/spintrcritical10/init.c @@ -2,49 +2,316 @@ * COPYRIGHT (c) 1989-2012. * On-Line Applications Research Corporation (OAR). * + * Copyright (c) 2013 embedded brains GmbH. + * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. */ #ifdef HAVE_CONFIG_H -#include "config.h" + #include "config.h" #endif #define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ 1 #include #include -/* forward declarations to avoid warnings */ -rtems_task Init(rtems_task_argument argument); +#define GREEN RTEMS_EVENT_0 -rtems_id Main_task; +#define RED RTEMS_EVENT_1 -rtems_task Init( - rtems_task_argument ignored -) +#define EVENTS (GREEN | RED) + +#define DEADBEEF 0xdeadbeef + +typedef struct { + rtems_id timer; + Thread_Control *thread; + bool hit; +} test_context; + +static void any_satisfy_before_timeout(rtems_id timer, void *arg) { - rtems_status_code sc; - rtems_event_set out; - int resets; + rtems_status_code sc; + test_context *ctx = arg; + const Thread_Control *thread = ctx->thread; - puts( "\n\n*** TEST INTERRUPT CRITICAL SECTION 10 ***" ); + if (thread->Wait.count != 0) { + ctx->hit = _Event_Sync_state == THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED; + + rtems_test_assert(thread->Wait.count == EVENTS); + rtems_test_assert( + *(rtems_event_set *) thread->Wait.return_argument == DEADBEEF + ); + rtems_test_assert(thread->Wait.return_code == RTEMS_SUCCESSFUL); + + sc = rtems_event_send(thread->Object.id, GREEN); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + + rtems_test_assert(thread->Wait.count == 0); + rtems_test_assert( + *(rtems_event_set *) thread->Wait.return_argument == GREEN + ); + rtems_test_assert(thread->Wait.return_code == RTEMS_SUCCESSFUL); + + sc = rtems_event_send(thread->Object.id, RED); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + + rtems_test_assert(thread->Wait.count == 0); + rtems_test_assert( + *(rtems_event_set *) thread->Wait.return_argument == GREEN + ); + rtems_test_assert(thread->Wait.return_code == RTEMS_SUCCESSFUL); + + _Event_Timeout(thread->Object.id, &_Event_Sync_state); + + rtems_test_assert(thread->Wait.count == 0); + rtems_test_assert( + *(rtems_event_set *) thread->Wait.return_argument == GREEN + ); + rtems_test_assert(thread->Wait.return_code == RTEMS_SUCCESSFUL); + + if (ctx->hit) { + rtems_test_assert( + _Event_Sync_state == THREAD_BLOCKING_OPERATION_SATISFIED + ); + } + } + + sc = rtems_timer_reset(timer); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); +} + +static void test_any_satisfy_before_timeout(test_context *ctx) +{ + rtems_status_code sc; + int resets = 0; + + puts( + "Init - Trying to generate any satisfied before timeout " + "while blocking on event" + ); + + ctx->hit = false; + + interrupt_critical_section_test_support_initialize(NULL); + + sc = rtems_timer_fire_after(ctx->timer, 1, any_satisfy_before_timeout, ctx); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + + while (!ctx->hit && resets < 2) { + rtems_event_set out; + + if (interrupt_critical_section_test_support_delay()) + resets++; + + out = DEADBEEF; + sc = rtems_event_receive(EVENTS, RTEMS_EVENT_ANY | RTEMS_WAIT, 1, &out); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + rtems_test_assert(out == GREEN); + + out = DEADBEEF; + sc = rtems_event_receive(EVENTS, RTEMS_EVENT_ANY | RTEMS_NO_WAIT, 0, &out); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + rtems_test_assert(out == RED); + } + + sc = rtems_timer_cancel(ctx->timer); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + + rtems_test_assert(ctx->hit); +} + +static void all_satisfy_before_timeout(rtems_id timer, void *arg) +{ + rtems_status_code sc; + test_context *ctx = arg; + const Thread_Control *thread = ctx->thread; + + if (thread->Wait.count != 0) { + ctx->hit = _Event_Sync_state == THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED; + + rtems_test_assert(thread->Wait.count == EVENTS); + rtems_test_assert( + *(rtems_event_set *) thread->Wait.return_argument == DEADBEEF + ); + rtems_test_assert(thread->Wait.return_code == RTEMS_SUCCESSFUL); + + sc = rtems_event_send(thread->Object.id, GREEN); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + + rtems_test_assert(thread->Wait.count == EVENTS); + rtems_test_assert( + *(rtems_event_set *) thread->Wait.return_argument == DEADBEEF + ); + rtems_test_assert(thread->Wait.return_code == RTEMS_SUCCESSFUL); + + sc = rtems_event_send(thread->Object.id, RED); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + + rtems_test_assert(thread->Wait.count == 0); + rtems_test_assert( + *(rtems_event_set *) thread->Wait.return_argument == EVENTS + ); + rtems_test_assert(thread->Wait.return_code == RTEMS_SUCCESSFUL); + + _Event_Timeout(thread->Object.id, &_Event_Sync_state); + + rtems_test_assert(thread->Wait.count == 0); + rtems_test_assert( + *(rtems_event_set *) thread->Wait.return_argument == EVENTS + ); + rtems_test_assert(thread->Wait.return_code == RTEMS_SUCCESSFUL); + + if (ctx->hit) { + rtems_test_assert( + _Event_Sync_state == THREAD_BLOCKING_OPERATION_SATISFIED + ); + } + } - puts( "Init - Test may not be able to detect case is hit reliably" ); - puts( "Init - Trying to generate timeout while blocking on event" ); + sc = rtems_timer_reset(timer); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); +} + +static void test_all_satisfy_before_timeout(test_context *ctx) +{ + rtems_status_code sc; + int resets = 0; + + puts( + "Init - Trying to generate all satisfied before timeout " + "while blocking on event" + ); + + ctx->hit = false; + + interrupt_critical_section_test_support_initialize(NULL); - Main_task = rtems_task_self(); + sc = rtems_timer_fire_after(ctx->timer, 1, all_satisfy_before_timeout, ctx); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); - interrupt_critical_section_test_support_initialize( NULL ); + while (!ctx->hit && resets < 2) { + rtems_event_set out; - for (resets=0 ; resets< 2 ;) { - if ( interrupt_critical_section_test_support_delay() ) + if (interrupt_critical_section_test_support_delay()) resets++; - sc = rtems_event_receive( 0x01, RTEMS_DEFAULT_OPTIONS, 1, &out ); - fatal_directive_status( sc, RTEMS_TIMEOUT, "event_receive timeout" ); + out = DEADBEEF; + sc = rtems_event_receive(EVENTS, RTEMS_EVENT_ALL | RTEMS_WAIT, 1, &out); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + rtems_test_assert(out == EVENTS); } + sc = rtems_timer_cancel(ctx->timer); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + + rtems_test_assert(ctx->hit); +} + +static void timeout_before_satisfied(rtems_id timer, void *arg) +{ + rtems_status_code sc; + test_context *ctx = arg; + const Thread_Control *thread = ctx->thread; + + if (thread->Wait.count != 0) { + ctx->hit = + _Event_Sync_state == THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED; + + rtems_test_assert(thread->Wait.count == EVENTS); + rtems_test_assert( + *(rtems_event_set *) thread->Wait.return_argument == DEADBEEF + ); + rtems_test_assert(thread->Wait.return_code == RTEMS_SUCCESSFUL); + + _Event_Timeout(thread->Object.id, &_Event_Sync_state); + + rtems_test_assert(thread->Wait.count == 0); + rtems_test_assert( + *(rtems_event_set *) thread->Wait.return_argument == DEADBEEF + ); + rtems_test_assert(thread->Wait.return_code == RTEMS_TIMEOUT); + + sc = rtems_event_send(thread->Object.id, EVENTS); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + + rtems_test_assert(thread->Wait.count == 0); + rtems_test_assert( + *(rtems_event_set *) thread->Wait.return_argument == DEADBEEF + ); + rtems_test_assert(thread->Wait.return_code == RTEMS_TIMEOUT); + + if (ctx->hit) { + rtems_test_assert( + _Event_Sync_state == THREAD_BLOCKING_OPERATION_TIMEOUT + ); + } + } + + sc = rtems_timer_reset(timer); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); +} + +static void test_timeout_before_all_satisfy(test_context *ctx) +{ + rtems_status_code sc; + int resets = 0; + + puts( + "Init - Trying to generate timeout before all satisfied " + "while blocking on event" + ); + + ctx->hit = false; + + interrupt_critical_section_test_support_initialize(NULL); + + sc = rtems_timer_fire_after(ctx->timer, 1, timeout_before_satisfied, ctx); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + + while (!ctx->hit && resets < 2) { + rtems_event_set out; + + if (interrupt_critical_section_test_support_delay()) + resets++; + + out = DEADBEEF; + sc = rtems_event_receive(EVENTS, RTEMS_EVENT_ALL | RTEMS_WAIT, 1, &out); + rtems_test_assert(sc == RTEMS_TIMEOUT); + rtems_test_assert(out == DEADBEEF); + + out = DEADBEEF; + sc = rtems_event_receive(EVENTS, RTEMS_EVENT_ALL | RTEMS_NO_WAIT, 0, &out); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + rtems_test_assert(out == EVENTS); + } + + sc = rtems_timer_cancel(ctx->timer); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + + rtems_test_assert(ctx->hit); +} + +static rtems_task Init( + rtems_task_argument ignored +) +{ + rtems_status_code sc; + test_context ctx = { + .thread = _Thread_Executing + }; + + puts( "\n\n*** TEST INTERRUPT CRITICAL SECTION 10 ***" ); + + sc = rtems_timer_create(rtems_build_name('T', 'I', 'M', 'R'), &ctx.timer); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + + test_any_satisfy_before_timeout(&ctx); + test_all_satisfy_before_timeout(&ctx); + test_timeout_before_all_satisfy(&ctx); + puts( "*** END OF TEST INTERRUPT CRITICAL SECTION 10 ***" ); rtems_test_exit(0); } @@ -61,5 +328,3 @@ rtems_task Init( #define CONFIGURE_INIT #include - -/* global variables */ diff --git a/testsuites/sptests/spintrcritical10/spintrcritical10.scn b/testsuites/sptests/spintrcritical10/spintrcritical10.scn index 9f59c0ea4d..e8db0c576a 100644 --- a/testsuites/sptests/spintrcritical10/spintrcritical10.scn +++ b/testsuites/sptests/spintrcritical10/spintrcritical10.scn @@ -1,4 +1,5 @@ *** TEST INTERRUPT CRITICAL SECTION 10 *** -Init - Test may not be able to detect case is hit reliably -Init - Trying to generate timeout while blocking on event +Init - Trying to generate any satisfied before timeout while blocking on event +Init - Trying to generate all satisfied before timeout while blocking on event +Init - Trying to generate timeout before all satisfied while blocking on event *** END OF TEST INTERRUPT CRITICAL SECTION 10 *** -- cgit v1.2.3 From 0b422d5617616c9843c5ff02d76ba2d74fd39eea Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 2 Jan 2013 18:56:36 +0100 Subject: rtems: Simplify _Event_Surrender() It is impossible to reach the simplified expression if we are in the THREAD_BLOCKING_OPERATION_TIMEOUT state since in this case Wait.count (event condition) would be set to zero and thus the seized event set would be empty. --- cpukit/rtems/src/eventsurrender.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cpukit/rtems/src/eventsurrender.c b/cpukit/rtems/src/eventsurrender.c index d0b1004e31..ce7edc7a8e 100644 --- a/cpukit/rtems/src/eventsurrender.c +++ b/cpukit/rtems/src/eventsurrender.c @@ -62,8 +62,7 @@ void _Event_Surrender( */ if ( _ISR_Is_in_progress() && _Thread_Is_executing( the_thread ) && - ((*sync_state == THREAD_BLOCKING_OPERATION_TIMEOUT) || - (*sync_state == THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED)) ) { + *sync_state == THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED ) { if ( seized_events == event_condition || _Options_Is_any(option_set) ) { event->pending_events = _Event_sets_Clear( pending_events, -- cgit v1.2.3 From 1794f33a2f038d791d89a2a69ccca4855347bbe0 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 2 Jan 2013 18:56:37 +0100 Subject: rtems: Simplify _Event_Surrender() Remove superfluous test for _ISR_Is_in_progress(). --- cpukit/rtems/src/eventsurrender.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/cpukit/rtems/src/eventsurrender.c b/cpukit/rtems/src/eventsurrender.c index ce7edc7a8e..6e8dbbdbea 100644 --- a/cpukit/rtems/src/eventsurrender.c +++ b/cpukit/rtems/src/eventsurrender.c @@ -57,11 +57,13 @@ void _Event_Surrender( } /* - * If we are in an ISR and sending to the current thread, then - * we have a critical section issue to deal with. + * If we are sending to the executing thread, then we have a critical + * section issue to deal with. The entity sending to the executing thread + * can be either the executing thread or an ISR. In case it is the + * executing thread, then the blocking operation state is not equal to + * THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED. */ - if ( _ISR_Is_in_progress() && - _Thread_Is_executing( the_thread ) && + if ( _Thread_Is_executing( the_thread ) && *sync_state == THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED ) { if ( seized_events == event_condition || _Options_Is_any(option_set) ) { event->pending_events = _Event_sets_Clear( -- cgit v1.2.3 From 5f8d1c271bf27e4121b18acbbe758151ebed37a1 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 2 Jan 2013 18:56:38 +0100 Subject: rtems: Simplify _Event_Surrender() Check for a satisfied event condition only once. --- cpukit/rtems/src/eventsurrender.c | 42 +++++++++++++-------------------------- 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/cpukit/rtems/src/eventsurrender.c b/cpukit/rtems/src/eventsurrender.c index 6e8dbbdbea..bfa29c425a 100644 --- a/cpukit/rtems/src/eventsurrender.c +++ b/cpukit/rtems/src/eventsurrender.c @@ -48,24 +48,19 @@ void _Event_Surrender( seized_events = _Event_sets_Get( pending_events, event_condition ); - /* - * No events were seized in this operation - */ - if ( _Event_sets_Is_empty( seized_events ) ) { - _ISR_Enable( level ); - return; - } - - /* - * If we are sending to the executing thread, then we have a critical - * section issue to deal with. The entity sending to the executing thread - * can be either the executing thread or an ISR. In case it is the - * executing thread, then the blocking operation state is not equal to - * THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED. - */ - if ( _Thread_Is_executing( the_thread ) && - *sync_state == THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED ) { - if ( seized_events == event_condition || _Options_Is_any(option_set) ) { + if ( + !_Event_sets_Is_empty( seized_events ) + && ( seized_events == event_condition || _Options_Is_any( option_set ) ) + ) { + /* + * If we are sending to the executing thread, then we have a critical + * section issue to deal with. The entity sending to the executing thread + * can be either the executing thread or an ISR. In case it is the + * executing thread, then the blocking operation state is not equal to + * THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED. + */ + if ( _Thread_Is_executing( the_thread ) && + *sync_state == THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED ) { event->pending_events = _Event_sets_Clear( pending_events, seized_events @@ -73,16 +68,7 @@ void _Event_Surrender( the_thread->Wait.count = 0; *(rtems_event_set *)the_thread->Wait.return_argument = seized_events; *sync_state = THREAD_BLOCKING_OPERATION_SATISFIED; - } - _ISR_Enable( level ); - return; - } - - /* - * Otherwise, this is a normal send to another thread - */ - if ( _States_Are_set( the_thread->current_state, wait_state ) ) { - if ( seized_events == event_condition || _Options_Is_any( option_set ) ) { + } else if ( _States_Are_set( the_thread->current_state, wait_state ) ) { event->pending_events = _Event_sets_Clear( pending_events, seized_events -- cgit v1.2.3 From 34d1297791bd75aa1686cb7f36abb99ca6ba7491 Mon Sep 17 00:00:00 2001 From: Mathew Kallada Date: Mon, 7 Jan 2013 08:45:34 -0600 Subject: score: Doxygen Clean Up Task #11 --- cpukit/score/cpu/avr/avr/boot.h | 233 +++++++++++++++++++----------------- cpukit/score/cpu/avr/avr/io1200.h | 81 +++++++------ cpukit/score/cpu/avr/avr/io2343.h | 81 +++++++------ cpukit/score/cpu/avr/avr/io4433.h | 82 +++++++------ cpukit/score/cpu/avr/avr/iocanxx.h | 105 +++++++++------- cpukit/score/cpu/avr/avr/iom163.h | 83 +++++++------ cpukit/score/cpu/avr/avr/iom16hvb.h | 87 ++++++++------ cpukit/score/cpu/avr/avr/iom324.h | 84 +++++++------ cpukit/score/cpu/avr/avr/iom48p.h | 90 ++++++++------ cpukit/score/cpu/avr/avr/iom645.h | 86 +++++++------ cpukit/score/cpu/avr/avr/iomxxhva.h | 86 +++++++------ cpukit/score/cpu/avr/avr/iotn24a.h | 85 +++++++------ cpukit/score/cpu/avr/avr/iotn4313.h | 85 +++++++------ cpukit/score/cpu/avr/avr/iotn43u.h | 88 ++++++++------ cpukit/score/cpu/avr/avr/iotn45.h | 79 +++++++----- cpukit/score/cpu/avr/avr/iotn461a.h | 85 +++++++------ cpukit/score/cpu/avr/avr/iotnx5.h | 87 ++++++++------ cpukit/score/cpu/avr/avr/iox16d4.h | 97 ++++++++------- cpukit/score/cpu/avr/avr/iox192a3.h | 97 ++++++++------- cpukit/score/cpu/avr/avr/iox32a4.h | 97 ++++++++------- 20 files changed, 1068 insertions(+), 830 deletions(-) diff --git a/cpukit/score/cpu/avr/avr/boot.h b/cpukit/score/cpu/avr/avr/boot.h index 96453b5bfd..2f474e024b 100644 --- a/cpukit/score/cpu/avr/avr/boot.h +++ b/cpukit/score/cpu/avr/avr/boot.h @@ -1,104 +1,114 @@ -/* Copyright (c) 2002,2003,2004,2005,2006,2007,2008,2009 Eric B. Weddington - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * 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. - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ +/** + * @file + * + * @brief Bootloader Support Utilities + * + * The macros in this module provide a C language interface to the + * bootloader support functionality of certain AVR processors. These + * macros are designed to work with all sizes of flash memory. + * + * Global interrupts are not automatically disabled for these macros. It + * is left up to the programmer to do this. See the code example below. + * Also see the processor datasheet for caveats on having global interrupts + * enabled during writing of the Flash. + * + * \note Not all AVR processors provide bootloader support. See your + * processor datasheet to see if it provides bootloader support. + * + * From email with Marek: On smaller devices (all except ATmega64/128), + * __SPM_REG is in the I/O space, accessible with the shorter "in" and "out" + * instructions - since the boot loader has a limited size, this could be an + * important optimization. + * + * API Usage Example + * The following code shows typical usage of the boot API. + * + * + * #include + * #include + * #include + * + * void boot_program_page (uint32_t page, uint8_t *buf) + * { + * uint16_t i; + * uint8_t sreg; + * + * // Disable interrupts. + * + * sreg = SREG; + * cli(); + * + * eeprom_busy_wait (); + * + * boot_page_erase (page); + * boot_spm_busy_wait (); // Wait until the memory is erased. + * + * for (i=0; i: Bootloader Support Utilities - \code - #include - #include - \endcode - - The macros in this module provide a C language interface to the - bootloader support functionality of certain AVR processors. These - macros are designed to work with all sizes of flash memory. - - Global interrupts are not automatically disabled for these macros. It - is left up to the programmer to do this. See the code example below. - Also see the processor datasheet for caveats on having global interrupts - enabled during writing of the Flash. - - \note Not all AVR processors provide bootloader support. See your - processor datasheet to see if it provides bootloader support. - - \todo From email with Marek: On smaller devices (all except ATmega64/128), - __SPM_REG is in the I/O space, accessible with the shorter "in" and "out" - instructions - since the boot loader has a limited size, this could be an - important optimization. - - \par API Usage Example - The following code shows typical usage of the boot API. - - \code - #include - #include - #include - - void boot_program_page (uint32_t page, uint8_t *buf) - { - uint16_t i; - uint8_t sreg; - - // Disable interrupts. - - sreg = SREG; - cli(); - - eeprom_busy_wait (); - - boot_page_erase (page); - boot_spm_busy_wait (); // Wait until the memory is erased. - - for (i=0; i #include @@ -382,11 +392,11 @@ If bits 5..2 in R0 are cleared (zero), the corresponding Boot Lock bit will be programmed if an SPM instruction is executed within four cycles - after BLBSET and SPMEN (or SELFPRGEN) are set in SPMCR. The Z-pointer is - don't care during this operation, but for future compatibility it is - recommended to load the Z-pointer with $0001 (same as used for reading the - Lock bits). For future compatibility It is also recommended to set bits 7, - 6, 1, and 0 in R0 to 1 when writing the Lock bits. When programming the + after BLBSET and SPMEN (or SELFPRGEN) are set in SPMCR. The Z-pointer is + don't care during this operation, but for future compatibility it is + recommended to load the Z-pointer with $0001 (same as used for reading the + Lock bits). For future compatibility It is also recommended to set bits 7, + 6, 1, and 0 in R0 to 1 when writing the Lock bits. When programming the Lock bits the entire Flash can be read during the operation. */ #define __boot_lock_bits_set(lock_bits) \ @@ -430,8 +440,8 @@ /* Reading lock and fuse bits: - Similarly to writing the lock bits above, set BLBSET and SPMEN (or - SELFPRGEN) bits in __SPMREG, and then (within four clock cycles) issue an + Similarly to writing the lock bits above, set BLBSET and SPMEN (or + SELFPRGEN) bits in __SPMREG, and then (within four clock cycles) issue an LPM instruction. Z address: contents: @@ -525,13 +535,13 @@ /** \ingroup avr_boot \def boot_page_fill(address, data) - Fill the bootloader temporary page buffer for flash - address with data word. + Fill the bootloader temporary page buffer for flash + address with data word. - \note The address is a byte address. The data is a word. The AVR + \note The address is a byte address. The data is a word. The AVR writes data to the buffer a word at a time, but addresses the buffer per byte! So, increment your address by 2 between calls, and send 2 - data bytes in a word format! The LSB of the data is written to the lower + data bytes in a word format! The LSB of the data is written to the lower address; the MSB of the data is written to the higher address.*/ /** \ingroup avr_boot @@ -544,9 +554,9 @@ /** \ingroup avr_boot \def boot_page_write(address) - Write the bootloader temporary page buffer + Write the bootloader temporary page buffer to flash page that contains address. - + \note address is a byte address in flash, not a word address. */ /** \ingroup avr_boot @@ -581,7 +591,7 @@ instruction sequences after LPM. FLASHEND is defined in the ioXXXX.h file. - USHRT_MAX is defined in . */ + USHRT_MAX is defined in . */ #if defined(__AVR_ATmega161__) || defined(__AVR_ATmega163__) \ || defined(__AVR_ATmega323__) @@ -673,4 +683,5 @@ do { \ boot_lock_bits_set (lock_bits); \ } while (0) -#endif /* _AVR_BOOT_H_ */ +/**@}*/ +#endif /* _AVR_BOOT_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/io1200.h b/cpukit/score/cpu/avr/avr/io1200.h index fdb934ff4e..4dd7acc723 100644 --- a/cpukit/score/cpu/avr/avr/io1200.h +++ b/cpukit/score/cpu/avr/avr/io1200.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2002, Marek Michalkiewicz - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - +/** + * @file avr/io1200.h + * + * @brief Definitions for AT90S1200 + * + * This file should only be included from , never directly. + */ -/* avr/io1200.h - definitions for AT90S1200 */ +/* + * Copyright (c) 2002, Marek Michalkiewicz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO1200_H_ #define _AVR_IO1200_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_io1200 AT90S1200 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "io1200.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef __ASSEMBLER__ # warning "MCU not supported by the C compiler" @@ -266,4 +278,5 @@ #define SIGNATURE_2 0x01 -#endif /* _AVR_IO1200_H_ */ +/**@}*/ +#endif /* _AVR_IO1200_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/io2343.h b/cpukit/score/cpu/avr/avr/io2343.h index bb193917c5..daac57ed83 100644 --- a/cpukit/score/cpu/avr/avr/io2343.h +++ b/cpukit/score/cpu/avr/avr/io2343.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2002, Marek Michalkiewicz - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - +/** + * @file avr/io2343.h + * + * @brief Definitions for AT90S2343 + * + * This file should only be included from , never directly. + */ -/* avr/io2343.h - definitions for AT90S2343 */ +/* + * Copyright (c) 2002, Marek Michalkiewicz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO2343_H_ #define _AVR_IO2343_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_io2343 AT90S2343 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "io2343.h" #else # error "Attempt to include more than one file." -#endif +#endif /* I/O registers */ @@ -205,4 +217,5 @@ #define SIGNATURE_2 0x03 -#endif /* _AVR_IO2343_H_ */ +/**@}*/ +#endif /* _AVR_IO2343_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/io4433.h b/cpukit/score/cpu/avr/avr/io4433.h index d0a57e3075..3dc26fd163 100644 --- a/cpukit/score/cpu/avr/avr/io4433.h +++ b/cpukit/score/cpu/avr/avr/io4433.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2002, Marek Michalkiewicz - All rights reserved. +/** + * @file avr/io4433.h + * + * @brief Definitions for AT90S4433 + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/io4433.h - definitions for AT90S4433 */ +/* + * Copyright (c) 2002, Marek Michalkiewicz + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO4433_H_ #define _AVR_IO4433_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_io4433 AT90S4433 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "io4433.h" #else # error "Attempt to include more than one file." -#endif +#endif /* I/O registers */ @@ -468,5 +480,5 @@ #define SIGNATURE_1 0x92 #define SIGNATURE_2 0x03 - -#endif /* _AVR_IO4433_H_ */ +/**@}*/ +#endif /* _AVR_IO4433_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iocanxx.h b/cpukit/score/cpu/avr/avr/iocanxx.h index 70c073a640..7ad3b467d0 100644 --- a/cpukit/score/cpu/avr/avr/iocanxx.h +++ b/cpukit/score/cpu/avr/avr/iocanxx.h @@ -1,48 +1,60 @@ -/* Copyright (c) 2004,2005,2006 Colin O'Flynn - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* This file is based largely on: - - iom128.h by Peter Jansen (bit defines) - - iom169.h by Juergen Schilling - (register addresses) - - AT90CAN128 Datasheet (bit defines and register addresses) - - Appnote on Mega128 --> AT90Can128 Conversion (for what registers I need - to change) */ - -/* iocanxx.h - definitions for AT90CAN32, AT90CAN64 and AT90CAN128 */ +/** + * @file iocanxx.h + * + * @brief Definitions for AT90CAN32, AT90CAN64 and AT90CAN128 + * + * This file should only be included from , never directly. + * + * This file is based largely on: + * - iom128.h by Peter Jansen (bit defines) + * - iom169.h by Juergen Schilling + * (register addresses) + * - AT90CAN128 Datasheet (bit defines and register addresses) + * - Appnote on Mega128 --> AT90Can128 Conversion (for what registers I need + * to change) + */ + +/* + * Copyright (c) 2004,2005,2006 Colin O'Flynn + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOCANXX_H_ #define _AVR_IOCANXX_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iocanxx AT90CAN32, AT90CAN64, AT90CAN128 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -52,7 +64,7 @@ # define _AVR_IOXXX_H_ "iocanxx.h" #else # error "Attempt to include more than one file." -#endif +#endif /* I/O registers and bit definitions. */ @@ -951,9 +963,9 @@ #define ADPS0 0 /* End Register Bits */ -/* - The ADHSM bit has been removed from all documentation, - as being not needed at all since the comparator has proven +/* + The ADHSM bit has been removed from all documentation, + as being not needed at all since the comparator has proven to be fast enough even without feeding it more power. */ @@ -1974,4 +1986,5 @@ /* End Verbatim */ -#endif /* _AVR_IOCANXX_H_ */ +/**@}*/ +#endif /* _AVR_IOCANXX_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom163.h b/cpukit/score/cpu/avr/avr/iom163.h index 276c7423fc..f476114fe4 100644 --- a/cpukit/score/cpu/avr/avr/iom163.h +++ b/cpukit/score/cpu/avr/avr/iom163.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2002, Marek Michalkiewicz - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - +/** + * @file avr/iom163.h + * + * @brief Definitions for ATmega163 + * + * This file should only be included from , never directly. + */ -/* avr/iom163.h - definitions for ATmega163 */ +/* + * Copyright (c) 2007 Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM163_H_ #define _AVR_IOM163_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iom163 ATmega163 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "iom163.h" #else # error "Attempt to include more than one file." -#endif +#endif /* I/O registers */ @@ -626,7 +638,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -635,4 +647,5 @@ #define SIGNATURE_2 0x02 -#endif /* _AVR_IOM163_H_ */ +/**@}*/ +#endif /* _AVR_IOM163_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom16hvb.h b/cpukit/score/cpu/avr/avr/iom16hvb.h index ea3ab57001..43cf5813ae 100644 --- a/cpukit/score/cpu/avr/avr/iom16hvb.h +++ b/cpukit/score/cpu/avr/avr/iom16hvb.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom16hvb.h - definitions for ATmega16HVB */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iom16hvb.h + * + * @brief Definitions for ATmega16HVB + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iom16hvb.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATmega16HVB_H_ #define _AVR_ATmega16HVB_H_ 1 +/** + * @defgroup Avr_iom16hvb ATmega16HVB Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers. */ @@ -977,7 +988,7 @@ #define PI_DDR DDRI #define PI_PORT PORTI #define PI_PIN PINI -#define PI_BIT +#define PI_BIT #define NI_DDR DDRNI #define NI_PORT PORTNI @@ -1034,5 +1045,5 @@ #define OC_PIN PINOC #define OC_BIT OC -#endif /* _AVR_ATmega16HVB_H_ */ - +/**@}*/ +#endif /* _AVR_ATmega16HVB_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom324.h b/cpukit/score/cpu/avr/avr/iom324.h index 788113fd5f..37fbce5a9e 100644 --- a/cpukit/score/cpu/avr/avr/iom324.h +++ b/cpukit/score/cpu/avr/avr/iom324.h @@ -1,39 +1,51 @@ -/* Copyright (c) 2005, 2006 Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - -/* avr/iom324.h - definitions for ATmega324 */ - +/** + * @file avr/iom324.h + * + * @brief Definitions for ATmega324 + */ + +/* + * Copyright (c) 2005, 2006 Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM324_H_ #define _AVR_IOM324_H_ 1 +/** + * @defgroup Avr_iom324 ATmega324 Definitions + * + * @ingroup avr + */ +/**@{*/ + #include /* Constants */ @@ -81,13 +93,13 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature (ATmega324P) */ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x95 -#define SIGNATURE_2 0x08 - +#define SIGNATURE_2 0x08 -#endif /* _AVR_IOM324_H_ */ +/**@}*/ +#endif /* _AVR_IOM324_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom48p.h b/cpukit/score/cpu/avr/avr/iom48p.h index 2ced5dc8a9..1a8a874d95 100644 --- a/cpukit/score/cpu/avr/avr/iom48p.h +++ b/cpukit/score/cpu/avr/avr/iom48p.h @@ -1,38 +1,42 @@ -/* Copyright (c) 2007 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. -*/ - - -/* avr/iom48p.h - definitions for ATmega48P. */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iom48p.h + * + * @brief Definitions for ATmega48P + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2007 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -42,12 +46,19 @@ # define _AVR_IOXXX_H_ "iom48p.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_IOM48P_H_ #define _AVR_IOM48P_H_ 1 +/** + * @defgroup Avr_iom48p ATmega48P Definitions + * + * @ingroup avr + */ +/**@{*/ + /* Registers and associated bit numbers */ #define PINB _SFR_IO8(0x03) @@ -791,7 +802,7 @@ #define TIMER2_OVF_vect _VECTOR(9) /* Timer/Counter2 Overflow */ #define TIMER1_CAPT_vect _VECTOR(10) /* Timer/Counter1 Capture Event */ #define TIMER1_COMPA_vect _VECTOR(11) /* Timer/Counter1 Compare Match A */ -#define TIMER1_COMPB_vect _VECTOR(12) /* Timer/Counter1 Compare Match B */ +#define TIMER1_COMPB_vect _VECTOR(12) /* Timer/Counter1 Compare Match B */ #define TIMER1_OVF_vect _VECTOR(13) /* Timer/Counter1 Overflow */ #define TIMER0_COMPA_vect _VECTOR(14) /* TimerCounter0 Compare Match A */ #define TIMER0_COMPB_vect _VECTOR(15) /* TimerCounter0 Compare Match B */ @@ -855,7 +866,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -864,4 +875,5 @@ #define SIGNATURE_2 0x0A -#endif /* _AVR_IOM48P_H_ */ +/**@}*/ +#endif /* _AVR_IOM48P_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iom645.h b/cpukit/score/cpu/avr/avr/iom645.h index 1b73f2be69..7eee05fc14 100644 --- a/cpukit/score/cpu/avr/avr/iom645.h +++ b/cpukit/score/cpu/avr/avr/iom645.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2004,2005,2006 Eric B. Weddington - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iom645.h - definitions for ATmega645 */ +/** + * @file avr/iom645.h + * + * @brief Definitions for ATmega645 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2004,2005,2006 Eric B. Weddington + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOM645_H_ #define _AVR_IOM645_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iom645 ATmega645 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "iom645.h" #else # error "Attempt to include more than one file." -#endif +#endif /* Registers and associated bit numbers */ @@ -803,7 +815,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST -#define __BOOT_LOCK_BITS_1_EXIST +#define __BOOT_LOCK_BITS_1_EXIST /* Signature */ @@ -811,5 +823,5 @@ #define SIGNATURE_1 0x96 #define SIGNATURE_2 0x05 - -#endif /* _AVR_IOM645_H_ */ +/**@}*/ +#endif /* _AVR_IOM645_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iomxxhva.h b/cpukit/score/cpu/avr/avr/iomxxhva.h index 5b6bfdd7ed..bee28b2fd2 100644 --- a/cpukit/score/cpu/avr/avr/iomxxhva.h +++ b/cpukit/score/cpu/avr/avr/iomxxhva.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2007, Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* iomxxhva.h - definitions for ATmega8HVA and ATmega16HVA. */ +/** + * @file iomxxhva.h + * + * @brief Definitions for ATmega8HVA and ATmega16HVA + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2007 Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOMXXHVA_H_ #define _AVR_IOMXXHVA_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iomxxhva ATmega8HVA, ATmega16HVA Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "iomxxhva.h" #else # error "Attempt to include more than one file." -#endif +#endif /* Registers and associated bit numbers */ @@ -114,7 +126,7 @@ #define EIMSK _SFR_IO8(0x1D) #define INT2 2 -#define INT1 1 +#define INT1 1 #define INT0 0 #define GPIOR0 _SFR_IO8(0x1E) @@ -518,5 +530,5 @@ # define _VECTORS_SIZE 42 #endif - -#endif /* _AVR_IOMXXHVA_H_ */ +/**@}*/ +#endif /* _AVR_IOMXXHVA_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn24a.h b/cpukit/score/cpu/avr/avr/iotn24a.h index a413c405a0..0ca2fa3c39 100644 --- a/cpukit/score/cpu/avr/avr/iotn24a.h +++ b/cpukit/score/cpu/avr/avr/iotn24a.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iotn24a.h - definitions for ATtiny24A */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iotn24a.h + * + * @brief Definitions for ATtiny24A + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iotn24a.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATtiny24A_H_ #define _AVR_ATtiny24A_H_ 1 +/** + * @defgroup Avr_iotn24a ATtiny24A Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers. */ @@ -826,5 +837,5 @@ #define PCINT5_PIN PINA #define PCINT5_BIT 5 -#endif /* _AVR_ATtiny24A_H_ */ - +/**@}*/ +#endif /* _AVR_ATtiny24A_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn4313.h b/cpukit/score/cpu/avr/avr/iotn4313.h index 43719da625..c9e4fb3d57 100644 --- a/cpukit/score/cpu/avr/avr/iotn4313.h +++ b/cpukit/score/cpu/avr/avr/iotn4313.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iotn4313.h - definitions for ATtiny4313 */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iotn4313.h + * + * @brief Definitions for ATtiny4313 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iotn4313.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATtiny4313_H_ #define _AVR_ATtiny4313_H_ 1 +/** + * @defgroup Avr_iotn4313 ATtiny4313 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers. */ @@ -764,5 +775,5 @@ #define SCL_PIN PINB #define SCL_BIT 7 -#endif /* _AVR_ATtiny4313_H_ */ - +/**@}*/ +#endif /* _AVR_ATtiny4313_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn43u.h b/cpukit/score/cpu/avr/avr/iotn43u.h index 060cff9898..553f1e6a17 100644 --- a/cpukit/score/cpu/avr/avr/iotn43u.h +++ b/cpukit/score/cpu/avr/avr/iotn43u.h @@ -1,38 +1,42 @@ -/* Copyright (c) 2007 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. -*/ - - -/* avr/iotn43u.h - definitions for ATtiny43U */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iotn43u.h + * + * @brief Definitions for ATtiny43U + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2007 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -42,12 +46,19 @@ # define _AVR_IOXXX_H_ "iotn43u.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_IOTN43U_H_ #define _AVR_IOTN43U_H_ 1 +/** + * @defgroup Avr_iotn43u ATtiny43U Definitions + * + * @ingroup avr + */ +/**@{*/ + /* Registers and associated bit numbers */ #define PRR _SFR_IO8(0x00) @@ -554,7 +565,7 @@ #define FUSE_SPIEN (unsigned char)~_BV(5) #define FUSE_DWEN (unsigned char)~_BV(6) #define FUSE_RSTDISBL (unsigned char)~_BV(7) -#define HFUSE_DEFAULT (FUSE_SPIEN) +#define HFUSE_DEFAULT (FUSE_SPIEN) /* Extended Fuse Byte */ #define FUSE_SELFPRGEN (unsigned char)~_BV(0) @@ -571,4 +582,5 @@ #define SIGNATURE_2 0x0C -#endif /* _AVR_IOTN43U_H_ */ +/**@}*/ +#endif /* _AVR_IOTN43U_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn45.h b/cpukit/score/cpu/avr/avr/iotn45.h index f368f9ecd7..29a1f79457 100644 --- a/cpukit/score/cpu/avr/avr/iotn45.h +++ b/cpukit/score/cpu/avr/avr/iotn45.h @@ -1,39 +1,51 @@ -/* Copyright (c) 2005, Joerg Wunsch - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iotn45.h - definitions for ATtiny45 */ +/** + * @file avr/iotn45.h + * + * @brief Definitions for ATtiny45 + */ + +/* + * Copyright (c) 2005, Joerg Wunsch + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOTN45_H_ #define _AVR_IOTN45_H_ 1 +/** + * @defgroup Avr_iotn45 ATtiny45 Definitions + * + * @ingroup avr + */ +/**@{*/ + #include /* Constants */ @@ -85,4 +97,5 @@ #define SIGNATURE_2 0x06 -#endif /* _AVR_IOTN45_H_ */ +/**@}*/ +#endif /* _AVR_IOTN45_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotn461a.h b/cpukit/score/cpu/avr/avr/iotn461a.h index f92ef46d1b..0a5508efef 100644 --- a/cpukit/score/cpu/avr/avr/iotn461a.h +++ b/cpukit/score/cpu/avr/avr/iotn461a.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iotn461a.h - definitions for ATtiny461A */ - -/* This file should only be included from , never directly. */ +/** + * @file avr/iotn461a.h + * + * @brief Definitions for ATtiny461A + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iotn461a.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATtiny461A_H_ #define _AVR_ATtiny461A_H_ 1 +/** + * @defgroup Avr_iotn461a ATtiny461A Definitions + * + * @ingroup avr + */ +/**@{*/ /* Registers and associated bit numbers. */ @@ -971,5 +982,5 @@ #define PA0_PIN PINADC #define PA0_BIT ADC0 -#endif /* _AVR_ATtiny461A_H_ */ - +/**@}*/ +#endif /* _AVR_ATtiny461A_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iotnx5.h b/cpukit/score/cpu/avr/avr/iotnx5.h index 57863b10ae..7fa67ac8b8 100644 --- a/cpukit/score/cpu/avr/avr/iotnx5.h +++ b/cpukit/score/cpu/avr/avr/iotnx5.h @@ -1,40 +1,52 @@ -/* Copyright (c) 2005, 2007, 2009 Anatoly Sokolov - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iotnx5.h - definitions for ATtiny25, ATtiny45 and ATtiny85 */ +/** + * @file avr/iotnx5.h + * + * @brief Definitions for ATtiny25, ATtiny45 and ATtiny85 + * + * This file should only be included from , never directly. + */ + +/* + * Copyright (c) 2005, 2007, 2009 Anatoly Sokolov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IOTNX5_H_ #define _AVR_IOTNX5_H_ 1 -/* This file should only be included from , never directly. */ +/** + * @defgroup Avr_iotnx5 ATtiny25, ATtiny45, ATtiny85 Definitions + * + * @ingroup avr + */ +/**@{*/ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -44,7 +56,7 @@ # define _AVR_IOXXX_H_ "iotnx5.h" #else # error "Attempt to include more than one file." -#endif +#endif /* I/O registers */ @@ -107,7 +119,7 @@ #define USITC 0 #define USISR _SFR_IO8(0x0E) -#define USISIF 7 +#define USISIF 7 #define USIOIF 6 #define USIPF 5 #define USIDC 4 @@ -128,7 +140,7 @@ #define ADC2D 4 #define ADC3D 3 #define ADC1D 2 -#define AIN1D 1 +#define AIN1D 1 #define AIN0D 0 #define PCMSK _SFR_IO8(0x15) @@ -412,4 +424,5 @@ #define _VECTORS_SIZE 30 -#endif /* _AVR_IOTNX5_H_ */ +/**@}*/ +#endif /* _AVR_IOTNX5_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iox16d4.h b/cpukit/score/cpu/avr/avr/iox16d4.h index dac0bbad29..f5a3a093b3 100644 --- a/cpukit/score/cpu/avr/avr/iox16d4.h +++ b/cpukit/score/cpu/avr/avr/iox16d4.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. +/** + * @file avr/iox16d4.h + * + * @brief Definitions for ATxmega16D4 + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iox16d4.h - definitions for ATxmega16D4 */ - -/* This file should only be included from , never directly. */ +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iox16d4.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATxmega16D4_H_ #define _AVR_ATxmega16D4_H_ 1 +/** + * @defgroup Avr_iox16d4 ATxmega16D4 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Ungrouped common registers */ #define GPIO0 _SFR_MEM8(0x0000) /* General Purpose IO Register 0 */ @@ -5218,21 +5229,21 @@ IO Module Instances. Mapped to memory. // Generic Port Pins -#define PIN0_bm 0x01 +#define PIN0_bm 0x01 #define PIN0_bp 0 #define PIN1_bm 0x02 #define PIN1_bp 1 -#define PIN2_bm 0x04 +#define PIN2_bm 0x04 #define PIN2_bp 2 -#define PIN3_bm 0x08 +#define PIN3_bm 0x08 #define PIN3_bp 3 -#define PIN4_bm 0x10 +#define PIN4_bm 0x10 #define PIN4_bp 4 -#define PIN5_bm 0x20 +#define PIN5_bm 0x20 #define PIN5_bp 5 -#define PIN6_bm 0x40 +#define PIN6_bm 0x40 #define PIN6_bp 6 -#define PIN7_bm 0x80 +#define PIN7_bm 0x80 #define PIN7_bp 7 @@ -5537,5 +5548,5 @@ IO Module Instances. Mapped to memory. #define SIGNATURE_2 0x42 -#endif /* _AVR_ATxmega16D4_H_ */ - +/**@}*/ +#endif /* _AVR_ATxmega16D4_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iox192a3.h b/cpukit/score/cpu/avr/avr/iox192a3.h index 9da95a119c..a28d4c5015 100644 --- a/cpukit/score/cpu/avr/avr/iox192a3.h +++ b/cpukit/score/cpu/avr/avr/iox192a3.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. +/** + * @file avr/iox192a3.h + * + * @brief Definitions for ATxmega192A3 + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iox192a3.h - definitions for ATxmega192A3 */ - -/* This file should only be included from , never directly. */ +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iox192a3.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATxmega192A3_H_ #define _AVR_ATxmega192A3_H_ 1 +/** + * @defgroup Avr_iox192a3 ATxmega192A3 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Ungrouped common registers */ #define GPIO0 _SFR_MEM8(0x0000) /* General Purpose IO Register 0 */ @@ -6437,21 +6448,21 @@ IO Module Instances. Mapped to memory. // Generic Port Pins -#define PIN0_bm 0x01 +#define PIN0_bm 0x01 #define PIN0_bp 0 #define PIN1_bm 0x02 #define PIN1_bp 1 -#define PIN2_bm 0x04 +#define PIN2_bm 0x04 #define PIN2_bp 2 -#define PIN3_bm 0x08 +#define PIN3_bm 0x08 #define PIN3_bp 3 -#define PIN4_bm 0x10 +#define PIN4_bm 0x10 #define PIN4_bp 4 -#define PIN5_bm 0x20 +#define PIN5_bm 0x20 #define PIN5_bp 5 -#define PIN6_bm 0x40 +#define PIN6_bm 0x40 #define PIN6_bp 6 -#define PIN7_bm 0x80 +#define PIN7_bm 0x80 #define PIN7_bp 7 @@ -6885,5 +6896,5 @@ IO Module Instances. Mapped to memory. #define SIGNATURE_2 0x44 -#endif /* _AVR_ATxmega192A3_H_ */ - +/**@}*/ +#endif /* _AVR_ATxmega192A3_H_ */ \ No newline at end of file diff --git a/cpukit/score/cpu/avr/avr/iox32a4.h b/cpukit/score/cpu/avr/avr/iox32a4.h index 7cbf7de2e7..6196180847 100644 --- a/cpukit/score/cpu/avr/avr/iox32a4.h +++ b/cpukit/score/cpu/avr/avr/iox32a4.h @@ -1,37 +1,42 @@ -/* Copyright (c) 2009 Atmel Corporation - All rights reserved. +/** + * @file avr/iox32a4.h + * + * @brief Definitions for ATxmega32A4 + * + * This file should only be included from , never directly. + */ - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the copyright holders nor the names of - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - 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. */ - - -/* avr/iox32a4.h - definitions for ATxmega32A4 */ - -/* This file should only be included from , never directly. */ +/* + * Copyright (c) 2009 Atmel Corporation + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * 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. + * + * * Neither the name of the copyright holders nor the names of + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 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. + */ #ifndef _AVR_IO_H_ # error "Include instead of this file." @@ -41,12 +46,18 @@ # define _AVR_IOXXX_H_ "iox32a4.h" #else # error "Attempt to include more than one file." -#endif +#endif #ifndef _AVR_ATxmega32A4_H_ #define _AVR_ATxmega32A4_H_ 1 +/** + * @defgroup Avr_iox32a4 ATxmega32A4 Definitions + * + * @ingroup avr + */ +/**@{*/ /* Ungrouped common registers */ #define GPIO0 _SFR_MEM8(0x0000) /* General Purpose IO Register 0 */ @@ -6251,21 +6262,21 @@ IO Module Instances. Mapped to memory. // Generic Port Pins -#define PIN0_bm 0x01 +#define PIN0_bm 0x01 #define PIN0_bp 0 #define PIN1_bm 0x02 #define PIN1_bp 1 -#define PIN2_bm 0x04 +#define PIN2_bm 0x04 #define PIN2_bp 2 -#define PIN3_bm 0x08 +#define PIN3_bm 0x08 #define PIN3_bp 3 -#define PIN4_bm 0x10 +#define PIN4_bm 0x10 #define PIN4_bp 4 -#define PIN5_bm 0x20 +#define PIN5_bm 0x20 #define PIN5_bp 5 -#define PIN6_bm 0x40 +#define PIN6_bm 0x40 #define PIN6_bp 6 -#define PIN7_bm 0x80 +#define PIN7_bm 0x80 #define PIN7_bp 7 @@ -6640,5 +6651,5 @@ IO Module Instances. Mapped to memory. #define SIGNATURE_2 0x41 -#endif /* _AVR_ATxmega32A4_H_ */ - +/**@}*/ +#endif /* _AVR_ATxmega32A4_H_ */ \ No newline at end of file -- cgit v1.2.3 From cf301c96061bf0eedc327abdc7851216c37112c5 Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Mon, 7 Jan 2013 08:53:43 -0600 Subject: posix: Doxygen Clean Up Task #1 --- cpukit/posix/include/aio.h | 20 ++-- cpukit/posix/include/mqueue.h | 65 ++++++------ cpukit/posix/include/rtems/posix/aio_misc.h | 4 +- cpukit/posix/include/rtems/posix/barrier.h | 53 +++++----- cpukit/posix/include/rtems/posix/cancel.h | 24 +++-- cpukit/posix/include/rtems/posix/cond.h | 32 +++--- cpukit/posix/include/rtems/posix/config.h | 10 +- cpukit/posix/include/rtems/posix/key.h | 59 ++++++----- cpukit/posix/include/rtems/posix/mqueue.h | 77 +++++++------- cpukit/posix/include/rtems/posix/priority.h | 62 ++++++------ cpukit/posix/include/rtems/posix/psignal.h | 4 +- cpukit/posix/include/rtems/posix/psignalimpl.h | 18 ++-- cpukit/posix/include/rtems/posix/pthread.h | 133 +++++++++++++------------ cpukit/posix/include/rtems/posix/ptimer.h | 25 +++-- cpukit/posix/include/rtems/posix/rwlock.h | 39 +++++--- cpukit/posix/include/rtems/posix/sigset.h | 4 +- cpukit/posix/include/rtems/posix/spinlock.h | 34 ++++--- cpukit/posix/include/rtems/posix/threadsup.h | 43 ++++---- cpukit/posix/include/rtems/posix/time.h | 42 ++++---- cpukit/posix/include/rtems/posix/timer.h | 16 ++- 20 files changed, 419 insertions(+), 345 deletions(-) diff --git a/cpukit/posix/include/aio.h b/cpukit/posix/include/aio.h index 3ad7a400e6..769f0b37f2 100644 --- a/cpukit/posix/include/aio.h +++ b/cpukit/posix/include/aio.h @@ -31,6 +31,8 @@ extern "C" { * @ingroup POSIX * * @brief POSIX Asynchronous Input and Output + * + * @{ */ #if defined(_POSIX_ASYNCHRONOUS_IO) @@ -137,16 +139,18 @@ ssize_t aio_return( ); /** - * @brief Cancel Asynchronous I/O Operation + * @brief Cancel asynchronous I/O operation. * - * 6.7.7 Cancel Asynchronous I/O Operation, P1003.1b-1993, p. 163 + * 6.7.7 Cancel Asynchronous I/O Operation, P1003.1b-1993, p. 163 * - * @param[in] filedes is the file descriptor - * @param[in] aiocbp is the asynchronous I/O control block + * @param[in] filedes is the file descriptor + * @param[in] aiocbp is a pointer to the asynchronous I/O control block * - * @return This method returns AIO_CANCELED if the requested operation(s) - * were canceled. Otherwise, AIO_NOTCANCELED is returned indicating - * that at least one of the requested operation(s) cannot be canceled + * @retval AIO_CANCELED The requested operation(s) were canceled. + * @retval AIO_NOTCANCELED Some of the requested operation(s) cannot be + * canceled since they are in progress. + * @retval AIO_ALLDONE None of the requested operation(s) could be canceled + * since they are already complete */ int aio_cancel( int filedes, @@ -178,6 +182,8 @@ int aio_fsync( #endif /* _POSIX_ASYNCHRONOUS_IO */ +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpukit/posix/include/mqueue.h b/cpukit/posix/include/mqueue.h index 0f937f5f2b..a3e43ee712 100644 --- a/cpukit/posix/include/mqueue.h +++ b/cpukit/posix/include/mqueue.h @@ -41,11 +41,12 @@ #include /** - * @defgroup POSIX_MQUEUE Message Queues + * @defgroup POSIX_MQUEUE POSIX Message Queues * - * @ingroup POSIX + * @ingroup POSIX + * + * @{ */ -/**@{*/ #ifdef __cplusplus extern "C" { @@ -56,14 +57,14 @@ extern "C" { */ /** - * Message queue id type. + * Message queue id type. * - * @note Use uint32_t since all POSIX Ids are 32-bit currently. + * NOTE: Use uint32_t since all POSIX Ids are 32-bit currently. */ typedef uint32_t mqd_t; /** - * This is the message queue attributes structure. + * This is the message queue attributes structure. */ struct mq_attr { /** This is the message queue flags */ @@ -77,7 +78,7 @@ struct mq_attr { }; /** - * 15.2.2 Open a Message Queue, P1003.1b-1993, p. 272 + * 15.2.2 Open a Message Queue, P1003.1b-1993, p. 272 */ mqd_t mq_open( const char *name, @@ -86,37 +87,37 @@ mqd_t mq_open( ); /** - * 15.2.2 Close a Message Queue, P1003.1b-1993, p. 275 + * 15.2.2 Close a Message Queue, P1003.1b-1993, p. 275 */ int mq_close( mqd_t mqdes ); /** - * @brief Remove a Message Queue + * @brief Remove a message queue. * - * 15.2.2 Remove a Message Queue, P1003.1b-1993, p. 276 + * 15.2.2 Remove a Message Queue, P1003.1b-1993, p. 276 * - * NOTE: The structure of the routines is identical to that of POSIX - * Message_queues to leave the option of having unnamed message - * queues at a future date. They are currently not part of the - * POSIX standard but unnamed message_queues are. This is also - * the reason for the apparently unnecessary tracking of - * the process_shared attribute. [In addition to the fact that - * it would be trivial to add pshared to the mq_attr structure - * and have process private message queues.] + * NOTE: The structure of the routines is identical to that of POSIX + * Message_queues to leave the option of having unnamed message + * queues at a future date. They are currently not part of the + * POSIX standard but unnamed message_queues are. This is also + * the reason for the apparently unnecessary tracking of + * the process_shared attribute. [In addition to the fact that + * it would be trivial to add pshared to the mq_attr structure + * and have process private message queues.] * - * This code ignores the O_RDONLY/O_WRONLY/O_RDWR flag at open - * time. + * This code ignores the O_RDONLY/O_WRONLY/O_RDWR flag at open + * time. */ int mq_unlink( const char *name ); /** - * 15.2.4 Send a Message to a Message Queue, P1003.1b-1993, p. 277 + * 15.2.4 Send a Message to a Message Queue, P1003.1b-1993, p. 277 * - * @note P1003.4b/D8, p. 45 adds mq_timedsend(). + * NOTE; P1003.4b/D8, p. 45 adds mq_timedsend(). */ int mq_send( mqd_t mqdes, @@ -130,11 +131,9 @@ int mq_send( #include /** - * @brief Send a Message to a Message Queue + * @brief Send a message to a message queue. * - * 15.2.4 Send a Message to a Message Queue, P1003.1b-1993, p. 277 - * - * @note P1003.4b/D8, p. 45 adds mq_timedsend(). + * @see mq_send() */ int mq_timedsend( mqd_t mqdes, @@ -147,11 +146,11 @@ int mq_timedsend( #endif /* _POSIX_TIMEOUTS */ /** - * @brief Receive a Message From a Message Queue + * @brief Receive a message from a message queue. * - * 15.2.5 Receive a Message From a Message Queue, P1003.1b-1993, p. 279 + * 15.2.5 Receive a Message From a Message Queue, P1003.1b-1993, p. 279 * - * @note P1003.4b/D8, p. 45 adds mq_timedreceive(). + * NOTE: P1003.4b/D8, p. 45 adds mq_timedreceive(). */ ssize_t mq_receive( mqd_t mqdes, @@ -175,7 +174,7 @@ ssize_t mq_timedreceive( #if defined(_POSIX_REALTIME_SIGNALS) /** - * @brief Notify Process that a Message is Available on a Queue + * @brief Notify process that a message is available on a queue. * * 15.2.6 Notify Process that a Message is Available on a Queue, * P1003.1b-1993, p. 280 @@ -188,7 +187,7 @@ int mq_notify( #endif /* _POSIX_REALTIME_SIGNALS */ /** - * @brief Set Message Queue Attributes + * @brief Set message queue attributes. * * 15.2.7 Set Message Queue Attributes, P1003.1b-1993, p. 281 */ @@ -207,11 +206,13 @@ int mq_getattr( struct mq_attr *mqstat ); +/** @} */ + #ifdef __cplusplus } #endif #endif /* _POSIX_MESSAGE_PASSING */ -/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/posix/include/rtems/posix/aio_misc.h b/cpukit/posix/include/rtems/posix/aio_misc.h index da926086ac..4dfcb592c2 100644 --- a/cpukit/posix/include/rtems/posix/aio_misc.h +++ b/cpukit/posix/include/rtems/posix/aio_misc.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/aio_misc.h + * @file + * + * @brief POSIX Asynchronous Input and Output Private Support * * This defines private information for the AIO implementation. */ diff --git a/cpukit/posix/include/rtems/posix/barrier.h b/cpukit/posix/include/rtems/posix/barrier.h index e5de9dceaa..41a297e13e 100644 --- a/cpukit/posix/include/rtems/posix/barrier.h +++ b/cpukit/posix/include/rtems/posix/barrier.h @@ -1,14 +1,16 @@ /** - * @file rtems/posix/barrier.h + * @file + * + * @brief Constants and Structures Associated with the POSIX Barrier Manager * - * This include file contains all the constants and structures associated - * with the POSIX Barrier Manager. + * This include file contains all the constants and structures associated + * with the POSIX Barrier Manager. * - * Directives provided are: + * Directives provided are: * - * - create a barrier - * - delete a barrier - * - wait for a barrier + * - create a barrier + * - delete a barrier + * - wait for a barrier */ /* @@ -24,14 +26,15 @@ #define _RTEMS_POSIX_BARRIER_H /** - * @defgroup POSIXBarrier POSIX Barriers + * @defgroup POSIXBarrier POSIX Barriers * - * @ingroup POSIXAPI + * @ingroup POSIXAPI * - * This encapsulates functionality which implements the RTEMS API - * Barrier Manager. + * This encapsulates functionality which implements the RTEMS API + * Barrier Manager. + * + * @{ */ -/**@{*/ #ifdef __cplusplus extern "C" { @@ -41,7 +44,7 @@ extern "C" { #include /** - * This type defines the control block used to manage each barrier. + * This type defines the control block used to manage each barrier. */ typedef struct { @@ -59,26 +62,22 @@ typedef struct { POSIX_EXTERN Objects_Information _POSIX_Barrier_Information; /** - * @brief _POSIX_Barrier_Manager_initialization + * @brief POSIX barrier manager initialization. * - * This routine performs the initialization necessary for this manager. - * - * @param[in] maximum_barriers is the total number of barriers allowed to - * concurrently be active in the system. + * This routine performs the initialization necessary for this manager. */ void _POSIX_Barrier_Manager_initialization(void); /** - * @brief _POSIX_Barrier_Translate_core_barrier_return_code ( - * - * This routine translates SuperCore Barrier status codes into the - * corresponding POSIX ones. - * + * @brief POSIX translate barrier return code. + * + * This routine translates SuperCore Barrier status codes into the + * corresponding POSIX ones. * - * @param[in] the_barrier_status is the SuperCore status. + * @param[in] the_barrier_status is the SuperCore status. * - * @return the corresponding POSIX status + * @return the corresponding POSIX status */ int _POSIX_Barrier_Translate_core_barrier_return_code( CORE_barrier_Status the_barrier_status @@ -88,11 +87,11 @@ int _POSIX_Barrier_Translate_core_barrier_return_code( #include #endif +/** @} */ + #ifdef __cplusplus } #endif -/**@}*/ - #endif /* end of include file */ diff --git a/cpukit/posix/include/rtems/posix/cancel.h b/cpukit/posix/include/rtems/posix/cancel.h index 06b8efd645..c1fff9c04d 100644 --- a/cpukit/posix/include/rtems/posix/cancel.h +++ b/cpukit/posix/include/rtems/posix/cancel.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/cancel.h + * @file + * + * @brief POSIX Thread Cancelation Support * * This file contains the prototypes and data types used to implement * POSIX thread cancelation. @@ -20,7 +22,7 @@ #include /** - * This structure is used to manage the cancelation handlers. + * This structure is used to manage the cancelation handlers. */ typedef struct { /** This field is the Chain Node so we can put these on lists. */ @@ -32,25 +34,25 @@ typedef struct { } POSIX_Cancel_Handler_control; /** - * @brief _POSIX_Threads_cancel_run + * @brief POSIX run thread cancelation. * - * This support routine runs through the chain of cancel handlers that - * have been registered and executes them. + * This support routine runs through the chain of cancel handlers that + * have been registered and executes them. * - * @param[in] the_thread is the thread whose cancelation handlers - * should be run + * @param[in] the_thread is a pointer to the thread whose cancelation handlers + * should be run */ void _POSIX_Threads_cancel_run( Thread_Control *the_thread ); /** - * @brief _POSIX_Thread_Evaluate_cancellation_and_enable_dispatch + * @brief POSIX evaluate thread cancelation and enable dispatch. * - * This routine separates a piece of code that existed as part of - * another routine, but had to be separated to improve coverage. + * This routine separates a piece of code that existed as part of + * another routine, but had to be separated to improve coverage. * - * @param[in] the_thread is the thread to evaluate canceling + * @param[in] the_thread is a pointer to the thread to evaluate canceling */ void _POSIX_Thread_Evaluate_cancellation_and_enable_dispatch ( Thread_Control *the_thread diff --git a/cpukit/posix/include/rtems/posix/cond.h b/cpukit/posix/include/rtems/posix/cond.h index 93b5b4cf2a..5fdc1a1a31 100644 --- a/cpukit/posix/include/rtems/posix/cond.h +++ b/cpukit/posix/include/rtems/posix/cond.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/cond.h + * @file + * + * @brief POSIX Condition Variables Private Support * * This include file contains all the private support information for * POSIX condition variables. @@ -18,11 +20,12 @@ #define _RTEMS_POSIX_COND_H /** - * @defgroup POSIX_COND_VARS Condition Variables + * @defgroup POSIX_COND_VARS POSIX Condition Variables * - * @ingroup POSIX + * @ingroup POSIX + * + * @{ */ -/**@{*/ #ifdef __cplusplus extern "C" { #endif @@ -132,24 +135,21 @@ RTEMS_INLINE_ROUTINE bool _POSIX_Condition_variables_Is_null ( POSIX_Condition_variables_Control *the_condition_variable ); -/* - * @brief Implements wake up version of the "signal" operation - * - * _POSIX_Condition_variables_Signal_support - * - * DESCRIPTION: +/** + * @brief Implements wake up version of the "signal" operation. + * + * DESCRIPTION: * - * A support routine which implements guts of the broadcast and single task - * wake up version of the "signal" operation. + * A support routine which implements guts of the broadcast and single task + * wake up version of the "signal" operation. */ - int _POSIX_Condition_variables_Signal_support( pthread_cond_t *cond, bool is_broadcast ); /** - * @brief POSIX Condition Variables Wait Support + * @brief POSIX condition variables wait support. * * DESCRIPTION: * @@ -180,9 +180,11 @@ POSIX_Condition_variables_Control *_POSIX_Condition_variables_Get ( #include +/** @} */ + #ifdef __cplusplus } #endif -/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/posix/include/rtems/posix/config.h b/cpukit/posix/include/rtems/posix/config.h index ddd63acae6..460ddcb2a9 100644 --- a/cpukit/posix/include/rtems/posix/config.h +++ b/cpukit/posix/include/rtems/posix/config.h @@ -1,6 +1,8 @@ /** - * @file rtems/posix/config.h + * @file * + * @brief User Defined Configuration Parameters Specific For The POSIX API + * * This include file contains the table of user defined configuration * parameters specific for the POSIX API. */ @@ -60,10 +62,10 @@ typedef struct { } posix_api_configuration_table; /** - * @brief POSIX API Configuration Table + * @brief POSIX API configuration table. * - * This is the POSIX API Configuration Table expected to be generated - * by confdefs.h. + * This is the POSIX API Configuration Table expected to be generated + * by confdefs.h. */ extern posix_api_configuration_table Configuration_POSIX_API; diff --git a/cpukit/posix/include/rtems/posix/key.h b/cpukit/posix/include/rtems/posix/key.h index edcaa42685..f0f039ec1d 100644 --- a/cpukit/posix/include/rtems/posix/key.h +++ b/cpukit/posix/include/rtems/posix/key.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/key.h + * @file + * + * @brief POSIX Key Private Support * * This include file contains all the private support information for * POSIX key. @@ -20,20 +22,22 @@ #include /** - * @defgroup POSIX_KEY Key + * @defgroup POSIX_KEY POSIX Key * - * @ingroup POSIX + * @ingroup POSIX + * + * @{ */ -/**@{*/ + #ifdef __cplusplus extern "C" { #endif /** - * This is the data Structure used to manage a POSIX key. + * This is the data Structure used to manage a POSIX key. * - * @note The Values is a table indexed by the index portion of the - * ID of the currently executing thread. + * NOTE: The Values is a table indexed by the index portion of the + * ID of the currently executing thread. */ typedef struct { /** This field is the Object control structure. */ @@ -45,52 +49,53 @@ typedef struct { } POSIX_Keys_Control; /** - * The following defines the information control block used to manage - * this class of objects. + * The following defines the information control block used to manage + * this class of objects. */ POSIX_EXTERN Objects_Information _POSIX_Keys_Information; /** - * @brief POSIX Keys Manager Initialization + * @brief POSIX keys manager initialization. * - * This routine performs the initialization necessary for this manager. + * This routine performs the initialization necessary for this manager. */ void _POSIX_Key_Manager_initialization(void); /** - * @brief Thread-Specific Data Key Create + * @brief Create thread-specific data POSIX key. * - * This function executes all the destructors associated with the thread's - * keys. This function will execute until all values have been set to NULL. + * This function executes all the destructors associated with the thread's + * keys. This function will execute until all values have been set to NULL. * - * @param[in] thread is the thread whose keys should have all their - * destructors run. + * @param[in] thread is a pointer to the thread whose keys should have + * all their destructors run. * - * @note This is the routine executed when a thread exits to - * run through all the keys and do the destructor action. + * NOTE: This is the routine executed when a thread exits to + * run through all the keys and do the destructor action. */ void _POSIX_Keys_Run_destructors( Thread_Control *thread ); /** - * @brief Free Key Memory + * @brief Free a POSIX key table memory. * - * This memory frees the key table memory associated with @a the_key. + * This memory frees the key table memory associated with @a the_key. * - * @param[in] the_key is the POSIX key to free the table memory of. + * @param[in] the_key is a pointer to the POSIX key to free + * the table memory of. */ void _POSIX_Keys_Free_memory( POSIX_Keys_Control *the_key ); /** - * @brief _POSIX_Keys_Free + * @brief Free a POSIX keys control block. * - * This routine frees a keys control block to the - * inactive chain of free keys control blocks. + * This routine frees a keys control block to the + * inactive chain of free keys control blocks. * - * @param[in] the_key is the POSIX key to free. + * @param[in] the_key is a pointer to the POSIX key to free. */ RTEMS_INLINE_ROUTINE void _POSIX_Keys_Free ( POSIX_Keys_Control *the_key @@ -98,9 +103,11 @@ RTEMS_INLINE_ROUTINE void _POSIX_Keys_Free ( #include +/** @} */ + #ifdef __cplusplus } #endif -/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/posix/include/rtems/posix/mqueue.h b/cpukit/posix/include/rtems/posix/mqueue.h index 582d5b73b2..cef85e8045 100644 --- a/cpukit/posix/include/rtems/posix/mqueue.h +++ b/cpukit/posix/include/rtems/posix/mqueue.h @@ -1,20 +1,22 @@ /** - * @file rtems/posix/mqueue.h + * @file + * + * @brief POSIX Message Queues Private Private Support * * This include file contains all the private support information for * POSIX Message Queues. * - * The structure of the routines is identical to that of POSIX - * Message_queues to leave the option of having unnamed message - * queues at a future date. They are currently not part of the - * POSIX standard but unnamed message_queues are. This is also - * the reason for the apparently unnecessary tracking of - * the process_shared attribute. [In addition to the fact that - * it would be trivial to add pshared to the mq_attr structure - * and have process private message queues.] - * - * This code ignores the O_RDONLY/O_WRONLY/O_RDWR flag at open - * time. + * The structure of the routines is identical to that of POSIX + * Message_queues to leave the option of having unnamed message + * queues at a future date. They are currently not part of the + * POSIX standard but unnamed message_queues are. This is also + * the reason for the apparently unnecessary tracking of + * the process_shared attribute. [In addition to the fact that + * it would be trivial to add pshared to the mq_attr structure + * and have process private message queues.] + * + * This code ignores the O_RDONLY/O_WRONLY/O_RDWR flag at open + * time. */ /* @@ -36,19 +38,16 @@ #include /** - * @defgroup POSIX_MQUEUE_P Message Queues Private Support Information + * @defgroup POSIX_MQUEUE_P Message Queues Private Support * - * @ingroup POSIX + * @ingroup POSIX_MQUEUE + * + * @{ */ -/**@{*/ #ifdef __cplusplus extern "C" { #endif -/** - * @ingroup POSIX_MQUEUE - */ - /* * Data Structure used to manage a POSIX message queue */ @@ -78,24 +77,24 @@ typedef struct { POSIX_EXTERN Objects_Information _POSIX_Message_queue_Information; POSIX_EXTERN Objects_Information _POSIX_Message_queue_Information_fds; -/* - * @brief Initializes message_queue Manager Related Data Structures +/** + * @brief Initialize message_queue manager related data structures. * - * DESCRIPTION: + * DESCRIPTION: * - * This routine performs the initialization necessary for this manager. + * This routine performs the initialization necessary for this manager. * - * NOTE: The structure of the routines is identical to that of POSIX - * Message_queues to leave the option of having unnamed message - * queues at a future date. They are currently not part of the - * POSIX standard but unnamed message_queues are. This is also - * the reason for the apparently unnecessary tracking of - * the process_shared attribute. [In addition to the fact that - * it would be trivial to add pshared to the mq_attr structure - * and have process private message queues.] + * NOTE: The structure of the routines is identical to that of POSIX + * Message_queues to leave the option of having unnamed message + * queues at a future date. They are currently not part of the + * POSIX standard but unnamed message_queues are. This is also + * the reason for the apparently unnecessary tracking of + * the process_shared attribute. [In addition to the fact that + * it would be trivial to add pshared to the mq_attr structure + * and have process private message queues.] * - * This code ignores the O_RDONLY/O_WRONLY/O_RDWR flag at open - * time. + * This code ignores the O_RDONLY/O_WRONLY/O_RDWR flag at open + * time. * */ @@ -120,12 +119,12 @@ int _POSIX_Message_queue_Create_support( ); /** - * @brief POSIX Delete Message Queue + * @brief Delete a POSIX message queue. * - * DESCRIPTION: + * DESCRIPTION: * - * This routine supports the mq_unlink and mq_close routines by - * doing most of the work involved with removing a message queue. + * This routine supports the mq_unlink and mq_close routines by + * doing most of the work involved with removing a message queue. */ void _POSIX_Message_queue_Delete( POSIX_Message_queue_Control *the_mq @@ -271,9 +270,11 @@ int _POSIX_Message_queue_Translate_core_message_queue_return_code( #include +/** @} */ + #ifdef __cplusplus } #endif -/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/posix/include/rtems/posix/priority.h b/cpukit/posix/include/rtems/posix/priority.h index a6a3c289da..1a12900057 100644 --- a/cpukit/posix/include/rtems/posix/priority.h +++ b/cpukit/posix/include/rtems/posix/priority.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/priority.h + * @file + * + * @brief POSIX Priority Support * * This include file defines the interface to the POSIX priority * implementation. @@ -23,25 +25,27 @@ * @ingroup POSIX * * @brief Interface to the POSIX Priority Implementation + * + * @{ */ #include /** - * 1003.1b-1993,2.2.2.80 definition of priority, p. 19 + * 1003.1b-1993,2.2.2.80 definition of priority, p. 19 * - * "Numerically higher values represent higher priorities." + * "Numerically higher values represent higher priorities." * - * Thus, RTEMS Core has priorities run in the opposite sense of the POSIX API. + * Thus, RTEMS Core has priorities run in the opposite sense of the POSIX API. * - * There are only 254 posix priority levels since a task at priority level - * 255 would never run because of the RTEMS idle task. This is necessary - * because GNAT maps the lowest Ada task priority to the lowest thread - * priority. The lowest priority Ada task should get to run, so there is - * a fundamental conflict with having 255 priorities. + * There are only 254 posix priority levels since a task at priority level + * 255 would never run because of the RTEMS idle task. This is necessary + * because GNAT maps the lowest Ada task priority to the lowest thread + * priority. The lowest priority Ada task should get to run, so there is + * a fundamental conflict with having 255 priorities. * - * But since RTEMS can be configured with fewer than 256 priorities, - * we use the internal constant. + * But since RTEMS can be configured with fewer than 256 priorities, + * we use the internal constant. */ #define POSIX_SCHEDULER_MAXIMUM_PRIORITY (PRIORITY_MAXIMUM - 1) @@ -52,46 +56,46 @@ #define POSIX_SCHEDULER_MINIMUM_PRIORITY (1) /** - * @brief POSIX Is Priority Valid + * @brief Check if POSIX priority is valid. * - * 1003.1b-1993,2.2.2.80 definition of priority, p. 19 + * 1003.1b-1993,2.2.2.80 definition of priority, p. 19 * - * "Numerically higher values represent higher priorities." + * "Numerically higher values represent higher priorities." * - * Thus, RTEMS Core has priorities run in the opposite sense of the POSIX API. + * Thus, RTEMS Core has priorities run in the opposite sense of the POSIX API. * - * @param[in] priority is the priority to test + * @param[in] priority is the priority to test * - * @return This method returns true if the priority is valid and - * false otherwise. + * @retval TRUE The priority is valid. + * @retval FALSE The priority is invalid. */ bool _POSIX_Priority_Is_valid( int priority ); /** - * @brief Convert POSIX Priority To SuperCore Priority + * @brief Convert POSIX priority to SuperCore priority. * - * This method converts a POSIX API priority into onto the corresponding - * SuperCore value. + * This method converts a POSIX API priority into onto the corresponding + * SuperCore value. * - * @param[in] priority is the POSIX API priority. + * @param[in] priority is the POSIX API priority. * - * @return This method returns the corresponding SuperCore priority. + * @return This method returns the corresponding SuperCore priority. */ RTEMS_INLINE_ROUTINE Priority_Control _POSIX_Priority_To_core( int priority ); /** - * @brief Convert SuperCore Priority To POSIX Priority + * @brief Convert SuperCore priority To POSIX priority. * - * This method converts a SuperCore priority into onto the corresponding - * POSIX API value. + * This method converts a SuperCore priority into onto the corresponding + * POSIX API value. * - * @param[in] priority is the POSIX API priority. + * @param[in] priority is the POSIX API priority. * - * @return This method returns the corresponding POSIX priority. + * @return This method returns the corresponding POSIX priority. */ RTEMS_INLINE_ROUTINE int _POSIX_Priority_From_core( Priority_Control priority @@ -99,4 +103,6 @@ RTEMS_INLINE_ROUTINE int _POSIX_Priority_From_core( #include +/** @} */ + #endif diff --git a/cpukit/posix/include/rtems/posix/psignal.h b/cpukit/posix/include/rtems/posix/psignal.h index 604b98982c..977fade2bb 100644 --- a/cpukit/posix/include/rtems/posix/psignal.h +++ b/cpukit/posix/include/rtems/posix/psignal.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/psignal.h + * @file + * + * @brief Internal Information about POSIX Signals * * This include file defines internal information about POSIX signals. */ diff --git a/cpukit/posix/include/rtems/posix/psignalimpl.h b/cpukit/posix/include/rtems/posix/psignalimpl.h index c416a7aa1b..d09722ddbf 100644 --- a/cpukit/posix/include/rtems/posix/psignalimpl.h +++ b/cpukit/posix/include/rtems/posix/psignalimpl.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/psignal.h + * @file + * + * @brief POSIX Signals Support * * This include file defines internal information about POSIX signals. */ @@ -22,6 +24,8 @@ * @ingroup POSIX * * @brief Internal Information about POSIX Signals + * + * @{ */ #include @@ -72,7 +76,7 @@ extern API_extensions_Post_switch_control _POSIX_signals_Post_switch; */ /** - * @brief POSIX Signals Manager Initialization + * @brief POSIX signals manager initialization. */ void _POSIX_signals_Manager_Initialization(void); @@ -82,7 +86,7 @@ static inline void _POSIX_signals_Add_post_switch_extension(void) } /** - * @brief POSIX Signals Thread Unlock + * @brief Unlock POSIX signals thread. * * XXX this routine could probably be cleaned up */ @@ -93,7 +97,7 @@ bool _POSIX_signals_Unblock_thread( ); /** - * @brief POSIX Signals Check Signal + * @brief Check POSIX signal. */ bool _POSIX_signals_Check_signal( POSIX_API_Control *api, @@ -102,7 +106,7 @@ bool _POSIX_signals_Check_signal( ); /** - * @brief POSIX Signals Clear Signals + * @brief Clear POSIX signals. */ bool _POSIX_signals_Clear_signals( POSIX_API_Control *api, @@ -119,7 +123,7 @@ int killinfo( ); /** - * @brief POSIX Signals Set Process Signals + * @brief Set POSIX process signals. */ void _POSIX_signals_Set_process_signals( sigset_t mask @@ -138,5 +142,7 @@ void _POSIX_signals_Clear_process_signals( void _POSIX_signals_Abnormal_termination_handler( int signo ); +/** @} */ + #endif /* end of file */ diff --git a/cpukit/posix/include/rtems/posix/pthread.h b/cpukit/posix/include/rtems/posix/pthread.h index 5932d45a39..d0d2c2db5d 100644 --- a/cpukit/posix/include/rtems/posix/pthread.h +++ b/cpukit/posix/include/rtems/posix/pthread.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/pthread.h + * @file + * + * @brief POSIX Threads Private Support * * This include file contains all the private support information for * POSIX threads. @@ -21,12 +23,6 @@ #include #include -/** - * @defgroup POSIX_PTHREADS Private Threads - * - * @ingroup POSIX - */ -/**@{*/ #ifdef __cplusplus extern "C" { #endif @@ -37,77 +33,79 @@ extern "C" { * @ingroup POSIX * * @brief Private Support Information for POSIX Threads + * + * @{ */ /** - * The following sets the minimum stack size for POSIX threads. + * The following sets the minimum stack size for POSIX threads. */ #define PTHREAD_MINIMUM_STACK_SIZE (_Stack_Minimum() * 2) /** - * The following defines the information control block used to manage - * this class of objects. + * The following defines the information control block used to manage + * this class of objects. */ POSIX_EXTERN Objects_Information _POSIX_Threads_Information; /** - * This variable contains the default POSIX Thread attributes. + * This variable contains the default POSIX Thread attributes. */ extern const pthread_attr_t _POSIX_Threads_Default_attributes; /** - * When the user configures a set of POSIX API initialization threads, - * This variable will point to the method used to initialize them. + * When the user configures a set of POSIX API initialization threads, + * This variable will point to the method used to initialize them. * - * @note It is instantiated and initialized by confdefs.h based upon - * application requirements. + * NOTE: It is instantiated and initialized by confdefs.h based upon + * application requirements. */ extern void (*_POSIX_Threads_Initialize_user_threads_p)(void); /** - * @brief _POSIX_Threads_Manager_initialization + * @brief POSIX threads manager initialization. * - * This routine performs the initialization necessary for this manager. + * This routine performs the initialization necessary for this manager. */ void _POSIX_Threads_Manager_initialization(void); /** - * @brief _POSIX_Threads_Allocate + * @brief Allocate POSIX thread control block. * - * This function allocates a pthread control block from - * the inactive chain of free pthread control blocks. + * This function allocates a pthread control block from + * the inactive chain of free pthread control blocks. * - * @return This method returns a newly allocated thread. + * @return This method returns a newly allocated thread. */ RTEMS_INLINE_ROUTINE Thread_Control *_POSIX_Threads_Allocate( void ); /** - * @brief _POSIX_Threads_Free + * @brief Free POSIX control block. * - * This routine frees a pthread control block to the - * inactive chain of free pthread control blocks. + * This routine frees a pthread control block to the + * inactive chain of free pthread control blocks. * - * @param[in] the_pthread is the thread to free + * @param[in] the_pthread is a pointer to the thread to free. */ RTEMS_INLINE_ROUTINE void _POSIX_Threads_Free( Thread_Control *the_pthread ); /** - * @brief _POSIX_Threads_Get + * @brief Map POSIX thread IDs to control blocks. * - * This function maps pthread IDs to pthread control blocks. - * If ID corresponds to a local pthread, then it returns - * the_pthread control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the pthread ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_pthread is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_pthread is undefined. + * This function maps pthread IDs to pthread control blocks. + * If ID corresponds to a local pthread, then it returns + * the_pthread control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. if the pthread ID is global and + * resides on a remote node, then location is set to OBJECTS_REMOTE, + * and the_pthread is undefined. Otherwise, location is set + * to OBJECTS_ERROR and the_pthread is undefined. * - * @param[in] id is the id to lookup - * @param[in] location points to the returned location value + * @param[in] id is the id to lookup + * @param[in] location points to the returned location value * - * @return This methods returns a pointer to the corresponding Thread_Control. + * @return This methods returns a pointer to the corresponding Thread_Control. */ RTEMS_INLINE_ROUTINE Thread_Control *_POSIX_Threads_Get( pthread_t id, @@ -115,43 +113,45 @@ RTEMS_INLINE_ROUTINE Thread_Control *_POSIX_Threads_Get( ); /** - * @brief _POSIX_Threads_Is_null + * @brief Check if a POSIX thread control block is NULL. * - * This function returns TRUE if the_pthread is NULL and FALSE otherwise. + * This function returns @c TRUE if the_pthread is @c NULL and @c FALSE + * otherwise. * - * @param[in] the_pthread is the thread pointer to check. + * @param[in] the_pthread is a pointer to the POSIX thread control block + * to check. * - * @return This method returns true if the thread pointer is null. + * @retval TRUE The thread control block is @c NULL. + * @retval FALSE The thread control block is not @c NULL. */ RTEMS_INLINE_ROUTINE bool _POSIX_Threads_Is_null( Thread_Control *the_pthread ); /** - * @brief _POSIX_Threads_Sporadic_budget_callout + * @brief POSIX threads sporadic budget callout. * - * This routine handles the sporadic scheduling algorithm. + * This routine handles the sporadic scheduling algorithm. * - * @param[in] the_thread is the thread whose budget has been exceeded. + * @param[in] the_thread is a pointer to the thread whose budget + * has been exceeded. */ void _POSIX_Threads_Sporadic_budget_callout( Thread_Control *the_thread ); /** - * _POSIX_Threads_Sporadic_budget_TSR + * This routine supports the sporadic scheduling algorithm. It + * is scheduled to be executed at the end of each replenishment + * period. In sporadic scheduling a thread will execute at a + * high priority for a user specified amount of CPU time. When + * it exceeds that amount of CPU time, its priority is automatically + * lowered. This TSR is executed when it is time to replenish + * the thread's processor budget and raise its priority. * - * This routine supports the sporadic scheduling algorithm. It - * is scheduled to be executed at the end of each replenishment - * period. In sporadic scheduling a thread will execute at a - * high priority for a user specified amount of CPU time. When - * it exceeds that amount of CPU time, its priority is automatically - * lowered. This TSR is executed when it is time to replenish - * the thread's processor budget and raise its priority. - * - * @param[in] id is ignored - * @param[in] argument is a pointer to the Thread_Control structure - * for the thread being replenished. + * @param[in] id is ignored + * @param[in] argument is a pointer to the Thread_Control structure + * for the thread being replenished. */ void _POSIX_Threads_Sporadic_budget_TSR( Objects_Id id, @@ -159,17 +159,18 @@ void _POSIX_Threads_Sporadic_budget_TSR( ); /** - * @brief Translate sched_param into SuperCore Terms + * @brief Translate sched_param into SuperCore terms. * - * This method translates the POSIX API sched_param into the corresponding - * SuperCore settings. + * This method translates the POSIX API sched_param into the corresponding + * SuperCore settings. * - * @param[in] policy is the POSIX scheduling policy - * @param[in] param points to the scheduling parameter structure - * @param[in] budget_algorithm points to the output CPU Budget algorithm - * @param[in] budget_callout points to the output CPU Callout + * @param[in] policy is the POSIX scheduling policy + * @param[in] param points to the scheduling parameter structure + * @param[in] budget_algorithm points to the output CPU Budget algorithm + * @param[in] budget_callout points to the output CPU Callout * - * @return This method returns 0 on success or a POSIX error code. + * @retval 0 Indicates success. + * @retval error_code POSIX error code indicating failure. */ int _POSIX_Thread_Translate_sched_param( int policy, @@ -179,7 +180,7 @@ int _POSIX_Thread_Translate_sched_param( ); /** - * @brief POSIX Threads Initialize User Threads Body + * @brief POSIX threads initialize user threads body. * * This routine creates and starts all configured user * initialization threads. @@ -188,9 +189,11 @@ extern void _POSIX_Threads_Initialize_user_threads_body(void); #include +/** @} */ + #ifdef __cplusplus } #endif -/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/posix/include/rtems/posix/ptimer.h b/cpukit/posix/include/rtems/posix/ptimer.h index 1b791cc915..50840ac5f6 100644 --- a/cpukit/posix/include/rtems/posix/ptimer.h +++ b/cpukit/posix/include/rtems/posix/ptimer.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/ptimer.h + * @file + * + * @brief POSIX Timers Private Support * * This include file contains all the private support information for * POSIX timers. @@ -21,11 +23,12 @@ #define _RTEMS_POSIX_PTIMER_H /** - * @defgroup POSIX_PRIV_TIMERS Timers + * @defgroup POSIX_PRIV_TIMERS POSIX Timers * - * @ingroup POSIX + * @ingroup POSIX + * + * @{ */ -/**@{*/ #ifdef __cplusplus extern "C" { #endif @@ -89,16 +92,18 @@ int timer_gettime( ); /** - * @brief Get Overrun Count for a POSIX Per-Process Timer + * @brief Get overrun count for a POSIX per-process timer. * - * The expiration of a timer must increase by one a counter. - * After the signal handler associated to the timer finishes - * its execution, _POSIX_Timer_TSR will have to set this counter to 0. + * The expiration of a timer must increase by one a counter. + * After the signal handler associated to the timer finishes + * its execution, _POSIX_Timer_TSR will have to set this counter to 0. * - * 14.2.4 Per-Process Timers, P1003.1b-1993, p. 267 + * 14.2.4 Per-Process Timers, P1003.1b-1993, p. 267 */ int timer_getoverrun( timer_t timerid ); -/**@}*/ + +/** @} */ + #endif diff --git a/cpukit/posix/include/rtems/posix/rwlock.h b/cpukit/posix/include/rtems/posix/rwlock.h index 411384c2c6..57351be532 100644 --- a/cpukit/posix/include/rtems/posix/rwlock.h +++ b/cpukit/posix/include/rtems/posix/rwlock.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/rwlock.h + * @file + * + * @brief Constants and Structures Associated with the POSIX RWLock Manager * * This include file contains all the constants and structures associated * with the POSIX RWLock Manager. @@ -33,13 +35,15 @@ extern "C" { * @ingroup POSIX * * @brief Constants and Structures Associated with the POSIX RWLock Manager + * + * @{ */ #include #include /** - * This type defines the control block used to manage each RWLock. + * This type defines the control block used to manage each RWLock. */ typedef struct { @@ -50,33 +54,38 @@ typedef struct { } POSIX_RWLock_Control; /** - * The following defines the information control block used to manage - * this class of objects. + * The following defines the information control block used to manage + * this class of objects. */ POSIX_EXTERN Objects_Information _POSIX_RWLock_Information; /** - * @brief _POSIX_RWLock_Manager_initialization - * - * This routine performs the initialization necessary for this manager. + * @brief POSIX RWLock manager initialization. * - * @param[in] maximum_rwlocks is the total number of RWLocks allowed to - * concurrently be active in the system. + * This routine performs the initialization necessary for this manager. */ void _POSIX_RWLock_Manager_initialization(void); /** - * @brief POSIX RWLock Translate Core RWLock Return Code + * @brief POSIX translate core RWLock return code. * - * This routine translates SuperCore RWLock status codes into the - * corresponding POSIX ones. + * This routine translates SuperCore RWLock status codes into the + * corresponding POSIX ones. * * - * @param[in] the_RWLock_status is the SuperCore status. + * @param[in] the_RWLock_status is the SuperCore status. * - * @return the corresponding POSIX status + * @return the corresponding POSIX status + * @retval 0 The status indicates that the operation completed successfully. + * @retval EINVAL The status indicates that the thread was blocked waiting for + * an operation to complete and the RWLock was deleted. + * @retval EBUSY This status indicates that the RWLock was not + * immediately available. + * @retval ETIMEDOUT This status indicates that the calling task was + * willing to block but the operation was unable to complete within + * the time allotted because the resource never became available. */ int _POSIX_RWLock_Translate_core_RWLock_return_code( CORE_RWLock_Status the_RWLock_status @@ -86,6 +95,8 @@ int _POSIX_RWLock_Translate_core_RWLock_return_code( #include #endif +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpukit/posix/include/rtems/posix/sigset.h b/cpukit/posix/include/rtems/posix/sigset.h index b0dd61fe58..0dd218913c 100644 --- a/cpukit/posix/include/rtems/posix/sigset.h +++ b/cpukit/posix/include/rtems/posix/sigset.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/sigset.h + * @file + * + * @brief POSIX Signal Sets Management Helper * * This file defines the interface to implementation helper for management * of POSIX Signal Sets. diff --git a/cpukit/posix/include/rtems/posix/spinlock.h b/cpukit/posix/include/rtems/posix/spinlock.h index 44061bd42c..a535c6bae6 100644 --- a/cpukit/posix/include/rtems/posix/spinlock.h +++ b/cpukit/posix/include/rtems/posix/spinlock.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/spinlock.h + * @file + * + * @brief POSIX Spinlock Support * * This include file contains all the constants and structures associated * with the POSIX Spinlock Manager. @@ -33,13 +35,15 @@ extern "C" { * @ingroup POSIX * * @brief Constants and Structures Associated with the POSIX Spinlock Manager + * + * @{ */ #include #include /** - * This type defines the control block used to manage each spinlock. + * This type defines the control block used to manage each spinlock. */ typedef struct { @@ -50,33 +54,29 @@ typedef struct { } POSIX_Spinlock_Control; /** - * The following defines the information control block used to manage - * this class of objects. + * The following defines the information control block used to manage + * this class of objects. */ POSIX_EXTERN Objects_Information _POSIX_Spinlock_Information; /** - * @brief _POSIX_Spinlock_Manager_initialization + * @brief POSIX spinlock manager initialization. * - * This routine performs the initialization necessary for this manager. - * - * @param[in] maximum_spinlocks is the total number of spinlocks allowed to - * concurrently be active in the system. + * This routine performs the initialization necessary for this manager. */ void _POSIX_Spinlock_Manager_initialization(void); /** - * @brief POSIX Spinlock Translate Core Spinlock Return Code - * - * This routine translates SuperCore Spinlock status codes into the - * corresponding POSIX ones. + * @brief Translate core spinlock status code. * + * This routine translates SuperCore Spinlock status codes into the + * corresponding POSIX ones. + * + * @param[in] the_spinlock_status is the SuperCore status. * - * @param[in] the_spinlock_status is the SuperCore status. - * - * @return the corresponding POSIX status + * @return the corresponding POSIX status */ int _POSIX_Spinlock_Translate_core_spinlock_return_code( CORE_spinlock_Status the_spinlock_status @@ -86,6 +86,8 @@ int _POSIX_Spinlock_Translate_core_spinlock_return_code( #include #endif +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpukit/posix/include/rtems/posix/threadsup.h b/cpukit/posix/include/rtems/posix/threadsup.h index c5a2e3db7e..2d9c6adfa6 100644 --- a/cpukit/posix/include/rtems/posix/threadsup.h +++ b/cpukit/posix/include/rtems/posix/threadsup.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/threadsup.h + * @file + * + * @brief POSIX Thread API Support * * This defines the POSIX thread API extension. */ @@ -24,15 +26,16 @@ * @defgroup POSIX_THREAD Thread API Extension * * @ingroup POSIX + * + * @{ */ -/**@{*/ #ifdef __cplusplus extern "C" { #endif -/*! - * This defines the POSIX API support structure associated with - * each thread in a system with POSIX configured. +/** + * This defines the POSIX API support structure associated with + * each thread in a system with POSIX configured. */ typedef struct { /** This is the POSIX threads attribute set. */ @@ -46,13 +49,13 @@ typedef struct { /** This is the thread's current set of scheduling parameters. */ struct sched_param schedparam; /** - * This is the high priority to execute at when using the sporadic - * scheduler. + * This is the high priority to execute at when using the sporadic + * scheduler. */ int ss_high_priority; /** - * This is the timer which controls when the thread executes at - * high and low priority when using the sporadic scheduler. + * This is the timer which controls when the thread executes at + * high and low priority when using the sporadic scheduler. */ Watchdog_Control Sporadic_timer; @@ -78,19 +81,19 @@ typedef struct { } POSIX_API_Control; -/*! - * @brief POSIX Thread Exit Shared Helper +/** + * @brief POSIX thread exit shared helper. * - * 16.1.5.1 Thread Termination, p1003.1c/Draft 10, p. 150 + * 16.1.5.1 Thread Termination, p1003.1c/Draft 10, p. 150 * - * This method is a helper routine which ensures that all - * POSIX thread calls which result in a thread exiting will - * do so in the same manner. + * This method is a helper routine which ensures that all + * POSIX thread calls which result in a thread exiting will + * do so in the same manner. * - * @param[in] the_thread is the thread exiting or being canceled - * @param[in] value_ptr is the value to be returned by the thread + * @param[in] the_thread is a pointer to the thread exiting or being canceled + * @param[in] value_ptr is a pointer the value to be returned by the thread * - * NOTE: Key destructors are executed in the POSIX api delete extension. + * NOTE: Key destructors are executed in the POSIX api delete extension. * */ void _POSIX_Thread_Exit( @@ -98,9 +101,11 @@ void _POSIX_Thread_Exit( void *value_ptr ); +/** @} */ + #ifdef __cplusplus } #endif -/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/posix/include/rtems/posix/time.h b/cpukit/posix/include/rtems/posix/time.h index d0dc4a27fe..d00fc02491 100644 --- a/cpukit/posix/include/rtems/posix/time.h +++ b/cpukit/posix/include/rtems/posix/time.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/time.h + * @file + * + * @brief POSIX Time Types * * This defines the interface to implementation helper routines related * to POSIX time types. @@ -20,18 +22,19 @@ #include #include /** - * @defgroup POSIX_TIMETYPES Time Types + * @defgroup POSIX_TIMETYPES POSIX Time Types * - * @ingroup POSIX + * @ingroup POSIX + * + * @{ */ -/**@{*/ /** - * @brief Absolute Timeout Conversion Results + * @brief Absolute timeout conversion results. * - * This enumeration defines the possible results of converting - * an absolute time used for timeouts to POSIX blocking calls to - * a number of ticks. + * This enumeration defines the possible results of converting + * an absolute time used for timeouts to POSIX blocking calls to + * a number of ticks. */ typedef enum { /** The timeout is invalid. */ @@ -45,24 +48,25 @@ typedef enum { } POSIX_Absolute_timeout_conversion_results_t; /** - * @brief Convert Absolute Timeout to Ticks + * @brief Convert absolute timeout to ticks. * - * This method takes an absolute time being used as a timeout - * to a blocking directive, validates it and returns the number - * of corresponding clock ticks for use by the SuperCore. + * This method takes an absolute time being used as a timeout + * to a blocking directive, validates it and returns the number + * of corresponding clock ticks for use by the SuperCore. * - * @param[in] abstime is the timeout - * @param[in] ticks_out will contain the number of ticks + * @param[in] abstime is a pointer to the timeout + * @param[out] ticks_out will contain the number of ticks * - * @return This method returns the number of ticks in @a ticks_out - * and a status value indicating whether the absolute time - * is valid, in the past, equal to the current time or in - * the future as it should be. + * @return This method returns the number of ticks in @a ticks_out + * and a status value indicating whether the absolute time + * is valid, in the past, equal to the current time or in + * the future as it should be. */ POSIX_Absolute_timeout_conversion_results_t _POSIX_Absolute_timeout_to_ticks( const struct timespec *abstime, Watchdog_Interval *ticks_out ); +/** @} */ + #endif -/**@}*/ diff --git a/cpukit/posix/include/rtems/posix/timer.h b/cpukit/posix/include/rtems/posix/timer.h index 1298178e95..544acd712a 100644 --- a/cpukit/posix/include/rtems/posix/timer.h +++ b/cpukit/posix/include/rtems/posix/timer.h @@ -1,5 +1,7 @@ /** - * @file rtems/posix/timer.h + * @file + * + * @brief POSIX Timers Internal Support * * This include files defines the internal support for implementation of * POSIX Timers. @@ -22,11 +24,13 @@ #include /* Watchdog_Control */ /** - * @defgroup POSIX_INTERNAL_TIMERS Timers + * @defgroup POSIX_INTERNAL_TIMERS Timers * - * @ingroup POSIX + * @ingroup POSIX + * + * @{ */ -/**@{*/ + #ifdef __cplusplus extern "C" { #endif @@ -108,9 +112,11 @@ POSIX_EXTERN Objects_Information _POSIX_Timer_Information; #include #endif +/** @} */ + #ifdef __cplusplus } #endif -/**@}*/ + #endif /* end of include file */ -- cgit v1.2.3 From 40340b2b7c8b2d709355e590ce8ad49c3cbc0e54 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 7 Jan 2013 16:00:52 +0100 Subject: bsp/lpc24xx: Declare conditionally --- c/src/lib/libbsp/arm/lpc24xx/include/start-config.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/c/src/lib/libbsp/arm/lpc24xx/include/start-config.h b/c/src/lib/libbsp/arm/lpc24xx/include/start-config.h index 9d6173f741..64f653ab5b 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/include/start-config.h +++ b/c/src/lib/libbsp/arm/lpc24xx/include/start-config.h @@ -104,12 +104,16 @@ extern BSP_START_DATA_SECTION const lpc24xx_emc_static_chip_config extern BSP_START_DATA_SECTION const size_t lpc24xx_start_config_emc_static_chip_count; +#ifdef ARM_MULTILIB_ARCH_V7M + extern BSP_START_DATA_SECTION const ARMV7M_MPU_Region lpc24xx_start_config_mpu_region []; extern BSP_START_DATA_SECTION const size_t lpc24xx_start_config_mpu_region_count; +#endif /* ARM_MULTILIB_ARCH_V7M */ + #ifdef __cplusplus } #endif /* __cplusplus */ -- cgit v1.2.3 From f2f39b62a284afefbf8f1840255602162a9b2a01 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 7 Jan 2013 16:01:45 +0100 Subject: sapi: Add rtems_fatal_source_description() --- cpukit/sapi/Makefile.am | 2 +- cpukit/sapi/include/rtems/fatal.h | 10 ++++ cpukit/sapi/src/fatalsrcdesc.c | 53 ++++++++++++++++++++++ doc/user/fatal.t | 27 +++++++++++ testsuites/sptests/spinternalerror02/init.c | 21 ++++++++- .../spinternalerror02/spinternalerror02.scn | 13 ++++++ 6 files changed, 123 insertions(+), 3 deletions(-) create mode 100644 cpukit/sapi/src/fatalsrcdesc.c diff --git a/cpukit/sapi/Makefile.am b/cpukit/sapi/Makefile.am index 232028e63c..f9fd4f9696 100644 --- a/cpukit/sapi/Makefile.am +++ b/cpukit/sapi/Makefile.am @@ -38,7 +38,7 @@ libsapi_a_SOURCES = src/debug.c src/extension.c src/extensioncreate.c \ src/rtemsapi.c src/extensiondata.c src/getversionstring.c \ src/chainappendnotify.c src/chaingetnotify.c src/chaingetwait.c \ src/chainprependnotify.c src/rbheap.c src/interrdesc.c \ - src/fatal2.c + src/fatal2.c src/fatalsrcdesc.c libsapi_a_CPPFLAGS = $(AM_CPPFLAGS) include $(srcdir)/preinstall.am diff --git a/cpukit/sapi/include/rtems/fatal.h b/cpukit/sapi/include/rtems/fatal.h index 64344b36b8..46a7ab9574 100644 --- a/cpukit/sapi/include/rtems/fatal.h +++ b/cpukit/sapi/include/rtems/fatal.h @@ -82,6 +82,16 @@ void rtems_fatal( rtems_fatal_code error ) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE; +/** + * @brief Returns a description for a fatal source. + * + * @param[in] source The fatal source. + * + * @return The fatal source description or "?" in case the passed fatal source + * is invalid. + */ +const char *rtems_fatal_source_description( rtems_fatal_source source ); + /** * @brief Returns a description for an internal error code. * diff --git a/cpukit/sapi/src/fatalsrcdesc.c b/cpukit/sapi/src/fatalsrcdesc.c new file mode 100644 index 0000000000..fbe8485853 --- /dev/null +++ b/cpukit/sapi/src/fatalsrcdesc.c @@ -0,0 +1,53 @@ +/** + * @file + * + * @brief Implementation of rtems_fatal_source_description() + * + * @ingroup ClassicFatal + */ + +/* + * Copyright (c) 2013 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#if HAVE_CONFIG_H + #include "config.h" +#endif + +#include + +static const char *const fatal_source_desc [] = { + "INTERNAL_ERROR_CORE", + "INTERNAL_ERROR_RTEMS_API", + "INTERNAL_ERROR_POSIX_API", + "RTEMS_FATAL_SOURCE_BDBUF", + "RTEMS_FATAL_SOURCE_APPLICATION", + "RTEMS_FATAL_SOURCE_EXIT", + "RTEMS_FATAL_SOURCE_BSP_GENERIC", + "RTEMS_FATAL_SOURCE_BSP_SPECIFIC", + "RTEMS_FATAL_SOURCE_ASSERT", + "RTEMS_FATAL_SOURCE_STACK_CHECKER", + "RTEMS_FATAL_SOURCE_EXCEPTION" +}; + +const char *rtems_fatal_source_description( rtems_fatal_source source ) +{ + size_t i = source; + const char *desc = "?"; + + if ( i < RTEMS_ARRAY_SIZE( fatal_source_desc ) ) { + desc = fatal_source_desc [i]; + } + + return desc; +} diff --git a/doc/user/fatal.t b/doc/user/fatal.t index 1b725e89f4..20faa642ba 100644 --- a/doc/user/fatal.t +++ b/doc/user/fatal.t @@ -226,6 +226,33 @@ NONE Prints the exception frame via printk(). +@c +@c +@c +@page +@subsection FATAL_SOURCE_DESCRIPTION - Returns a description for a fatal source + +@cindex fatal error + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_fatal_source_description +@example +const char *rtems_fatal_source_description( + rtems_fatal_source source +); +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES + +The fatal source description or "?" in case the passed fatal source is invalid. + +@subheading DESCRIPTION: + +Returns a description for a fatal source. + @c @c @c diff --git a/testsuites/sptests/spinternalerror02/init.c b/testsuites/sptests/spinternalerror02/init.c index 79b36ca89c..8bfb6503e9 100644 --- a/testsuites/sptests/spinternalerror02/init.c +++ b/testsuites/sptests/spinternalerror02/init.c @@ -20,7 +20,7 @@ #include -static void test(void) +static void test_internal_error_description(void) { rtems_fatal_code error = 0; const char *desc_last = NULL; @@ -36,11 +36,28 @@ static void test(void) rtems_test_assert( error - 3 == INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR ); } +static void test_fatal_source_description(void) +{ + rtems_fatal_source source = 0; + const char *desc_last = NULL; + const char *desc; + + do { + desc_last = desc; + desc = rtems_fatal_source_description( source ); + ++source; + puts( desc ); + } while ( desc != desc_last ); + + rtems_test_assert( source - 3 == RTEMS_FATAL_SOURCE_EXCEPTION ); +} + static void Init(rtems_task_argument arg) { puts("\n\n*** TEST SPINTERNALERROR 2 ***"); - test(); + test_internal_error_description(); + test_fatal_source_description(); puts("*** END OF TEST SPINTERNALERROR 2 ***"); diff --git a/testsuites/sptests/spinternalerror02/spinternalerror02.scn b/testsuites/sptests/spinternalerror02/spinternalerror02.scn index 6fdbed6083..9d7a722751 100644 --- a/testsuites/sptests/spinternalerror02/spinternalerror02.scn +++ b/testsuites/sptests/spinternalerror02/spinternalerror02.scn @@ -26,4 +26,17 @@ INTERNAL_ERROR_NO_MEMORY_FOR_HEAP INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR ? ? +INTERNAL_ERROR_CORE +INTERNAL_ERROR_RTEMS_API +INTERNAL_ERROR_POSIX_API +RTEMS_FATAL_SOURCE_BDBUF +RTEMS_FATAL_SOURCE_APPLICATION +RTEMS_FATAL_SOURCE_EXIT +RTEMS_FATAL_SOURCE_BSP_GENERIC +RTEMS_FATAL_SOURCE_BSP_SPECIFIC +RTEMS_FATAL_SOURCE_ASSERT +RTEMS_FATAL_SOURCE_STACK_CHECKER +RTEMS_FATAL_SOURCE_EXCEPTION +? +? *** END OF TEST SPINTERNALERROR 2 *** -- cgit v1.2.3 From 4027e6332cf6cff450b286905711aa0f25c4a0df Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Tue, 8 Jan 2013 06:40:27 -0600 Subject: libcsupport: Doxygen Clean Up Task #1 --- cpukit/libcsupport/include/clockdrv.h | 2 +- cpukit/libcsupport/include/console.h | 106 ++++++++++++------------- cpukit/libcsupport/include/ringbuf.h | 6 +- cpukit/libcsupport/include/rtc.h | 2 + cpukit/libcsupport/include/rtems/deviceio.h | 21 +++-- cpukit/libcsupport/include/rtems/libcsupport.h | 39 +++++---- cpukit/libcsupport/include/rtems/libio_.h | 74 ++++++++--------- cpukit/libcsupport/include/sys/statvfs.h | 6 +- cpukit/libcsupport/include/sys/termios.h | 16 ++-- cpukit/libcsupport/include/sys/utsname.h | 15 ++-- cpukit/libcsupport/include/timerdrv.h | 2 +- cpukit/libcsupport/include/vmeintr.h | 6 +- cpukit/libcsupport/include/zilog/z8036.h | 2 +- cpukit/libcsupport/include/zilog/z8530.h | 6 +- cpukit/libcsupport/include/zilog/z8536.h | 2 +- 15 files changed, 162 insertions(+), 143 deletions(-) diff --git a/cpukit/libcsupport/include/clockdrv.h b/cpukit/libcsupport/include/clockdrv.h index 6acf83e894..999af92d9c 100644 --- a/cpukit/libcsupport/include/clockdrv.h +++ b/cpukit/libcsupport/include/clockdrv.h @@ -1,5 +1,5 @@ /** - * @file rtems/clockdrv.h + * @file * * @brief Clock Driver for all Boards * diff --git a/cpukit/libcsupport/include/console.h b/cpukit/libcsupport/include/console.h index 137959a915..9cd0e9651f 100644 --- a/cpukit/libcsupport/include/console.h +++ b/cpukit/libcsupport/include/console.h @@ -1,5 +1,7 @@ /** - * @file rtems/console.h + * @file + * + * @brief Console Driver for all Boards * * This file describes the Console Device Driver for all boards. * This driver provides support for the standard C Library. @@ -24,30 +26,29 @@ extern "C" { #endif /** - * This macro defines the standard name for the console device - * that is available to applications. + * This macro defines the standard name for the console device + * that is available to applications. */ #define CONSOLE_DEVICE_NAME "/dev/console" /** - * This macro defines the standard device driver table entry for - * a console device driver. + * This macro defines the standard device driver table entry for + * a console device driver. */ #define CONSOLE_DRIVER_TABLE_ENTRY \ { console_initialize, console_open, console_close, \ console_read, console_write, console_control } /** - * @brief Console Initialization Entry Point + * @brief Console initialization entry point. * - * This method initializes the console device driver. + * This method initializes the console device driver. * - * @param[in] major is the device driver major number - * @param[in] minor is the device driver minor number - * @param[in] arg is the parameters to this call - * - * @return This method returns RTEMS_SUCCESSFUL when - * the device driver is successfully initialized. + * @param[in] major is the device driver major number. + * @param[in] minor is the device driver minor number. + * @param[in] arg is the parameters to this call. + *. + * @retval RTEMS_SUCCESSFUL The device driver is successfully initialized. */ rtems_device_driver console_initialize( rtems_device_major_number major, @@ -56,17 +57,16 @@ rtems_device_driver console_initialize( ); /** - * @brief Console Open Entry Point + * @brief Console open entry point. * - * This method opens a specific device supported by the - * console device driver. + * This method opens a specific device supported by the + * console device driver. * - * @param[in] major is the device driver major number - * @param[in] minor is the device driver minor number - * @param[in] arg is the parameters to this call + * @param[in] major is the device driver major number + * @param[in] minor is the device driver minor number + * @param[in] arg is the parameters to this call * - * @return This method returns RTEMS_SUCCESSFUL when - * the device driver is successfully opened. + * @retval RTEMS_SUCCESSFUL The device driver is successfully opened. */ rtems_device_driver console_open( rtems_device_major_number major, @@ -75,17 +75,16 @@ rtems_device_driver console_open( ); /** - * @brief Console Close Entry Point + * @brief Console close entry point. * - * This method closes a specific device supported by the - * console device driver. + * This method closes a specific device supported by the + * console device driver. * - * @param[in] major is the device driver major number - * @param[in] minor is the device driver minor number - * @param[in] arg is the parameters to this call + * @param[in] major is the device driver major number + * @param[in] minor is the device driver minor number + * @param[in] arg is the parameters to this call * - * @return This method returns RTEMS_SUCCESSFUL when - * the device is successfully closed. + * @retval RTEMS_SUCCESSFUL The device driver is successfully closed. */ rtems_device_driver console_close( rtems_device_major_number major, @@ -94,17 +93,16 @@ rtems_device_driver console_close( ); /** - * @brief Console Read Entry Point + * @brief Console read entry point. * - * This method reads from a specific device supported by the - * console device driver. + * This method reads from a specific device supported by the + * console device driver. * - * @param[in] major is the device driver major number - * @param[in] minor is the device driver minor number - * @param[in] arg is the parameters to this call + * @param[in] major is the device driver major number + * @param[in] minor is the device driver minor number + * @param[in] arg is the parameters to this call * - * @return This method returns RTEMS_SUCCESSFUL when - * the device is successfully read from. + * @retval RTEMS_SUCCESSFUL The device is successfully read from. */ rtems_device_driver console_read( rtems_device_major_number major, @@ -113,17 +111,16 @@ rtems_device_driver console_read( ); /** - * @brief Console Write Entry Point + * @brief Console write entry point. * - * This method writes to a specific device supported by the - * console device driver. + * This method writes to a specific device supported by the + * console device driver. * - * @param[in] major is the device driver major number - * @param[in] minor is the device driver minor number - * @param[in] arg is the parameters to this call + * @param[in] major is the device driver major number + * @param[in] minor is the device driver minor number + * @param[in] arg is the parameters to this call * - * @return This method returns RTEMS_SUCCESSFUL when - * the device is successfully written. + * @retval RTEMS_SUCCESSFUL The device is successfully written. */ rtems_device_driver console_write( rtems_device_major_number major, @@ -132,18 +129,17 @@ rtems_device_driver console_write( ); /** - * @brief Console IO Control Entry Point - * - * This method performs an IO Control operation on a - * specific device supported by the console device driver. + * @brief Console IO control entry point. * - * @param[in] major is the device driver major number - * @param[in] minor is the device driver minor number - * @param[in] arg is the parameters to this call + * This method performs an IO Control operation on a + * specific device supported by the console device driver. * - * @return This method returns RTEMS_SUCCESSFUL when - * the device driver IO control operation is - * successfully performed. + * @param[in] major is the device driver major number + * @param[in] minor is the device driver minor number + * @param[in] arg is the parameters to this call + * + * @retval RTEMS_SUCCESSFUL the device driver IO control operation is + * successfully performed. */ rtems_device_driver console_control( rtems_device_major_number major, diff --git a/cpukit/libcsupport/include/ringbuf.h b/cpukit/libcsupport/include/ringbuf.h index 0e86f39ce9..99e72a5bb3 100644 --- a/cpukit/libcsupport/include/ringbuf.h +++ b/cpukit/libcsupport/include/ringbuf.h @@ -1,9 +1,9 @@ /** - * @file rtems/ringbuf.h + * @file * - * @brief Simple Ring Buffer Functionality + * @brief Simple Ring Buffer Functionality * - * This file provides simple ring buffer functionality. + * This file provides simple ring buffer functionality. */ diff --git a/cpukit/libcsupport/include/rtc.h b/cpukit/libcsupport/include/rtc.h index 4b8e601940..29ef4cdd18 100644 --- a/cpukit/libcsupport/include/rtc.h +++ b/cpukit/libcsupport/include/rtc.h @@ -1,6 +1,8 @@ /** * @file * + * @brief Real-Time Clock Driver Interface + * * Real-time clock driver interface. */ diff --git a/cpukit/libcsupport/include/rtems/deviceio.h b/cpukit/libcsupport/include/rtems/deviceio.h index b832942750..df78852bb4 100644 --- a/cpukit/libcsupport/include/rtems/deviceio.h +++ b/cpukit/libcsupport/include/rtems/deviceio.h @@ -1,7 +1,8 @@ /** - * @file rtems/deviceio.h + * @file * - * @brief Map Operations on IMFS Device Nodes to the RTEMS Classic API IO Manager + * @brief Map Operations on IMFS Device Nodes to the RTEMS Classic API + * IO Manager */ /* @@ -18,8 +19,10 @@ /** * @defgroup Device IO Handler + * + * + * @{ */ -/**@{*/ #include @@ -28,12 +31,12 @@ extern "C" { #endif /* __cplusplus */ /** - * @brief IMFS Device Node Handlers + * @brief IMFS device node handlers. * - * IMFS Device Node Handlers + * IMFS Device Node Handlers * - * This file contains the set of handlers used to map operations on - * IMFS device nodes onto calls to the RTEMS Classic API IO Manager. + * This file contains the set of handlers used to map operations on + * IMFS device nodes onto calls to the RTEMS Classic API IO Manager. */ int rtems_deviceio_errno( rtems_status_code status ); @@ -76,10 +79,12 @@ int rtems_deviceio_control( rtems_device_minor_number minor ); +/** @} */ + #ifdef __cplusplus } #endif -/**@}*/ + /* __cplusplus */ #endif /* _RTEMS_DEVICEIO_H */ diff --git a/cpukit/libcsupport/include/rtems/libcsupport.h b/cpukit/libcsupport/include/rtems/libcsupport.h index 32ed8a8798..808c0fbf43 100644 --- a/cpukit/libcsupport/include/rtems/libcsupport.h +++ b/cpukit/libcsupport/include/rtems/libcsupport.h @@ -30,29 +30,31 @@ extern "C" { #endif /** - * @defgroup libcsupport Standard C Library Support + * @defgroup libcsupport Standard C Library Support * - * @brief RTEMS Specific Support for the Standard C Library + * @brief RTEMS Specific Support for the Standard C Library + * + * @{ */ extern void malloc_dump(void); /** - * @brief Malloc Walk + * @brief Malloc walk. */ extern bool malloc_walk(int source, bool printf_enabled); /** - * @brief RTEMS Malloc Set Heap Pointer + * @brief Set malloc heap pointer. * - * This routine is primarily used for debugging. + * This routine is primarily used for debugging. */ void malloc_set_heap_pointer(Heap_Control *new_heap); /** - * @brief RTEMS Malloc Get Heap Pointer + * @brief Get malloc heap pointer. * - * This routine is primarily used for debugging. + * This routine is primarily used for debugging. */ Heap_Control *malloc_get_heap_pointer( void ); extern void libc_init(void); @@ -60,17 +62,17 @@ extern int host_errno(void); extern void fix_syscall_errno(void); /** - * @brief RTEMS Malloc Get Free Information + * @brief Get free malloc information. * - * Find amount of free heap remaining + * Find amount of free heap remaining */ extern size_t malloc_free_space(void); extern void open_dev_console(void); /** - * @brief RTEMS Malloc Get Status Information + * @brief Get malloc status information. * - * Find amount of free heap remaining. + * Find amount of free heap remaining. */ extern int malloc_info(Heap_Information_block *the_info); @@ -139,7 +141,7 @@ typedef struct { /** * @brief Tasks a snapshot of the resource usage of the system. * - * @param[out] snapshot The snapshot of used resources. + * @param[out] snapshot will contain snapshot of used resources. * * @see rtems_resource_snapshot_equal() and rtems_resource_snapshot_check(). * @@ -165,8 +167,8 @@ void rtems_resource_snapshot_take(rtems_resource_snapshot *snapshot); /** * @brief Compares two resource snapshots for equality. * - * @return Returns true if the resource snapshots are equal, and false - * otherwise. + * @retval true The resource snapshots are equal. + * @retval false The resource snapshots are not equal. * * @see rtems_resource_snapshot_take(). */ @@ -179,15 +181,18 @@ bool rtems_resource_snapshot_equal( * @brief Takes a new resource snapshot and checks that it is equal to the * given snapshot. * - * @param[in] snapshot The snapshot used for comparison with the new snapshot. + * @param[in] snapshot is a pointer to the snapshot used for comparison + * with the new snapshot. * - * @return Returns true if the resource snapshots are equal, and false - * otherwise. + * @retval true The resource snapshots are equal. + * @retval false The resource snapshots are not equal. * * @see rtems_resource_snapshot_take(). */ bool rtems_resource_snapshot_check(const rtems_resource_snapshot *snapshot); +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpukit/libcsupport/include/rtems/libio_.h b/cpukit/libcsupport/include/rtems/libio_.h index c8e91ded99..80f83f939b 100644 --- a/cpukit/libcsupport/include/rtems/libio_.h +++ b/cpukit/libcsupport/include/rtems/libio_.h @@ -32,11 +32,11 @@ extern "C" { #endif /** - * @defgroup LibIOInternal IO Internal Library + * @defgroup LibIOInternal IO Internal Library * - * @brief Internal IO library API and implementation. + * @brief Internal IO library API and implementation. * - * @{ + * @{ */ #define RTEMS_FILESYSTEM_SYMLOOP_MAX 32 @@ -71,8 +71,8 @@ extern rtems_filesystem_mount_table_entry_t rtems_filesystem_null_mt_entry; * The purpose of this location is to deliver the error return status for a * previous error condition which must set the errno accordingly. * - * The usage of this null location instead of the NULL pointer eliminates a lot - * of branches. + * The usage of this null location instead of the NULL pointer eliminates + * a lot of branches. * * The user environment root and current directory are statically initialized * with the null location. Due to that all file system services are in a @@ -185,8 +185,8 @@ extern rtems_filesystem_global_location_t rtems_filesystem_global_location_null; * * The caller must hold the file system instance lock. * - * @param[out] clone The cloned location. - * @param[in] master The master location. + * @param[out] clone will contain the cloned location. + * @param[in] master is the master location. * * @see rtems_filesystem_instance_lock(). */ @@ -200,9 +200,9 @@ void rtems_filesystem_location_clone( * * This function obtains and releases the file system instance lock. * - * @param[in] loc The location of the node. + * @param[in] loc is the location of the node. * - * @return The node type. + * @retval type The node type. * * @see rtems_filesystem_instance_lock(). */ @@ -215,9 +215,9 @@ rtems_filesystem_node_types_t rtems_filesystem_node_type( * * This function may block on a mutex and may complete an unmount process. * - * @param[in] loc The location to free. + * @param[in] loc is the location to free. * - * @note The file system root location is released by the file system instance + * NOTE: The file system root location is released by the file system instance * destruction handler (see @ref rtems_filesystem_fsunmount_me_t). * * @see rtems_filesystem_freenode_t. @@ -279,24 +279,24 @@ static inline void rtems_filesystem_instance_unlock( */ /** - * This routine searches the IOP Table for an unused entry. If it - * finds one, it returns it. Otherwise, it returns NULL. + * This routine searches the IOP Table for an unused entry. If it + * finds one, it returns it. Otherwise, it returns NULL. */ rtems_libio_t *rtems_libio_allocate(void); /** - * Convert UNIX fnctl(2) flags to ones that RTEMS drivers understand + * Convert UNIX fnctl(2) flags to ones that RTEMS drivers understand */ uint32_t rtems_libio_fcntl_flags( int fcntl_flags ); /** - * Convert RTEMS internal flags to UNIX fnctl(2) flags + * Convert RTEMS internal flags to UNIX fnctl(2) flags */ int rtems_libio_to_fcntl_flags( uint32_t flags ); /** - * This routine frees the resources associated with an IOP (file descriptor) - * and clears the slot in the IOP Table. + * This routine frees the resources associated with an IOP (file descriptor) + * and clears the slot in the IOP Table. */ void rtems_libio_free( rtems_libio_t *iop @@ -360,8 +360,8 @@ void rtems_filesystem_eval_path_cleanup_with_parent( * The function obtains the new start location and clones it to set the new * current location. The previous start and current locations are released. * - * @param[in, out] ctx The path evaluation context. - * @param[in, out] newstartloc_ptr Pointer to new start location. + * @param[in, out] ctx is the path evaluation context. + * @param[in, out] newstartloc_ptr is a pointer to the new start location. */ void rtems_filesystem_eval_path_restart( rtems_filesystem_eval_path_context_t *ctx, @@ -377,8 +377,8 @@ typedef enum { /** * @brief Tests if the current location is a directory. * - * @param[in, out] ctx The path evaluation context. - * @param[in, out] arg The handler argument. + * @param[in, out] ctx is the path evaluation context. + * @param[in, out] arg is the handler argument. * * @retval true The current location is a directory. * @retval false Otherwise. @@ -393,10 +393,10 @@ typedef bool (*rtems_filesystem_eval_path_is_directory)( /** * @brief Evaluates a token. * - * @param[in, out] ctx The path evaluation context. - * @param[in, out] arg The handler argument. - * @param[in] token The token contents. - * @param[in] tokenlen The token length in characters. + * @param[in, out] ctx is the path evaluation context. + * @param[in, out] arg is the handler argument. + * @param[in] token is the token contents. + * @param[in] tokenlen is the token length in characters. * * @retval status The generic path evaluation status. * @@ -416,7 +416,7 @@ typedef struct { } rtems_filesystem_eval_path_generic_config; /** - * @brief RTEMS File System Eval Generic Path + * @brief Evaluates a generic path. */ void rtems_filesystem_eval_path_generic( rtems_filesystem_eval_path_context_t *ctx, @@ -432,8 +432,8 @@ void rtems_filesystem_initialize(void); * A bitwise copy is performed. The destination location will be added to the * corresponding mount entry. * - * @param[out] dst The destination location. - * @param[in] src The source location. + * @param[out] dst is the destination location. + * @param[in] src is the source location. * * @retval dst The destination location. * @@ -463,9 +463,10 @@ rtems_filesystem_location_transform_to_global( /** * @brief Assigns a global file system location. * - * @param[in, out] lhs_global_loc_ptr Pointer to the global left hand side file - * system location. The current left hand side location will be released. - * @param[in] rhs_global_loc The global right hand side file system location. + * @param[in, out] lhs_global_loc_ptr is a pointer to the global + * left hand side file system location. The current left hand side location + * will be released. + * @param[in] rhs_global_loc is the global right hand side file system location. */ void rtems_filesystem_global_location_assign( rtems_filesystem_global_location_t **lhs_global_loc_ptr, @@ -480,7 +481,7 @@ void rtems_filesystem_global_location_assign( * This function must be called from normal thread context and may block on a * mutex. Thread dispatching is disabled to protect some critical sections. * - * @param[in] global_loc_ptr Pointer to the global file system location. + * @param[in] global_loc_ptr is a pointer to the global file system location. * * @return A global file system location. It returns always a valid object. * In case of an error, the global null location will be returned. Each @@ -506,7 +507,8 @@ rtems_filesystem_global_location_t *rtems_filesystem_global_location_obtain( * sections of the operating system. In this case the release will be * deferred. The next obtain call will do the actual release. * - * @param[in] global_loc The global file system location. It must not be NULL. + * @param[in] global_loc is the global file system location. It must not + * be NULL. * * @see rtems_filesystem_global_location_obtain(). */ @@ -555,7 +557,7 @@ static inline void rtems_filesystem_location_error( } } /** - * @brief RTEMS File System Mknod + * @brief Create a file. */ int rtems_filesystem_mknod( const rtems_filesystem_location_info_t *parentloc, @@ -568,7 +570,7 @@ int rtems_filesystem_mknod( int rtems_filesystem_chdir( rtems_filesystem_location_info_t *loc ); /** - * @brief Change Owner and Group of a File + * @brief Change the owner and the group of a file. */ int rtems_filesystem_chown( const char *path, @@ -700,7 +702,7 @@ static inline void rtems_filesystem_eval_path_put_back_token( } /** - * @brief RTEMS File System Eval Eat Delimiter Path + * @brief Evaluates an eat delimiter path. */ void rtems_filesystem_eval_path_eat_delimiter( rtems_filesystem_eval_path_context_t *ctx diff --git a/cpukit/libcsupport/include/sys/statvfs.h b/cpukit/libcsupport/include/sys/statvfs.h index 8872670d80..eccc7d2881 100644 --- a/cpukit/libcsupport/include/sys/statvfs.h +++ b/cpukit/libcsupport/include/sys/statvfs.h @@ -1,12 +1,12 @@ /** - * @file sys/statvfs.h + * @file * - * @brief Interface to the statvfs() set of API Methods + * @brief Interface to the statvfs() Set of API Methods * * This include file defines the interface to the statvfs() set of * API methods. The statvfs as defined by the SUS: * - * - http://www.opengroup.org/onlinepubs/009695399/basedefs/sys/statvfs.h.html + * - http://www.opengroup.org/onlinepubs/009695399/basedefs/sys/statvfs.h.html */ /* diff --git a/cpukit/libcsupport/include/sys/termios.h b/cpukit/libcsupport/include/sys/termios.h index cc8440891a..5b96814af1 100644 --- a/cpukit/libcsupport/include/sys/termios.h +++ b/cpukit/libcsupport/include/sys/termios.h @@ -1,7 +1,7 @@ /** - * @file sys/termios.h + * @file * - * @brief POSIX termios Implementation for RTEMS Console Device Driver + * @brief POSIX Termios Implementation for RTEMS Console Device Driver * * The Open Group Base Specifications Issue 6 * IEEE Std 1003.1, 2004 Edition @@ -27,9 +27,11 @@ extern "C" { #endif /** - * @ingroup Termios + * @ingroup Termios * - * @brief POSIX Termios Implementation + * @brief POSIX Termios Implementation + * + * @{ */ typedef unsigned char cc_t; @@ -47,8 +49,8 @@ struct termios { }; /** - * This value is used to disable processing of a member of c_cc - * in the struct termios. + * This value is used to disable processing of a member of c_cc + * in the struct termios. */ #define _POSIX_VDISABLE 0 @@ -208,6 +210,8 @@ int cfsetospeed(struct termios *tp, speed_t speed); speed_t cfgetispeed(const struct termios *tp); int cfsetispeed(struct termios *tp, speed_t speed); +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpukit/libcsupport/include/sys/utsname.h b/cpukit/libcsupport/include/sys/utsname.h index df3cc675ad..93d331637e 100644 --- a/cpukit/libcsupport/include/sys/utsname.h +++ b/cpukit/libcsupport/include/sys/utsname.h @@ -1,5 +1,5 @@ /** - * @file sys/utsname.h + * @file * * @brief Interface to the POSIX utsname() Service * @@ -19,9 +19,10 @@ #define __POSIX_SYS_UTSNAME_h /** - * @defgroup utsname Service + * @defgroup utsname Service + * + * @{ */ -/**@{*/ #ifdef __cplusplus extern "C" { @@ -55,15 +56,19 @@ struct utsname { }; /** - * @brief 4.4.1 Get System Name, P1003.1b-1993, p. 90 + * @brief Get system name. + * + * 4.4.1 Get System Name, P1003.1b-1993, p. 90 */ int uname( struct utsname *name ); +/** @} */ + #ifdef __cplusplus } #endif -/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/libcsupport/include/timerdrv.h b/cpukit/libcsupport/include/timerdrv.h index b5eb6a1765..ad74bc6ccc 100644 --- a/cpukit/libcsupport/include/timerdrv.h +++ b/cpukit/libcsupport/include/timerdrv.h @@ -1,5 +1,5 @@ /** - * @file rtems/timerdrv.h + * @file * * @brief Timer Driver for all Boards * diff --git a/cpukit/libcsupport/include/vmeintr.h b/cpukit/libcsupport/include/vmeintr.h index 4fdc8ac772..db1bf4d625 100644 --- a/cpukit/libcsupport/include/vmeintr.h +++ b/cpukit/libcsupport/include/vmeintr.h @@ -3,9 +3,9 @@ * * @brief VMEbus Interface Library * - * This file is the specification for the VMEbus interface library - * which should be provided by all BSPs for VMEbus Single Board - * Computers but currently only a few do so. + * This file is the specification for the VMEbus interface library + * which should be provided by all BSPs for VMEbus Single Board + * Computers but currently only a few do so. */ /* diff --git a/cpukit/libcsupport/include/zilog/z8036.h b/cpukit/libcsupport/include/zilog/z8036.h index 0e585e1c17..686787d8ca 100644 --- a/cpukit/libcsupport/include/zilog/z8036.h +++ b/cpukit/libcsupport/include/zilog/z8036.h @@ -1,5 +1,5 @@ /** - * @file rtems/zilog/z8036.h + * @file * * @brief Zilog Z8036 Counter/Timer/IO Chip * diff --git a/cpukit/libcsupport/include/zilog/z8530.h b/cpukit/libcsupport/include/zilog/z8530.h index d11698de50..8fd9f399c3 100644 --- a/cpukit/libcsupport/include/zilog/z8530.h +++ b/cpukit/libcsupport/include/zilog/z8530.h @@ -1,10 +1,10 @@ /** - * @file rtems/zilog/z8530.h + * @file * * @brief Information Related to a Zilog Z8530 SCC Chip * - * This include file defines information related to a Zilog Z8530 - * SCC Chip. It is a IO mapped part. + * This include file defines information related to a Zilog Z8530 + * SCC Chip. It is a IO mapped part. */ /* diff --git a/cpukit/libcsupport/include/zilog/z8536.h b/cpukit/libcsupport/include/zilog/z8536.h index 326e75531e..1970fb1af9 100644 --- a/cpukit/libcsupport/include/zilog/z8536.h +++ b/cpukit/libcsupport/include/zilog/z8536.h @@ -1,5 +1,5 @@ /** - * @file rtems/zilog/z8536.h + * @file * * @brief Information Related to a Zilog Z8536 Counter/Timer/IO Chip * -- cgit v1.2.3 From 27f071cd88134b995f562e7080ba9820f93d48df Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Tue, 8 Jan 2013 07:13:41 -0600 Subject: sapi: Doxygen Clean Up Task #1 --- cpukit/sapi/include/confdefs.h | 408 +++++++++++++++++---------------- cpukit/sapi/include/rtems/cbs.h | 2 +- cpukit/sapi/include/rtems/chain.h | 8 +- cpukit/sapi/include/rtems/config.h | 83 ++++--- cpukit/sapi/include/rtems/extension.h | 6 +- cpukit/sapi/include/rtems/fatal.h | 28 +-- cpukit/sapi/include/rtems/init.h | 74 +++--- cpukit/sapi/include/rtems/io.h | 94 ++++---- cpukit/sapi/include/rtems/mptables.h | 2 +- cpukit/sapi/include/rtems/rbheap.h | 31 ++- cpukit/sapi/include/rtems/rbtree.h | 19 +- cpukit/sapi/include/rtems/sptables.h | 8 +- cpukit/sapi/include/rtems/timespec.h | 7 +- cpukit/sapi/inline/rtems/cbs.inl | 86 +++---- cpukit/sapi/inline/rtems/chain.inl | 343 +++++++++++++-------------- cpukit/sapi/inline/rtems/extension.inl | 2 +- cpukit/sapi/inline/rtems/rbtree.inl | 195 ++++++++-------- cpukit/sapi/inline/rtems/timespec.inl | 165 +++++++------ 18 files changed, 791 insertions(+), 770 deletions(-) diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h index 2c0be5364f..a5b7b7a4fe 100644 --- a/cpukit/sapi/include/confdefs.h +++ b/cpukit/sapi/include/confdefs.h @@ -1,31 +1,31 @@ /** - * @file rtems/confdefs.h + * @file * * @brief Configuration Table Template that will be Instantiated * by an Application * - * 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 + * 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: + * 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 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 + * 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. + * 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. */ /* @@ -61,8 +61,8 @@ extern rtems_driver_address_table Device_drivers[]; #endif /** - * This macro determines whether the RTEMS reentrancy support for - * the Newlib C Library is enabled. + * This macro determines whether the RTEMS reentrancy support for + * the Newlib C Library is enabled. */ #ifdef RTEMS_SCHEDSIM #undef RTEMS_NEWLIB @@ -110,62 +110,62 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * This macro defines the number of POSIX file descriptors allocated - * and managed by libio. These are the "integer" file descriptors that - * are used by calls like open(2) and read(2). + * This macro defines the number of POSIX file descriptors allocated + * and managed by libio. These are the "integer" file descriptors that + * are used by calls like open(2) and read(2). */ #ifndef CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS #define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 3 #endif /** - * Semaphore count used by the IO library. + * Semaphore count used by the IO library. */ #define CONFIGURE_LIBIO_SEMAPHORES 1 #ifdef CONFIGURE_INIT /** - * When instantiating the configuration tables, this variable is - * initialized to specify the maximum number of file descriptors. + * When instantiating the configuration tables, this variable is + * initialized to specify the maximum number of file descriptors. */ uint32_t rtems_libio_number_iops = CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS; #endif /** - * This macro determines if termios is disabled by this application. - * This only means that resources will not be reserved. If you end - * up using termios, it will fail. + * This macro determines if termios is disabled by this application. + * This only means that resources will not be reserved. If you end + * up using termios, it will fail. */ #ifdef CONFIGURE_TERMIOS_DISABLED #define CONFIGURE_TERMIOS_SEMAPHORES 0 #else /** - * This macro specifies the number of serial or PTY ports that will - * use termios. + * This macro specifies the number of serial or PTY ports that will + * use termios. */ #ifndef CONFIGURE_NUMBER_OF_TERMIOS_PORTS #define CONFIGURE_NUMBER_OF_TERMIOS_PORTS 1 #endif /** - * This macro reserves the number of semaphores required by termios - * based upon the number of communication ports that will use it. + * This macro reserves the number of semaphores required by termios + * based upon the number of communication ports that will use it. */ #define CONFIGURE_TERMIOS_SEMAPHORES \ ((CONFIGURE_NUMBER_OF_TERMIOS_PORTS * 4) + 1) #endif /** - * This macro specifies the number of PTYs that can be concurrently - * active. + * This macro specifies the number of PTYs that can be concurrently + * active. */ #ifndef CONFIGURE_MAXIMUM_PTYS #define CONFIGURE_MAXIMUM_PTYS 0 #endif /** - * This variable contains the maximum number of PTYs that can be - * concurrently active. + * This variable contains the maximum number of PTYs that can be + * concurrently active. */ #ifdef CONFIGURE_INIT int rtems_telnetd_maximum_ptys = CONFIGURE_MAXIMUM_PTYS; @@ -288,10 +288,10 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #include /** - * This specifies the number of bytes per block for files within the IMFS. - * There are a maximum number of blocks per file so this dictates the maximum - * size of a file. This has to be balanced with the unused portion of each - * block that might be wasted. + * This specifies the number of bytes per block for files within the IMFS. + * There are a maximum number of blocks per file so this dictates the maximum + * size of a file. This has to be balanced with the unused portion of each + * block that might be wasted. */ #ifndef CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK #define CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK \ @@ -299,7 +299,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * This defines the miniIMFS file system table entry. + * This defines the miniIMFS file system table entry. */ #if !defined(CONFIGURE_FILESYSTEM_ENTRY_miniIMFS) && \ defined(CONFIGURE_FILESYSTEM_MINIIMFS) @@ -309,7 +309,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * Internall it is called FIFOs not pipes + * Internall it is called FIFOs not pipes */ #if defined(CONFIGURE_PIPES_ENABLED) #define CONFIGURE_FIFOS_ENABLED @@ -317,7 +317,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #ifndef RTEMS_SCHEDSIM /** - * This defines the IMFS file system table entry. + * This defines the IMFS file system table entry. */ #if !defined(CONFIGURE_FILESYSTEM_ENTRY_IMFS) && \ defined(CONFIGURE_FILESYSTEM_IMFS) @@ -332,7 +332,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * This sets up the resources for the PIPES/FIFOs + * This sets up the resources for the PIPES/FIFOs */ #if defined(CONFIGURE_FIFOS_ENABLED) #if !defined(CONFIGURE_MAXIMUM_FIFOS) && !defined(CONFIGURE_MAXIMUM_PIPES) @@ -418,13 +418,13 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #ifdef CONFIGURE_INIT /** - * DEVFS variables. + * DEVFS variables. * - * The number of individual devices that may be registered - * in the system or the CONFIGURE_MAXIMUM_DEVICES variable - * is defaulted to 4 when a filesystem is enabled, unless - * the bsp overwrides this. In which case the value is set - * to BSP_MAXIMUM_DEVICES. + * The number of individual devices that may be registered + * in the system or the CONFIGURE_MAXIMUM_DEVICES variable + * is defaulted to 4 when a filesystem is enabled, unless + * the bsp overwrides this. In which case the value is set + * to BSP_MAXIMUM_DEVICES. */ #ifdef CONFIGURE_FILESYSTEM_DEVFS #ifndef CONFIGURE_MAXIMUM_DEVICES @@ -532,7 +532,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * This configures the stack checker user extension. + * This configures the stack checker user extension. */ #ifdef CONFIGURE_STACK_CHECKER_ENABLED #define CONFIGURE_STACK_CHECKER_EXTENSION 1 @@ -541,34 +541,34 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * @brief Maximum Priority configuration + * @brief Maximum priority configuration. * - * This configures the maximum priority value that - * a task may have. + * This configures the maximum priority value that + * a task may have. * - * The following applies to the data space requirements - * of the Priority Scheduler. + * The following applies to the data space requirements + * of the Priority Scheduler. * - * By reducing the number of priorities in a system, - * the amount of RAM required by RTEMS can be significantly - * reduced. RTEMS allocates a Chain_Control structure per - * priority and this structure contains 3 pointers. So - * the default is (256 * 12) = 3K on 32-bit architectures. + * By reducing the number of priorities in a system, + * the amount of RAM required by RTEMS can be significantly + * reduced. RTEMS allocates a Chain_Control structure per + * priority and this structure contains 3 pointers. So + * the default is (256 * 12) = 3K on 32-bit architectures. * - * This must be one less than a power of 2 between - * 4 and 256. Valid values along with the application - * priority levels and memory saved when pointers are - * 32-bits in size are: + * This must be one less than a power of 2 between + * 4 and 256. Valid values along with the application + * priority levels and memory saved when pointers are + * 32-bits in size are: * - * + 3, 2 application priorities, 3024 bytes saved - * + 7, 5 application priorities, 2976 bytes saved - * + 15, 13 application priorities, 2880 bytes saved - * + 31, 29 application priorities, 2688 bytes saved - * + 63, 61 application priorities, 2304 bytes saved - * + 127, 125 application priorities, 1536 bytes saved - * + 255, 253 application priorities, 0 bytes saved + * + 3, 2 application priorities, 3024 bytes saved + * + 7, 5 application priorities, 2976 bytes saved + * + 15, 13 application priorities, 2880 bytes saved + * + 31, 29 application priorities, 2688 bytes saved + * + 63, 61 application priorities, 2304 bytes saved + * + 127, 125 application priorities, 1536 bytes saved + * + 255, 253 application priorities, 0 bytes saved * - * It is specified in terms of Classic API priority values. + * It is specified in terms of Classic API priority values. */ #ifndef CONFIGURE_MAXIMUM_PRIORITY #define CONFIGURE_MAXIMUM_PRIORITY PRIORITY_DEFAULT_MAXIMUM @@ -729,12 +729,12 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * @brief Idle task body configuration + * @brief Idle task body configuration. * - * There is a default IDLE thread body provided by RTEMS which - * has the possibility of being CPU specific. There may be a - * BSP specific override of the RTEMS default body and in turn, - * the application may override and provide its own. + * There is a default IDLE thread body provided by RTEMS which + * has the possibility of being CPU specific. There may be a + * BSP specific override of the RTEMS default body and in turn, + * the application may override and provide its own. */ #ifndef CONFIGURE_IDLE_TASK_BODY #if defined(BSP_IDLE_TASK_BODY) @@ -755,7 +755,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * By default, use the minimum stack size requested by this port. + * By default, use the minimum stack size requested by this port. */ #ifndef CONFIGURE_MINIMUM_TASK_STACK_SIZE #define CONFIGURE_MINIMUM_TASK_STACK_SIZE CPU_STACK_MINIMUM_SIZE @@ -765,10 +765,10 @@ rtems_fs_init_functions_t rtems_fs_init_helper = (2 * CONFIGURE_MINIMUM_TASK_STACK_SIZE) /** - * @brief Idle task stack size configuration + * @brief Idle task stack size configuration. * - * By default, the IDLE task will have a stack of minimum size. - * The BSP or application may override this value. + * By default, the IDLE task will have a stack of minimum size. + * The BSP or application may override this value. */ #ifndef CONFIGURE_IDLE_TASK_STACK_SIZE #ifdef BSP_IDLE_TASK_STACK_SIZE @@ -782,10 +782,10 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * @brief Interrupt stack size configuration + * @brief Interrupt stack size configuration. * - * By default, the interrupt stack will be of minimum size. - * The BSP or application may override this value. + * By default, the interrupt stack will be of minimum size. + * The BSP or application may override this value. */ #ifndef CONFIGURE_INTERRUPT_STACK_SIZE #ifdef BSP_INTERRUPT_STACK_SIZE @@ -796,11 +796,11 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * This reserves memory for the interrupt stack if it is to be allocated - * by RTEMS rather than the BSP. + * This reserves memory for the interrupt stack if it is to be allocated + * by RTEMS rather than the BSP. * - * @todo Try to get to the point where all BSPs support allocating the - * memory from the Workspace. + * @todo Try to get to the point where all BSPs support allocating the + * memory from the Workspace. */ #if (CPU_ALLOCATE_INTERRUPT_STACK == 0) #define CONFIGURE_INTERRUPT_STACK_MEMORY 0 @@ -810,7 +810,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * Configure the very much optional task stack allocator initialization + * Configure the very much optional task stack allocator initialization */ #ifndef CONFIGURE_TASK_STACK_ALLOCATOR_INIT #define CONFIGURE_TASK_STACK_ALLOCATOR_INIT NULL @@ -831,8 +831,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * Should the RTEMS Workspace and C Program Heap be cleared automatically - * at system start up? + * Should the RTEMS Workspace and C Program Heap be cleared automatically + * at system start up? */ #ifndef CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY #ifdef BSP_ZERO_WORKSPACE_AUTOMATICALLY @@ -851,10 +851,10 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #ifdef CONFIGURE_INIT /** - * By default, RTEMS uses separate heaps for the RTEMS Workspace and - * the C Program Heap. On many BSPs, these can be optionally - * combined provided one larger memory pool. This is particularly - * useful in combination with the unlimited objects configuration. + * By default, RTEMS uses separate heaps for the RTEMS Workspace and + * the C Program Heap. On many BSPs, these can be optionally + * combined provided one larger memory pool. This is particularly + * useful in combination with the unlimited objects configuration. */ #ifdef BSP_DEFAULT_UNIFIED_WORK_AREAS #ifndef CONFIGURE_UNIFIED_WORK_AREAS @@ -872,8 +872,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #ifdef CONFIGURE_INIT /** - * This configures the malloc family statistics to be available. - * By default only function call counts are kept. + * This configures the malloc family statistics to be available. + * By default only function call counts are kept. */ rtems_malloc_statistics_functions_t *rtems_malloc_statistics_helpers = #ifndef CONFIGURE_MALLOC_STATISTICS @@ -885,10 +885,10 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #ifdef CONFIGURE_INIT /** - * This configures the sbrk() support for the malloc family. - * By default it is assumed that the BSP provides all available - * RAM to the malloc family implementation so sbrk()'ing to get - * more memory would always fail anyway. + * This configures the sbrk() support for the malloc family. + * By default it is assumed that the BSP provides all available + * RAM to the malloc family implementation so sbrk()'ing to get + * more memory would always fail anyway. */ const rtems_heap_extend_handler rtems_malloc_extend_handler = #ifdef CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK @@ -900,9 +900,9 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #ifdef CONFIGURE_INIT /** - * This configures the malloc family plugin which dirties memory - * allocated. This is helpful for finding unitialized data structure - * problems. + * This configures the malloc family plugin which dirties memory + * allocated. This is helpful for finding unitialized data structure + * problems. */ rtems_malloc_dirtier_t rtems_malloc_dirty_helper = #if defined(CONFIGURE_MALLOC_DIRTY) @@ -913,18 +913,18 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * This is a helper macro used in calculations in this file. It is used - * to noted when an element is allocated from the RTEMS Workspace and adds - * a factor to account for heap overhead plus an alignment factor that - * may be applied. + * This is a helper macro used in calculations in this file. It is used + * to noted when an element is allocated from the RTEMS Workspace and adds + * a factor to account for heap overhead plus an alignment factor that + * may be applied. */ #define _Configure_From_workspace(_size) \ (ssize_t)((_size) + HEAP_BLOCK_HEADER_SIZE + CPU_HEAP_ALIGNMENT - 1) /** - * This is a helper macro used in stack space calculations in this file. It - * may be provided by the application in case a special task stack allocator - * is used. The default is allocation from the RTEMS Workspace. + * This is a helper macro used in stack space calculations in this file. It + * may be provided by the application in case a special task stack allocator + * is used. The default is allocation from the RTEMS Workspace. */ #ifdef CONFIGURE_TASK_STACK_FROM_ALLOCATOR #define _Configure_From_stackspace(_stack_size) \ @@ -935,18 +935,18 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * Do not use the unlimited bit as part of the multiplication - * for memory usage. + * Do not use the unlimited bit as part of the multiplication + * for memory usage. */ #define _Configure_Max_Objects(_max) \ rtems_resource_maximum_per_allocation(_max) /** - * This macro accounts for how memory for a set of configured objects is - * allocated from the Executive Workspace. + * This macro accounts for how memory for a set of configured objects is + * allocated from the Executive Workspace. * - * NOTE: It does NOT attempt to address the more complex case of unlimited - * objects. + * NOTE: It does NOT attempt to address the more complex case of unlimited + * objects. */ #define _Configure_Object_RAM(_number, _size) \ ( _Configure_From_workspace(_Configure_Max_Objects(_number) * (_size)) + \ @@ -1156,9 +1156,9 @@ rtems_fs_init_functions_t rtems_fs_init_helper = RTEMS_ARRAY_SIZE(Device_drivers) /** - * This specifies the maximum number of device drivers that - * can be installed in the system at one time. It must account - * for both the statically and dynamically installed drivers. + * This specifies the maximum number of device drivers that + * can be installed in the system at one time. It must account + * for both the statically and dynamically installed drivers. */ #ifndef CONFIGURE_MAXIMUM_DRIVERS #define CONFIGURE_MAXIMUM_DRIVERS CONFIGURE_NUMBER_OF_DRIVERS @@ -1485,10 +1485,10 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * This macro calculates the memory required for task variables. + * This macro calculates the memory required for task variables. * - * @note Each task variable is individually allocated from the Workspace. - * Hence, we do the multiplication on the configured size. + * NOTE: Each task variable is individually allocated from the Workspace. + * Hence, we do the multiplication on the configured size. */ #ifndef CONFIGURE_MAXIMUM_TASK_VARIABLES #define CONFIGURE_MAXIMUM_TASK_VARIABLES 0 @@ -1662,8 +1662,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #include /** - * Account for the object control structures plus the name - * of the object to be duplicated. + * Account for the object control structures plus the name + * of the object to be duplicated. */ #define _Configure_POSIX_Named_Object_RAM(_number, _size) \ _Configure_Object_RAM( (_number), _size ) + \ @@ -1856,15 +1856,15 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #ifdef CONFIGURE_GNAT_RTEMS /** - * The GNAT run-time needs something less than (10) POSIX mutexes. - * We may be able to get by with less but why bother. + * The GNAT run-time needs something less than (10) POSIX mutexes. + * We may be able to get by with less but why bother. */ #define CONFIGURE_GNAT_MUTEXES 10 /** - * This is the maximum number of Ada tasks which can be concurrently - * in existence. Twenty (20) are required to run all tests in the - * ACATS (formerly ACVC). + * This is the maximum number of Ada tasks which can be concurrently + * in existence. Twenty (20) are required to run all tests in the + * ACATS (formerly ACVC). */ #ifndef CONFIGURE_MAXIMUM_ADA_TASKS #define CONFIGURE_MAXIMUM_ADA_TASKS 20 @@ -1919,8 +1919,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #ifndef RTEMS_SCHEDSIM /** - * This macro specifies the amount of memory to be reserved for the - * Newlib C Library reentrancy structure -- if we are using newlib. + * This macro specifies the amount of memory to be reserved for the + * Newlib C Library reentrancy structure -- if we are using newlib. */ #if (defined(RTEMS_NEWLIB) && !defined(CONFIGURE_DISABLE_NEWLIB_REENTRANCY)) @@ -1937,8 +1937,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * This is so we can account for tasks with stacks greater than minimum - * size. This is in bytes. + * This is so we can account for tasks with stacks greater than minimum + * size. This is in bytes. */ #ifndef CONFIGURE_EXTRA_TASK_STACKS #define CONFIGURE_EXTRA_TASK_STACKS 0 @@ -1951,10 +1951,10 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #ifndef CONFIGURE_EXECUTIVE_RAM_SIZE /** - * Account for allocating the following per object - * + array of object control structures - * + local pointer table -- pointer per object plus a zero'th - * entry in the local pointer table. + * Account for allocating the following per object + * + array of object control structures + * + local pointer table -- pointer per object plus a zero'th + * entry in the local pointer table. */ #define CONFIGURE_MEMORY_FOR_TASKS(_tasks, _number_FP_tasks) \ @@ -1976,8 +1976,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper = ) /** - * This defines the amount of memory configured for the multiprocessing - * support required by this application. + * This defines the amount of memory configured for the multiprocessing + * support required by this application. */ #ifdef CONFIGURE_MP_APPLICATION #define CONFIGURE_MEMORY_FOR_MP \ @@ -1991,44 +1991,44 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * The following macro is used to calculate the memory allocated by RTEMS - * for the message buffers associated with a particular message queue. - * There is a fixed amount of overhead per message. + * The following macro is used to calculate the memory allocated by RTEMS + * for the message buffers associated with a particular message queue. + * There is a fixed amount of overhead per message. */ #define CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(_messages, _size) \ _Configure_From_workspace( \ (_messages) * ((_size) + sizeof(CORE_message_queue_Buffer_control))) /** - * This macros is set to the amount of memory required for pending message - * buffers in bytes. It should be constructed by adding together a - * set of values determined by CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE. + * This macros is set to the amount of memory required for pending message + * buffers in bytes. It should be constructed by adding together a + * set of values determined by CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE. */ #ifndef CONFIGURE_MESSAGE_BUFFER_MEMORY #define CONFIGURE_MESSAGE_BUFFER_MEMORY 0 #endif /** - * This macro is available just in case the confdefs.h file underallocates - * memory for a particular application. This lets the user add some extra - * memory in case something broken and underestimates. + * This macro is available just in case the confdefs.h file underallocates + * memory for a particular application. This lets the user add some extra + * memory in case something broken and underestimates. * - * It is also possible for cases where confdefs.h overallocates memory, - * you could substract memory from the allocated. The estimate is just - * that, an estimate, and assumes worst case alignment and padding on - * each allocated element. So in some cases it could be too conservative. + * It is also possible for cases where confdefs.h overallocates memory, + * you could substract memory from the allocated. The estimate is just + * that, an estimate, and assumes worst case alignment and padding on + * each allocated element. So in some cases it could be too conservative. * - * @note Historically this was used for message buffers. + * NOTE: Historically this was used for message buffers. */ #ifndef CONFIGURE_MEMORY_OVERHEAD #define CONFIGURE_MEMORY_OVERHEAD 0 #endif /** - * On architectures that use Simple Vectored Interrupts, it is RTEMS - * responsibility to allocate the vector table. This avoids reserving - * the memory on architectures that use the Programmable Interrupt - * Controller Vectored Interrupts. + * On architectures that use Simple Vectored Interrupts, it is RTEMS + * responsibility to allocate the vector table. This avoids reserving + * the memory on architectures that use the Programmable Interrupt + * Controller Vectored Interrupts. */ #if (CPU_SIMPLE_VECTORED_INTERRUPTS == TRUE) /* @@ -2050,15 +2050,15 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * RTEMS uses one instance of an internal mutex class. This accounts - * for that mutex + * RTEMS uses one instance of an internal mutex class. This accounts + * for that mutex */ #define CONFIGURE_API_MUTEX_MEMORY \ _Configure_Object_RAM(1, sizeof(API_Mutex_Control)) /** - * This calculates the amount of memory reserved for the IDLE tasks. - * In an SMP system, each CPU core has its own idle task. + * This calculates the amount of memory reserved for the IDLE tasks. + * In an SMP system, each CPU core has its own idle task. */ #if defined(RTEMS_SMP) #define CONFIGURE_IDLE_TASKS_COUNT CONFIGURE_SMP_MAXIMUM_PROCESSORS @@ -2067,14 +2067,14 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * This defines the formula used to compute the amount of memory - * reserved for IDLE task control structures. + * This defines the formula used to compute the amount of memory + * reserved for IDLE task control structures. */ #define CONFIGURE_MEMORY_FOR_IDLE_TASK \ CONFIGURE_MEMORY_FOR_TASKS(CONFIGURE_IDLE_TASKS_COUNT, 0) /** - * This macro accounts for general RTEMS system overhead. + * This macro accounts for general RTEMS system overhead. */ #define CONFIGURE_MEMORY_FOR_SYSTEM_OVERHEAD \ ( CONFIGURE_MEMORY_FOR_IDLE_TASK + /* IDLE and stack */ \ @@ -2085,8 +2085,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper = ) /** - * This macro provides a summation of the various task and thread - * requirements. + * This macro provides a summation of the various task and thread + * requirements. */ #define CONFIGURE_TOTAL_TASKS_AND_THREADS \ (CONFIGURE_TASKS + \ @@ -2094,8 +2094,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper = CONFIGURE_MAXIMUM_GOROUTINES) /** - * This macro reserves the memory required by the statically configured - * user extensions. + * This macro reserves the memory required by the statically configured + * user extensions. */ #define CONFIGURE_MEMORY_FOR_STATIC_EXTENSIONS \ (CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS == 0 ? 0 : \ @@ -2105,8 +2105,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper = )) /** - * This macro provides a summation of the memory required by the - * Classic API as configured. + * This macro provides a summation of the memory required by the + * Classic API as configured. */ #define CONFIGURE_MEMORY_FOR_CLASSIC \ (CONFIGURE_MEMORY_FOR_TASK_VARIABLES(CONFIGURE_MAXIMUM_TASK_VARIABLES + \ @@ -2133,7 +2133,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * This calculates the memory required for the executive workspace. + * This calculates the memory required for the executive workspace. */ #define CONFIGURE_EXECUTIVE_RAM_SIZE \ (( \ @@ -2155,8 +2155,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper = */ /** - * This accounts for any extra memory required by the Classic API - * Initialization Task. + * This accounts for any extra memory required by the Classic API + * Initialization Task. */ #if (CONFIGURE_INIT_TASK_STACK_SIZE > CONFIGURE_MINIMUM_TASK_STACK_SIZE) #define CONFIGURE_INITIALIZATION_THREADS_STACKS_CLASSIC_PART \ @@ -2166,8 +2166,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * This accounts for any extra memory required by the POSIX API - * Initialization Thread. + * This accounts for any extra memory required by the POSIX API + * Initialization Thread. */ #if defined(RTEMS_POSIX_API) && \ (CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE > \ @@ -2180,8 +2180,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #endif /** - * This macro provides a summation of the various initialization task - * and thread stack requirements. + * This macro provides a summation of the various initialization task + * and thread stack requirements. */ #define CONFIGURE_INITIALIZATION_THREADS_EXTRA_STACKS \ (CONFIGURE_INITIALIZATION_THREADS_STACKS_CLASSIC_PART + \ @@ -2241,7 +2241,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #ifdef CONFIGURE_INIT /** - * This is the Classic API Configuration Table. + * This is the Classic API Configuration Table. */ rtems_api_configuration_table Configuration_RTEMS_API = { CONFIGURE_TASKS, @@ -2260,7 +2260,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #ifdef RTEMS_POSIX_API /** - * This is the POSIX API Configuration Table. + * This is the POSIX API Configuration Table. */ posix_api_configuration_table Configuration_POSIX_API = { CONFIGURE_MAXIMUM_POSIX_THREADS + CONFIGURE_MAXIMUM_ADA_TASKS + @@ -2285,29 +2285,31 @@ rtems_fs_init_functions_t rtems_fs_init_helper = }; #endif - /** This variable specifies the minimum stack size for tasks in an RTEMS - * application. + /** + * This variable specifies the minimum stack size for tasks in an RTEMS + * application. * - * @note This is left as a simple uint32_t so it can be externed as - * needed without requring being high enough logical to - * include the full configuration table. + * NOTE: This is left as a simple uint32_t so it can be externed as + * needed without requring being high enough logical to + * include the full configuration table. */ uint32_t rtems_minimum_stack_size = CONFIGURE_MINIMUM_TASK_STACK_SIZE; - /** This variable specifies the maximum priority value that - * a task may have. This must be a power of 2 between 4 - * and 256 and is specified in terms of Classic API - * priority values. + /** + * This variable specifies the maximum priority value that + * a task may have. This must be a power of 2 between 4 + * and 256 and is specified in terms of Classic API + * priority values. * - * @note This is left as a simple uint8_t so it can be externed as - * needed without requring being high enough logical to - * include the full configuration table. + * NOTE: This is left as a simple uint8_t so it can be externed as + * needed without requring being high enough logical to + * include the full configuration table. */ uint8_t rtems_maximum_priority = CONFIGURE_MAXIMUM_PRIORITY; /** - * This is the primary Configuration Table for this application. + * This is the primary Configuration Table for this application. */ const rtems_configuration_table Configuration = { CONFIGURE_EXECUTIVE_RAM_SIZE, /* required RTEMS workspace */ @@ -2350,8 +2352,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #if defined(RTEMS_SMP) /** - * Instantiate the variable which specifies the number of CPUs - * in an SMP configuration. + * Instantiate the variable which specifies the number of CPUs + * in an SMP configuration. */ #if defined(CONFIGURE_INIT) uint32_t rtems_configuration_smp_maximum_processors = \ @@ -2414,11 +2416,11 @@ rtems_fs_init_functions_t rtems_fs_init_helper = #if defined(CONFIGURE_CONFDEFS_DEBUG) && defined(CONFIGURE_INIT) /** - * This is a debug mechanism, so if you need to, the executable will - * have a structure with various partial values. Add to this as you - * need to. Viewing this structure in gdb combined with dumping - * the Configuration structures generated should help a lot in tracing - * down errors and analyzing where over and under allocations are. + * This is a debug mechanism, so if you need to, the executable will + * have a structure with various partial values. Add to this as you + * need to. Viewing this structure in gdb combined with dumping + * the Configuration structures generated should help a lot in tracing + * down errors and analyzing where over and under allocations are. */ typedef struct { uint32_t SYSTEM_OVERHEAD; diff --git a/cpukit/sapi/include/rtems/cbs.h b/cpukit/sapi/include/rtems/cbs.h index dda56e27b0..e0e619cdeb 100644 --- a/cpukit/sapi/include/rtems/cbs.h +++ b/cpukit/sapi/include/rtems/cbs.h @@ -1,5 +1,5 @@ /** - * @file rtems/cbs.h + * @file * * @brief Constants and Structures Associated * with the CBS library in RTEMS diff --git a/cpukit/sapi/include/rtems/chain.h b/cpukit/sapi/include/rtems/chain.h index 12d6e3b536..e1644acd14 100644 --- a/cpukit/sapi/include/rtems/chain.h +++ b/cpukit/sapi/include/rtems/chain.h @@ -1,9 +1,7 @@ /** * @file - * - * @ingroup ClassicChains - * - * @brief Chain API. + * + * @brief Chain API */ /* @@ -33,7 +31,7 @@ extern "C" { * * @ingroup ClassicRTEMS * - * @brief Chain API. + * @brief Chain API * * @{ */ diff --git a/cpukit/sapi/include/rtems/config.h b/cpukit/sapi/include/rtems/config.h index 9a35437b4f..58d2d92fb5 100644 --- a/cpukit/sapi/include/rtems/config.h +++ b/cpukit/sapi/include/rtems/config.h @@ -1,5 +1,5 @@ /** - * @file rtems/config.h + * @file * * @brief Table of User Defined Configuration Parameters * @@ -79,9 +79,10 @@ typedef struct { /** This is the maximum number of proxies. */ uint32_t maximum_proxies; - /** The MPCI Receive server is assumed to have a stack of at least - * minimum stack size. This field specifies the amount of extra - * stack this task will be given in bytes. + /** + * The MPCI Receive server is assumed to have a stack of at least + * minimum stack size. This field specifies the amount of extra + * stack this task will be given in bytes. */ uint32_t extra_mpci_receive_server_stack; @@ -93,14 +94,14 @@ typedef struct { /** * @brief Task stack allocator initialization hook. * - * @param[in] stack_space_size Size of the stack space in bytes. + * @param[in] stack_space_size is the size of the stack space in bytes. */ typedef void (*rtems_stack_allocate_init_hook)( size_t stack_space_size ); /** * @brief Task stack allocator hook. * - * @param[in] stack_size Size of the task stack in bytes. + * @param[in] stack_size is the Size of the task stack in bytes. * * @retval NULL Not enough memory. * @retval other Pointer to task stack. @@ -110,7 +111,7 @@ typedef void *(*rtems_stack_allocate_hook)( size_t stack_size ); /** * @brief Task stack deallocator hook. * - * @param[in] addr Pointer to previously allocated task stack. + * @param[in] addr is a pointer to previously allocated task stack. */ typedef void (*rtems_stack_free_hook)( void *addr ); @@ -126,49 +127,58 @@ typedef void (*rtems_stack_free_hook)( void *addr ); * + required number of each object type for each API configured */ typedef struct { - /** This field specifies the size in bytes of the RTEMS Workspace. + /** + * This field specifies the size in bytes of the RTEMS Workspace. */ uintptr_t work_space_size; - /** This field specifies the size in bytes of the RTEMS thread stack space. + /** + * This field specifies the size in bytes of the RTEMS thread stack space. */ uintptr_t stack_space_size; - /** This field specifies the maximum number of dynamically installed - * used extensions. + /** + * This field specifies the maximum number of dynamically installed + * used extensions. */ uint32_t maximum_extensions; - /** This field specifies the number of microseconds which elapse - * between clock ticks. This is the basis for RTEMS timing. + /** + * This field specifies the number of microseconds which elapse + * between clock ticks. This is the basis for RTEMS timing. */ uint32_t microseconds_per_tick; - /** This field specifies the number of nanoseconds which elapse - * between clock ticks. This value is derived from the - * microseconds_per_tick field and provided to avoid calculation at - * run-time. + /** + * This field specifies the number of nanoseconds which elapse + * between clock ticks. This value is derived from the + * microseconds_per_tick field and provided to avoid calculation at + * run-time. */ uint32_t nanoseconds_per_tick; - /** This field specifies the number of ticks in each task's timeslice. + /** + * This field specifies the number of ticks in each task's timeslice. */ uint32_t ticks_per_timeslice; - /** This element points to the BSP's optional idle task which may override - * the default one provided with RTEMS. + /** + * This element points to the BSP's optional idle task which may override + * the default one provided with RTEMS. */ Thread (*idle_task)( uintptr_t ); - /** This field specifies the size of the IDLE task's stack. If less than or - * equal to the minimum stack size, then the IDLE task will have the minimum - * stack size. + /** + * This field specifies the size of the IDLE task's stack. If less than or + * equal to the minimum stack size, then the IDLE task will have the minimum + * stack size. */ uint32_t idle_task_stack_size; - /** This field specifies the size of the interrupt stack. If less than or - * equal to the minimum stack size, then the interrupt stack will be of - * minimum stack size. + /** + * This field specifies the size of the interrupt stack. If less than or + * equal to the minimum stack size, then the interrupt stack will be of + * minimum stack size. */ uint32_t interrupt_stack_size; @@ -187,10 +197,11 @@ typedef struct { */ rtems_stack_free_hook stack_free_hook; - /** If this element is TRUE, then RTEMS will zero the Executive Workspace. - * When this element is FALSE, it is assumed that the BSP or invoking - * environment has ensured that memory was cleared before RTEMS was - * invoked. + /** + * If this element is TRUE, then RTEMS will zero the Executive Workspace. + * When this element is FALSE, it is assumed that the BSP or invoking + * environment has ensured that memory was cleared before RTEMS was + * invoked. */ bool do_zero_of_workspace; @@ -222,23 +233,23 @@ typedef struct { } rtems_configuration_table; /** - * This is the configuration table generated by confdefs.h. + * This is the configuration table generated by confdefs.h. */ extern const rtems_configuration_table Configuration; #if defined(RTEMS_MULTIPROCESSING) /** - * This points to the multiprocessing configuration table. + * This points to the multiprocessing configuration table. */ SAPI_EXTERN rtems_multiprocessing_table *_Configuration_MP_table; #endif #if defined(RTEMS_MULTIPROCESSING) /** - * @brief RTEMS Multiprocessing Configuration Table + * @brief RTEMS multiprocessing configuration table. * - * This is the RTEMS Multiprocessing Configuration Table expected to - * be generated by confdefs.h. + * This is the RTEMS Multiprocessing Configuration Table expected to + * be generated by confdefs.h. */ extern rtems_multiprocessing_table Multiprocessing_configuration; #endif @@ -294,7 +305,7 @@ extern const rtems_configuration_table Configuration; #define rtems_configuration_get_stack_free_hook() \ (Configuration.stack_free_hook) -/** + /** * This macro assists in accessing the field which indicates whether * RTEMS is responsible for zeroing the Executive Workspace. */ diff --git a/cpukit/sapi/include/rtems/extension.h b/cpukit/sapi/include/rtems/extension.h index 3d54092a8c..d57646ca9e 100644 --- a/cpukit/sapi/include/rtems/extension.h +++ b/cpukit/sapi/include/rtems/extension.h @@ -1,8 +1,6 @@ /** * @file - * - * @ingroup ClassicUserExtensions - * + * * @brief User Extensions API. */ @@ -39,7 +37,7 @@ typedef struct { } Extension_Control; /** - * @brief Initialize Extension Manager + * @brief Initialize extension manager. * * This routine initializes all extension manager related data structures. */ diff --git a/cpukit/sapi/include/rtems/fatal.h b/cpukit/sapi/include/rtems/fatal.h index 46a7ab9574..7ef9f71ba6 100644 --- a/cpukit/sapi/include/rtems/fatal.h +++ b/cpukit/sapi/include/rtems/fatal.h @@ -1,8 +1,6 @@ /** * @file * - * @ingroup ClassicFatal - * * @brief Fatal API. */ @@ -42,9 +40,9 @@ extern "C" { typedef CPU_Exception_frame rtems_exception_frame; /** - * @brief Prints the exception frame via printk(). + * @brief Prints the exception frame via printk(). * - * @see rtems_fatal() and RTEMS_FATAL_SOURCE_EXCEPTION. + * @see rtems_fatal() and RTEMS_FATAL_SOURCE_EXCEPTION. */ static inline void rtems_exception_frame_print( const rtems_exception_frame *frame @@ -57,9 +55,7 @@ static inline void rtems_exception_frame_print( * @brief Invokes the internal error handler with a source of * INTERNAL_ERROR_RTEMS_API and is internal set to false. * - * @param[in] the_error A 32-bit fatal error code. - * - * @return This function will not return. + * @param[in] the_error is a 32-bit fatal error code. * * @see _Internal_error_Occurred(). */ @@ -70,10 +66,8 @@ void rtems_fatal_error_occurred( /** * @brief Invokes the internal error handler with is internal set to false. * - * @param[in] source The fatal source. - * @param[in] error The fatal code. - * - * @return This function will not return. + * @param[in] source is the fatal source. + * @param[in] error is the fatal code. * * @see _Internal_error_Occurred(). */ @@ -85,20 +79,20 @@ void rtems_fatal( /** * @brief Returns a description for a fatal source. * - * @param[in] source The fatal source. + * @param[in] source is the fatal source. * - * @return The fatal source description or "?" in case the passed fatal source - * is invalid. + * @retval description The fatal source description. + * @retval ? The passed fatal source is invalid. */ const char *rtems_fatal_source_description( rtems_fatal_source source ); /** * @brief Returns a description for an internal error code. * - * @param[in] error The error code. + * @param[in] error is the error code. * - * @return The error code description or "?" in case the passed error code is - * invalid. + * @retval description The error code description. + * @retval ? The passed error code is invalid. */ const char *rtems_internal_error_description( rtems_fatal_code error ); diff --git a/cpukit/sapi/include/rtems/init.h b/cpukit/sapi/include/rtems/init.h index d357c113df..ad9a144910 100644 --- a/cpukit/sapi/include/rtems/init.h +++ b/cpukit/sapi/include/rtems/init.h @@ -1,19 +1,19 @@ /** - * @file rtems/init.h + * @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. + * 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: + * This manager provides directives to: * - * + initialize the RTEMS executive - * + shutdown the RTEMS executive + * + initialize the RTEMS executive + * + shutdown the RTEMS executive */ /* @@ -38,64 +38,64 @@ extern "C" { #if defined(RTEMS_MULTIPROCESSING) /** - * The following defines the default Multiprocessing Configuration - * Table. This table is used in a single processor system. + * 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; #endif /** - * @brief rtems_initialize_data_structures + * @brief RTEMS data structures initialization. * - * This routine implements the portion of the RTEMS initializatin process - * that involves initializing data structures to a state that scheduling - * can occur in a consistent manner. + * This routine implements the portion of the RTEMS initializatin process + * that involves initializing data structures to a state that scheduling + * can occur in a consistent manner. */ void rtems_initialize_data_structures(void); /** - * @brief rtems_initialize_before_drivers + * @brief RTEMS initialization before the device drivers are initialized. * - * This routine implements the portion of RTEMS initialization that - * is done immediately before device drivers are initialized. + * This routine implements the portion of RTEMS initialization that + * is done immediately before device drivers are initialized. */ void rtems_initialize_before_drivers(void); /** - * @brief rtems_initialize_device_drivers + * @brief RTEMS initialization that initializes all device drivers. * - * This routine implements the portion of RTEMS initialization that - * initializes all device drivers. + * This routine implements the portion of RTEMS initialization that + * initializes all device drivers. */ void rtems_initialize_device_drivers(void); /** - * @brief Starts the multitasking. + * @brief Starts the multitasking. * - * This directive initiates multitasking and performs a context switch to the - * first user application task and may enable interrupts as a side-effect of - * that context switch. The context switch saves the executing context. The - * application runs now. The directive rtems_shutdown_executive() will return - * to the saved context. The exit() function will use this directive. + * This directive initiates multitasking and performs a context switch to the + * first user application task and may enable interrupts as a side-effect of + * that context switch. The context switch saves the executing context. The + * application runs now. The directive rtems_shutdown_executive() will return + * to the saved context. The exit() function will use this directive. * - * After a return to the saved context a fatal system state is reached. The - * fatal source is RTEMS_FATAL_SOURCE_EXIT with a fatal code set to the value - * passed to rtems_shutdown_executive(). + * After a return to the saved context a fatal system state is reached. The + * fatal source is RTEMS_FATAL_SOURCE_EXIT with a fatal code set to the value + * passed to rtems_shutdown_executive(). * - * This directive does not return. + * This directive does not return. */ void rtems_initialize_start_multitasking(void) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE; /** - * @brief Shutdown the RTEMS environment + * @brief Shutdown the RTEMS environment. * - * 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. + * 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( uint32_t result diff --git a/cpukit/sapi/include/rtems/io.h b/cpukit/sapi/include/rtems/io.h index 8f02a34e2c..6901d84039 100644 --- a/cpukit/sapi/include/rtems/io.h +++ b/cpukit/sapi/include/rtems/io.h @@ -101,13 +101,13 @@ rtems_status_code rtems_io_register_driver( ); /** - * @brief Unregister a Driver from the Device Driver Table. + * @brief Unregister a driver from the device driver table. * - * @param[in] major is the device major number. + * @param[in] major is the device major number. * - * @retval RTEMS_SUCCESSFUL Device driver successfully unregistered. - * @retval RTEMS_UNSATISFIED Invalid major number. - * @retval RTEMS_CALLED_FROM_ISR Called from interrupt context. + * @retval RTEMS_SUCCESSFUL Device driver successfully unregistered. + * @retval RTEMS_UNSATISFIED Invalid major number. + * @retval RTEMS_CALLED_FROM_ISR Called from interrupt context. */ rtems_status_code rtems_io_unregister_driver( rtems_device_major_number major @@ -131,15 +131,15 @@ rtems_status_code rtems_io_register_name( /** @} */ /** - * @brief IO Driver Initialization + * @brief IO driver initialization. * - * This routine is the initialization directive of the IO manager. + * This routine is the initialization directive of the IO manager. * - * @param[in] major is the device drive number - * @param[in] minor is the device number - * @param[in] argument is the pointer to the argument(s) + * @param[in] major is the device drive number + * @param[in] minor is the device number + * @param[in] argument is the pointer to the argument(s) * - * @return status code + * @return status code */ rtems_status_code rtems_io_initialize( rtems_device_major_number major, @@ -148,15 +148,15 @@ rtems_status_code rtems_io_initialize( ); /** - * @brief Opening for The IO Manager + * @brief Opening for the IO manager. * - * Opens a device driver with the number @a major. + * Opens a device driver with the number @a major. * - * @param[in] major is the device driver number. - * @param[in] minor is the device number. - * @param[in] argument is the pointer to the argument(s). + * @param[in] major is the device driver number. + * @param[in] minor is the device number. + * @param[in] argument is the pointer to the argument(s). * - * @return Status code. + * @return Status code. */ rtems_status_code rtems_io_open( rtems_device_major_number major, @@ -165,15 +165,15 @@ rtems_status_code rtems_io_open( ); /** - * @brief Closing for The IO Manager + * @brief Closing for the IO manager. * - * This routine is the close directive of the IO manager. + * This routine is the close directive of the IO manager. * - * @param[in] major is the device driver number. - * @param[in] minor is the device number. - * @param[in] argument is the pointer to the argument(s). + * @param[in] major is the device driver number. + * @param[in] minor is the device number. + * @param[in] argument is the pointer to the argument(s). * - * @return Status code. + * @return Status code. */ rtems_status_code rtems_io_close( rtems_device_major_number major, @@ -182,15 +182,15 @@ rtems_status_code rtems_io_close( ); /** - * @brief Reading for The IO Manager + * @brief Reading for the IO manager. * - * This routine is the read directive of the IO manager. + * This routine is the read directive of the IO manager. * - * @param[in] major is the device driver number. - * @param[in] minor is the device number. - * @param[in] argument is the pointer to the argument(s). + * @param[in] major is the device driver number. + * @param[in] minor is the device number. + * @param[in] argument is the pointer to the argument(s). * - * @return Status code. + * @return Status code. */ rtems_status_code rtems_io_read( rtems_device_major_number major, @@ -199,15 +199,15 @@ rtems_status_code rtems_io_read( ); /** - * @brief Writing for The IO Manager + * @brief Writing for the IO manager. * - * This routine is the write directive of the IO manager. + * This routine is the write directive of the IO manager. * - * @param[in] major is the device driver number. - * @param[in] minor is the device number. - * @param[in] argument is the pointer to the argument(s). + * @param[in] major is the device driver number. + * @param[in] minor is the device number. + * @param[in] argument is the pointer to the argument(s). * - * @return Status code. + * @return Status code. */ rtems_status_code rtems_io_write( rtems_device_major_number major, @@ -216,15 +216,15 @@ rtems_status_code rtems_io_write( ); /** - * @brief Control for The IO Manager + * @brief Control for the IO manager. * - * This routine is the control directive of the IO manager. + * This routine is the control directive of the IO manager. * - * @param[in] major is the device driver number. - * @param[in] minor is the device number. - * @param[in] argument is the pointer to the argument(s). + * @param[in] major is the device driver number. + * @param[in] minor is the device number. + * @param[in] argument is the pointer to the argument(s). * - * @return Status code. + * @return Status code. */ rtems_status_code rtems_io_control( rtems_device_major_number major, @@ -256,18 +256,18 @@ SAPI_IO_EXTERN uint32_t _IO_Number_of_drivers; SAPI_IO_EXTERN rtems_driver_address_table *_IO_Driver_address_table; /** - * @brief Initialization of Device Drivers + * @brief Initialization of device drivers. * - * @note The IO manager has been extended to support runtime driver - * registration. The driver table is now allocated in the - * workspace. + * NOTE: The IO manager has been extended to support runtime driver + * registration. The driver table is now allocated in the + * workspace. */ void _IO_Manager_initialization( void ); /** - * @brief Initialization of All Device Drivers + * @brief Initialization of all device drivers. * - * Initializes all device drivers. + * Initializes all device drivers. */ void _IO_Initialize_all_drivers( void ); diff --git a/cpukit/sapi/include/rtems/mptables.h b/cpukit/sapi/include/rtems/mptables.h index 52db445833..fcef585461 100644 --- a/cpukit/sapi/include/rtems/mptables.h +++ b/cpukit/sapi/include/rtems/mptables.h @@ -1,5 +1,5 @@ /** - * @file rtems/mptables.h + * @file * * @brief Executive's Pre-Initialized Tables used in a * Multiprocessor Configuration diff --git a/cpukit/sapi/include/rtems/rbheap.h b/cpukit/sapi/include/rtems/rbheap.h index 39bbc69a3f..fb830be2d7 100644 --- a/cpukit/sapi/include/rtems/rbheap.h +++ b/cpukit/sapi/include/rtems/rbheap.h @@ -2,8 +2,6 @@ * @file * * @brief Red-Black Tree Heap API - * - * @ingroup RBHeap */ /* @@ -34,7 +32,7 @@ extern "C" { /** * @defgroup RBHeap Red-Black Tree Heap * - * @brief Red-Black Tree Heap API. + * @brief Red-Black Tree Heap API * * The red-black tree heap provides a memory allocator suitable to implement * the malloc() and free() interface. It uses a first-fit allocation strategy. @@ -146,13 +144,13 @@ struct rtems_rbheap_control { /** * @brief Initializes the red-black tree heap @a control. * - * @param[in, out] control The red-black tree heap. - * @param[in] area_begin The managed memory area begin. - * @param[in] area_size The managed memory area size. - * @param[in] alignment The minimum chunk alignment. - * @param[in] extend_descriptors The handler to extend the available chunk + * @param[in, out] control is the red-black tree heap. + * @param[in] area_begin is the managed memory area begin. + * @param[in] area_size is the managed memory area size. + * @param[in] alignment is the minimum chunk alignment. + * @param[in] extend_descriptors is the handler to extend the available chunk * descriptors. - * @param[in] handler_arg The handler argument. + * @param[in] handler_arg is the handler argument. * * @retval RTEMS_SUCCESSFUL Successful operation. * @retval RTEMS_INVALID_NUMBER The alignment is not positive. @@ -175,8 +173,8 @@ rtems_status_code rtems_rbheap_initialize( * The chunk begin is aligned by the value specified in * rtems_rbheap_initialize(). * - * @param[in, out] control The red-black tree heap. - * @param[in] size The requested chunk size in bytes. + * @param[in, out] control is the red-black tree heap. + * @param[in] size is the requested chunk size in bytes. * * @retval NULL Not enough free space in the heap. * @retval otherwise Pointer to allocated chunk of memory. @@ -184,16 +182,17 @@ rtems_status_code rtems_rbheap_initialize( void *rtems_rbheap_allocate(rtems_rbheap_control *control, size_t size); /** - * @brief Frees a chunk of memory @a ptr allocated from the red-black tree heap - * @a control. + * @brief Frees a chunk of memory @a ptr allocated from the red-black + * tree heap @a control. * - * @param[in, out] control The red-black tree heap. - * @param[in] ptr The pointer to the chunk of memory. + * @param[in, out] control is the red-black tree heap. + * @param[in] ptr is a pointer to the chunk of memory. * * @retval RTEMS_SUCCESSFUL Successful operation. * @retval RTEMS_INVALID_ID The chunk of memory is not a valid chunk in the * red-black tree heap. - * @retval RTEMS_INCORRECT_STATE The chunk of memory is not in the right state. + * @retval RTEMS_INCORRECT_STATE The chunk of memory is not in the + * right state. */ rtems_status_code rtems_rbheap_free(rtems_rbheap_control *control, void *ptr); diff --git a/cpukit/sapi/include/rtems/rbtree.h b/cpukit/sapi/include/rtems/rbtree.h index 4d150deee7..03a55eb992 100644 --- a/cpukit/sapi/include/rtems/rbtree.h +++ b/cpukit/sapi/include/rtems/rbtree.h @@ -1,11 +1,12 @@ /** - * @file rtems/rbtree.h - * - * This include file contains all the constants and structures associated - * with the RBTree API in RTEMS. The rbtree is a Red Black Tree that - * is part of the Super Core. This is the published interface to that - * code. - * + * @file + * + * @brief Constants and Structures Associated with the RBTree API in RTEMS + * + * This include file contains all the constants and structures associated + * with the RBTree API in RTEMS. The rbtree is a Red Black Tree that + * is part of the Super Core. This is the published interface to that + * code. */ /* @@ -50,13 +51,13 @@ typedef RBTree_Control rtems_rbtree_control; typedef RBTree_Compare_function rtems_rbtree_compare_function; /** - * @brief RBTree initializer for an empty rbtree with designator @a name. + * @brief RBTree initializer for an empty rbtree with designator @a name. */ #define RTEMS_RBTREE_INITIALIZER_EMPTY(name) \ RBTREE_INITIALIZER_EMPTY(name) /** - * @brief RBTree definition for an empty rbtree with designator @a name. + * @brief RBTree definition for an empty rbtree with designator @a name. */ #define RTEMS_RBTREE_DEFINE_EMPTY(name) \ RBTREE_DEFINE_EMPTY(name) diff --git a/cpukit/sapi/include/rtems/sptables.h b/cpukit/sapi/include/rtems/sptables.h index d6480acdfe..f32729c7eb 100644 --- a/cpukit/sapi/include/rtems/sptables.h +++ b/cpukit/sapi/include/rtems/sptables.h @@ -1,8 +1,10 @@ /** - * @file rtems/sptables.h + * @file + * + * @brief Pre-Initialized Tables Used when in a Single Processor Configuration * - * This include file contains the executive's pre-initialized tables - * used when in a single processor configuration. + * This include file contains the executive's pre-initialized tables + * used when in a single processor configuration. */ /* diff --git a/cpukit/sapi/include/rtems/timespec.h b/cpukit/sapi/include/rtems/timespec.h index fcea746445..b67e95c2d3 100644 --- a/cpukit/sapi/include/rtems/timespec.h +++ b/cpukit/sapi/include/rtems/timespec.h @@ -26,9 +26,10 @@ * @ingroup ClassicRTEMS * * @brief Timespec API + * + * @{ * */ -/**@{*/ #include /* bool */ #include /* uint32_t */ @@ -40,11 +41,11 @@ extern "C" { #include +/** @} */ + #ifdef __cplusplus } #endif -/**@}*/ - #endif /* end of include file */ diff --git a/cpukit/sapi/inline/rtems/cbs.inl b/cpukit/sapi/inline/rtems/cbs.inl index d4fb6a8d9d..01d7779318 100644 --- a/cpukit/sapi/inline/rtems/cbs.inl +++ b/cpukit/sapi/inline/rtems/cbs.inl @@ -1,8 +1,10 @@ /** - * @file cbs.inl - * - * This include file contains all the constants and structures associated - * with the CBS library. + * @file + * + * @brief Constants and Structures Associated with the CBS Library + * + * This include file contains all the constants and structures associated + * with the CBS library. * */ @@ -22,11 +24,11 @@ #include /** - * @brief rtems cbs init + * @brief Initialize the CBS library. * - * Initializes the CBS library. + * Initializes the CBS library. * - * @return status code. + * @return status code. */ RTEMS_INLINE_ROUTINE int rtems_cbs_initialize ( void ) { @@ -34,11 +36,11 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_initialize ( void ) } /** - * @brief rtems cbs cleanup + * @brief Cleanup resources associated to the CBS Library * - * Cleanup resources associated to the CBS Library. + * Cleanup resources associated to the CBS Library. * - * @return status code. + * @return status code. */ RTEMS_INLINE_ROUTINE int rtems_cbs_cleanup ( void ) { @@ -46,11 +48,11 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_cleanup ( void ) } /** - * @brief rtems cbs create server + * @brief Create a new server with specified parameters. * - * Create a new server with specified parameters. + * Create a new server with specified parameters. * - * @return status code. + * @return status code. */ RTEMS_INLINE_ROUTINE int rtems_cbs_create_server ( rtems_cbs_parameters *params, @@ -66,11 +68,11 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_create_server ( } /** - * @brief rtems cbs attach thread + * @brief Attach a task to an already existing server. * - * Attach a task to an already existing server. + * Attach a task to an already existing server. * - * @return status code. + * @return status code. */ RTEMS_INLINE_ROUTINE int rtems_cbs_attach_thread ( rtems_cbs_server_id server_id, @@ -81,11 +83,11 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_attach_thread ( } /** - * @brief rtems cbs detach thread + * @brief Detach from the CBS server. * - * Detach from the CBS Server. + * Detach from the CBS Server. * - * @return status code. + * @return status code. */ RTEMS_INLINE_ROUTINE int rtems_cbs_detach_thread ( rtems_cbs_server_id server_id, @@ -96,11 +98,11 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_detach_thread ( } /** - * @brief rtems cbs destroy server + * @brief Detach all tasks from a server and destroy it. * - * Detach all tasks from a server and destroy it. + * Detach all tasks from a server and destroy it. * - * @return status code. + * @return status code. */ RTEMS_INLINE_ROUTINE int rtems_cbs_destroy_server ( rtems_cbs_server_id server_id @@ -110,12 +112,12 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_destroy_server ( } /** - * @brief rtems cbs get server id + * @brief Get CBS server id. * - * Get a thread server id, or RTEMS_CBS_E_NOT_FOUND if it is not - * attached to any server. + * Get a thread server id, or RTEMS_CBS_E_NOT_FOUND if it is not + * attached to any server. * - * @return status code. + * @return status code. */ RTEMS_INLINE_ROUTINE int rtems_cbs_get_server_id ( rtems_id task_id, @@ -126,11 +128,11 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_get_server_id ( } /** - * @brief rtems cbs get parameters + * @brief Get CBS parameters. * - * Retrieve CBS scheduling parameters. + * Retrieve CBS scheduling parameters. * - * @return status code. + * @return status code. */ RTEMS_INLINE_ROUTINE int rtems_cbs_get_parameters ( rtems_cbs_server_id server_id, @@ -141,11 +143,11 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_get_parameters ( } /** - * @brief rtems cbs set parameters + * @brief Set CBS parameters. * - * Change CBS scheduling parameters. + * Change CBS scheduling parameters. * - * @return status code. + * @return status code. */ RTEMS_INLINE_ROUTINE int rtems_cbs_set_parameters ( rtems_cbs_server_id server_id, @@ -156,11 +158,11 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_set_parameters ( } /** - * @brief rtems cbs get execution time + * @brief Get the CBS get execution time. * - * Retrieve time info relative to the current server. + * Retrieve time info relative to the current server. * - * @return status code. + * @return status code. */ RTEMS_INLINE_ROUTINE int rtems_cbs_get_execution_time ( rtems_cbs_server_id server_id, @@ -172,11 +174,11 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_get_execution_time ( } /** - * @brief rtems cbs get remaining budget + * @brief Get the remaining CBS budget. * - * Retrieve remaining budget for the current server instance. + * Retrieve remaining budget for the current server instance. * - * @return status code. + * @return status code. */ RTEMS_INLINE_ROUTINE int rtems_cbs_get_remaining_budget ( rtems_cbs_server_id server_id, @@ -187,12 +189,12 @@ RTEMS_INLINE_ROUTINE int rtems_cbs_get_remaining_budget ( } /** - * @brief rtems cbs get approved budget + * @brief Get the approved CBS budget. * - * Retrieve the budget that has been approved for the subsequent - * server instances. + * Retrieve the budget that has been approved for the subsequent + * server instances. * - * @return status code. + * @return status code. */ RTEMS_INLINE_ROUTINE int rtems_cbs_get_approved_budget ( rtems_cbs_server_id server_id, diff --git a/cpukit/sapi/inline/rtems/chain.inl b/cpukit/sapi/inline/rtems/chain.inl index a1bfc2f32e..bf98f98777 100644 --- a/cpukit/sapi/inline/rtems/chain.inl +++ b/cpukit/sapi/inline/rtems/chain.inl @@ -1,9 +1,7 @@ /** * @file * - * @ingroup ClassicChains - * - * @brief Chain API. + * @brief Chain API */ /* @@ -33,17 +31,17 @@ */ /** - * @brief Initialize a Chain Header + * @brief Initialize a chain Header. * - * This routine initializes @a the_chain structure to manage the - * contiguous array of @a number_nodes nodes which starts at - * @a starting_address. Each node is of @a node_size bytes. + * This routine initializes @a the_chain structure to manage the + * contiguous array of @a number_nodes nodes which starts at + * @a starting_address. Each node is of @a node_size bytes. * - * @param[in] the_chain specifies the chain to initialize - * @param[in] starting_address is the starting address of the array - * of elements - * @param[in] number_nodes is the number of nodes that will be in the chain - * @param[in] node_size is the size of each node + * @param[in] the_chain specifies the chain to initialize + * @param[in] starting_address is the starting address of the array + * of elements + * @param[in] number_nodes is the number of nodes that will be in the chain + * @param[in] node_size is the size of each node */ RTEMS_INLINE_ROUTINE void rtems_chain_initialize( rtems_chain_control *the_chain, @@ -56,11 +54,11 @@ RTEMS_INLINE_ROUTINE void rtems_chain_initialize( } /** - * @brief Initialize this Chain as Empty + * @brief Initialize this chain as empty. * - * This routine initializes the specified chain to contain zero nodes. + * This routine initializes the specified chain to contain zero nodes. * - * @param[in] the_chain is the chain to be initialized. + * @param[in] the_chain is the chain to be initialized. */ RTEMS_INLINE_ROUTINE void rtems_chain_initialize_empty( rtems_chain_control *the_chain @@ -70,12 +68,12 @@ RTEMS_INLINE_ROUTINE void rtems_chain_initialize_empty( } /** - * @brief Set off chain + * @brief Set off chain. * - * This function sets the next and previous fields of the @a node to NULL - * indicating the @a node is not part of a chain. + * This function sets the next and previous fields of the @a node to NULL + * indicating the @a node is not part of a chain. * - * @param[in] node the node set to off chain. + * @param[in] node the node set to off chain. */ RTEMS_INLINE_ROUTINE void rtems_chain_set_off_chain( rtems_chain_node *node @@ -85,14 +83,15 @@ RTEMS_INLINE_ROUTINE void rtems_chain_set_off_chain( } /** - * @brief Is the Node off Chain + * @brief Is the node off chain. * - * This function returns true if the @a node is not on a chain. A @a node is - * off chain if the next and previous fields are set to NULL. + * This function returns true if the @a node is not on a chain. A @a node is + * off chain if the next and previous fields are set to NULL. * - * @param[in] node is the node off chain. + * @param[in] node is the node off chain. * - * @return This function returns true if the @a node is off chain. + * @retval true The node is off chain. + * @retval false The node is not off chain. */ RTEMS_INLINE_ROUTINE bool rtems_chain_is_node_off_chain( const rtems_chain_node *node @@ -102,13 +101,14 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_is_node_off_chain( } /** - * @brief Is the Chain Node Pointer NULL - * - * This function returns true if the_node is NULL and false otherwise. + * @brief Is the chain node pointer NULL. * - * @param[in] the_node is the node pointer to check. + * This function returns true if the_node is NULL and false otherwise. * - * @return This method returns true if the_node is NULL and false otherwise. + * @param[in] the_node is the node pointer to check. + * + * @retval true The chain node pointer is NULL. + * @retval false The chain node pointer is not NULL. */ RTEMS_INLINE_ROUTINE bool rtems_chain_is_null_node( const rtems_chain_node *the_node @@ -118,13 +118,13 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_is_null_node( } /** - * @brief Return pointer to Chain Head + * @brief Return pointer to Chain Head * - * This function returns a pointer to the first node on the chain. + * This function returns a pointer to the first node on the chain. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This method returns the permanent node of the chain. + * @return This method returns the permanent node of the chain. */ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_head( rtems_chain_control *the_chain @@ -133,13 +133,14 @@ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_head( return _Chain_Head( the_chain ); } -/** @brief Return pointer to immutable Chain Head +/** + * @brief Return pointer to immutable Chain Head * - * This function returns a pointer to the head node on the chain. + * This function returns a pointer to the head node on the chain. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This method returns the permanent head node of the chain. + * @return This method returns the permanent head node of the chain. */ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_head( const rtems_chain_control *the_chain @@ -149,13 +150,13 @@ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_head( } /** - * @brief Return pointer to Chain Tail + * @brief Return pointer to Chain Tail * - * This function returns a pointer to the tail node on the chain. + * This function returns a pointer to the tail node on the chain. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This method returns the permanent tail node of the chain. + * @return This method returns the permanent tail node of the chain. */ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_tail( rtems_chain_control *the_chain @@ -164,13 +165,14 @@ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_tail( return _Chain_Tail( the_chain ); } -/** @brief Return pointer to immutable Chain Tail +/** + * @brief Return pointer to immutable Chain Tail * - * This function returns a pointer to the tail node on the chain. + * This function returns a pointer to the tail node on the chain. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This method returns the permanent tail node of the chain. + * @return This method returns the permanent tail node of the chain. */ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_tail( const rtems_chain_control *the_chain @@ -180,14 +182,14 @@ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_tail( } /** - * @brief Return pointer to Chain's First node after the permanent head. + * @brief Return pointer to Chain's First node after the permanent head. * - * This function returns a pointer to the first node on the chain after the - * head. + * This function returns a pointer to the first node on the chain after the + * head. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This method returns the first node of the chain. + * @return This method returns the first node of the chain. */ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_first( rtems_chain_control *the_chain @@ -196,14 +198,15 @@ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_first( return _Chain_First( the_chain ); } -/** @brief Return pointer to immutable Chain's First node +/** + * @brief Return pointer to immutable Chain's First node * - * This function returns a pointer to the first node on the chain after the - * head. + * This function returns a pointer to the first node on the chain after the + * head. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This method returns the first node of the chain. + * @return This method returns the first node of the chain. */ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_first( const rtems_chain_control *the_chain @@ -213,14 +216,14 @@ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_first( } /** - * @brief Return pointer to Chain's Last node before the permanent tail. + * @brief Return pointer to Chain's Last node before the permanent tail. * - * This function returns a pointer to the last node on the chain just before - * the tail. + * This function returns a pointer to the last node on the chain just before + * the tail. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This method returns the last node of the chain. + * @return This method returns the last node of the chain. */ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_last( rtems_chain_control *the_chain @@ -229,14 +232,15 @@ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_last( return _Chain_Last( the_chain ); } -/** @brief Return pointer to immutable Chain's Last node +/** + * @brief Return pointer to immutable Chain's Last node * - * This function returns a pointer to the last node on the chain just before - * the tail. + * This function returns a pointer to the last node on the chain just before + * the tail. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This method returns the last node of the chain. + * @return This method returns the last node of the chain. */ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_last( const rtems_chain_control *the_chain @@ -246,13 +250,13 @@ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_last( } /** - * @brief Return pointer the next node from this node + * @brief Return pointer the next node from this node * - * This function returns a pointer to the next node after this node. + * This function returns a pointer to the next node after this node. * - * @param[in] the_node is the node to be operated upon. + * @param[in] the_node is the node to be operated upon. * - * @return This method returns the next node on the chain. + * @return This method returns the next node on the chain. */ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_next( rtems_chain_node *the_node @@ -261,13 +265,14 @@ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_next( return _Chain_Next( the_node ); } -/** @brief Return pointer the immutable next node from this node +/** + * @brief Return pointer the immutable next node from this node * - * This function returns a pointer to the next node after this node. + * This function returns a pointer to the next node after this node. * - * @param[in] the_node is the node to be operated upon. + * @param[in] the_node is the node to be operated upon. * - * @return This method returns the next node on the chain. + * @return This method returns the next node on the chain. */ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_next( const rtems_chain_node *the_node @@ -277,13 +282,13 @@ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_next( } /** - * @brief Return pointer the previous node from this node + * @brief Return pointer the previous node from this node * - * This function returns a pointer to the previous node on this chain. + * This function returns a pointer to the previous node on this chain. * - * @param[in] the_node is the node to be operated upon. + * @param[in] the_node is the node to be operated upon. * - * @return This method returns the previous node on the chain. + * @return This method returns the previous node on the chain. */ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_previous( rtems_chain_node *the_node @@ -292,13 +297,14 @@ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_previous( return _Chain_Previous( the_node ); } -/** @brief Return pointer the immutable previous node from this node +/** + * @brief Return pointer the immutable previous node from this node. * - * This function returns a pointer to the previous node on this chain. + * This function returns a pointer to the previous node on this chain. * - * @param[in] the_node is the node to be operated upon. + * @param[in] the_node is the node to be operated upon. * - * @return This method returns the previous node on the chain. + * @return This method returns the previous node on the chain. */ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_previous( const rtems_chain_node *the_node @@ -308,16 +314,16 @@ RTEMS_INLINE_ROUTINE const rtems_chain_node *rtems_chain_immutable_previous( } /** - * @brief Are Two Nodes Equal + * @brief Are Two nodes equal. * - * This function returns true if @a left and @a right are equal, - * and false otherwise. + * This function returns true if @a left and @a right are equal, + * and false otherwise. * - * @param[in] left is the node on the left hand side of the comparison. - * @param[in] right is the node on the left hand side of the comparison. + * @param[in] left is the node on the left hand side of the comparison. + * @param[in] right is the node on the left hand side of the comparison. * - * @return This function returns true if @a left and @a right are equal, - * and false otherwise. + * @retval true @a left is equal to @a right. + * @retval false @a left is not equal to @a right */ RTEMS_INLINE_ROUTINE bool rtems_chain_are_nodes_equal( const rtems_chain_node *left, @@ -328,15 +334,15 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_are_nodes_equal( } /** - * @brief Is the Chain Empty + * @brief Is the chain empty * - * This function returns true if there a no nodes on @a the_chain and - * false otherwise. + * This function returns true if there a no nodes on @a the_chain and + * false otherwise. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This function returns true if there a no nodes on @a the_chain and - * false otherwise. + * @retval true The chain is empty. + * @retval false The chain is not empty. */ RTEMS_INLINE_ROUTINE bool rtems_chain_is_empty( const rtems_chain_control *the_chain @@ -346,16 +352,16 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_is_empty( } /** - * @brief Is this the First Node on the Chain + * @brief Is this the first node on the chain. * - * This function returns true if the_node is the first node on a chain and - * false otherwise. + * This function returns true if the_node is the first node on a chain and + * false otherwise. * - * @param[in] the_node is the node the caller wants to know if it is - * the first node on a chain. + * @param[in] the_node is the node the caller wants to know if it is + * the first node on a chain. * - * @return This function returns true if @a the_node is the first node on - * a chain and false otherwise. + * @retval true @a the_node is the first node on a chain. + * @retval false @a the_node is not the first node on a chain. */ RTEMS_INLINE_ROUTINE bool rtems_chain_is_first( const rtems_chain_node *the_node @@ -365,15 +371,15 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_is_first( } /** - * @brief Is this the Last Node on the Chain + * @brief Is this the last node on the chain. * - * This function returns true if @a the_node is the last node on a chain and - * false otherwise. + * This function returns true if @a the_node is the last node on a chain and + * false otherwise. * - * @param[in] the_node is the node to check as the last node. + * @param[in] the_node is the node to check as the last node. * - * @return This function returns true if @a the_node is the last node on - * a chain and false otherwise. + * @retval true @a the_node is the last node on a chain. + * @retval false @a the_node is not the last node on a chain */ RTEMS_INLINE_ROUTINE bool rtems_chain_is_last( const rtems_chain_node *the_node @@ -383,15 +389,15 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_is_last( } /** - * @brief Does this Chain have only One Node + * @brief Does this chain have only one node. * - * This function returns true if there is only one node on @a the_chain and - * false otherwise. + * This function returns true if there is only one node on @a the_chain and + * false otherwise. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This function returns true if there is only one node on - * @a the_chain and false otherwise. + * @retval true The chain has only one node. + * @retval false The chain has more than one nodes. */ RTEMS_INLINE_ROUTINE bool rtems_chain_has_only_one_node( const rtems_chain_control *the_chain @@ -401,16 +407,16 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_has_only_one_node( } /** - * @brief Is this Node the Chain Head + * @brief Is this node the chain head. * - * This function returns true if @a the_node is the head of the_chain and - * false otherwise. + * This function returns true if @a the_node is the head of the_chain and + * false otherwise. * - * @param[in] the_chain is the chain to be operated upon. - * @param[in] the_node is the node to check for being the Chain Head. + * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_node is the node to check for being the Chain Head. * - * @return This function returns true if @a the_node is the head of - * @a the_chain and false otherwise. + * @retval true @a the_node is the head of @a the_chain. + * @retval false @a the_node is not the head of @a the_chain. */ RTEMS_INLINE_ROUTINE bool rtems_chain_is_head( const rtems_chain_control *the_chain, @@ -421,13 +427,16 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_is_head( } /** - * @brief Is this Node the Chail Tail + * @brief Is this node the chain tail. * - * This function returns true if the_node is the tail of the_chain and - * false otherwise. + * This function returns true if the_node is the tail of the_chain and + * false otherwise. * - * @param[in] the_chain is the chain to be operated upon. - * @param[in] the_node is the node to check for being the Chain Tail. + * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_node is the node to check for being the Chain Tail. + * + * @retval true @a the_node is the tail of @a the_chain. + * @retval false @a the_node is not the tail of @a the_chain. */ RTEMS_INLINE_ROUTINE bool rtems_chain_is_tail( const rtems_chain_control *the_chain, @@ -438,13 +447,13 @@ RTEMS_INLINE_ROUTINE bool rtems_chain_is_tail( } /** - * @brief Extract the specified node from a chain + * @brief Extract the specified node from a chain. * - * This routine extracts @a the_node from the chain on which it resides. - * It disables interrupts to ensure the atomicity of the - * extract operation. + * This routine extracts @a the_node from the chain on which it resides. + * It disables interrupts to ensure the atomicity of the + * extract operation. * - * @arg the_node specifies the node to extract + * @arg the_node specifies the node to extract */ RTEMS_INLINE_ROUTINE void rtems_chain_extract( rtems_chain_node *the_node @@ -454,12 +463,12 @@ RTEMS_INLINE_ROUTINE void rtems_chain_extract( } /** - * @brief Extract the specified node from a chain (unprotected). + * @brief Extract the specified node from a chain (unprotected). * - * This routine extracts @a the_node from the chain on which it resides. + * This routine extracts @a the_node from the chain on which it resides. * - * @note It does NOT disable interrupts to ensure the atomicity of the - * append operation. + * NOTE: It does NOT disable interrupts to ensure the atomicity of the + * append operation. */ RTEMS_INLINE_ROUTINE void rtems_chain_extract_unprotected( rtems_chain_node *the_node @@ -469,16 +478,16 @@ RTEMS_INLINE_ROUTINE void rtems_chain_extract_unprotected( } /** - * @brief Obtain the first node on a chain + * @brief Obtain the first node on a chain. * - * This function removes the first node from @a the_chain and returns - * a pointer to that node. If @a the_chain is empty, then NULL is returned. + * This function removes the first node from @a the_chain and returns + * a pointer to that node. If @a the_chain is empty, then NULL is returned. * - * @return This method returns a pointer a node. If a node was removed, - * then a pointer to that node is returned. If @a the_chain was - * empty, then NULL is returned. + * @return This method returns a pointer a node. If a node was removed, + * then a pointer to that node is returned. If @a the_chain was + * empty, then NULL is returned. * - * @note It disables interrupts to ensure the atomicity of the get operation. + * NOTE: It disables interrupts to ensure the atomicity of the get operation. */ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_get( rtems_chain_control *the_chain @@ -498,13 +507,13 @@ RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_get_unprotected( } /** - * @brief Insert a node on a chain + * @brief Insert a node on a chain * - * This routine inserts @a the_node on a chain immediately following - * @a after_node. + * This routine inserts @a the_node on a chain immediately following + * @a after_node. * - * @note It disables interrupts to ensure the atomicity - * of the extract operation. + * NOTE: It disables interrupts to ensure the atomicity + * of the extract operation. */ RTEMS_INLINE_ROUTINE void rtems_chain_insert( rtems_chain_node *after_node, @@ -526,12 +535,12 @@ RTEMS_INLINE_ROUTINE void rtems_chain_insert_unprotected( } /** - * @brief Append a node on the end of a chain + * @brief Append a node on the end of a chain. * - * This routine appends @a the_node onto the end of @a the_chain. + * This routine appends @a the_node onto the end of @a the_chain. * - * @note It disables interrupts to ensure the atomicity of the - * append operation. + * NOTE: It disables interrupts to ensure the atomicity of the + * append operation. */ RTEMS_INLINE_ROUTINE void rtems_chain_append( rtems_chain_control *the_chain, @@ -542,12 +551,12 @@ RTEMS_INLINE_ROUTINE void rtems_chain_append( } /** - * @brief Append a node on the end of a chain (unprotected) + * @brief Append a node on the end of a chain (unprotected). * - * This routine appends @a the_node onto the end of @a the_chain. + * This routine appends @a the_node onto the end of @a the_chain. * - * @note It does NOT disable interrupts to ensure the atomicity of the - * append operation. + * NOTE: It does NOT disable interrupts to ensure the atomicity of the + * append operation. */ RTEMS_INLINE_ROUTINE void rtems_chain_append_unprotected( rtems_chain_control *the_chain, @@ -557,15 +566,16 @@ RTEMS_INLINE_ROUTINE void rtems_chain_append_unprotected( _Chain_Append_unprotected( the_chain, the_node ); } -/** @brief Prepend a Node +/** + * @brief Prepend a node. * - * This routine prepends the_node onto the front of the_chain. + * This routine prepends the_node onto the front of the_chain. * - * @param[in] the_chain is the chain to be operated upon. - * @param[in] the_node is the node to be prepended. + * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_node is the node to be prepended. * - * @note It disables interrupts to ensure the atomicity of the - * prepend operation. + * NOTE: It disables interrupts to ensure the atomicity of the + * prepend operation. */ RTEMS_INLINE_ROUTINE void rtems_chain_prepend( rtems_chain_control *the_chain, @@ -575,15 +585,16 @@ RTEMS_INLINE_ROUTINE void rtems_chain_prepend( _Chain_Prepend( the_chain, the_node ); } -/** @brief Prepend a Node (unprotected) +/** + * @brief Prepend a node (unprotected). * - * This routine prepends the_node onto the front of the_chain. + * This routine prepends the_node onto the front of the_chain. * - * @param[in] the_chain is the chain to be operated upon. - * @param[in] the_node is the node to be prepended. + * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_node is the node to be prepended. * - * @note It does NOT disable interrupts to ensure the atomicity of the - * prepend operation. + * NOTE: It does NOT disable interrupts to ensure the atomicity of the + * prepend operation. */ RTEMS_INLINE_ROUTINE void rtems_chain_prepend_unprotected( rtems_chain_control *the_chain, diff --git a/cpukit/sapi/inline/rtems/extension.inl b/cpukit/sapi/inline/rtems/extension.inl index 968b62b58e..0d0cfc2320 100644 --- a/cpukit/sapi/inline/rtems/extension.inl +++ b/cpukit/sapi/inline/rtems/extension.inl @@ -3,7 +3,7 @@ * * @ingroup ClassicUserExtensions * - * @brief User Extensions API. + * @brief User Extensions API */ /* diff --git a/cpukit/sapi/inline/rtems/rbtree.inl b/cpukit/sapi/inline/rtems/rbtree.inl index f7983ad10d..20e7aa3890 100644 --- a/cpukit/sapi/inline/rtems/rbtree.inl +++ b/cpukit/sapi/inline/rtems/rbtree.inl @@ -1,18 +1,20 @@ /** - * @file rtems/rbtree.inl + * @file + * + * @brief Constants and Structures Associated with the RBTree API in RTEMS * - * This include file contains all the constants and structures associated - * with the RBTree API in RTEMS. The rbtree is a Red Black Tree that - * is part of the Super Core. This is the published interface to that - * code. + * This include file contains all the constants and structures associated + * with the RBTree API in RTEMS. The rbtree is a Red Black Tree that + * is part of the Super Core. This is the published interface to that + * code. */ /* - * Copyright (c) 2010-2012 Gedare Bloom. + * Copyright (c) 2010-2012 Gedare Bloom. * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #ifndef _RTEMS_RBTREE_H @@ -25,11 +27,11 @@ #include /** - * @brief Initialize a RBTree Header + * @brief Initialize a RBTree header. * - * This routine initializes @a the_rbtree structure to manage the - * contiguous array of @a number_nodes nodes which starts at - * @a starting_address. Each node is of @a node_size bytes. + * This routine initializes @a the_rbtree structure to manage the + * contiguous array of @a number_nodes nodes which starts at + * @a starting_address. Each node is of @a node_size bytes. */ RTEMS_INLINE_ROUTINE void rtems_rbtree_initialize( rtems_rbtree_control *the_rbtree, @@ -45,9 +47,9 @@ RTEMS_INLINE_ROUTINE void rtems_rbtree_initialize( } /** - * @brief Initialize this RBTree as Empty + * @brief Initialize this RBTree as Empty * - * This routine initializes @a the_rbtree to contain zero nodes. + * This routine initializes @a the_rbtree to contain zero nodes. */ RTEMS_INLINE_ROUTINE void rtems_rbtree_initialize_empty( rtems_rbtree_control *the_rbtree, @@ -59,10 +61,10 @@ RTEMS_INLINE_ROUTINE void rtems_rbtree_initialize_empty( } /** - * @brief Set off rbtree + * @brief Set off RBtree. * - * This function sets the next and previous fields of the @a node to NULL - * indicating the @a node is not part of any rbtree. + * This function sets the next and previous fields of the @a node to NULL + * indicating the @a node is not part of any rbtree. */ RTEMS_INLINE_ROUTINE void rtems_rbtree_set_off_rbtree( rtems_rbtree_node *node @@ -72,10 +74,10 @@ RTEMS_INLINE_ROUTINE void rtems_rbtree_set_off_rbtree( } /** - * @brief Is the Node off RBTree + * @brief Is the Node off RBTree. * - * This function returns true if the @a node is not on a rbtree. A @a node is - * off rbtree if the next and previous fields are set to NULL. + * This function returns true if the @a node is not on a rbtree. A @a node is + * off rbtree if the next and previous fields are set to NULL. */ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_node_off_rbtree( const rtems_rbtree_node *node @@ -85,9 +87,9 @@ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_node_off_rbtree( } /** - * @brief Is the RBTree Node Pointer NULL + * @brief Is the RBTree Node Pointer NULL. * - * This function returns true if @a the_node is NULL and false otherwise. + * This function returns true if @a the_node is NULL and false otherwise. */ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_null_node( const rtems_rbtree_node *the_node @@ -97,9 +99,9 @@ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_null_node( } /** - * @brief Return pointer to RBTree Root + * @brief Return pointer to RBTree root. * - * This function returns a pointer to the root node of @a the_rbtree. + * This function returns a pointer to the root node of @a the_rbtree. */ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_root( const rtems_rbtree_control *the_rbtree @@ -109,9 +111,9 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_root( } /** - * @brief Return pointer to RBTree Minimum + * @brief Return pointer to RBTree Minimum * - * This function returns a pointer to the minimum node of @a the_rbtree. + * This function returns a pointer to the minimum node of @a the_rbtree. */ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_min( const rtems_rbtree_control *the_rbtree @@ -121,9 +123,9 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_min( } /** - * @brief Return pointer to RBTree Maximum + * @brief Return pointer to RBTree maximum. * - * This function returns a pointer to the maximum node of @a the_rbtree. + * This function returns a pointer to the maximum node of @a the_rbtree. */ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_max( const rtems_rbtree_control *the_rbtree @@ -133,9 +135,9 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_max( } /** - * @brief Return pointer to the left child node from this node + * @brief Return pointer to the left child node from this node. * - * This function returns a pointer to the left child node of @a the_node. + * This function returns a pointer to the left child node of @a the_node. */ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_left( const rtems_rbtree_node *the_node @@ -145,9 +147,9 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_left( } /** - * @brief Return pointer to the right child node from this node + * @brief Return pointer to the right child node from this node. * - * This function returns a pointer to the right child node of @a the_node. + * This function returns a pointer to the right child node of @a the_node. */ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_right( const rtems_rbtree_node *the_node @@ -157,9 +159,9 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_right( } /** - * @brief Return pointer to the parent child node from this node + * @brief Return pointer to the parent child node from this node. * - * This function returns a pointer to the parent node of @a the_node. + * This function returns a pointer to the parent node of @a the_node. */ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_parent( const rtems_rbtree_node *the_node @@ -169,10 +171,10 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_parent( } /** - * @brief Are Two Nodes Equal + * @brief Are two nodes equal. * - * This function returns true if @a left and @a right are equal, - * and false otherwise. + * This function returns true if @a left and @a right are equal, + * and false otherwise. */ RTEMS_INLINE_ROUTINE bool rtems_rbtree_are_nodes_equal( const rtems_rbtree_node *left, @@ -183,10 +185,10 @@ RTEMS_INLINE_ROUTINE bool rtems_rbtree_are_nodes_equal( } /** - * @brief Is the RBTree Empty + * @brief Is the RBTree empty. * - * This function returns true if there a no nodes on @a the_rbtree and - * false otherwise. + * This function returns true if there a no nodes on @a the_rbtree and + * false otherwise. */ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_empty( const rtems_rbtree_control *the_rbtree @@ -196,10 +198,10 @@ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_empty( } /** - * @brief Is this the Minimum Node on the RBTree + * @brief Is this the minimum node on the RBTree. * - * This function returns true if @a the_node is the min node on @a the_rbtree - * and false otherwise. + * This function returns true if @a the_node is the min node on @a the_rbtree + * and false otherwise. */ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_min( const rtems_rbtree_control *the_rbtree, @@ -210,10 +212,10 @@ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_min( } /** - * @brief Is this the Maximum Node on the RBTree + * @brief Is this the maximum node on the RBTree. * - * This function returns true if @a the_node is the max node on @a the_rbtree - * and false otherwise. + * This function returns true if @a the_node is the max node on @a the_rbtree + * and false otherwise. */ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_max( const rtems_rbtree_control *the_rbtree, @@ -225,10 +227,10 @@ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_max( /** - * @brief Does this RBTree have only One Node + * @brief Does this RBTree have only one node. * - * This function returns true if there is only one node on @a the_rbtree and - * false otherwise. + * This function returns true if there is only one node on @a the_rbtree and + * false otherwise. */ RTEMS_INLINE_ROUTINE bool rtems_rbtree_has_only_one_node( const rtems_rbtree_control *the_rbtree @@ -238,10 +240,10 @@ RTEMS_INLINE_ROUTINE bool rtems_rbtree_has_only_one_node( } /** - * @brief Is this Node the RBTree Root + * @brief Is this node the RBTree root. * - * This function returns true if @a the_node is the root of @a the_rbtree and - * false otherwise. + * This function returns true if @a the_node is the root of @a the_rbtree and + * false otherwise. */ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_root( const rtems_rbtree_control *the_rbtree, @@ -262,14 +264,14 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node* rtems_rbtree_find_unprotected( return _RBTree_Find_unprotected( the_rbtree, the_node ); } -/** @brief Find the node with given key in the tree +/** @brief Find the node with given key in the tree. * - * This function returns a pointer to the node having key equal to the key - * of @a the_node if it exists within @a the_rbtree, and NULL if not. - * @a the_node has to be made up before a search. + * This function returns a pointer to the node having key equal to the key + * of @a the_node if it exists within @a the_rbtree, and NULL if not. + * @a the_node has to be made up before a search. * - * @note If the tree is not unique and contains duplicate keys, the set - * of duplicate keys acts as FIFO. + * @note If the tree is not unique and contains duplicate keys, the set + * of duplicate keys acts as FIFO. */ RTEMS_INLINE_ROUTINE rtems_rbtree_node* rtems_rbtree_find( const rtems_rbtree_control *the_rbtree, @@ -331,10 +333,10 @@ RTEMS_INLINE_ROUTINE void rtems_rbtree_extract_unprotected( } /** - * @brief Extract the specified node from a rbtree + * @brief Extract the specified node from a rbtree. * - * This routine extracts @a the_node from @a the_rbtree on which it resides. - * It disables interrupts to ensure the atomicity of the extract operation. + * This routine extracts @a the_node from @a the_rbtree on which it resides. + * It disables interrupts to ensure the atomicity of the extract operation. */ RTEMS_INLINE_ROUTINE void rtems_rbtree_extract( rtems_rbtree_control *the_rbtree, @@ -345,10 +347,10 @@ RTEMS_INLINE_ROUTINE void rtems_rbtree_extract( } /** - * @brief Obtain the min node on a rbtree + * @brief Obtain the min node on a rbtree. * - * This function removes the min node from @a the_rbtree and returns - * a pointer to that node. If @a the_rbtree is empty, then NULL is returned. + * This function removes the min node from @a the_rbtree and returns + * a pointer to that node. If @a the_rbtree is empty, then NULL is returned. */ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_get_min_unprotected( @@ -359,11 +361,11 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_get_min_unprotected( } /** - * @brief Obtain the min node on a rbtree + * @brief Obtain the min node on a rbtree. * - * This function removes the min node from @a the_rbtree and returns - * a pointer to that node. If @a the_rbtree is empty, then NULL is returned. - * It disables interrupts to ensure the atomicity of the get operation. + * This function removes the min node from @a the_rbtree and returns + * a pointer to that node. If @a the_rbtree is empty, then NULL is returned. + * It disables interrupts to ensure the atomicity of the get operation. */ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_get_min( rtems_rbtree_control *the_rbtree @@ -373,10 +375,10 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_get_min( } /** - * @brief Obtain the max node on a rbtree + * @brief Obtain the max node on a rbtree. * - * This function removes the max node from @a the_rbtree and returns - * a pointer to that node. If @a the_rbtree is empty, then NULL is returned. + * This function removes the max node from @a the_rbtree and returns + * a pointer to that node. If @a the_rbtree is empty, then NULL is returned. */ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_get_max_unprotected( @@ -387,11 +389,11 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_get_max_unprotected( } /** - * @brief Obtain the max node on a rbtree + * @brief Obtain the max node on a rbtree. * - * This function removes the max node from @a the_rbtree and returns - * a pointer to that node. If @a the_rbtree is empty, then NULL is returned. - * It disables interrupts to ensure the atomicity of the get operation. + * This function removes the max node from @a the_rbtree and returns + * a pointer to that node. If @a the_rbtree is empty, then NULL is returned. + * It disables interrupts to ensure the atomicity of the get operation. */ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_get_max( rtems_rbtree_control *the_rbtree @@ -401,11 +403,11 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_get_max( } /** - * @brief Peek at the min node on a rbtree + * @brief Peek at the min node on a rbtree. * - * This function returns a pointer to the min node from @a the_rbtree - * without changing the tree. If @a the_rbtree is empty, - * then NULL is returned. + * This function returns a pointer to the min node from @a the_rbtree + * without changing the tree. If @a the_rbtree is empty, + * then NULL is returned. */ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_peek_min( const rtems_rbtree_control *the_rbtree @@ -415,11 +417,11 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_peek_min( } /** - * @brief Peek at the max node on a rbtree + * @brief Peek at the max node on a rbtree. * - * This function returns a pointer to the max node from @a the_rbtree - * without changing the tree. If @a the_rbtree is empty, - * then NULL is returned. + * This function returns a pointer to the max node from @a the_rbtree + * without changing the tree. If @a the_rbtree is empty, + * then NULL is returned. */ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_peek_max( const rtems_rbtree_control *the_rbtree @@ -439,11 +441,11 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_control *rtems_rbtree_find_header_unprotected( } /** - * @brief Find the control header of the tree containing a given node. + * @brief Find the control header of the tree containing a given node. * - * This routine finds the rtems_rbtree_control structure of the tree - * containing @a the_node. - * It disables interrupts to ensure the atomicity of the find operation. + * This routine finds the rtems_rbtree_control structure of the tree + * containing @a the_node. + * It disables interrupts to ensure the atomicity of the find operation. */ RTEMS_INLINE_ROUTINE rtems_rbtree_control *rtems_rbtree_find_header( rtems_rbtree_node *the_node @@ -464,15 +466,15 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_insert_unprotected( } /** - * @brief Insert a node on a rbtree + * @brief Insert a node on a rbtree. * - * This routine inserts @a the_node on @a the_rbtree. - * It disables interrupts to ensure the atomicity of the insert operation. + * This routine inserts @a the_node on @a the_rbtree. + * It disables interrupts to ensure the atomicity of the insert operation. * - * @retval 0 Successfully inserted. - * @retval -1 NULL @a the_node. - * @retval RBTree_Node* if one with equal key to the key of @a the_node exists - * in an unique @a the_rbtree. + * @retval 0 Successfully inserted. + * @retval -1 NULL @a the_node. + * @retval RBTree_Node* if one with equal key to the key of @a the_node exists + * in an unique @a the_rbtree. */ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_insert( rtems_rbtree_control *the_rbtree, @@ -482,7 +484,8 @@ RTEMS_INLINE_ROUTINE rtems_rbtree_node *rtems_rbtree_insert( return _RBTree_Insert( the_rbtree, the_node ); } -/** @brief Determines whether the tree is unique +/** + * @brief Determines whether the tree is unique. */ RTEMS_INLINE_ROUTINE bool rtems_rbtree_is_unique( const rtems_rbtree_control *the_rbtree diff --git a/cpukit/sapi/inline/rtems/timespec.inl b/cpukit/sapi/inline/rtems/timespec.inl index 9874b65153..659c39fd35 100644 --- a/cpukit/sapi/inline/rtems/timespec.inl +++ b/cpukit/sapi/inline/rtems/timespec.inl @@ -1,9 +1,7 @@ /** - * @file rtems/sapi/timespec.inl + * @file * - * @ingroup - * - * @brief Timespec API. + * @brief Timespec API */ /* @@ -31,14 +29,14 @@ */ /** - * @brief Is Timespec Valid + * @brief Is timespec valid * - * This method determines the validity of a timespec. + * This method determines the validity of a timespec. * - * @param[in] time is the timespec instance to validate. + * @param[in] time is the timespec instance to validate. * - * @return This method returns true if @a time is valid and - * false otherwise. + * @retval true The timespec is valid. + * @retval false The timespec is not valid. */ RTEMS_INLINE_ROUTINE bool rtems_timespec_is_valid( const struct timespec *time @@ -48,15 +46,16 @@ RTEMS_INLINE_ROUTINE bool rtems_timespec_is_valid( } /** - * @brief Timespec Less Than Operator + * @brief Timespec less than operator. * - * This method is the less than operator for timespecs. + * This method is the less than operator for timespecs. * - * @param[in] lhs is the left hand side timespec - * @param[in] rhs is the right hand side timespec + * @param[in] lhs is the left hand side timespec + * @param[in] rhs is the right hand side timespec * - * @return This method returns true if @a lhs is less than the @a rhs and - * false otherwise. + * @retval true @a lhs is less than @a rhr. + * @retval false @a lhs is not less than @a rhr. + * */ RTEMS_INLINE_ROUTINE bool rtems_timespec_less_than( const struct timespec *lhs, @@ -67,15 +66,15 @@ RTEMS_INLINE_ROUTINE bool rtems_timespec_less_than( } /** - * @brief Add to a Timespec + * @brief Add to a timespec. * - * This routine adds two timespecs. The second argument is added - * to the first. + * This routine adds two timespecs. The second argument is added + * to the first. * - * @param[in] time is the base time to be added to - * @param[in] add is the timespec to add to the first argument + * @param[in] time is the base time to be added to + * @param[in] add is the timespec to add to the first argument * - * @return This method returns the number of seconds @a time increased by. + * @return This method returns the number of seconds @a time increased by. */ RTEMS_INLINE_ROUTINE uint32_t rtems_timespec_add_to( struct timespec *time, @@ -86,14 +85,14 @@ RTEMS_INLINE_ROUTINE uint32_t rtems_timespec_add_to( } /** - * @brief Convert Timespec to Number of Ticks + * @brief Convert timespec to number of ticks. * - * This routine convert the @a time timespec to the corresponding number - * of clock ticks. + * This routine convert the @a time timespec to the corresponding number + * of clock ticks. * - * @param[in] time is the time to be converted + * @param[in] time is the time to be converted * - * @return This method returns the number of ticks computed. + * @return This method returns the number of ticks computed. */ RTEMS_INLINE_ROUTINE uint32_t rtems_timespec_to_ticks( const struct timespec *time @@ -103,13 +102,13 @@ RTEMS_INLINE_ROUTINE uint32_t rtems_timespec_to_ticks( } /** - * @brief Convert Ticks to Timespec + * @brief Convert ticks to timespec. * - * This routine converts the @a ticks value to the corresponding - * timespec format @a time. + * This routine converts the @a ticks value to the corresponding + * timespec format @a time. * - * @param[in] time is the timespec format time result - * @param[in] ticks is the number of ticks to convert + * @param[in] time is the timespec format time result + * @param[in] ticks is the number of ticks to convert */ RTEMS_INLINE_ROUTINE void rtems_timespec_from_ticks( @@ -121,16 +120,16 @@ RTEMS_INLINE_ROUTINE void rtems_timespec_from_ticks( } /** - * @brief Subtract Two Timespec + * @brief Subtract two timespec. * - * This routine subtracts two timespecs. @a result is set to - * @a end - @a start. + * This routine subtracts two timespecs. @a result is set to + * @a end - @a start. * - * @param[in] start is the starting time - * @param[in] end is the ending time - * @param[in] result is the difference between starting and ending time. + * @param[in] start is the starting time + * @param[in] end is the ending time + * @param[in] result is the difference between starting and ending time. * - * @return This method fills in @a result. + * @return This method fills in @a result. */ RTEMS_INLINE_ROUTINE void rtems_timespec_subtract( const struct timespec *start, @@ -142,17 +141,17 @@ RTEMS_INLINE_ROUTINE void rtems_timespec_subtract( } /** - * @brief Divide Timespec By Integer + * @brief Divide timespec by integer. * - * This routine divides a timespec by an integer value. The expected - * use is to assist in benchmark calculations where you typically - * divide a duration by a number of iterations. + * This routine divides a timespec by an integer value. The expected + * use is to assist in benchmark calculations where you typically + * divide a duration by a number of iterations. * - * @param[in] time is the total - * @param[in] iterations is the number of iterations - * @param[in] result is the average time. + * @param[in] time is the total + * @param[in] iterations is the number of iterations + * @param[in] result is the average time. * - * @return This method fills in @a result. + * @return This method fills in @a result. */ RTEMS_INLINE_ROUTINE void rtems_timespec_divide_by_integer( const struct timespec *time, @@ -164,17 +163,17 @@ RTEMS_INLINE_ROUTINE void rtems_timespec_divide_by_integer( } /** - * @brief Divide Timespec + * @brief Divide timespec. * - * This routine divides a timespec by another timespec. The - * intended use is for calculating percentages to three decimal points. + * This routine divides a timespec by another timespec. The + * intended use is for calculating percentages to three decimal points. * - * @param[in] lhs is the left hand number - * @param[in] rhs is the right hand number - * @param[in] ival_percentage is the integer portion of the average - * @param[in] fval_percentage is the thousandths of percentage + * @param[in] lhs is the left hand number + * @param[in] rhs is the right hand number + * @param[in] ival_percentage is the integer portion of the average + * @param[in] fval_percentage is the thousandths of percentage * - * @return This method fills in @a result. + * @return This method fills in @a result. */ RTEMS_INLINE_ROUTINE void rtems_timespec_divide( const struct timespec *lhs, @@ -187,14 +186,14 @@ RTEMS_INLINE_ROUTINE void rtems_timespec_divide( } /** - * @brief Set Timespec to Seconds Nanosecond + * @brief Set timespec to seconds nanosecond. * - * This method sets the timespec to the specified seconds and nanoseconds - * value. + * This method sets the timespec to the specified seconds and nanoseconds + * value. * - * @param[in] _time points to the timespec instance to validate. - * @param[in] _seconds is the seconds portion of the timespec - * @param[in] _nanoseconds is the nanoseconds portion of the timespec + * @param[in] _time points to the timespec instance to validate. + * @param[in] _seconds is the seconds portion of the timespec + * @param[in] _nanoseconds is the nanoseconds portion of the timespec */ RTEMS_INLINE_ROUTINE void rtems_timespec_set( struct timespec *_time, @@ -206,12 +205,12 @@ RTEMS_INLINE_ROUTINE void rtems_timespec_set( } /** - * @brief Zero Timespec + * @brief Zero timespec. * - * This method sets the timespec to zero. - * value. + * This method sets the timespec to zero. + * value. * - * @param[in] _time points to the timespec instance to zero. + * @param[in] _time points to the timespec instance to zero. */ RTEMS_INLINE_ROUTINE void rtems_timespec_zero( struct timespec *_time @@ -221,13 +220,13 @@ RTEMS_INLINE_ROUTINE void rtems_timespec_zero( } /** - * @brief Get Seconds Portion of Timespec + * @brief Get seconds portion of timespec. * - * This method returns the seconds portion of the specified timespec + * This method returns the seconds portion of the specified timespec * - * @param[in] _time points to the timespec + * @param[in] _time points to the timespec * - * @return The seconds portion of @a _time. + * @return The seconds portion of @a _time. */ RTEMS_INLINE_ROUTINE time_t rtems_timespec_get_seconds( struct timespec *_time @@ -237,13 +236,13 @@ RTEMS_INLINE_ROUTINE time_t rtems_timespec_get_seconds( } /** - * @brief Get Nanoseconds Portion of Timespec + * @brief Get nanoseconds portion of timespec. * - * This method returns the nanoseconds portion of the specified timespec + * This method returns the nanoseconds portion of the specified timespec * - * @param[in] _time points to the timespec + * @param[in] _time points to the timespec * - * @return The nanoseconds portion of @a _time. + * @return The nanoseconds portion of @a _time. */ RTEMS_INLINE_ROUTINE uint32_t rtems_timespec_get_nanoseconds( struct timespec *_time @@ -254,15 +253,15 @@ RTEMS_INLINE_ROUTINE uint32_t rtems_timespec_get_nanoseconds( /** - * @brief Timespec Greater Than Operator + * @brief Timespec greater than operator. * - * This method is the greater than operator for timespecs. + * This method is the greater than operator for timespecs. * - * @param[in] lhs is the left hand side timespec - * @param[in] rhs is the right hand side timespec + * @param[in] lhs is the left hand side timespec + * @param[in] rhs is the right hand side timespec * - * @return This method returns true if @a lhs is greater than the @a rhs and - * false otherwise. + * @retval true @a lhs is greater than @a rhr. + * @retval false @a lhs is not greater than @a rhr. */ RTEMS_INLINE_ROUTINE bool rtems_timespec_greater_than( const struct timespec *_lhs, @@ -274,13 +273,13 @@ RTEMS_INLINE_ROUTINE bool rtems_timespec_greater_than( /** * @brief Timespec equal to Operator * - * This method is the is equal to than operator for timespecs. + * This method is the is equal to than operator for timespecs. * - * @param[in] lhs is the left hand side timespec - * @param[in] rhs is the right hand side timespec + * @param[in] lhs is the left hand side timespec + * @param[in] rhs is the right hand side timespec * - * @return This method returns true if @a lhs is equal to @a rhs and - * false otherwise. + * @retval true @a lhs is equal to @a rhr. + * @retval false @a lhs is not equal to @a rhr. */ RTEMS_INLINE_ROUTINE bool rtems_timespec_equal_to( const struct timespec *lhs, -- cgit v1.2.3 From e354eb4f4fbd602adede59138c819eb94e7c1488 Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Tue, 8 Jan 2013 09:02:58 -0500 Subject: libfs: Doxygen Clean Up Task #1 http://www.google-melange.com/gci/task/view/google/gci2012/8120204 Patch committed with fixes for whitespace issues. --- cpukit/libfs/src/imfs/imfs.h | 97 +++++----- cpukit/libfs/src/pipe/pipe.h | 20 +- cpukit/libfs/src/rfs/rtems-rfs-bitmaps.h | 89 +++++---- cpukit/libfs/src/rfs/rtems-rfs-block-pos.h | 44 ++--- cpukit/libfs/src/rfs/rtems-rfs-block.h | 106 ++++++----- cpukit/libfs/src/rfs/rtems-rfs-buffer.h | 74 +++++--- cpukit/libfs/src/rfs/rtems-rfs-dir-hash.h | 7 +- cpukit/libfs/src/rfs/rtems-rfs-dir.h | 101 ++++++---- cpukit/libfs/src/rfs/rtems-rfs-file-system-fwd.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-file-system.h | 56 +++--- cpukit/libfs/src/rfs/rtems-rfs-file.h | 100 ++++++---- cpukit/libfs/src/rfs/rtems-rfs-format.h | 5 +- cpukit/libfs/src/rfs/rtems-rfs-inode.h | 225 +++++++++++++---------- cpukit/libfs/src/rfs/rtems-rfs-link.h | 68 ++++--- cpukit/libfs/src/rfs/rtems-rfs-mutex.h | 35 ++-- cpukit/libfs/src/rfs/rtems-rfs-rtems.h | 70 +++---- cpukit/libfs/src/rfs/rtems-rfs-shell.h | 17 +- cpukit/libfs/src/rfs/rtems-rfs-trace.h | 16 +- cpukit/libfs/src/rfs/rtems-rfs.h | 16 +- 19 files changed, 666 insertions(+), 482 deletions(-) diff --git a/cpukit/libfs/src/imfs/imfs.h b/cpukit/libfs/src/imfs/imfs.h index 46fee024c3..9b2d6a6b74 100644 --- a/cpukit/libfs/src/imfs/imfs.h +++ b/cpukit/libfs/src/imfs/imfs.h @@ -1,7 +1,7 @@ /** - * @file rtems/imfs.h + * @file * - * @brief Header file for the In-Memory File System + * @brief Header File for the In-Memory File System */ /* @@ -25,6 +25,8 @@ * @defgroup IMFS POSIX In-Memory File System Support * * @brief In-Memory File System Support + * + * @{ */ #ifdef __cplusplus @@ -168,8 +170,8 @@ typedef union { /** * @brief Initializes an IMFS node. * - * @param[in,out] node The IMFS node. - * @param[in] info The IMFS type information. + * @param[in,out] node is the IMFS node. + * @param[in] info is the IMFS type information. * * @retval node Successful operation. * @retval NULL An error occurred. The @c errno indicates the error. This @@ -186,8 +188,8 @@ typedef IMFS_jnode_t *(*IMFS_node_control_initialize)( /** * @brief Returns the node and does nothing else. * - * @param[in,out] node The IMFS node. - * @param[in] info The IMFS type information. + * @param[in,out] node is the IMFS node. + * @param[in] info is the IMFS type information. * * @retval node Returns always the node passed as parameter. * @@ -201,8 +203,8 @@ IMFS_jnode_t *IMFS_node_initialize_default( /** * @brief Returns the node and sets the generic node context. * - * @param[in,out] node The IMFS node. - * @param[in] info The IMFS type information. + * @param[in,out] node is the IMFS node. + * @param[in] info is the IMFS type information. * * @retval node Returns always the node passed as parameter. * @@ -216,7 +218,7 @@ IMFS_jnode_t *IMFS_node_initialize_generic( /** * @brief Prepares the removal of an IMFS node from its parent directory. * - * @param[in,out] node The IMFS node. + * @param[in,out] node is the IMFS node. * * @retval node Successful operation. * @retval NULL An error occurred. The @c errno indicates the error. This @@ -231,7 +233,7 @@ typedef IMFS_jnode_t *(*IMFS_node_control_remove)( /** * @brief Returns the node and does nothing else. * - * @param[in,out] node The IMFS node. + * @param[in,out] node is the IMFS node. * * @retval node Returns always the node passed as parameter. * @@ -244,7 +246,7 @@ IMFS_jnode_t *IMFS_node_remove_default( /** * @brief Destroys an IMFS node. * - * @param[in,out] node The IMFS node. + * @param[in,out] node is the IMFS node. * * @retval node Returns always the node passed as parameter. * @@ -255,7 +257,7 @@ typedef IMFS_jnode_t *(*IMFS_node_control_destroy)( IMFS_jnode_t *node ); /** * @brief Returns the node and does nothing else. * - * @param[in,out] node The IMFS node. + * @param[in,out] node is the IMFS node. * * @retval node Returns always the node passed as parameter. * @@ -392,7 +394,7 @@ extern int miniIMFS_initialize( ); /** - * @brief IMFS Initialization Support + * @brief IMFS initialization support. */ extern int IMFS_initialize_support( rtems_filesystem_mount_table_entry_t *mt_entry, @@ -400,14 +402,14 @@ extern int IMFS_initialize_support( const IMFS_node_control *const node_controls [IMFS_TYPE_COUNT] ); /** - * @brief Unmount this Instance of IMFS + * @brief Unmount this instance of IMFS. */ extern void IMFS_fsunmount( rtems_filesystem_mount_table_entry_t *mt_entry ); /** - * @brief RTEMS Load Tarfs + * @brief RTEMS load tarfs. * * This file implements the "mount" procedure for tar-based IMFS * extensions. The TAR is not actually mounted under the IMFS. @@ -459,7 +461,7 @@ extern int rtems_tarfs_load( ); /** - * @brief IMFS Dump + * @brief Dump the entire IMFS. * * This routine dumps the entire IMFS that is mounted at the root * directory. @@ -470,7 +472,8 @@ extern int rtems_tarfs_load( extern void IMFS_dump( void ); /** - * @brief IMFS Memory File Maximum Size + * @brief Get the size of the largest file which can be created + * using the IMFS memory file type. * * Return the size of the largest file which can be created * using the IMFS memory file type. @@ -478,22 +481,22 @@ extern void IMFS_dump( void ); extern int IMFS_memfile_maximum_size( void ); /** - * @brief Destroy IMFS Node + * @brief Destroy an IMFS node. */ extern void IMFS_node_destroy( IMFS_jnode_t *node ); /** - * @brief Clone IMFS Node + * @brief Clone an IMFS node. */ extern int IMFS_node_clone( rtems_filesystem_location_info_t *loc ); /** - * @brief Free IMFS Node + * @brief Free an IMFS node. */ extern void IMFS_node_free( const rtems_filesystem_location_info_t *loc ); /** - * @brief IMFS Node Type + * @brief IMFS Node Type Get the type of an IMFS node. * * The following verifies that returns the type of node that the * loc refers to. @@ -503,7 +506,7 @@ extern rtems_filesystem_node_types_t IMFS_node_type( ); /** - * @brief IMFS Stat + * @brief Perform a status processing for the IMFS. * * This routine provides a stat for the IMFS file system. */ @@ -513,14 +516,14 @@ extern int IMFS_stat( ); /** - * @brief Evaluation IMFS Node Support + * @brief IMFS evaluation node support. */ extern void IMFS_eval_path( rtems_filesystem_eval_path_context_t *ctx ); /** - * @brief IMFS Create a New Link Node + * @brief Create a new IMFS link node. * * The following rouine creates a new link node under parent with the * name given in name. The link node is set to point to the node at @@ -534,7 +537,7 @@ extern int IMFS_link( ); /** - * @brief IMFS Change Owner + * @brief Change the owner of IMFS. * * This routine is the implementation of the chown() system * call for the IMFS. @@ -546,7 +549,7 @@ extern int IMFS_chown( ); /** - * @brief Create a IMFS Node + * @brief Create an IMFS node. * * Routine to create a node in the IMFS file system. */ @@ -559,7 +562,7 @@ extern int IMFS_mknod( ); /** - * @brief Create a New IMFS Node + * @brief Create a new IMFS node. * * Routine to create a new in memory file system node. */ @@ -573,7 +576,7 @@ extern IMFS_jnode_t *IMFS_allocate_node( ); /** - * @brief Create an IMFS Node + * @brief Create an IMFS node. * * Create an IMFS filesystem node of an arbitrary type that is NOT * the root directory node. @@ -611,10 +614,10 @@ extern bool IMFS_is_imfs_instance( /** * @brief Makes a generic IMFS node. * - * @param[in] path The path to the new generic IMFS node. - * @param[in] mode The node mode. - * @param[in] node_control The node control. - * @param[in] context The node control handler context. + * @param[in] path is a pointer to the new generic IMFS node. + * @param[in] mode is the node mode. + * @param[in] node_control is the node control. + * @param[in] context is the node control handler context. * * @retval 0 Successful operation. * @retval -1 An error occurred. The @c errno indicates the error. @@ -658,14 +661,14 @@ extern int IMFS_make_generic_node( /** @} */ /** - * @brief Mount an IMFS + * @brief Mount an IMFS. */ extern int IMFS_mount( rtems_filesystem_mount_table_entry_t *mt_entry /* IN */ ); /** - * @brief Unmount an IMFS + * @brief Unmount an IMFS. */ extern int IMFS_unmount( rtems_filesystem_mount_table_entry_t *mt_entry /* IN */ @@ -676,7 +679,7 @@ extern IMFS_jnode_t *IMFS_memfile_remove( ); /** - * @brief Truncate a Memory File + * @brief Truncate a memory file. * * This routine processes the ftruncate() system call. */ @@ -686,7 +689,7 @@ extern int memfile_ftruncate( ); /** - * @brief IMFS Read Next Directory + * @brief Read the next directory of the IMFS. * * This routine will read the next directory entry based on the directory * offset. The offset should be equal to -n- time the size of an individual @@ -718,7 +721,7 @@ extern ssize_t imfs_dir_read( */ /** - * @brief Open a Memory File + * @brief Open a memory file. * * This routine processes the open() system call. Note that there is * nothing special to be done at open() time. @@ -731,7 +734,7 @@ extern int memfile_open( ); /** - * @brief Read a Memory File + * @brief Read a memory file. * * This routine processes the read() system call. */ @@ -742,7 +745,7 @@ extern ssize_t memfile_read( ); /** - * @brief Write a Memory File + * @brief Write a memory file. * * This routine processes the write() system call. */ @@ -802,7 +805,7 @@ extern int device_ftruncate( /** @} */ /** - * @brief Set IMFS File Access and Modification Times + * @brief Set IMFS file access and modification times. * * * This routine is the implementation of the utime() system @@ -815,7 +818,7 @@ extern int IMFS_utime( ); /** - * @brief Change IMFS File Mode + * @brief Change the IMFS file mode. */ extern int IMFS_fchmod( const rtems_filesystem_location_info_t *loc, @@ -823,7 +826,7 @@ extern int IMFS_fchmod( ); /** - * @brief IMFS Create a New Symbolic Link Node + * @brief Create a new IMFS symbolic link node. * * The following rouine creates a new symbolic link node under parent * with the name given in name. The node is set to point to the node at @@ -837,9 +840,9 @@ extern int IMFS_symlink( ); /** - * @brief IMFS Put Symbolic Link into Buffer + * @brief Put IMFS symbolic link into buffer. * - * The following rouine puts the symblic links destination name into + * The following rouine puts the symbolic links destination name into * buff. * */ @@ -850,7 +853,7 @@ extern ssize_t IMFS_readlink( ); /** - * @brief IMFS Rename + * @brief Rename the IMFS. * * The following rouine creates a new link node under parent with the * name given in name and removes the old. @@ -863,7 +866,7 @@ extern int IMFS_rename( size_t namelen ); /** - * @brief IMFS Node Removal Handler + * @brief IMFS node removal handler. * * This file contains the handler used to remove a node when a file type * does not require special actions. @@ -980,6 +983,8 @@ static inline dev_t IMFS_generic_get_device_identifier_by_node( /** @} */ +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpukit/libfs/src/pipe/pipe.h b/cpukit/libfs/src/pipe/pipe.h index 158cde5e35..f51855c173 100644 --- a/cpukit/libfs/src/pipe/pipe.h +++ b/cpukit/libfs/src/pipe/pipe.h @@ -1,7 +1,7 @@ /** - * @file rtems/pipe.h + * @file * - * @brief Defines the Interface to the POSIX FIFO/pipe File System Support + * @brief POSIX FIFO/pipe File System Support * * This include file defines the interface to the POSIX FIFO/pipe file system * support. @@ -28,6 +28,8 @@ extern "C" { * @defgroup FIFO_PIPE FIFO/pipe File System Support * * @brief Interface to the POSIX FIFO/pipe File System + * + * @{ */ /* Control block to manage each pipe */ @@ -51,7 +53,7 @@ typedef struct pipe_control { } pipe_control_t; /** - * @brief Create an Anonymous Pipe + * @brief Create an anonymous pipe. * * Called by pipe() to create an anonymous pipe. */ @@ -60,7 +62,7 @@ extern int pipe_create( ); /** - * @brief Release a Pipe + * @brief Release a pipe. * * Interface to file system close. * @@ -73,7 +75,7 @@ extern void pipe_release( ); /** - * @brief FIFO Open + * @brief File system open. * Interface to file system open. * * *pipep points to pipe control structure. If called with *pipep = NULL, @@ -86,7 +88,7 @@ extern int fifo_open( ); /** - * @brief Pipe Read + * @brief File system read. * * Interface to file system read. */ @@ -98,7 +100,7 @@ extern ssize_t pipe_read( ); /** - * @brief Pipe Write + * @brief File system write. * * Interface to file system write. */ @@ -110,7 +112,7 @@ extern ssize_t pipe_write( ); /** - * @brief Pipe IO Control + * @brief File system Input/Output control. * * Interface to file system ioctl. */ @@ -121,6 +123,8 @@ extern int pipe_ioctl( rtems_libio_t *iop ); +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpukit/libfs/src/rfs/rtems-rfs-bitmaps.h b/cpukit/libfs/src/rfs/rtems-rfs-bitmaps.h index 01d4f0f28c..c2497764e2 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-bitmaps.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-bitmaps.h @@ -186,7 +186,8 @@ typedef struct rtems_rfs_bitmap_control_s * Create a bit mask with the specified number of bits up to an element's * size. The mask is aligned to bit 0 of the element. * - * @param size The number of bits in the mask. + * @param[in] size is the number of bits in the mask. + * * @return The mask of the argument size number of bits. */ rtems_rfs_bitmap_element rtems_rfs_bitmap_mask (unsigned int size); @@ -195,8 +196,9 @@ rtems_rfs_bitmap_element rtems_rfs_bitmap_mask (unsigned int size); * Create a bit mask section. A mask section is a mask that is not aligned to * an end of the element. * - * @param start The first bit of the mask numbered from 0. - * @param end The end bit of the mask numbered from 0. + * @param[in] start is the first bit of the mask numbered from 0. + * @param[in] end is the end bit of the mask numbered from 0. + * * @return Mask section as defined by the start and end arguments. */ rtems_rfs_bitmap_element rtems_rfs_bitmap_mask_section (unsigned int start, @@ -206,9 +208,11 @@ rtems_rfs_bitmap_element rtems_rfs_bitmap_mask_section (unsigned int start, * Set a bit in a map and if all the bits are set, set the search map bit as * well. * - * @param control The control for the map. - * @param bit The bit in the map to set. - * @return int The error number (errno). No error if 0. + * @param[in] control is the control for the map. + * @param[in] bit is the bit in the map to set. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_bitmap_map_set (rtems_rfs_bitmap_control* control, rtems_rfs_bitmap_bit bit); @@ -217,9 +221,11 @@ int rtems_rfs_bitmap_map_set (rtems_rfs_bitmap_control* control, * Clear a bit in a map and make sure the search map bit is clear so a search * will find this bit available. * - * @param control The control for the map. - * @param bit The bit in the map to clear. - * @return int The error number (errno). No error if 0. + * @param[in] control is the control for the map. + * @param[in] bit is the bit in the map to clear. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_bitmap_map_clear (rtems_rfs_bitmap_control* control, rtems_rfs_bitmap_bit bit); @@ -227,10 +233,12 @@ int rtems_rfs_bitmap_map_clear (rtems_rfs_bitmap_control* control, /** * Test a bit in the map. * - * @param control The bitmap control. - * @param bit The bit to test. - * @param state The state of the bit if no error is returned. - * @return int The error number (errno). No error if 0. + * @param[in] control is the bitmap control. + * @param[in] bit is the bit to test. + * @param[in] state is the state of the bit if no error is returned. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_bitmap_map_test (rtems_rfs_bitmap_control* control, @@ -240,31 +248,37 @@ rtems_rfs_bitmap_map_test (rtems_rfs_bitmap_control* control, /** * Set all bits in the bitmap and set the dirty bit. * - * @param control The bitmap control. - * @return int The error number (errno). No error if 0. + * @param[in] control is the bitmap control. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_bitmap_map_set_all (rtems_rfs_bitmap_control* control); /** * Clear all bits in the bitmap and set the dirty bit. * - * @param control The bitmap control. - * @return int The error number (errno). No error if 0. + * @param[in] control is the bitmap control. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_bitmap_map_clear_all (rtems_rfs_bitmap_control* control); /** * Find a free bit searching from the seed up and down until found. The search * is performing by moving up from the seed for the window distance then to - * search down from the seed for the window distance. This is repeated out from - * the seed for each window until a free bit is found. The search is performed - * by checking the search map to see if the map has a free bit. + * search down from the seed for the window distance. This is repeated out + * from the seed for each window until a free bit is found. The search is + * performed by checking the search map to see if the map has a free bit. + * + * @param[in] control is the map control. + * @param[in] seed is the bit to search out from. + * @param[out] allocate A bit was allocated. + * @param[out] bit will contain the bit found free if true is returned. * - * @param control The map control. - * @param seed The bit to search out from. - * @param allocate A bit was allocated. - * @param bit Returns the bit found free if true is returned. - * @return int The error number (errno). No error if 0. + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_bitmap_map_alloc (rtems_rfs_bitmap_control* control, rtems_rfs_bitmap_bit seed, @@ -274,19 +288,24 @@ int rtems_rfs_bitmap_map_alloc (rtems_rfs_bitmap_control* control, /** * Create a search bit map from the actual bit map. * - * @param control The map control. - * @return int The error number (errno). No error if 0. + * @param[in] control is the map control. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_bitmap_create_search (rtems_rfs_bitmap_control* control); /** * Open a bitmap control with a map and search map. * - * @param control The map control. - * @param fs The file system data. - * @param buffer The buffer handle the map is stored in. - * @param size The number of bits in the map. - * @return int The error number (errno). No error if 0. + * @param[in] control is the map control. + * @param[in] fs is the file system data. + * @param[in] buffer is a pointer to the buffer handle the map is + * stored in. + * @param[in] size is the number of bits in the map. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_bitmap_open (rtems_rfs_bitmap_control* control, rtems_rfs_file_system* fs, @@ -297,8 +316,10 @@ int rtems_rfs_bitmap_open (rtems_rfs_bitmap_control* control, /** * Close a bitmap. * - * @param control The bit map control. - * @return int The error number (errno). No error if 0. + * @param[in] control is the bit map control. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_bitmap_close (rtems_rfs_bitmap_control* control); diff --git a/cpukit/libfs/src/rfs/rtems-rfs-block-pos.h b/cpukit/libfs/src/rfs/rtems-rfs-block-pos.h index b0de7c1846..1aab489027 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-block-pos.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-block-pos.h @@ -72,8 +72,8 @@ typedef struct rtems_rfs_block_pos_s /** * Copy a block position. * - * @param _lhs The left hand side. - * @param _rhs The right hand side. + * @param[in] _lhs is the left hand side. + * @param[in] _rhs is the right hand side. */ #define rtems_rfs_block_copy_bpos(_lhs, _rhs) \ do { (_lhs)->bno = (_rhs)->bno; \ @@ -83,7 +83,7 @@ typedef struct rtems_rfs_block_pos_s /** * Zero a block position. * - * @param bpos A pointer to the block position. + * @param[in] bpos is a pointer to the block position. */ static inline void rtems_rfs_block_set_bpos_zero (rtems_rfs_block_pos* bpos) @@ -96,9 +96,9 @@ rtems_rfs_block_set_bpos_zero (rtems_rfs_block_pos* bpos) /** * Given a position compute the block number and block offset. * - * @param fs The file system data. - * @param pos The position as an absolute offset from the start. - * @param bpos Pointer to the block position to fill in. + * @param[in] fs is the file system data. + * @param[in] pos is the position as an absolute offset from the start. + * @param[out] bpos is a pointer to the block position to fill in. */ void rtems_rfs_block_get_bpos (rtems_rfs_file_system* fs, rtems_rfs_pos pos, @@ -107,9 +107,10 @@ void rtems_rfs_block_get_bpos (rtems_rfs_file_system* fs, /** * Given a block position compute the absolute offset. * - * @param fs The file system data. - * @param bpos Pointer to the block position to fill in. - * @return rtems_rfs_pos The absolute offset. + * @param[in] fs is the file system data. + * @param[out] bpos is a pointer to the block position to fill in. + * + * @retval offset The absolute offset. */ rtems_rfs_pos rtems_rfs_block_get_pos (rtems_rfs_file_system* fs, rtems_rfs_block_pos* bpos); @@ -118,9 +119,9 @@ rtems_rfs_pos rtems_rfs_block_get_pos (rtems_rfs_file_system* fs, * Add the relative position to the block position. The relative position is * signed. * - * @param fs The file system data. - * @param offset The relative offset add to the block position. - * @param bpos Pointer to the block position to fill in. + * @param[in] fs is the file system data. + * @param[in] offset is the relative offset add to the block position. + * @param[out] bpos is a pointer to the block position to fill in. */ static inline void rtems_rfs_block_add_pos (rtems_rfs_file_system* fs, @@ -156,8 +157,8 @@ typedef struct rtems_rfs_block_size_s /** * Copy a block size. * - * @param _lhs The left hand side. - * @param _rhs The right hand side. + * @param[in] _lhs is the left hand side. + * @param[in] _rhs is the right hand side. */ #define rtems_rfs_block_copy_size(_lhs, _rhs) \ do { (_lhs)->count = (_rhs)->count; \ @@ -202,7 +203,7 @@ typedef struct rtems_rfs_block_size_s /** * Zero a block size. * - * @param size A pointer to the block size. + * @param[in] size is a pointer to the block size. */ static inline void rtems_rfs_block_set_size_zero (rtems_rfs_block_size* size) @@ -214,9 +215,9 @@ rtems_rfs_block_set_size_zero (rtems_rfs_block_size* size) /** * Set the size given a position. * - * @param fs The file system data. - * @param pos The position as an absolute offset from the start. - * @param size Pointer to the block size to fill in. + * @param[in] fs is the file system data. + * @param[in] pos is the position as an absolute offset from the start. + * @param[out] size is a pointer to the block size to fill in. */ void rtems_rfs_block_get_block_size (rtems_rfs_file_system* fs, rtems_rfs_pos pos, @@ -230,9 +231,10 @@ void rtems_rfs_block_get_block_size (rtems_rfs_file_system* fs, * blocks is 1 and offset is 0 the size is the block size. If the block count * is 1 and size is 100 the size is 100. * - * @param fs The file system data. - * @param size The size in blocks and offset. - * @return rtems_rfs_pos The size in bytes. + * @param[in] fs is the file system data. + * @param[in] size The size in blocks and offset. + * + * @retval size The size in bytes. */ rtems_rfs_pos rtems_rfs_block_get_size (rtems_rfs_file_system* fs, rtems_rfs_block_size* size); diff --git a/cpukit/libfs/src/rfs/rtems-rfs-block.h b/cpukit/libfs/src/rfs/rtems-rfs-block.h index c93cb20b24..928186f52b 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-block.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-block.h @@ -30,9 +30,10 @@ /** * Get a block number in the media format and return it in the host format. * - * @param _h The buffer handle of the block. - * @param _b The block number index. - * @return uint32_t The block number. + * @param[in] _h is the buffer handle of the block. + * @param[in] _b is the block number index. + * + * @retval block The block number. */ #define rtems_rfs_block_get_number(_h, _b) \ ((rtems_rfs_block_no) \ @@ -42,10 +43,10 @@ /** * Set a block number in the media format given a number in the host format. * - * @param _h The buffer handle of the block. - * @param _b The block number index, ie the number of block number not the + * @param[in] _h is the buffer handle of the block. + * @param[in] _b is the block number index, ie the number of block number not the * buffer offset. - * @param _n The block number. + * @param[in] _n is the block number. */ #define rtems_rfs_block_set_number(_h, _b, _n) \ do { \ @@ -195,8 +196,8 @@ typedef struct rtems_rfs_block_map_s /** * Set the size offset for the map. The map is tagged as dirty. * - * @param map Pointer to the open map to set the offset in. - * @param offset The offset to set in the map's size. + * @param[in] map is a pointer to the open map to set the offset in. + * @param[in] offset is the offset to set in the map's size. */ static inline void rtems_rfs_block_map_set_size_offset (rtems_rfs_block_map* map, @@ -209,8 +210,8 @@ rtems_rfs_block_map_set_size_offset (rtems_rfs_block_map* map, /** * Set the map's size. The map is tagged as dirty. * - * @param map Pointer to the open map to set the offset in. - * @param size The size to set in the map's size. + * @param[in] map is a pointer to the open map to set the offset in. + * @param[in] size is the size to set in the map's size. */ static inline void rtems_rfs_block_map_set_size (rtems_rfs_block_map* map, @@ -224,10 +225,12 @@ rtems_rfs_block_map_set_size (rtems_rfs_block_map* map, * map. The buffer handles are opened. The block position is set to the start * so a seek of offset 0 will return the first block. * - * @param fs The file system data. - * @param inode The inode the map belongs to. - * @param map The map that is opened. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[in] inode is a pointer to the inode the map belongs to. + * @param[in] map is a pointer to the map that is opened. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_block_map_open (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* inode, @@ -237,9 +240,11 @@ int rtems_rfs_block_map_open (rtems_rfs_file_system* fs, * Close the map. The buffer handles are closed and any help buffers are * released. * - * @param fs The file system data. - * @param map The map that is opened. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[in] map is a pointer to the map that is opened. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_block_map_close (rtems_rfs_file_system* fs, rtems_rfs_block_map* map); @@ -247,11 +252,13 @@ int rtems_rfs_block_map_close (rtems_rfs_file_system* fs, /** * Find a block number in the map from the position provided. * - * @param fs The file system data. - * @param map The map to search. - * @param bpos The block position to find. - * @param block Pointer to place the block in when found. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[in] map is a pointer to the map to search. + * @param[in] bpos is a pointer to the block position to find. + * @param[out] block will contain the block in when found. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_block_map_find (rtems_rfs_file_system* fs, rtems_rfs_block_map* map, @@ -261,12 +268,14 @@ int rtems_rfs_block_map_find (rtems_rfs_file_system* fs, /** * Seek around the map. * - * @param fs The file system data. - * @param map The map to search. - * @param offset The distance to seek. It is signed. - * @param block Pointer to place the block in when found. + * @param[in] fs is the file system data. + * @param[in] map is a pointer to the map to search. + * @param[in] offset is the distance to seek. It is signed. + * @param[out] block will contain the block in when found. + * + * @retval 0 Successful operation. * @retval ENXIO Failed to seek because it is outside the block map. - * @return int The error number (errno). No error if 0. + * @retval error_code An error occurred. */ int rtems_rfs_block_map_seek (rtems_rfs_file_system* fs, rtems_rfs_block_map* map, @@ -276,11 +285,13 @@ int rtems_rfs_block_map_seek (rtems_rfs_file_system* fs, /** * Seek to the next block. * - * @param fs The file system data. - * @param map The map to search. - * @param block Pointer to place the block in when found. + * @param[in] fs is the file system data. + * @param[in] map is a pointer to the map to search. + * @param[out] block will contain the block in when found. + * + * @retval 0 Successful operation. * @retval ENXIO Failed to seek because it is outside the block map. - * @return int The error number (errno). No error if 0. + * @retval error_code An error occurred. */ int rtems_rfs_block_map_next_block (rtems_rfs_file_system* fs, rtems_rfs_block_map* map, @@ -289,11 +300,14 @@ int rtems_rfs_block_map_next_block (rtems_rfs_file_system* fs, /** * Grow the block map by the specified number of blocks. * - * @param fs The file system data. - * @param map Pointer to the open map to grow. - * @param blocks The number of blocks to grow the map by. - * @param new_block The first of the blocks allocated to the map. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[in] map is a pointer to the open map to grow. + * @param[in] blocks is the number of blocks to grow the map by. + * @param[out] new_block will contain first of the blocks allocated + * to the map. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_block_map_grow (rtems_rfs_file_system* fs, rtems_rfs_block_map* map, @@ -303,11 +317,13 @@ int rtems_rfs_block_map_grow (rtems_rfs_file_system* fs, /** * Grow the block map by the specified number of blocks. * - * @param fs The file system data. - * @param map Pointer to the open map to shrink. - * @param blocks The number of blocks to shrink the map by. If more than the - * number of blocks the map is emptied. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[in] map is a pointer to the open map to shrink. + * @param[in] blocks is the number of blocks to shrink the map by. If more + * than the number of blocks the map is emptied. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_block_map_shrink (rtems_rfs_file_system* fs, rtems_rfs_block_map* map, @@ -316,9 +332,11 @@ int rtems_rfs_block_map_shrink (rtems_rfs_file_system* fs, /** * Free all blocks in the map. * - * @param fs The file system data. - * @param map Pointer to the open map to free all blocks from. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[in] map is a pointer to the open map to free all blocks from. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_block_map_free_all (rtems_rfs_file_system* fs, rtems_rfs_block_map* map); diff --git a/cpukit/libfs/src/rfs/rtems-rfs-buffer.h b/cpukit/libfs/src/rfs/rtems-rfs-buffer.h index c6b1f05c53..ec35e648d7 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-buffer.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-buffer.h @@ -159,14 +159,16 @@ typedef struct rtems_rfs_buffer_handle_t #define rtems_rfs_buffer_refs_down(_h) ((_h)->buffer->references -= 1) /** - * Request a buffer. The buffer can be filled with data from the media (read == - * true) or you can request a buffer to fill with data. + * Request a buffer. The buffer can be filled with data from the media + * (read == true) or you can request a buffer to fill with data. * - * @param fs The file system data. - * @param handle The handle the requested buffer is attached to. - * @param block The block number. - * @param read Read the data from the disk. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[in] handle is the handle the requested buffer is attached to. + * @param[in] block is the block number. + * @param[in] read Read the data from the disk. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_buffer_handle_request (rtems_rfs_file_system* fs, rtems_rfs_buffer_handle* handle, @@ -178,9 +180,11 @@ int rtems_rfs_buffer_handle_request (rtems_rfs_file_system* fs, * result does not indicate if the data was successfully written to the disk as * this operation may be performed in asynchronously to this release. * - * @param fs The file system data. - * @param handle The handle the requested buffer is attached to. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[in] handle is the handle the requested buffer is attached to. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_buffer_handle_release (rtems_rfs_file_system* fs, rtems_rfs_buffer_handle* handle); @@ -188,9 +192,11 @@ int rtems_rfs_buffer_handle_release (rtems_rfs_file_system* fs, /** * Open a handle. * - * @param fs The file system data. - * @param handle The buffer handle to open. - * @return int The error number (errno). No error if 0. + * @param[in] fs i the file system data. + * @param[in] handle i the buffer handle to open. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ static inline int rtems_rfs_buffer_handle_open (rtems_rfs_file_system* fs, @@ -205,9 +211,11 @@ rtems_rfs_buffer_handle_open (rtems_rfs_file_system* fs, /** * Close a handle. * - * @param fs The file system data. - * @param handle The buffer handle to close. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[in] handle is the buffer handle to close. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ static inline int rtems_rfs_buffer_handle_close (rtems_rfs_file_system* fs, @@ -223,42 +231,52 @@ rtems_rfs_buffer_handle_close (rtems_rfs_file_system* fs, /** * Open the buffer interface. * - * @param name The device name to the media. - * @param fs Pointer to the file system data. - * @return int The error number (errno). No error if 0. + * @param[in] name is a pointer to the device name to the media. + * @param[in] fs is the file system data. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_buffer_open (const char* name, rtems_rfs_file_system* fs); /** * Close the buffer interface. * - * @param fs Pointer to the file system data. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_buffer_close (rtems_rfs_file_system* fs); /** * Sync all buffers to the media. * - * @param fs Pointer to the file system data. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_buffer_sync (rtems_rfs_file_system* fs); /** * Set the block size of the device. * - * @param fs Pointer to the file system data. - * @param size The new block size. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[in] size is the new block size. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_buffer_setblksize (rtems_rfs_file_system* fs, size_t size); /** * Release any chained buffers. * - * @param fs The file system data. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_buffers_release (rtems_rfs_file_system* fs); diff --git a/cpukit/libfs/src/rfs/rtems-rfs-dir-hash.h b/cpukit/libfs/src/rfs/rtems-rfs-dir-hash.h index f7908d8716..46b2719a7e 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-dir-hash.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-dir-hash.h @@ -26,9 +26,10 @@ /** * Compute a hash of the key over the length of string. * - * @param key The key to calculate the hash of. - * @param length The length of the key in bytes. - * @return uint32_t The hash. + * @param[in] key is a pointer to the key to calculate the hash of. + * @param[in] length is the length of the key in bytes. + * + * @retval hash The computed uint32_t hash. */ uint32_t rtems_rfs_dir_hash (const void *key, size_t length); diff --git a/cpukit/libfs/src/rfs/rtems-rfs-dir.h b/cpukit/libfs/src/rfs/rtems-rfs-dir.h index 50c89eccc5..ddfcb5418e 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-dir.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-dir.h @@ -55,8 +55,9 @@ /** * Return the hash of the entry. * - * @param _e Pointer to the directory entry. - * @return uint32_t The hash. + * @param[in] _e is a pointer to the directory entry. + * + * @retval hash The uint32_t hash of the entry. */ #define rtems_rfs_dir_entry_hash(_e) \ rtems_rfs_read_u32 (_e + RTEMS_RFS_DIR_ENTRY_HASH) @@ -64,8 +65,9 @@ /** * Set the hash of the entry. * - * @param _e Pointer to the directory entry. - * @param _h The hash. + * @param[in] _e is a pointer to the directory entry. + * + * @param[in] _h is the hash of the entry. */ #define rtems_rfs_dir_set_entry_hash(_e, _h) \ rtems_rfs_write_u32 (_e + RTEMS_RFS_DIR_ENTRY_HASH, _h) @@ -73,8 +75,9 @@ /** * Return the ino of the entry. * - * @param _e Pointer to the directory entry. - * @return uint32_t The ino. + * @param[in] _e is a pointer to the directory entry. + * + * @retval ino The ino of the entry. */ #define rtems_rfs_dir_entry_ino(_e) \ rtems_rfs_read_u32 (_e + RTEMS_RFS_DIR_ENTRY_INO) @@ -82,8 +85,9 @@ /** * Set the ino of the entry. * - * @param _e Pointer to the directory entry. - * @param _i The ino. + * @param[in] _e is a pointer to the directory entry. + * + * @param[in] _i is the ino of the entry. */ #define rtems_rfs_dir_set_entry_ino(_e, _i) \ rtems_rfs_write_u32 (_e + RTEMS_RFS_DIR_ENTRY_INO, _i) @@ -91,8 +95,9 @@ /** * Return the length of the entry. * - * @param _e Pointer to the directory entry. - * @return uint16_t The length. + * @param[in] _e Pointer to the directory entry. + * + * @retval length The length of the entry. */ #define rtems_rfs_dir_entry_length(_e) \ rtems_rfs_read_u16 (_e + RTEMS_RFS_DIR_ENTRY_LEN) @@ -100,8 +105,8 @@ /** * Set the length of the entry. * - * @param _e Pointer to the directory entry. - * @param _l The length. + * @param[in] _e is a pointer to the directory entry. + * @param[in] _l is the length. */ #define rtems_rfs_dir_set_entry_length(_e, _l) \ rtems_rfs_write_u16 (_e + RTEMS_RFS_DIR_ENTRY_LEN, _l) @@ -110,13 +115,17 @@ * Look up a directory entry in the directory pointed to by the inode. The look * up is local to this directory. No need to decend. * - * @param fs The file system. - * @param inode The inode of the directory to search. - * @param name The name to look up. The name may not be nul terminated. - * @param length The length of the name. - * @param ino The return inode number if there is no error. - * @param offset The offset in the directory for the entry. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system. + * @param[in] inode is a pointer to the inode of the directory to search. + * @param[in] name is a pointer to the name to look up. The name may not be + * nul terminated. + * @param[in] length is the length of the name. + * @param[out] ino will be filled in with the inode number + * if there is no error. + * @param[in] offset is the offset in the directory for the entry. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_dir_lookup_ino (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* inode, @@ -129,12 +138,15 @@ int rtems_rfs_dir_lookup_ino (rtems_rfs_file_system* fs, * Add an entry to the directory returing the inode number allocated to the * entry. * - * @param fs The file system data. - * @param dir Pointer to the directory inode the entry is to be added too. - * @param name The name of the entry to be added. - * @param length The length of the name excluding a terminating 0. - * @param ino The ino of the entry. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[in] dir is a pointer to the directory inode the + * entry is to be added too. + * @param[in] name is a pointer to the name of the entry to be added. + * @param[in] length is the length of the name excluding a terminating 0. + * @param[in] ino is the ino of the entry. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_dir_add_entry (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* dir, @@ -145,12 +157,15 @@ int rtems_rfs_dir_add_entry (rtems_rfs_file_system* fs, /** * Del an entry from the directory using an inode number as a key. * - * @param fs The file system data. - * @param dir Pointer to the directory inode the entry is to be deleted from. - * @param ino The ino of the entry. - * @param offset The offset in the directory of the entry to delete. If 0 - * search from the start for the ino. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[in] dir is a pointer to the directory inode the + * entry is to be deleted from. + * @param[in] ino is the ino of the entry. + * @param[in] offset is the offset in the directory of the entry + * to delete. If 0 search from the start for the ino. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_dir_del_entry (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* dir, @@ -161,12 +176,16 @@ int rtems_rfs_dir_del_entry (rtems_rfs_file_system* fs, * Read the directory entry from offset into the directory entry buffer and * return the length of space this entry uses in the directory table. * - * @param fs The file system data. - * @param dir The direct inode handler. - * @param offset The offset in the directory to read from. - * @param dirent Pointer to the dirent structure the entry is written into. - * @param length Set the length this entry takes in the directory. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[in] dir is a pointer to the direct inode handler. + * @param[in] offset is the offset in the directory to read from. + * @param[in] dirent is a ointer to the dirent structure the entry + * is written into. + * @param[out] length will contain the length this entry + * takes in the directory. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_dir_read (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* dir, @@ -178,9 +197,11 @@ int rtems_rfs_dir_read (rtems_rfs_file_system* fs, * Check if the directory is empty. The current and parent directory entries * are ignored. * - * @param fs The file system data - * @param dir The directory inode to check. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data + * @param[in] dir is a pointer to the directory inode to check. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_dir_empty (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* dir); diff --git a/cpukit/libfs/src/rfs/rtems-rfs-file-system-fwd.h b/cpukit/libfs/src/rfs/rtems-rfs-file-system-fwd.h index ae45acf55e..19b03587e1 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-file-system-fwd.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-file-system-fwd.h @@ -1,7 +1,7 @@ /** * @file * - * @brief RTEMS File Systems Data forward decl + * @brief RTEMS File Systems Data Forward Declaration * * @ingroup rtems-rfs * diff --git a/cpukit/libfs/src/rfs/rtems-rfs-file-system.h b/cpukit/libfs/src/rfs/rtems-rfs-file-system.h index c1f3dd7465..1d059ae92c 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-file-system.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-file-system.h @@ -50,8 +50,8 @@ #define RTEMS_RFS_VERSION_MASK INT32_C(0x00000000) /** - * The root inode number. Do not use 0 as this has special meaning in some Unix - * operating systems. + * The root inode number. Do not use 0 as this has special meaning in some + * Unix operating systems. */ #define RTEMS_RFS_ROOT_INO (1) @@ -61,8 +61,8 @@ #define RTEMS_RFS_EMPTY_INO (0) /** - * The number of blocks in the inode. This number effects the size of the inode - * and that effects the overhead of the inode tables in a group. + * The number of blocks in the inode. This number effects the size of the + * inode and that effects the overhead of the inode tables in a group. */ #define RTEMS_RFS_INODE_BLOCKS (5) @@ -262,27 +262,27 @@ struct _rtems_rfs_file_system /** * Return the flags. * - * @param _fs Pointer to the file system. + * @param[in] _fs is a pointer to the file system. */ #define rtems_rfs_fs_flags(_f) ((_f)->flags) /** * Should bitmap buffers be released when finished ? * - * @param _fs Pointer to the file system. + * @param[in] _fs is a pointer to the file system. */ #define rtems_rfs_fs_release_bitmaps(_f) (!((_f)->flags & RTEMS_RFS_FS_BITMAPS_HOLD)) /** * Are the buffers locally cache or released back to the buffering layer ? * - * @param _fs Pointer to the file system. + * @param[in] _fs is a pointer to the file system. */ #define rtems_rfs_fs_no_local_cache(_f) ((_f)->flags & RTEMS_RFS_FS_NO_LOCAL_CACHE) /** * The disk device number. * - * @param _fs Pointer to the file system. + * @param[in] _fs is a pointer to the file system. */ #if RTEMS_RFS_USE_LIBBLOCK #define rtems_rfs_fs_device(_fs) ((_fs)->disk) @@ -293,21 +293,21 @@ struct _rtems_rfs_file_system /** * The size of the disk in blocks. * - * @param _fs Pointer to the file system. + * @param[in] _fs is a pointer to the file system. */ #define rtems_rfs_fs_blocks(_fs) ((_fs)->blocks) /** * The block size. * - * @param _fs Pointer to the file system. + * @param[in] _fs is a pointer to the file system. */ #define rtems_rfs_fs_block_size(_fs) ((_fs)->block_size) /** * The number of inodes. * - * @param _fs Pointer to the file system. + * @param[in] _fs is a pointer to the file system. */ #define rtems_rfs_fs_inodes(_fs) ((_fs)->inodes) @@ -315,9 +315,9 @@ struct _rtems_rfs_file_system * Calculate a block in the file system given the group and the block within * the group. * - * @param _fs Pointer to the file system. - * @param _grp The group. - * @param _blk The block within the group. + * @param[in] _fs is a pointer to the file system. + * @param[in] _grp is the group. + * @param[in] _blk is the block within the group. * @return The absolute block number. */ #define rtems_rfs_fs_block(_fs, _grp, _blk) \ @@ -326,7 +326,7 @@ struct _rtems_rfs_file_system /** * The media size of the disk in media size blocks. * - * @param _fs Pointer to the file system. + * @param[in] _fs is a pointer to the file system. */ #if RTEMS_RFS_USE_LIBBLOCK #define rtems_rfs_fs_media_blocks(_fs) ((_fs)->disk->size) @@ -338,7 +338,7 @@ struct _rtems_rfs_file_system * The media block size. This is the size of a block on disk. For a device I/O * this value is 1. * - * @param _fs Pointer to the file system. + * @param[in] _fs is a pointer to the file system. */ #if RTEMS_RFS_USE_LIBBLOCK #define rtems_rfs_fs_media_block_size(_fs) ((_fs)->disk->media_block_size) @@ -366,7 +366,7 @@ struct _rtems_rfs_file_system /** * Return the size of the disk in bytes. * - * @param fs Pointer to the file system. + * @param[in] fs is a pointer to the file system. * @return uint64_t The size of the disk in bytes. */ uint64_t rtems_rfs_fs_size(rtems_rfs_file_system* fs); @@ -374,7 +374,7 @@ uint64_t rtems_rfs_fs_size(rtems_rfs_file_system* fs); /** * The size of the disk in bytes calculated from the media parameters.. * - * @param fs Pointer to the file system. + * @param[in] fs is a pointer to the file system. * @return uint64_t The size of the disk in bytes. */ uint64_t rtems_rfs_fs_media_size (rtems_rfs_file_system* fs); @@ -382,12 +382,14 @@ uint64_t rtems_rfs_fs_media_size (rtems_rfs_file_system* fs); /** * Open the file system given a file path. * - * @param name The device to open. - * @param fs The file system data filled in by this call. - * @param user A pointer to user data. - * @param flags The initial set of user flags for the file system. - * @param max_held_buffers The maximum number of buffers the RFS holds. - * @return int The error number (errno). No error if 0. + * @param[in] name is a pointer to the device to open. + * @param[in] fs is the file system data filled in by this call. + * @param[in] user is a pointer to the user data. + * @param[in] flags is a initial set of user flags for the file system. + * @param[in] max_held_buffers is the maximum number of buffers the RFS holds. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_fs_open (const char* name, void* user, @@ -398,8 +400,10 @@ int rtems_rfs_fs_open (const char* name, /** * Close the file system. * - * @param fs The file system data. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_fs_close (rtems_rfs_file_system* fs); diff --git a/cpukit/libfs/src/rfs/rtems-rfs-file.h b/cpukit/libfs/src/rfs/rtems-rfs-file.h index f39f02a985..9665c60ea5 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-file.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-file.h @@ -89,8 +89,9 @@ typedef struct _rtems_rfs_file_shared /** * Get the atime. * - * @param shared The shared file data. - * @return rtems_rfs_time The atime. + * @param[in] shared is a pointer to the shared file data. + * + * @retval atime The atime. */ static inline rtems_rfs_time rtems_rfs_file_shared_get_atime (rtems_rfs_file_shared* shared) @@ -101,8 +102,9 @@ rtems_rfs_file_shared_get_atime (rtems_rfs_file_shared* shared) /** * Get the mtime. * - * @param shared The shared file data. - * @return rtems_rfs_time The mtime. + * @param[in] shared is a pointer to the shared file data. + * + * @retval mtime The mtime. */ static inline rtems_rfs_time rtems_rfs_file_shared_get_mtime (rtems_rfs_file_shared* shared) @@ -113,8 +115,9 @@ rtems_rfs_file_shared_get_mtime (rtems_rfs_file_shared* shared) /** * Get the ctime. * - * @param shared The shared file data. - * @return rtems_rfs_time The ctime. + * @param[in] shared is a pointer to the shared file data. + * + * @retval ctime The ctime. */ static inline rtems_rfs_time rtems_rfs_file_shared_get_ctime (rtems_rfs_file_shared* shared) @@ -125,8 +128,9 @@ rtems_rfs_file_shared_get_ctime (rtems_rfs_file_shared* shared) /** * Get the block count. * - * @param shared The shared file data. - * @return uint32_t The block count. + * @param[in] shared is a pointer to the shared file data. + * + * @retval count The block count. */ static inline uint32_t rtems_rfs_file_shared_get_block_count (rtems_rfs_file_shared* shared) @@ -137,8 +141,9 @@ rtems_rfs_file_shared_get_block_count (rtems_rfs_file_shared* shared) /** * Get the block offset. * - * @param shared The shared file data. - * @return uint16_t The block offset. + * @param shared is a pointer to the shared file data. + * + * @retval offset The block offset. */ static inline uint16_t rtems_rfs_file_shared_get_block_offset (rtems_rfs_file_shared* shared) @@ -149,9 +154,10 @@ rtems_rfs_file_shared_get_block_offset (rtems_rfs_file_shared* shared) /** * Calculate the size of data. * - * @param fs The file system data. - * @oaram shared The shared file data. - * @return rtems_rfs_pos The data size in bytes. + * @param[in] fs is the file system data. + * @param[in] shared is a pointer to the shared file data. + * + * @retval data The data size in bytes. */ static inline rtems_rfs_pos rtems_rfs_file_shared_get_size (rtems_rfs_file_system* fs, @@ -292,10 +298,12 @@ typedef struct _rtems_rfs_file_handle /** * Open a file handle. * - * @param fs The file system. - * @param ino The inode number of the file to be opened. - * @param handle Return the handle pointer in this handle. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system. + * @param[in] ino is the inode number of the file to be opened. + * @param[out] handle will be filled in with the handle pointer. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_file_open (rtems_rfs_file_system* fs, rtems_rfs_ino ino, @@ -305,9 +313,11 @@ int rtems_rfs_file_open (rtems_rfs_file_system* fs, /** * Close an open file handle. * - * @param fs The file system. - * @param handle The open file handle. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system. + * @param[in] handle is the open file handle. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_file_close (rtems_rfs_file_system* fs, rtems_rfs_file_handle* handle); @@ -321,10 +331,12 @@ int rtems_rfs_file_close (rtems_rfs_file_system* fs, * I/O past the end of a block so the call returns the amount of data * available. * - * @param handle The file handle. - * @param available The amount of data available for I/O. - * @param read The I/O operation is a read so the block is read from the media. - * @return int The error number (errno). No error if 0. + * @param[in] handle is the file handle. + * @param[in] available is the amount of data available for I/O. + * @param[in] read is the I/O operation is a read so the block is read from the media. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_file_io_start (rtems_rfs_file_handle* handle, size_t* available, @@ -337,10 +349,12 @@ int rtems_rfs_file_io_start (rtems_rfs_file_handle* handle, * * If the file's position is updated by the size amount. * - * @param handle The file handle. - * @param size The amount of data read or written. - * @param read The I/O was a read if true else it was a write. - * @return int The error number (errno). No error if 0. + * @param[in] handle is the file handle. + * @param[in] size is the amount of data read or written. + * @param[in] read is the I/O was a read if true else it was a write. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_file_io_end (rtems_rfs_file_handle* handle, size_t size, @@ -351,8 +365,10 @@ int rtems_rfs_file_io_end (rtems_rfs_file_handle* handle, * buffer and the buffer was not already released as modified the data will be * lost. * - * @param handle The file handle. - * @return int The error number (errno). No error if 0. + * @param[in] handle is the file handle. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_file_io_release (rtems_rfs_file_handle* handle); @@ -360,10 +376,12 @@ int rtems_rfs_file_io_release (rtems_rfs_file_handle* handle); * The file to the position returning the old position. The position is * abolute. * - * @param handle The file handle. - * @param pos The position to seek to. - * @param new_pos The actual position. - * @return int The error number (errno). No error if 0. + * @param[in] handle The file handle. + * @param[in] pos is the position to seek to. + * @param[out] new_pos will contain the actual position. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_file_seek (rtems_rfs_file_handle* handle, rtems_rfs_pos pos, @@ -373,9 +391,10 @@ int rtems_rfs_file_seek (rtems_rfs_file_handle* handle, * Set the size of the file to the new size. This can extend the file to a new * size. * - * @param handle The file handle. - * @param size The new size of the file. - * @return int The error number (errno). No error if 0. + * @param[in] handle is the file handle. + * @param[in] size is the new size of the file. + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_file_set_size (rtems_rfs_file_handle* handle, rtems_rfs_pos size); @@ -383,9 +402,12 @@ int rtems_rfs_file_set_size (rtems_rfs_file_handle* handle, /** * Return the shared file data for an ino. * - * @param fs The file system data. - * @param ino The inode number to locate the data for. + * @param[in] fs is the file system data. + * @param[in] ino is the inode number to locate the data for. * @return rtems_rfs_file_shared* The shared data or NULL is not located. + * + * @retval shared The shared data. + * @retval NULL No shared file data is located. */ rtems_rfs_file_shared* rtems_rfs_file_get_shared (rtems_rfs_file_system* fs, rtems_rfs_ino ino); diff --git a/cpukit/libfs/src/rfs/rtems-rfs-format.h b/cpukit/libfs/src/rfs/rtems-rfs-format.h index 56b1aa9d82..f0d9f0c2b1 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-format.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-format.h @@ -75,8 +75,9 @@ typedef struct _rtems_rfs_format_config /** * RFS Format command. * - * @param name The device name to format. - * @param config Pointer to a configuration table. + * @param[in] name is the device name to format. + * @param[in] config is a pointer to the configuration table. + * * @retval -1 Error. See errno. * @retval 0 No error. Format successful. */ diff --git a/cpukit/libfs/src/rfs/rtems-rfs-inode.h b/cpukit/libfs/src/rfs/rtems-rfs-inode.h index a26232fdc3..a8be80f6ff 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-inode.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-inode.h @@ -230,8 +230,9 @@ typedef struct _rtems_rfs_inode_handle /** * Get the link count. * - * @param handle The inode handle. - * @return uint16_t The link count. + * @param[in] handle is the inode handle. + * + * @retval links The link count. */ static inline uint16_t rtems_rfs_inode_get_links (rtems_rfs_inode_handle* handle) @@ -246,8 +247,8 @@ rtems_rfs_inode_get_links (rtems_rfs_inode_handle* handle) /** * Set the link count. * - * @param handle The inode handle. - * @prarm links The links. + * @param[in] handle is the inode handle. + * @param[in] links are the links. */ static inline void rtems_rfs_inode_set_links (rtems_rfs_inode_handle* handle, uint16_t links) @@ -259,8 +260,9 @@ rtems_rfs_inode_set_links (rtems_rfs_inode_handle* handle, uint16_t links) /** * Get the flags. * - * @param handle The inode handle. - * @return uint16_t The flags. + * @param[in] handle is the inode handle. + * + * @retval flags The flags. */ static inline uint16_t rtems_rfs_inode_get_flags (rtems_rfs_inode_handle* handle) @@ -271,8 +273,8 @@ rtems_rfs_inode_get_flags (rtems_rfs_inode_handle* handle) /** * Set the flags. * - * @param handle The inode handle. - * @prarm flags The flags. + * @param[in] handle is the inode handle. + * @param[in] flags are the flags. */ static inline void rtems_rfs_inode_set_flags (rtems_rfs_inode_handle* handle, uint16_t flags) @@ -284,8 +286,9 @@ rtems_rfs_inode_set_flags (rtems_rfs_inode_handle* handle, uint16_t flags) /** * Get the mode. * - * @param handle The inode handle. - * @return uint16_t The mode. + * @param[in] handle is the inode handle. + * + * @retval mode The mode. */ static inline uint16_t rtems_rfs_inode_get_mode (rtems_rfs_inode_handle* handle) @@ -296,8 +299,8 @@ rtems_rfs_inode_get_mode (rtems_rfs_inode_handle* handle) /** * Set the mode. * - * @param handle The inode handle. - * @prarm mode The mode. + * @param[in] handle is the inode handle. + * @param[in] mode is the mode. */ static inline void rtems_rfs_inode_set_mode (rtems_rfs_inode_handle* handle, uint16_t mode) @@ -309,8 +312,9 @@ rtems_rfs_inode_set_mode (rtems_rfs_inode_handle* handle, uint16_t mode) /** * Get the user id. * - * @param handle The inode handle. - * @return uint16_t The user id (uid). + * @param[in] handle is the inode handle. + * + * @retval uid The used id. */ static inline uint16_t rtems_rfs_inode_get_uid (rtems_rfs_inode_handle* handle) @@ -321,8 +325,9 @@ rtems_rfs_inode_get_uid (rtems_rfs_inode_handle* handle) /** * Get the group id. * - * @param handle The inode handle. - * @return uint16_t The group id (gid). + * @param[in] handle is the inode handle. + * + * @retval gid The grpup id. */ static inline uint16_t rtems_rfs_inode_get_gid (rtems_rfs_inode_handle* handle) @@ -333,9 +338,9 @@ rtems_rfs_inode_get_gid (rtems_rfs_inode_handle* handle) /** * Set the user id and group id. * - * @param handle The inode handle. - * @param uid The user id (uid). - * @param gid The group id (gid). + * @param[in] handle is the inode handle. + * @param[in] uid is the user id (uid). + * @param[in] gid is the group id (gid). */ static inline void rtems_rfs_inode_set_uid_gid (rtems_rfs_inode_handle* handle, @@ -348,8 +353,9 @@ rtems_rfs_inode_set_uid_gid (rtems_rfs_inode_handle* handle, /** * Get the block offset. * - * @param handle The inode handle. - * @return uint32_t The block offset. + * @param[in] handle is the inode handle. + * + * @retval offset The block offset. */ static inline uint16_t rtems_rfs_inode_get_block_offset (rtems_rfs_inode_handle* handle) @@ -360,8 +366,8 @@ rtems_rfs_inode_get_block_offset (rtems_rfs_inode_handle* handle) /** * Set the block offset. * - * @param handle The inode handle. - * @param block_count The block offset. + * @param[in] handle is the inode handle. + * @param[in] block_count is the block offset. */ static inline void rtems_rfs_inode_set_block_offset (rtems_rfs_inode_handle* handle, @@ -374,8 +380,9 @@ rtems_rfs_inode_set_block_offset (rtems_rfs_inode_handle* handle, /** * Get the block count. * - * @param handle The inode handle. - * @return uint32_t The block count. + * @param[in] handle is the inode handle. + * + * @retval count The block count. */ static inline uint32_t rtems_rfs_inode_get_block_count (rtems_rfs_inode_handle* handle) @@ -386,8 +393,8 @@ rtems_rfs_inode_get_block_count (rtems_rfs_inode_handle* handle) /** * Set the block count. * - * @param handle The inode handle. - * @param block_count The block count. + * @param[in] handle is the inode handle. + * @param[in] block_count is the block count. */ static inline void rtems_rfs_inode_set_block_count (rtems_rfs_inode_handle* handle, uint32_t block_count) @@ -399,8 +406,9 @@ rtems_rfs_inode_set_block_count (rtems_rfs_inode_handle* handle, uint32_t block_ /** * Get the atime. * - * @param handle The inode handle. - * @return rtems_rfs_time The atime. + * @param[in] handle is the inode handle. + * + * @retval atime The atime. */ static inline rtems_rfs_time rtems_rfs_inode_get_atime (rtems_rfs_inode_handle* handle) @@ -411,8 +419,8 @@ rtems_rfs_inode_get_atime (rtems_rfs_inode_handle* handle) /** * Set the atime. * - * @param handle The inode handle. - * @prarm atime The atime. + * @param[in] handle is the inode handle. + * @param[in] atime The atime. */ static inline void rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle, @@ -425,8 +433,9 @@ rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle, /** * Get the mtime. * - * @param handle The inode handle. - * @return rtems_rfs_time The mtime. + * @param[in] handle is the inode handle. + * + * @retval mtime The mtime. */ static inline rtems_rfs_time rtems_rfs_inode_get_mtime (rtems_rfs_inode_handle* handle) @@ -437,8 +446,8 @@ rtems_rfs_inode_get_mtime (rtems_rfs_inode_handle* handle) /** * Set the mtime. * - * @param handle The inode handle. - * @prarm atime The mtime. + * @param[in] handle is the inode handle. + * @param[in] mtime The mtime. */ static inline void rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle, @@ -451,8 +460,9 @@ rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle, /** * Get the ctime. * - * @param handle The inode handle. - * @return rtems_rfs_time The ctime. + * @param[in] handle is the inode handle. + * + * @retval ctime The ctime. */ static inline rtems_rfs_time rtems_rfs_inode_get_ctime (rtems_rfs_inode_handle* handle) @@ -463,8 +473,8 @@ rtems_rfs_inode_get_ctime (rtems_rfs_inode_handle* handle) /** * Set the ctime. * - * @param handle The inode handle. - * @prarm atime The ctime. + * @param[in] handle is the inode handle. + * @param[in] ctime The ctime. */ static inline void rtems_rfs_inode_set_ctime (rtems_rfs_inode_handle* handle, @@ -477,9 +487,10 @@ rtems_rfs_inode_set_ctime (rtems_rfs_inode_handle* handle, /** * Get the block number. * - * @param handle The inode handle. - * @param block The block number to return. - * @return uint32_t The block number. + * @param[in] handle is the inode handle. + * @param[in] block is the block number to return. + * + * @retval block The block number. */ static inline uint32_t rtems_rfs_inode_get_block (rtems_rfs_inode_handle* handle, int block) @@ -490,9 +501,9 @@ rtems_rfs_inode_get_block (rtems_rfs_inode_handle* handle, int block) /** * Set the block number for a given block index. * - * @param handle The inode handle. - * @param block The block index. - * @param bno The block number. + * @param[in] handle is the inode handle. + * @param[in] block is the block index. + * @param[in] bno is the block number. */ static inline void rtems_rfs_inode_set_block (rtems_rfs_inode_handle* handle, int block, uint32_t bno) @@ -504,8 +515,9 @@ rtems_rfs_inode_set_block (rtems_rfs_inode_handle* handle, int block, uint32_t b /** * Get the last map block from the inode. * - * @param handle The inode handle. - * @return uint32_t The last map block number. + * @param[in] handle is the inode handle. + * + * @retval block The last map block number. */ static inline uint32_t rtems_rfs_inode_get_last_map_block (rtems_rfs_inode_handle* handle) @@ -516,8 +528,8 @@ rtems_rfs_inode_get_last_map_block (rtems_rfs_inode_handle* handle) /** * Set the last map block. * - * @param handle The inode handle. - * @param block_count The last map block number. + * @param[in] handle is the inode handle. + * @param[in] block_count is last map block number. */ static inline void rtems_rfs_inode_set_last_map_block (rtems_rfs_inode_handle* handle, uint32_t last_map_block) @@ -529,8 +541,10 @@ rtems_rfs_inode_set_last_map_block (rtems_rfs_inode_handle* handle, uint32_t las /** * Get the last data block from the inode. * - * @param handle The inode handle. - * @return uint32_t The last data block number. + * @param[in] handle is the inode handle. + * + * @retval block The last data block number. + * */ static inline uint32_t rtems_rfs_inode_get_last_data_block (rtems_rfs_inode_handle* handle) @@ -541,8 +555,8 @@ rtems_rfs_inode_get_last_data_block (rtems_rfs_inode_handle* handle) /** * Set the last data block. * - * @param handle The inode handle. - * @param block_count The last data block number. + * @param[in] handle is the inode handle. + * @param[in] block_count is the last data block number. */ static inline void rtems_rfs_inode_set_last_data_block (rtems_rfs_inode_handle* handle, uint32_t last_data_block) @@ -554,20 +568,24 @@ rtems_rfs_inode_set_last_data_block (rtems_rfs_inode_handle* handle, uint32_t la /** * Allocate an inode number and return it. * - * @param fs The file system data. - * @param ino Return the ino. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[out] ino will contain the ino. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_inode_alloc (rtems_rfs_file_system* fs, rtems_rfs_bitmap_bit goal, rtems_rfs_ino* ino); /** - * Allocate an inode number and return it. + * Free an inode. * - * @param fs The file system data. - * @param ino The ino too free. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[in] ino is the ino too free. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_inode_free (rtems_rfs_file_system* fs, rtems_rfs_ino ino); @@ -577,11 +595,13 @@ int rtems_rfs_inode_free (rtems_rfs_file_system* fs, * data pointer. All data is in media byte order and needs to be accessed via * the supporting calls. * - * @param fs The file system. - * @param ino The inode number. - * @param handle The handle to the inode we are opening. - * @param load If true load the inode into memory from the media. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system. + * @param[in] ino is the inode number. + * @param[in] handle is the handle to the inode we are opening. + * @param[in] load If true load the inode into memory from the media. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_inode_open (rtems_rfs_file_system* fs, rtems_rfs_ino ino, @@ -591,9 +611,11 @@ int rtems_rfs_inode_open (rtems_rfs_file_system* fs, /** * The close inode handle. All opened inodes need to be closed. * - * @param fs The file system. - * @param handle The handle to close. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system. + * @param[in] handle is the handle to close. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_inode_close (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* handle); @@ -601,9 +623,11 @@ int rtems_rfs_inode_close (rtems_rfs_file_system* fs, /** * Load the inode into memory. * - * @param fs The file system. - * @param handle The inode handle to load. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system. + * @param[in] handle is the inode handle to load. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_inode_load (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* handle); @@ -611,10 +635,12 @@ int rtems_rfs_inode_load (rtems_rfs_file_system* fs, /** * Unload the inode from memory. * - * @param fs The file system. - * @param handle The inode handle to unload. - * @param update_ctime Update the ctime field of the inode. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system. + * @param[in] handle is the inode handle to unload. + * @param[in] update_ctime Update the ctime field of the inode. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_inode_unload (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* handle, @@ -624,9 +650,10 @@ int rtems_rfs_inode_unload (rtems_rfs_file_system* fs, * Create an inode allocating, initialising and adding an entry to the parent * directory. * - * @param fs The file system data. - * @param parent The parent inode number to add the directory entry to. - * @param name The name of the directory entryinode to create. + * @param[in] fs is the file system data. + * @param[in] parent is the parent inode number to add the directory entry to. + * @param[in] name is a pointer to the name of the directory entryinode + * to create. * */ int rtems_rfs_inode_create (rtems_rfs_file_system* fs, @@ -643,9 +670,11 @@ int rtems_rfs_inode_create (rtems_rfs_file_system* fs, * Delete the inode eraseing it and release the buffer to commit the write. You * need to load the inode again if you wish to use it again. * - * @param fs The file system. - * @param handle The inode handle to erase. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system. + * @param[in] handle is the inode handle to erase. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_inode_delete (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* handle); @@ -653,12 +682,14 @@ int rtems_rfs_inode_delete (rtems_rfs_file_system* fs, /** * Initialise a new inode. * - * @param handle The inode handle to initialise. - * @param links The number of links to the inode. - * @param mode The inode mode. - * @param uid The user id. - * @param gid The group id. - * @return int The error number (errno). No error if 0. + * @param[in] handle is the inode handle to initialise. + * @param[in] links are the number of links to the inode. + * @param[in] mode is the inode mode. + * @param[in] uid is the user id. + * @param[in] gid is the group id. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_inode_initialise (rtems_rfs_inode_handle* handle, uint16_t links, @@ -670,11 +701,13 @@ int rtems_rfs_inode_initialise (rtems_rfs_inode_handle* handle, * Time stamp the inode with the current time. The ctime field is hanlded * automatically. * - * @param handle The inode handle. - * @param atime Update the atime field. - * @param mtime UPdate the mtime field. - * @return int The error number (errno). No error if 0 and ENXIO if no inode - * loaded. + * @param[in] handle is the inode handle. + * @param[in] atime Update the atime field. + * @param[in] mtime UPdate the mtime field. + * + * @retval 0 Successful operation. + * @retval ENXIO No inode is loaded. + * @retval error_code An error occurred. */ int rtems_rfs_inode_time_stamp_now (rtems_rfs_inode_handle* handle, bool atime, @@ -683,10 +716,10 @@ int rtems_rfs_inode_time_stamp_now (rtems_rfs_inode_handle* handle, /** * Calculate the size of data attached to the inode. * - * @param fs The file system data. - * @param handle The inode handle. - * @return rtems_rfs_pos The data size in bytes in the block map attched to the - * inode. + * @param[in] fs is the file system data. + * @param[in] handle is the inode handle. + * + * @retval size The data size in bytes in the block map attched to the inode. */ rtems_rfs_pos rtems_rfs_inode_get_size (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* handle); diff --git a/cpukit/libfs/src/rfs/rtems-rfs-link.h b/cpukit/libfs/src/rfs/rtems-rfs-link.h index 0f473f2200..6a1cf18f6d 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-link.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-link.h @@ -41,13 +41,16 @@ typedef enum rtems_rfs_unlink_dir_e * Create a link. Do not link directories unless renaming or you will create * loops in the file system. * - * @param fs The file system. - * @param name The name of the link. - * @param length The length of the name. - * @param parent The inode number of the parent directory. - * @param target The inode of the target. - * @param link_dir If true directories can be linked. Useful when renaming. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system. + * @param[in] name is a pointer to the name of the link. + * @param[in] length is the length of the name. + * @param[in] parent is the inode number of the parent directory. + * @param[in] target is the inode of the target. + * @param[in] link_dir If true directories can be linked. Useful when + * renaming. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_link (rtems_rfs_file_system* fs, const char* name, @@ -57,16 +60,18 @@ int rtems_rfs_link (rtems_rfs_file_system* fs, bool link_dir); /** - * Unlink the node from the parent directory. A directory offset for the target - * entry is required because links cause a number of inode numbers to appear in - * a single directory so scanning does not work. + * Unlink the node from the parent directory. A directory offset for the + * target entry is required because links cause a number of inode numbers to + * appear in a single directory so scanning does not work. + * + * @param[in] fs is the file system. + * @param[in] parent is the inode number of the parent directory. + * @param[in] target is the inode of the target. + * @param[in] doff is the parent directory entry offset for the target entry. + * @param[in] dir_mode is the directory unlink mode. * - * @param fs The file system. - * @param parent The inode number of the parent directory. - * @param target The inode of the target. - * @param doff Parent directory entry offset for the target entry. - * @param dir_mode Directory unlink mode. - * @return int The error number (errno). No error if 0. + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_unlink (rtems_rfs_file_system* fs, rtems_rfs_ino parent, @@ -77,13 +82,16 @@ int rtems_rfs_unlink (rtems_rfs_file_system* fs, /** * Symbolic link is an inode that has a path attached. * - * @param fs The file system data. - * @param name The name of the node. - * @param length The length of the name of the node. - * @param link The link path attached to the symlink inode. - * @param link_length The length of the link path. - * @param parent The parent inode number. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[in] name is a pointer to the name of the node. + * @param[in] length is the length of the name of the node. + * @param[in] link is a pointer to the link path attached to the + * symlink inode. + * @param[in] link_length is the length of the link path. + * @param[in] parent is the parent inode number. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_symlink (rtems_rfs_file_system* fs, const char* name, @@ -98,12 +106,14 @@ int rtems_rfs_symlink (rtems_rfs_file_system* fs, * Read a symbolic link into the provided buffer returning the link of link * name. * - * @param fs The file system data. - * @param link The link inode number to read. - * @param path The buffer to write the link path into. - * @param size The size of the buffer. - * @param length Set to the length of the link path. - * @return int The error number (errno). No error if 0. + * @param[in] fs is the file system data. + * @param[in] link is the link inode number to read. + * @param[in] path is a pointer to the buffer to write the link path into. + * @param[in] size is the size of the buffer. + * @param[out] length will contain the length of the link path. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_rfs_symlink_read (rtems_rfs_file_system* fs, rtems_rfs_ino link, diff --git a/cpukit/libfs/src/rfs/rtems-rfs-mutex.h b/cpukit/libfs/src/rfs/rtems-rfs-mutex.h index ac04aeea1a..edf67f4f7b 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-mutex.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-mutex.h @@ -41,27 +41,33 @@ typedef uint32_t rtems_rfs_mutex; /* place holder */ #endif /** - * Create the mutex. + * @brief Create the mutex. + * + * @param [in] mutex is pointer to the mutex handle returned to the caller. + * + * @retval 0 Successful operation. + * @retval EIO An error occurred. * - * @param mutex Reference to the mutex handle returned to the caller. - * @return int The error number (errno). No error if 0. */ int rtems_rfs_mutex_create (rtems_rfs_mutex* mutex); /** - * Create the mutex. + * @brief Destroy the mutex. + * + * @param[in] mutex Reference to the mutex handle returned to the caller. * - * @param mutex Reference to the mutex handle returned to the caller. - * @return int The error number (errno). No error if 0. + * @retval 0 Successful operation. + * @retval EIO An error occurred. */ int rtems_rfs_mutex_destroy (rtems_rfs_mutex* mutex); /** - * Lock the mutex. + * @brief Lock the mutex. * - * @param mutex The mutex to lock. - * @retval true The mutex is locked. - * @retval false The mutex could not be locked. + * @param[in] mutex is a pointer to the mutex to lock. + * + * @retval 0 Successful operation. + * @retval EIO An error occurred. */ static inline int rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex) @@ -82,11 +88,12 @@ rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex) } /** - * Unlock the mutex. + * @brief Unlock the mutex. + * + * @param[in] mutex is a pointer to the mutex to unlock. * - * @param mutex The mutex to unlock. - * @retval true The mutex is unlocked. - * @retval false The mutex could not be unlocked. + * @retval 0 Successful operation. + * @retval EIO An error occurred. */ static inline int rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex) diff --git a/cpukit/libfs/src/rfs/rtems-rfs-rtems.h b/cpukit/libfs/src/rfs/rtems-rfs-rtems.h index 00fcb27143..bbff3aeaf3 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-rtems.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-rtems.h @@ -1,10 +1,3 @@ -/* - * COPYRIGHT (c) 2010 Chris Johns - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - */ /** * @file * @@ -15,6 +8,14 @@ * This file is not to be installed. It binds the RFS file system to RTEMS. */ +/* + * COPYRIGHT (c) 2010 Chris Johns + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + #if !defined(RTEMS_RFS_RTEMS_DEFINED) #define RTEMS_RFS_RTEMS_DEFINED @@ -44,10 +45,12 @@ * Take the result code and set errno with it and if non-zero return -1 else * return 0. * - * @param what The message to print is the error is not zero. - * @param error The error code. - * @retval -1 An error has occurred. - * @retval 0 No error. + * @param[in] what is a pointer to the message to print if the error + * is not zero. + * @param[in] error is the error code. + * + * @retval 0 Successful operation. + * @retval -1 An error occurred. */ int rtems_rfs_rtems_error (const char* mesg, int error); #endif @@ -84,7 +87,8 @@ int rtems_rfs_rtems_error (const char* mesg, int error); * defined to 0 the code is dead code elminiated when built with -Os, -O2, or * higher. * - * @param mask The part of the API to trace. + * @param[in] mask is the part of the API to trace. + * * @retval true Tracing is active for the mask. * @retval false Do not trace. */ @@ -97,8 +101,9 @@ bool rtems_rfs_rtems_trace (uint32_t mask); /** * Set the mask. * - * @param mask The mask bits to set. - * @return The previous mask. + * @param[in] mask is the mask bits to set. + * + * @retval mask The previous mask. */ #if RTEMS_RFS_RTEMS_TRACE void rtems_rfs_rtems_trace_set_mask (uint32_t mask); @@ -109,8 +114,9 @@ void rtems_rfs_rtems_trace_set_mask (uint32_t mask); /** * Clear the mask. * - * @param mask The mask bits to clear. - * @return The previous mask. + * @param[in] mask is the mask bits to clear. + * + * @retval mask The previous mask. */ #if RTEMS_RFS_RTEMS_TRACE void rtems_rfs_rtems_trace_clear_mask (uint32_t mask); @@ -144,7 +150,7 @@ typedef struct rtems_rfs_rtems_private /** * Return the file system structure given a path location. * - * @param _loc Pointer to the path location. + * @param[in] _loc is a pointer to the path location. * @return rtems_rfs_file_system* */ #define rtems_rfs_rtems_pathloc_dev(_loc) \ @@ -153,8 +159,8 @@ typedef struct rtems_rfs_rtems_private /** * Set the inode number (ino) into the path location. * - * @param _loc Pointer to the path location. - * @param _ino The ino to set in the path location. + * @param[in] _loc is a pointer to the path location. + * @param[in] _ino is the ino to set in the path location. */ #define rtems_rfs_rtems_set_pathloc_ino(_loc, _ino) \ (_loc)->node_access = (void*)((intptr_t)(_ino)) @@ -162,7 +168,7 @@ typedef struct rtems_rfs_rtems_private /** * Get the inode number (ino) given a path location. * - * @param _loc Pointer to the path location. + * @param[in] _loc is a pointer to the path location. * @return rtems_rfs_ino The inode number in the path location. */ #define rtems_rfs_rtems_get_pathloc_ino(_loc) \ @@ -171,8 +177,8 @@ typedef struct rtems_rfs_rtems_private /** * Set the directory offset (doff) into the path location. * - * @param _loc Pointer to the path location. - * @param _doff The doff to set in the path location. + * @param[in] _loc is a pointer to the path location. + * @param[in] _doff is the doff to set in the path location. */ #define rtems_rfs_rtems_set_pathloc_doff(_loc, _doff) \ (_loc)->node_access_2 = (void*)((intptr_t)(_doff)) @@ -180,7 +186,7 @@ typedef struct rtems_rfs_rtems_private /** * Get the directory offset (doff) given a path location. * - * @param _loc Pointer to the path location. + * @param[in] _loc is a pointer to the path location. * @return uin32_t The doff in the path location. */ #define rtems_rfs_rtems_get_pathloc_doff(_loc) \ @@ -189,7 +195,7 @@ typedef struct rtems_rfs_rtems_private /** * Get the ino from the I/O pointer. * - * @param _iop The I/O pointer. + * @param[in] _iop is the I/O pointer. * @return ino */ #define rtems_rfs_rtems_get_iop_ino(_iop) \ @@ -207,8 +213,8 @@ typedef struct rtems_rfs_rtems_private /** * Set the file handle in the I/O pointer. * - * @param _iop The I/O pointer. - * @param _fh The file handle. + * @param[in] _iop is the I/O pointer. + * @param[in] _fh is the file handle. */ #define rtems_rfs_rtems_set_iop_file_handle(_iop, _fh) \ (_iop)->pathinfo.node_access_2 = (_fh) @@ -216,7 +222,7 @@ typedef struct rtems_rfs_rtems_private /** * Create the name of the handler's table given the type of handlers. * - * @param _h The name of the handlers. + * @param[in] _h is the name of the handlers. * @return label The name of the handler's table. */ #define rtems_rfs_rtems_handlers(_h) \ @@ -225,8 +231,10 @@ typedef struct rtems_rfs_rtems_private /** * Set the handlers in the path location based on the mode of the inode. * - * @param loc Pointer to the path location to set the handlers in. - * @param inode The inode handle to check the mode of for the type of handlers. + * @param[in] loc is a pointer to the path location to set the handlers in. + * @param[in] inode is the inode handle to check the mode of for the + * type of handlers. + * * @retval true The handlers have been set. * @retval false There are no handlers for the mode. */ @@ -236,7 +244,7 @@ bool rtems_rfs_rtems_set_handlers (rtems_filesystem_location_info_t* pathloc, /** * Convert the system mode flags to inode mode flags. * - * @param mode The system mode flags. + * @param[in] mode is the system mode flags. * @return uint16_t The inode mode flags. */ uint16_t rtems_rfs_rtems_imode (mode_t mode); @@ -244,7 +252,7 @@ uint16_t rtems_rfs_rtems_imode (mode_t mode); /** * Convert the inode mode flags to system mode flags. * - * @param imode The inode mode flags + * @param[in] imode is the inode mode flags * @return mode_t The system mode flags. */ mode_t rtems_rfs_rtems_mode (int imode); diff --git a/cpukit/libfs/src/rfs/rtems-rfs-shell.h b/cpukit/libfs/src/rfs/rtems-rfs-shell.h index 135290d3e9..a917b8556c 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-shell.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-shell.h @@ -1,6 +1,5 @@ /** * @file - * * * @ingroup rtems-rfs * @brief RTEMS File Systems Shell Commands @@ -27,18 +26,22 @@ /** * The shell command for the RFS debugger. * - * @param argc The argument count. - * @param argv The argument variables. - * @return int The exit code for the command. A 0 is no error. + * @param[in] argc is the argument count. + * @param[in] argv is a pointer to the argument variables. + * + * @retval 0 Successful operation. + * @retval error_code An error occurred. */ int rtems_shell_debugrfs (int argc, char *argv[]); /** * The shell command for formatting an RFS file system. * - * @param argc The argument count. - * @param argv The argument variables. - * @return int The exit code for the command. A 0 is no error. + * @param[in] argc is the argument count. + * @param[in] argv is a pointer to the argument variables. + * + * @retval 0 Successful operation. + * @retval 1 An error occurred. */ int rtems_shell_rfs_format (int argc, char* argv[]); diff --git a/cpukit/libfs/src/rfs/rtems-rfs-trace.h b/cpukit/libfs/src/rfs/rtems-rfs-trace.h index 09273a5939..030e6c2058 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-trace.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-trace.h @@ -1,7 +1,8 @@ /** * @file * - * @brief Manages the Trace and Debugging Features of the RTEMS RFS File System + * @brief Manages the Trace and Debugging Features of the + * RTEMS RFS File System * * @ingroup rtems-rfs * @@ -87,7 +88,8 @@ typedef uint64_t rtems_rfs_trace_mask; * Call to check if this part is bring traced. If RTEMS_RFS_TRACE is defined to * 0 the code is dead code elminiated when built with -Os, -O2, or higher. * - * @param mask The part of the API to trace. + * @param[in] mask is the part of the API to trace. + * * @retval true Tracing is active for the mask. * @retval false Do not trace. */ @@ -100,8 +102,9 @@ bool rtems_rfs_trace (rtems_rfs_trace_mask mask); /** * Set the mask. * - * @param mask The mask bits to set. - * @return The previous mask. + * @param[in] mask are the mask bits to set. + * + * @retval mask The previous mask. */ #if RTEMS_RFS_TRACE rtems_rfs_trace_mask rtems_rfs_trace_set_mask (rtems_rfs_trace_mask mask); @@ -112,8 +115,9 @@ rtems_rfs_trace_mask rtems_rfs_trace_set_mask (rtems_rfs_trace_mask mask); /** * Clear the mask. * - * @param mask The mask bits to clear. - * @return The previous mask. + * @param[in] mask are the mask bits to clear. + * + * @retval mask The previous mask. */ #if RTEMS_RFS_TRACE rtems_rfs_trace_mask rtems_rfs_trace_clear_mask (rtems_rfs_trace_mask mask); diff --git a/cpukit/libfs/src/rfs/rtems-rfs.h b/cpukit/libfs/src/rfs/rtems-rfs.h index 251a61805f..b1684e0ebd 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs.h +++ b/cpukit/libfs/src/rfs/rtems-rfs.h @@ -1,19 +1,21 @@ -/* - * COPYRIGHT (c) 2010 Chris Johns - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - */ /** * @file * + * @brief RFS File system Initialization * @ingroup rtems-rfs * * RTEMS File System * */ +/* + * COPYRIGHT (c) 2010 Chris Johns + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + #if !defined(RTEMS_RFS_DEFINED) #define RTEMS_RFS_DEFINED -- cgit v1.2.3 From 66fffc747336e40ca78957dcea073fb9c4ec9e39 Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Tue, 8 Jan 2013 09:22:33 -0600 Subject: score: Doxygen Clean Up Task #15 --- cpukit/score/cpu/arm/rtems/asm.h | 22 +- cpukit/score/cpu/arm/rtems/score/arm.h | 4 +- cpukit/score/cpu/arm/rtems/score/armv7m.h | 9 +- cpukit/score/cpu/arm/rtems/score/cpu.h | 10 +- cpukit/score/cpu/arm/rtems/score/cpu_asm.h | 2 +- cpukit/score/cpu/arm/rtems/score/types.h | 4 +- cpukit/score/cpu/m32r/rtems/asm.h | 58 +- cpukit/score/cpu/m32r/rtems/score/cpu.h | 1244 ++++++++++++++------------- cpukit/score/cpu/m32r/rtems/score/cpu_asm.h | 12 +- cpukit/score/cpu/m32r/rtems/score/m32r.h | 16 +- cpukit/score/cpu/m32r/rtems/score/types.h | 10 +- cpukit/score/cpu/m68k/rtems/asm.h | 21 +- cpukit/score/cpu/m68k/rtems/m68k/m68302.h | 10 +- cpukit/score/cpu/m68k/rtems/m68k/m68360.h | 17 +- cpukit/score/cpu/m68k/rtems/m68k/qsm.h | 10 +- cpukit/score/cpu/m68k/rtems/m68k/sim.h | 10 +- cpukit/score/cpu/m68k/rtems/score/cpu.h | 10 +- cpukit/score/cpu/m68k/rtems/score/m68k.h | 10 +- cpukit/score/cpu/m68k/rtems/score/types.h | 10 +- cpukit/score/cpu/v850/rtems/score/cpu_asm.h | 13 +- 20 files changed, 769 insertions(+), 733 deletions(-) diff --git a/cpukit/score/cpu/arm/rtems/asm.h b/cpukit/score/cpu/arm/rtems/asm.h index e6951dbb28..affb2e8f50 100644 --- a/cpukit/score/cpu/arm/rtems/asm.h +++ b/cpukit/score/cpu/arm/rtems/asm.h @@ -1,21 +1,17 @@ /** * @file * - * @ingroup ScoreCPU + * @brief ARM Assembler Support API * - * @brief ARM assembler support API. - */ - -/* - * This include file attempts to address the problems - * caused by incompatible flavors of assemblers and - * toolsets. It primarily addresses variations in the - * use of leading underscores on symbols and the requirement - * that register names be preceded by a %. + * This include file attempts to address the problems + * caused by incompatible flavors of assemblers and + * toolsets. It primarily addresses variations in the + * use of leading underscores on symbols and the requirement + * that register names be preceded by a %. * * - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. + * NOTE: The spacing in the use of these macros + * is critical to them working as advertised. */ /* @@ -53,7 +49,7 @@ * * @ingroup ScoreCPU * - * @brief ARM assembler support. + * @brief ARM Assembler Support * * @{ */ diff --git a/cpukit/score/cpu/arm/rtems/score/arm.h b/cpukit/score/cpu/arm/rtems/score/arm.h index c4f7cf2324..96652fa5f3 100644 --- a/cpukit/score/cpu/arm/rtems/score/arm.h +++ b/cpukit/score/cpu/arm/rtems/score/arm.h @@ -1,9 +1,7 @@ /** * @file * - * @ingroup ScoreCPU - * - * @brief ARM assembler support API. + * @brief ARM Assembler Support API */ /* diff --git a/cpukit/score/cpu/arm/rtems/score/armv7m.h b/cpukit/score/cpu/arm/rtems/score/armv7m.h index 9b56f797c7..3a41a0c707 100644 --- a/cpukit/score/cpu/arm/rtems/score/armv7m.h +++ b/cpukit/score/cpu/arm/rtems/score/armv7m.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief ARMV7M Architecture Support + */ + /* * Copyright (c) 2011 Sebastian Huber. All rights reserved. * @@ -474,8 +480,7 @@ void _ARMV7M_Set_exception_handler( ); /** - * @brief ARMV7M Set Exception Priority and Handler - * + * @brief ARMV7M set exception priority and handler. */ void _ARMV7M_Set_exception_priority_and_handler( int index, diff --git a/cpukit/score/cpu/arm/rtems/score/cpu.h b/cpukit/score/cpu/arm/rtems/score/cpu.h index 008311244c..18938443ef 100644 --- a/cpukit/score/cpu/arm/rtems/score/cpu.h +++ b/cpukit/score/cpu/arm/rtems/score/cpu.h @@ -1,9 +1,7 @@ /** * @file * - * @ingroup ScoreCPU - * - * @brief ARM architecture support API. + * @brief ARM Architecture Support API */ /* @@ -399,8 +397,7 @@ void _CPU_Context_Initialize( } while (0); /** - * @brief CPU Initialize - * + * @brief CPU initialization. */ void _CPU_Initialize( void ); @@ -411,8 +408,7 @@ void _CPU_ISR_install_vector( ); /** - * @brief CPU Context Switch - * + * @brief CPU switch context. */ void _CPU_Context_switch( Context_Control *run, Context_Control *heir ); diff --git a/cpukit/score/cpu/arm/rtems/score/cpu_asm.h b/cpukit/score/cpu/arm/rtems/score/cpu_asm.h index 16c40125ec..59bfae079f 100644 --- a/cpukit/score/cpu/arm/rtems/score/cpu_asm.h +++ b/cpukit/score/cpu/arm/rtems/score/cpu_asm.h @@ -3,7 +3,7 @@ * * @ingroup ScoreCPU * - * @brief ARM assembler support API. + * @brief ARM Assembler Support API */ /* diff --git a/cpukit/score/cpu/arm/rtems/score/types.h b/cpukit/score/cpu/arm/rtems/score/types.h index f6de605b89..8b4b7f95e2 100644 --- a/cpukit/score/cpu/arm/rtems/score/types.h +++ b/cpukit/score/cpu/arm/rtems/score/types.h @@ -1,9 +1,7 @@ /** * @file * - * @ingroup ScoreCPU - * - * @brief ARM architecture types API. + * @brief ARM Architecture Types API */ /* diff --git a/cpukit/score/cpu/m32r/rtems/asm.h b/cpukit/score/cpu/m32r/rtems/asm.h index cd258c513b..11f5b876b9 100644 --- a/cpukit/score/cpu/m32r/rtems/asm.h +++ b/cpukit/score/cpu/m32r/rtems/asm.h @@ -1,17 +1,20 @@ /** - * @file rtems/asm.h + * @file * - * This include file attempts to address the problems - * caused by incompatible flavors of assemblers and - * toolsets. It primarily addresses variations in the - * use of leading underscores on symbols and the requirement - * that register names be preceded by a %. + * @brief Address the Problems Caused by Incompatible Flavor of + * Assemblers and Toolsets + * + * This include file attempts to address the problems + * caused by incompatible flavors of assemblers and + * toolsets. It primarily addresses variations in the + * use of leading underscores on symbols and the requirement + * that register names be preceded by a %. + * + * NOTE: The spacing in the use of these macros + * is critical to them working as advertised. */ /* - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. - * * COPYRIGHT: * * This file is based on similar code found in newlib available @@ -38,24 +41,24 @@ #ifndef __USER_LABEL_PREFIX__ /** - * Recent versions of GNU cpp define variables which indicate the - * need for underscores and percents. If not using GNU cpp or - * the version does not support this, then you will obviously - * have to define these as appropriate. + * Recent versions of GNU cpp define variables which indicate the + * need for underscores and percents. If not using GNU cpp or + * the version does not support this, then you will obviously + * have to define these as appropriate. * - * This symbol is prefixed to all C program symbols. + * This symbol is prefixed to all C program symbols. */ #define __USER_LABEL_PREFIX__ _ #endif #ifndef __REGISTER_PREFIX__ /** - * Recent versions of GNU cpp define variables which indicate the - * need for underscores and percents. If not using GNU cpp or - * the version does not support this, then you will obviously - * have to define these as appropriate. + * Recent versions of GNU cpp define variables which indicate the + * need for underscores and percents. If not using GNU cpp or + * the version does not support this, then you will obviously + * have to define these as appropriate. * - * This symbol is prefixed to all register names. + * This symbol is prefixed to all register names. */ #define __REGISTER_PREFIX__ #endif @@ -95,8 +98,9 @@ #define BEGIN_DATA /** This macro is used to denote the end of a data section. */ #define END_DATA -/** This macro is used to denote the beginning of the - * unitialized data section. +/** + * This macro is used to denote the beginning of the + * unitialized data section. */ #define BEGIN_BSS /** This macro is used to denote the end of the unitialized data section. */ @@ -105,18 +109,18 @@ #define END /** - * This macro is used to declare a public global symbol. + * This macro is used to declare a public global symbol. * - * @note This must be tailored for a particular flavor of the C compiler. - * They may need to put underscores in front of the symbols. + * NOTE: This must be tailored for a particular flavor of the C compiler. + * They may need to put underscores in front of the symbols. */ #define PUBLIC(sym) .globl SYM (sym) /** - * This macro is used to prototype a public global symbol. + * This macro is used to prototype a public global symbol. * - * @note This must be tailored for a particular flavor of the C compiler. - * They may need to put underscores in front of the symbols. + * NOTE: This must be tailored for a particular flavor of the C compiler. + * They may need to put underscores in front of the symbols. */ #define EXTERN(sym) .globl SYM (sym) diff --git a/cpukit/score/cpu/m32r/rtems/score/cpu.h b/cpukit/score/cpu/m32r/rtems/score/cpu.h index d6886ffefc..cb4ebe7ae9 100644 --- a/cpukit/score/cpu/m32r/rtems/score/cpu.h +++ b/cpukit/score/cpu/m32r/rtems/score/cpu.h @@ -1,22 +1,22 @@ /** - * @file rtems/score/cpu.h - */ - -/* - * This include file contains information pertaining to the XXX - * processor. + * @file + * + * @brief Intel M32R CPU Dependent Source + * + * This include file contains information pertaining to the XXX + * processor. * - * @note This file is part of a porting template that is intended - * to be used as the starting point when porting RTEMS to a new - * CPU family. The following needs to be done when using this as - * the starting point for a new port: + * NOTE: This file is part of a porting template that is intended + * to be used as the starting point when porting RTEMS to a new + * CPU family. The following needs to be done when using this as + * the starting point for a new port: * - * + Anywhere there is an XXX, it should be replaced - * with information about the CPU family being ported to. + * + Anywhere there is an XXX, it should be replaced + * with information about the CPU family being ported to. * - * + At the end of each comment section, there is a heading which - * says "Port Specific Information:". When porting to RTEMS, - * add CPU family specific information in this section + * + At the end of each comment section, there is a heading which + * says "Port Specific Information:". When porting to RTEMS, + * add CPU family specific information in this section */ /* @@ -41,172 +41,172 @@ extern "C" { /* conditional compilation parameters */ /** - * Should the calls to @ref _Thread_Enable_dispatch be inlined? + * Should the calls to @ref _Thread_Enable_dispatch be inlined? * - * If TRUE, then they are inlined. - * If FALSE, then a subroutine call is made. + * If TRUE, then they are inlined. + * If FALSE, then a subroutine call is made. * - * This conditional is an example of the classic trade-off of size - * versus speed. Inlining the call (TRUE) typically increases the - * size of RTEMS while speeding up the enabling of dispatching. + * This conditional is an example of the classic trade-off of size + * versus speed. Inlining the call (TRUE) typically increases the + * size of RTEMS while speeding up the enabling of dispatching. * - * @note In general, the @ref _Thread_Dispatch_disable_level will - * only be 0 or 1 unless you are in an interrupt handler and that - * interrupt handler invokes the executive.] When not inlined - * something calls @ref _Thread_Enable_dispatch which in turns calls - * @ref _Thread_Dispatch. If the enable dispatch is inlined, then - * one subroutine call is avoided entirely. + * NOTE: In general, the @ref _Thread_Dispatch_disable_level will + * only be 0 or 1 unless you are in an interrupt handler and that + * interrupt handler invokes the executive.] When not inlined + * something calls @ref _Thread_Enable_dispatch which in turns calls + * @ref _Thread_Dispatch. If the enable dispatch is inlined, then + * one subroutine call is avoided entirely. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_INLINE_ENABLE_DISPATCH FALSE /** - * Should the body of the search loops in _Thread_queue_Enqueue_priority - * be unrolled one time? In unrolled each iteration of the loop examines - * two "nodes" on the chain being searched. Otherwise, only one node - * is examined per iteration. + * Should the body of the search loops in _Thread_queue_Enqueue_priority + * be unrolled one time? In unrolled each iteration of the loop examines + * two "nodes" on the chain being searched. Otherwise, only one node + * is examined per iteration. * - * If TRUE, then the loops are unrolled. - * If FALSE, then the loops are not unrolled. + * If TRUE, then the loops are unrolled. + * If FALSE, then the loops are not unrolled. * - * The primary factor in making this decision is the cost of disabling - * and enabling interrupts (_ISR_Flash) versus the cost of rest of the - * body of the loop. On some CPUs, the flash is more expensive than - * one iteration of the loop body. In this case, it might be desirable - * to unroll the loop. It is important to note that on some CPUs, this - * code is the longest interrupt disable period in RTEMS. So it is - * necessary to strike a balance when setting this parameter. + * The primary factor in making this decision is the cost of disabling + * and enabling interrupts (_ISR_Flash) versus the cost of rest of the + * body of the loop. On some CPUs, the flash is more expensive than + * one iteration of the loop body. In this case, it might be desirable + * to unroll the loop. It is important to note that on some CPUs, this + * code is the longest interrupt disable period in RTEMS. So it is + * necessary to strike a balance when setting this parameter. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_UNROLL_ENQUEUE_PRIORITY TRUE /** - * Does RTEMS manage a dedicated interrupt stack in software? + * Does RTEMS manage a dedicated interrupt stack in software? * - * If TRUE, then a stack is allocated in @ref _ISR_Handler_initialization. - * If FALSE, nothing is done. + * If TRUE, then a stack is allocated in @ref _ISR_Handler_initialization. + * If FALSE, nothing is done. * - * If the CPU supports a dedicated interrupt stack in hardware, - * then it is generally the responsibility of the BSP to allocate it - * and set it up. + * If the CPU supports a dedicated interrupt stack in hardware, + * then it is generally the responsibility of the BSP to allocate it + * and set it up. * - * If the CPU does not support a dedicated interrupt stack, then - * the porter has two options: (1) execute interrupts on the - * stack of the interrupted task, and (2) have RTEMS manage a dedicated - * interrupt stack. + * If the CPU does not support a dedicated interrupt stack, then + * the porter has two options: (1) execute interrupts on the + * stack of the interrupted task, and (2) have RTEMS manage a dedicated + * interrupt stack. * - * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. + * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. * - * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and - * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is - * possible that both are FALSE for a particular CPU. Although it - * is unclear what that would imply about the interrupt processing - * procedure on that CPU. + * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and + * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is + * possible that both are FALSE for a particular CPU. Although it + * is unclear what that would imply about the interrupt processing + * procedure on that CPU. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_HAS_SOFTWARE_INTERRUPT_STACK FALSE /** - * Does the CPU follow the simple vectored interrupt model? + * Does the CPU follow the simple vectored interrupt model? * - * If TRUE, then RTEMS allocates the vector table it internally manages. - * If FALSE, then the BSP is assumed to allocate and manage the vector - * table + * If TRUE, then RTEMS allocates the vector table it internally manages. + * If FALSE, then the BSP is assumed to allocate and manage the vector + * table * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_SIMPLE_VECTORED_INTERRUPTS TRUE /** - * Does this CPU have hardware support for a dedicated interrupt stack? + * Does this CPU have hardware support for a dedicated interrupt stack? * - * If TRUE, then it must be installed during initialization. - * If FALSE, then no installation is performed. + * If TRUE, then it must be installed during initialization. + * If FALSE, then no installation is performed. * - * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. + * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. * - * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and - * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is - * possible that both are FALSE for a particular CPU. Although it - * is unclear what that would imply about the interrupt processing - * procedure on that CPU. + * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and + * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is + * possible that both are FALSE for a particular CPU. Although it + * is unclear what that would imply about the interrupt processing + * procedure on that CPU. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_HAS_HARDWARE_INTERRUPT_STACK TRUE /** - * Does RTEMS allocate a dedicated interrupt stack in the Interrupt Manager? + * Does RTEMS allocate a dedicated interrupt stack in the Interrupt Manager? * - * If TRUE, then the memory is allocated during initialization. - * If FALSE, then the memory is allocated during initialization. + * If TRUE, then the memory is allocated during initialization. + * If FALSE, then the memory is allocated during initialization. * - * This should be TRUE is CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE. + * This should be TRUE is CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ALLOCATE_INTERRUPT_STACK TRUE /** - * Does the RTEMS invoke the user's ISR with the vector number and - * a pointer to the saved interrupt frame (1) or just the vector - * number (0)? + * Does the RTEMS invoke the user's ISR with the vector number and + * a pointer to the saved interrupt frame (1) or just the vector + * number (0)? * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ISR_PASSES_FRAME_POINTER 0 /** - * @def CPU_HARDWARE_FP + * @def CPU_HARDWARE_FP * - * Does the CPU have hardware floating point? + * Does the CPU have hardware floating point? * - * If TRUE, then the RTEMS_FLOATING_POINT task attribute is supported. - * If FALSE, then the RTEMS_FLOATING_POINT task attribute is ignored. + * If TRUE, then the RTEMS_FLOATING_POINT task attribute is supported. + * If FALSE, then the RTEMS_FLOATING_POINT task attribute is ignored. * - * If there is a FP coprocessor such as the i387 or mc68881, then - * the answer is TRUE. + * If there is a FP coprocessor such as the i387 or mc68881, then + * the answer is TRUE. * - * The macro name "M32R_HAS_FPU" should be made CPU specific. - * It indicates whether or not this CPU model has FP support. For - * example, it would be possible to have an i386_nofp CPU model - * which set this to false to indicate that you have an i386 without - * an i387 and wish to leave floating point support out of RTEMS. + * The macro name "M32R_HAS_FPU" should be made CPU specific. + * It indicates whether or not this CPU model has FP support. For + * example, it would be possible to have an i386_nofp CPU model + * which set this to false to indicate that you have an i386 without + * an i387 and wish to leave floating point support out of RTEMS. */ /** - * @def CPU_SOFTWARE_FP + * @def CPU_SOFTWARE_FP * - * Does the CPU have no hardware floating point and GCC provides a - * software floating point implementation which must be context - * switched? + * Does the CPU have no hardware floating point and GCC provides a + * software floating point implementation which must be context + * switched? * - * This feature conditional is used to indicate whether or not there - * is software implemented floating point that must be context - * switched. The determination of whether or not this applies - * is very tool specific and the state saved/restored is also - * compiler specific. + * This feature conditional is used to indicate whether or not there + * is software implemented floating point that must be context + * switched. The determination of whether or not this applies + * is very tool specific and the state saved/restored is also + * compiler specific. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if ( M32R_HAS_FPU == 1 ) #define CPU_HARDWARE_FP TRUE @@ -216,201 +216,203 @@ extern "C" { #define CPU_SOFTWARE_FP FALSE /** - * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? + * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? * - * If TRUE, then the RTEMS_FLOATING_POINT task attribute is assumed. - * If FALSE, then the RTEMS_FLOATING_POINT task attribute is followed. + * If TRUE, then the RTEMS_FLOATING_POINT task attribute is assumed. + * If FALSE, then the RTEMS_FLOATING_POINT task attribute is followed. * - * So far, the only CPUs in which this option has been used are the - * HP PA-RISC and PowerPC. On the PA-RISC, The HP C compiler and - * gcc both implicitly used the floating point registers to perform - * integer multiplies. Similarly, the PowerPC port of gcc has been - * seen to allocate floating point local variables and touch the FPU - * even when the flow through a subroutine (like vfprintf()) might - * not use floating point formats. + * So far, the only CPUs in which this option has been used are the + * HP PA-RISC and PowerPC. On the PA-RISC, The HP C compiler and + * gcc both implicitly used the floating point registers to perform + * integer multiplies. Similarly, the PowerPC port of gcc has been + * seen to allocate floating point local variables and touch the FPU + * even when the flow through a subroutine (like vfprintf()) might + * not use floating point formats. * - * If a function which you would not think utilize the FP unit DOES, - * then one can not easily predict which tasks will use the FP hardware. - * In this case, this option should be TRUE. + * If a function which you would not think utilize the FP unit DOES, + * then one can not easily predict which tasks will use the FP hardware. + * In this case, this option should be TRUE. * - * If @ref CPU_HARDWARE_FP is FALSE, then this should be FALSE as well. + * If @ref CPU_HARDWARE_FP is FALSE, then this should be FALSE as well. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ALL_TASKS_ARE_FP TRUE /** - * Should the IDLE task have a floating point context? + * Should the IDLE task have a floating point context? * - * If TRUE, then the IDLE task is created as a RTEMS_FLOATING_POINT task - * and it has a floating point context which is switched in and out. - * If FALSE, then the IDLE task does not have a floating point context. + * If TRUE, then the IDLE task is created as a RTEMS_FLOATING_POINT task + * and it has a floating point context which is switched in and out. + * If FALSE, then the IDLE task does not have a floating point context. * - * Setting this to TRUE negatively impacts the time required to preempt - * the IDLE task from an interrupt because the floating point context - * must be saved as part of the preemption. + * Setting this to TRUE negatively impacts the time required to preempt + * the IDLE task from an interrupt because the floating point context + * must be saved as part of the preemption. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_IDLE_TASK_IS_FP FALSE /** - * Should the saving of the floating point registers be deferred - * until a context switch is made to another different floating point - * task? + * Should the saving of the floating point registers be deferred + * until a context switch is made to another different floating point + * task? * - * If TRUE, then the floating point context will not be stored until - * necessary. It will remain in the floating point registers and not - * disturned until another floating point task is switched to. + * If TRUE, then the floating point context will not be stored until + * necessary. It will remain in the floating point registers and not + * disturned until another floating point task is switched to. * - * If FALSE, then the floating point context is saved when a floating - * point task is switched out and restored when the next floating point - * task is restored. The state of the floating point registers between - * those two operations is not specified. + * If FALSE, then the floating point context is saved when a floating + * point task is switched out and restored when the next floating point + * task is restored. The state of the floating point registers between + * those two operations is not specified. * - * If the floating point context does NOT have to be saved as part of - * interrupt dispatching, then it should be safe to set this to TRUE. + * If the floating point context does NOT have to be saved as part of + * interrupt dispatching, then it should be safe to set this to TRUE. * - * Setting this flag to TRUE results in using a different algorithm - * for deciding when to save and restore the floating point context. - * The deferred FP switch algorithm minimizes the number of times - * the FP context is saved and restored. The FP context is not saved - * until a context switch is made to another, different FP task. - * Thus in a system with only one FP task, the FP context will never - * be saved or restored. + * Setting this flag to TRUE results in using a different algorithm + * for deciding when to save and restore the floating point context. + * The deferred FP switch algorithm minimizes the number of times + * the FP context is saved and restored. The FP context is not saved + * until a context switch is made to another, different FP task. + * Thus in a system with only one FP task, the FP context will never + * be saved or restored. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_USE_DEFERRED_FP_SWITCH TRUE /** - * Does this port provide a CPU dependent IDLE task implementation? + * Does this port provide a CPU dependent IDLE task implementation? * - * If TRUE, then the routine @ref _CPU_Thread_Idle_body - * must be provided and is the default IDLE thread body instead of - * @ref _CPU_Thread_Idle_body. + * If TRUE, then the routine @ref _CPU_Thread_Idle_body + * must be provided and is the default IDLE thread body instead of + * @ref _CPU_Thread_Idle_body. * - * If FALSE, then use the generic IDLE thread body if the BSP does - * not provide one. + * If FALSE, then use the generic IDLE thread body if the BSP does + * not provide one. * - * This is intended to allow for supporting processors which have - * a low power or idle mode. When the IDLE thread is executed, then - * the CPU can be powered down. + * This is intended to allow for supporting processors which have + * a low power or idle mode. When the IDLE thread is executed, then + * the CPU can be powered down. * - * The order of precedence for selecting the IDLE thread body is: + * The order of precedence for selecting the IDLE thread body is: * - * -# BSP provided - * -# CPU dependent (if provided) - * -# generic (if no BSP and no CPU dependent) + * -# BSP provided + * -# CPU dependent (if provided) + * -# generic (if no BSP and no CPU dependent) * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_PROVIDES_IDLE_THREAD_BODY FALSE /** - * Does the stack grow up (toward higher addresses) or down - * (toward lower addresses)? + * Does the stack grow up (toward higher addresses) or down + * (toward lower addresses)? * - * If TRUE, then the grows upward. - * If FALSE, then the grows toward smaller addresses. + * If TRUE, then the grows upward. + * If FALSE, then the grows toward smaller addresses. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STACK_GROWS_UP TRUE /** - * The following is the variable attribute used to force alignment - * of critical RTEMS structures. On some processors it may make - * sense to have these aligned on tighter boundaries than - * the minimum requirements of the compiler in order to have as - * much of the critical data area as possible in a cache line. + * The following is the variable attribute used to force alignment + * of critical RTEMS structures. On some processors it may make + * sense to have these aligned on tighter boundaries than + * the minimum requirements of the compiler in order to have as + * much of the critical data area as possible in a cache line. * - * The placement of this macro in the declaration of the variables - * is based on the syntactically requirements of the GNU C - * "__attribute__" extension. For example with GNU C, use - * the following to force a structures to a 32 byte boundary. + * The placement of this macro in the declaration of the variables + * is based on the syntactically requirements of the GNU C + * "__attribute__" extension. For example with GNU C, use + * the following to force a structures to a 32 byte boundary. * - * __attribute__ ((aligned (32))) + * __attribute__ ((aligned (32))) * - * @note Currently only the Priority Bit Map table uses this feature. - * To benefit from using this, the data must be heavily - * used so it will stay in the cache and used frequently enough - * in the executive to justify turning this on. + * NOTE: Currently only the Priority Bit Map table uses this feature. + * To benefit from using this, the data must be heavily + * used so it will stay in the cache and used frequently enough + * in the executive to justify turning this on. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STRUCTURE_ALIGNMENT #define CPU_TIMESTAMP_USE_STRUCT_TIMESPEC TRUE /** - * @defgroup CPUEndian Processor Dependent Endianness Support + * @defgroup CPUEndian Processor Dependent Endianness Support + * + * This group assists in issues related to processor endianness. * - * This group assists in issues related to processor endianness. + * @{ */ /** - * @ingroup CPUEndian - * Define what is required to specify how the network to host conversion - * routines are handled. + * Define what is required to specify how the network to host conversion + * routines are handled. * - * @note @a CPU_BIG_ENDIAN and @a CPU_LITTLE_ENDIAN should NOT have the - * same values. + * NOTE: @a CPU_BIG_ENDIAN and @a CPU_LITTLE_ENDIAN should NOT have the + * same values. * - * @see CPU_LITTLE_ENDIAN + * @see CPU_LITTLE_ENDIAN * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_BIG_ENDIAN TRUE /** - * @ingroup CPUEndian - * Define what is required to specify how the network to host conversion - * routines are handled. + * Define what is required to specify how the network to host conversion + * routines are handled. * - * @note @ref CPU_BIG_ENDIAN and @ref CPU_LITTLE_ENDIAN should NOT have the - * same values. + * NOTE: @ref CPU_BIG_ENDIAN and @ref CPU_LITTLE_ENDIAN should NOT have the + * same values. * - * @see CPU_BIG_ENDIAN + * @see CPU_BIG_ENDIAN * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_LITTLE_ENDIAN FALSE +/** @} */ + /** - * @ingroup CPUInterrupt - * The following defines the number of bits actually used in the - * interrupt field of the task mode. How those bits map to the - * CPU interrupt levels is defined by the routine @ref _CPU_ISR_Set_level. + * @ingroup CPUInterrupt + * The following defines the number of bits actually used in the + * interrupt field of the task mode. How those bits map to the + * CPU interrupt levels is defined by the routine @ref _CPU_ISR_Set_level. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_MODES_INTERRUPT_MASK 0x00000001 /* - * Processor defined structures required for cpukit/score. + * Processor defined structures required for cpukit/score. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ /* may need to put some structures here. */ @@ -418,50 +420,51 @@ extern "C" { /** * @defgroup CPUContext Processor Dependent Context Management * - * From the highest level viewpoint, there are 2 types of context to save. + * From the highest level viewpoint, there are 2 types of context to save. * - * -# Interrupt registers to save - * -# Task level registers to save + * -# Interrupt registers to save + * -# Task level registers to save * - * Since RTEMS handles integer and floating point contexts separately, this - * means we have the following 3 context items: + * Since RTEMS handles integer and floating point contexts separately, this + * means we have the following 3 context items: * - * -# task level context stuff:: Context_Control - * -# floating point task stuff:: Context_Control_fp - * -# special interrupt level context :: CPU_Interrupt_frame + * -# task level context stuff:: Context_Control + * -# floating point task stuff:: Context_Control_fp + * -# special interrupt level context :: CPU_Interrupt_frame * - * On some processors, it is cost-effective to save only the callee - * preserved registers during a task context switch. This means - * that the ISR code needs to save those registers which do not - * persist across function calls. It is not mandatory to make this - * distinctions between the caller/callee saves registers for the - * purpose of minimizing context saved during task switch and on interrupts. - * If the cost of saving extra registers is minimal, simplicity is the - * choice. Save the same context on interrupt entry as for tasks in - * this case. + * On some processors, it is cost-effective to save only the callee + * preserved registers during a task context switch. This means + * that the ISR code needs to save those registers which do not + * persist across function calls. It is not mandatory to make this + * distinctions between the caller/callee saves registers for the + * purpose of minimizing context saved during task switch and on interrupts. + * If the cost of saving extra registers is minimal, simplicity is the + * choice. Save the same context on interrupt entry as for tasks in + * this case. * - * Additionally, if gdb is to be made aware of RTEMS tasks for this CPU, then - * care should be used in designing the context area. + * Additionally, if gdb is to be made aware of RTEMS tasks for this CPU, then + * care should be used in designing the context area. * - * On some CPUs with hardware floating point support, the Context_Control_fp - * structure will not be used or it simply consist of an array of a - * fixed number of bytes. This is done when the floating point context - * is dumped by a "FP save context" type instruction and the format - * is not really defined by the CPU. In this case, there is no need - * to figure out the exact format -- only the size. Of course, although - * this is enough information for RTEMS, it is probably not enough for - * a debugger such as gdb. But that is another problem. + * On some CPUs with hardware floating point support, the Context_Control_fp + * structure will not be used or it simply consist of an array of a + * fixed number of bytes. This is done when the floating point context + * is dumped by a "FP save context" type instruction and the format + * is not really defined by the CPU. In this case, there is no need + * to figure out the exact format -- only the size. Of course, although + * this is enough information for RTEMS, it is probably not enough for + * a debugger such as gdb. But that is another problem. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate + * + * @{ */ /** - * @ingroup CPUContext Management - * This defines the minimal set of integer and processor state registers - * that must be saved during a voluntary context switch from one thread - * to another. + * This defines the minimal set of integer and processor state registers + * that must be saved during a voluntary context switch from one thread + * to another. */ typedef struct { /** r8 -- temporary register */ @@ -487,21 +490,18 @@ typedef struct { } Context_Control; /** - * @ingroup CPUContext Management - * - * This macro returns the stack pointer associated with @a _context. + * This macro returns the stack pointer associated with @a _context. * - * @param[in] _context is the thread context area to access + * @param[in] _context is the thread context area to access * - * @return This method returns the stack pointer. + * @return This method returns the stack pointer. */ #define _CPU_Context_Get_SP( _context ) \ (_context)->r15_sp /** - * @ingroup CPUContext Management - * This defines the complete set of floating point registers that must - * be saved during any context switch from one thread to another. + * This defines the complete set of floating point registers that must + * be saved during any context switch from one thread to another. */ typedef struct { /** FPU registers are listed here */ @@ -509,48 +509,51 @@ typedef struct { } Context_Control_fp; /** - * @ingroup CPUContext Management - * This defines the set of integer and processor state registers that must - * be saved during an interrupt. This set does not include any which are - * in @ref Context_Control. + * This defines the set of integer and processor state registers that must + * be saved during an interrupt. This set does not include any which are + * in @ref Context_Control. */ typedef struct { /** This field is a hint that a port will have a number of integer - * registers that need to be saved when an interrupt occurs or - * when a context switch occurs at the end of an ISR. + * registers that need to be saved when an interrupt occurs or + * when a context switch occurs at the end of an ISR. */ uint32_t special_interrupt_register; } CPU_Interrupt_frame; /** - * This variable is optional. It is used on CPUs on which it is difficult - * to generate an "uninitialized" FP context. It is filled in by - * @ref _CPU_Initialize and copied into the task's FP context area during - * @ref _CPU_Context_Initialize. + * This variable is optional. It is used on CPUs on which it is difficult + * to generate an "uninitialized" FP context. It is filled in by + * @ref _CPU_Initialize and copied into the task's FP context area during + * @ref _CPU_Context_Initialize. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; +/** @} */ + /** - * @defgroup CPUInterrupt Processor Dependent Interrupt Management + * @defgroup CPUInterrupt Processor Dependent Interrupt Management * - * On some CPUs, RTEMS supports a software managed interrupt stack. - * This stack is allocated by the Interrupt Manager and the switch - * is performed in @ref _ISR_Handler. These variables contain pointers - * to the lowest and highest addresses in the chunk of memory allocated - * for the interrupt stack. Since it is unknown whether the stack - * grows up or down (in general), this give the CPU dependent - * code the option of picking the version it wants to use. + * On some CPUs, RTEMS supports a software managed interrupt stack. + * This stack is allocated by the Interrupt Manager and the switch + * is performed in @ref _ISR_Handler. These variables contain pointers + * to the lowest and highest addresses in the chunk of memory allocated + * for the interrupt stack. Since it is unknown whether the stack + * grows up or down (in general), this give the CPU dependent + * code the option of picking the version it wants to use. * - * @note These two variables are required if the macro - * @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE. + * NOTE: These two variables are required if the macro + * @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate + * + * @{ */ /* @@ -564,131 +567,130 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; /* XXX: if needed, put more variables here */ /** - * @ingroup CPUContext - * The size of the floating point context area. On some CPUs this - * will not be a "sizeof" because the format of the floating point - * area is not defined -- only the size is. This is usually on - * CPUs with a "floating point save context" instruction. + * @ingroup CPUContext + * The size of the floating point context area. On some CPUs this + * will not be a "sizeof" because the format of the floating point + * area is not defined -- only the size is. This is usually on + * CPUs with a "floating point save context" instruction. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_CONTEXT_FP_SIZE sizeof( Context_Control_fp ) /** - * Amount of extra stack (above minimum stack size) required by - * MPCI receive server thread. Remember that in a multiprocessor - * system this thread must exist and be able to process all directives. + * Amount of extra stack (above minimum stack size) required by + * MPCI receive server thread. Remember that in a multiprocessor + * system this thread must exist and be able to process all directives. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_MPCI_RECEIVE_SERVER_EXTRA_STACK 0 /** - * @ingroup CPUInterrupt - * This defines the number of entries in the @ref _ISR_Vector_table managed - * by RTEMS. + * This defines the number of entries in the @ref _ISR_Vector_table managed + * by RTEMS. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_INTERRUPT_NUMBER_OF_VECTORS 32 /** - * @ingroup CPUInterrupt - * This defines the highest interrupt vector number for this port. + * This defines the highest interrupt vector number for this port. */ #define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (CPU_INTERRUPT_NUMBER_OF_VECTORS - 1) /** - * @ingroup CPUInterrupt - * This is defined if the port has a special way to report the ISR nesting - * level. Most ports maintain the variable @a _ISR_Nest_level. + * This is defined if the port has a special way to report the ISR nesting + * level. Most ports maintain the variable @a _ISR_Nest_level. */ #define CPU_PROVIDES_ISR_IS_IN_PROGRESS FALSE +/** @} */ + /** - * @ingroup CPUContext - * Should be large enough to run all RTEMS tests. This ensures - * that a "reasonable" small application should not have any problems. + * @ingroup CPUContext + * Should be large enough to run all RTEMS tests. This ensures + * that a "reasonable" small application should not have any problems. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STACK_MINIMUM_SIZE (1024) #define CPU_SIZEOF_POINTER 4 /** - * CPU's worst alignment requirement for data types on a byte boundary. This - * alignment does not take into account the requirements for the stack. + * CPU's worst alignment requirement for data types on a byte boundary. This + * alignment does not take into account the requirements for the stack. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ALIGNMENT 8 /** - * This number corresponds to the byte alignment requirement for the - * heap handler. This alignment requirement may be stricter than that - * for the data types alignment specified by @ref CPU_ALIGNMENT. It is - * common for the heap to follow the same alignment requirement as - * @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is strict enough for - * the heap, then this should be set to @ref CPU_ALIGNMENT. + * This number corresponds to the byte alignment requirement for the + * heap handler. This alignment requirement may be stricter than that + * for the data types alignment specified by @ref CPU_ALIGNMENT. It is + * common for the heap to follow the same alignment requirement as + * @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is strict enough for + * the heap, then this should be set to @ref CPU_ALIGNMENT. * - * @note This does not have to be a power of 2 although it should be - * a multiple of 2 greater than or equal to 2. The requirement - * to be a multiple of 2 is because the heap uses the least - * significant field of the front and back flags to indicate - * that a block is in use or free. So you do not want any odd - * length blocks really putting length data in that bit. + * NOTE: This does not have to be a power of 2 although it should be + * a multiple of 2 greater than or equal to 2. The requirement + * to be a multiple of 2 is because the heap uses the least + * significant field of the front and back flags to indicate + * that a block is in use or free. So you do not want any odd + * length blocks really putting length data in that bit. * - * On byte oriented architectures, @ref CPU_HEAP_ALIGNMENT normally will - * have to be greater or equal to than @ref CPU_ALIGNMENT to ensure that - * elements allocated from the heap meet all restrictions. + * On byte oriented architectures, @ref CPU_HEAP_ALIGNMENT normally will + * have to be greater or equal to than @ref CPU_ALIGNMENT to ensure that + * elements allocated from the heap meet all restrictions. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_HEAP_ALIGNMENT CPU_ALIGNMENT /** - * This number corresponds to the byte alignment requirement for memory - * buffers allocated by the partition manager. This alignment requirement - * may be stricter than that for the data types alignment specified by - * @ref CPU_ALIGNMENT. It is common for the partition to follow the same - * alignment requirement as @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is - * strict enough for the partition, then this should be set to - * @ref CPU_ALIGNMENT. + * This number corresponds to the byte alignment requirement for memory + * buffers allocated by the partition manager. This alignment requirement + * may be stricter than that for the data types alignment specified by + * @ref CPU_ALIGNMENT. It is common for the partition to follow the same + * alignment requirement as @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is + * strict enough for the partition, then this should be set to + * @ref CPU_ALIGNMENT. * - * @note This does not have to be a power of 2. It does have to - * be greater or equal to than @ref CPU_ALIGNMENT. + * NOTE: This does not have to be a power of 2. It does have to + * be greater or equal to than @ref CPU_ALIGNMENT. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_PARTITION_ALIGNMENT CPU_ALIGNMENT /** - * This number corresponds to the byte alignment requirement for the - * stack. This alignment requirement may be stricter than that for the - * data types alignment specified by @ref CPU_ALIGNMENT. If the - * @ref CPU_ALIGNMENT is strict enough for the stack, then this should be - * set to 0. + * This number corresponds to the byte alignment requirement for the + * stack. This alignment requirement may be stricter than that for the + * data types alignment specified by @ref CPU_ALIGNMENT. If the + * @ref CPU_ALIGNMENT is strict enough for the stack, then this should be + * set to 0. * - * @note This must be a power of 2 either 0 or greater than @ref CPU_ALIGNMENT. + * NOTE: This must be a power of 2 either 0 or greater than @ref CPU_ALIGNMENT. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STACK_ALIGNMENT 0 @@ -697,25 +699,29 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; */ /** - * @ingroup CPUInterrupt - * Support routine to initialize the RTEMS vector table after it is allocated. + * @addtogroup CPUInterrupt * - * Port Specific Information: + * @{ + */ + +/** + * Support routine to initialize the RTEMS vector table after it is allocated. * - * XXX document implementation including references if appropriate + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ #define _CPU_Initialize_vectors() /** - * @ingroup CPUInterrupt - * Disable all interrupts for an RTEMS critical section. The previous - * level is returned in @a _isr_cookie. + * Disable all interrupts for an RTEMS critical section. The previous + * level is returned in @a _isr_cookie. * - * @param[out] _isr_cookie will contain the previous level cookie + * @param[out] _isr_cookie will contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Disable( _isr_cookie ) \ { \ @@ -723,16 +729,15 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; } /** - * @ingroup CPUInterrupt - * Enable interrupts to the previous level (returned by _CPU_ISR_Disable). - * This indicates the end of an RTEMS critical section. The parameter - * @a _isr_cookie is not modified. + * Enable interrupts to the previous level (returned by _CPU_ISR_Disable). + * This indicates the end of an RTEMS critical section. The parameter + * @a _isr_cookie is not modified. * - * @param[in] _isr_cookie contain the previous level cookie + * @param[in] _isr_cookie contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Enable( _isr_cookie ) \ { \ @@ -740,91 +745,90 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; } /** - * @ingroup CPUInterrupt - * This temporarily restores the interrupt to @a _isr_cookie before immediately - * disabling them again. This is used to divide long RTEMS critical - * sections into two or more parts. The parameter @a _isr_cookie is not - * modified. + * This temporarily restores the interrupt to @a _isr_cookie before immediately + * disabling them again. This is used to divide long RTEMS critical + * sections into two or more parts. The parameter @a _isr_cookie is not + * modified. * - * @param[in] _isr_cookie contain the previous level cookie + * @param[in] _isr_cookie contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Flash( _isr_cookie ) \ { \ } /** - * @ingroup CPUInterrupt + * This routine and @ref _CPU_ISR_Get_level + * Map the interrupt level in task mode onto the hardware that the CPU + * actually provides. Currently, interrupt levels which do not + * map onto the CPU in a generic fashion are undefined. Someday, + * it would be nice if these were "mapped" by the application + * via a callout. For example, m68k has 8 levels 0 - 7, levels + * 8 - 255 would be available for bsp/application specific meaning. + * This could be used to manage a programmable interrupt controller + * via the rtems_task_mode directive. * - * This routine and @ref _CPU_ISR_Get_level - * Map the interrupt level in task mode onto the hardware that the CPU - * actually provides. Currently, interrupt levels which do not - * map onto the CPU in a generic fashion are undefined. Someday, - * it would be nice if these were "mapped" by the application - * via a callout. For example, m68k has 8 levels 0 - 7, levels - * 8 - 255 would be available for bsp/application specific meaning. - * This could be used to manage a programmable interrupt controller - * via the rtems_task_mode directive. - * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Set_level( new_level ) \ { \ } /** - * @ingroup CPUInterrupt - * Return the current interrupt disable level for this task in - * the format used by the interrupt level portion of the task mode. + * Return the current interrupt disable level for this task in + * the format used by the interrupt level portion of the task mode. * - * @note This routine usually must be implemented as a subroutine. + * NOTE: This routine usually must be implemented as a subroutine. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ uint32_t _CPU_ISR_Get_level( void ); /* end of ISR handler macros */ +/** @} */ + /* Context handler macros */ /** - * @brief CPU Context Initialize - * @ingroup CPUContext - * Initialize the context to a state suitable for starting a - * task after a context restore operation. Generally, this - * involves: - * - * - setting a starting address - * - preparing the stack - * - preparing the stack and frame pointers - * - setting the proper interrupt level in the context - * - initializing the floating point context - * - * This routine generally does not set any unnecessary register - * in the context. The state of the "general data" registers is - * undefined at task start time. - * - * @param[in] _the_context is the context structure to be initialized - * @param[in] _stack_base is the lowest physical address of this task's stack - * @param[in] _size is the size of this task's stack - * @param[in] _isr is the interrupt disable level - * @param[in] _entry_point is the thread's entry point. This is - * always @a _Thread_Handler - * @param[in] _is_fp is TRUE if the thread is to be a floating - * point thread. This is typically only used on CPUs where the - * FPU may be easily disabled by software such as on the SPARC - * where the PSR contains an enable FPU bit. + * @brief Initialize CPU context. * - * Port Specific Information: + * @ingroup CPUContext + * Initialize the context to a state suitable for starting a + * task after a context restore operation. Generally, this + * involves: * - * XXX document implementation including references if appropriate + * - setting a starting address + * - preparing the stack + * - preparing the stack and frame pointers + * - setting the proper interrupt level in the context + * - initializing the floating point context + * + * This routine generally does not set any unnecessary register + * in the context. The state of the "general data" registers is + * undefined at task start time. + * + * @param[in] _the_context is the context structure to be initialized + * @param[in] _stack_base is the lowest physical address of this task's stack + * @param[in] _size is the size of this task's stack + * @param[in] _isr is the interrupt disable level + * @param[in] _entry_point is the thread's entry point. This is + * always @a _Thread_Handler + * @param[in] _is_fp is TRUE if the thread is to be a floating + * point thread. This is typically only used on CPUs where the + * FPU may be easily disabled by software such as on the SPARC + * where the PSR contains an enable FPU bit. + * + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ void _CPU_Context_Initialize( Context_Control *the_context, @@ -836,66 +840,66 @@ void _CPU_Context_Initialize( ); /** - * This routine is responsible for somehow restarting the currently - * executing task. If you are lucky, then all that is necessary - * is restoring the context. Otherwise, there will need to be - * a special assembly routine which does something special in this - * case. For many ports, simply adding a label to the restore path - * of @ref _CPU_Context_switch will work. On other ports, it may be - * possibly to load a few arguments and jump to the restore path. It will - * not work if restarting self conflicts with the stack frame - * assumptions of restoring a context. + * This routine is responsible for somehow restarting the currently + * executing task. If you are lucky, then all that is necessary + * is restoring the context. Otherwise, there will need to be + * a special assembly routine which does something special in this + * case. For many ports, simply adding a label to the restore path + * of @ref _CPU_Context_switch will work. On other ports, it may be + * possibly to load a few arguments and jump to the restore path. It will + * not work if restarting self conflicts with the stack frame + * assumptions of restoring a context. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_Restart_self( Context_Control *the_context ); /** - * @ingroup CPUContext - * The purpose of this macro is to allow the initial pointer into - * a floating point context area (used to save the floating point - * context) to be at an arbitrary place in the floating point - * context area. + * @ingroup CPUContext + * The purpose of this macro is to allow the initial pointer into + * a floating point context area (used to save the floating point + * context) to be at an arbitrary place in the floating point + * context area. * - * This is necessary because some FP units are designed to have - * their context saved as a stack which grows into lower addresses. - * Other FP units can be saved by simply moving registers into offsets - * from the base of the context area. Finally some FP units provide - * a "dump context" instruction which could fill in from high to low - * or low to high based on the whim of the CPU designers. + * This is necessary because some FP units are designed to have + * their context saved as a stack which grows into lower addresses. + * Other FP units can be saved by simply moving registers into offsets + * from the base of the context area. Finally some FP units provide + * a "dump context" instruction which could fill in from high to low + * or low to high based on the whim of the CPU designers. * - * @param[in] _base is the lowest physical address of the floating point - * context area - * @param[in] _offset is the offset into the floating point area + * @param[in] _base is the lowest physical address of the floating point + * context area + * @param[in] _offset is the offset into the floating point area * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Context_Fp_start( _base, _offset ) \ ( (void *) _Addresses_Add_offset( (_base), (_offset) ) ) /** - * This routine initializes the FP context area passed to it to. - * There are a few standard ways in which to initialize the - * floating point context. The code included for this macro assumes - * that this is a CPU in which a "initial" FP context was saved into - * @a _CPU_Null_fp_context and it simply copies it to the destination - * context passed to it. + * This routine initializes the FP context area passed to it to. + * There are a few standard ways in which to initialize the + * floating point context. The code included for this macro assumes + * that this is a CPU in which a "initial" FP context was saved into + * @a _CPU_Null_fp_context and it simply copies it to the destination + * context passed to it. * - * Other floating point context save/restore models include: - * -# not doing anything, and - * -# putting a "null FP status word" in the correct place in the FP context. + * Other floating point context save/restore models include: + * -# not doing anything, and + * -# putting a "null FP status word" in the correct place in the FP context. * - * @param[in] _destination is the floating point context area + * @param[in] _destination is the floating point context area * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Context_Initialize_fp( _destination ) \ { \ @@ -907,13 +911,13 @@ void _CPU_Context_Restart_self( /* Fatal Error manager macros */ /** - * This routine copies _error into a known place -- typically a stack - * location or a register, optionally disables interrupts, and - * halts/stops the CPU. + * This routine copies _error into a known place -- typically a stack + * location or a register, optionally disables interrupts, and + * halts/stops the CPU. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Fatal_halt( _error ) \ { \ @@ -924,68 +928,67 @@ void _CPU_Context_Restart_self( /* Bitfield handler macros */ /** - * @defgroup CPUBitfield Processor Dependent Bitfield Manipulation + * @defgroup CPUBitfield Processor Dependent Bitfield Manipulation + * + * This set of routines are used to implement fast searches for + * the most important ready task. * - * This set of routines are used to implement fast searches for - * the most important ready task. + * @{ */ /** - * @ingroup CPUBitfield - * This definition is set to TRUE if the port uses the generic bitfield - * manipulation implementation. + * This definition is set to TRUE if the port uses the generic bitfield + * manipulation implementation. */ #define CPU_USE_GENERIC_BITFIELD_CODE TRUE /** - * @ingroup CPUBitfield - * This definition is set to TRUE if the port uses the data tables provided - * by the generic bitfield manipulation implementation. - * This can occur when actually using the generic bitfield manipulation - * implementation or when implementing the same algorithm in assembly - * language for improved performance. It is unlikely that a port will use - * the data if it has a bitfield scan instruction. + * This definition is set to TRUE if the port uses the data tables provided + * by the generic bitfield manipulation implementation. + * This can occur when actually using the generic bitfield manipulation + * implementation or when implementing the same algorithm in assembly + * language for improved performance. It is unlikely that a port will use + * the data if it has a bitfield scan instruction. */ #define CPU_USE_GENERIC_BITFIELD_DATA TRUE /** - * @ingroup CPUBitfield - * This routine sets @a _output to the bit number of the first bit - * set in @a _value. @a _value is of CPU dependent type - * @a Priority_bit_map_Control. This type may be either 16 or 32 bits - * wide although only the 16 least significant bits will be used. - * - * There are a number of variables in using a "find first bit" type - * instruction. - * - * -# What happens when run on a value of zero? - * -# Bits may be numbered from MSB to LSB or vice-versa. - * -# The numbering may be zero or one based. - * -# The "find first bit" instruction may search from MSB or LSB. - * - * RTEMS guarantees that (1) will never happen so it is not a concern. - * (2),(3), (4) are handled by the macros @ref _CPU_Priority_Mask and - * @ref _CPU_Priority_bits_index. These three form a set of routines - * which must logically operate together. Bits in the _value are - * set and cleared based on masks built by @ref _CPU_Priority_Mask. - * The basic major and minor values calculated by @ref _Priority_Major - * and @ref _Priority_Minor are "massaged" by @ref _CPU_Priority_bits_index - * to properly range between the values returned by the "find first bit" - * instruction. This makes it possible for @ref _Priority_Get_highest to - * calculate the major and directly index into the minor table. - * This mapping is necessary to ensure that 0 (a high priority major/minor) - * is the first bit found. - * - * This entire "find first bit" and mapping process depends heavily - * on the manner in which a priority is broken into a major and minor - * components with the major being the 4 MSB of a priority and minor - * the 4 LSB. Thus (0 << 4) + 0 corresponds to priority 0 -- the highest - * priority. And (15 << 4) + 14 corresponds to priority 254 -- the next - * to the lowest priority. - * - * If your CPU does not have a "find first bit" instruction, then - * there are ways to make do without it. Here are a handful of ways - * to implement this in software: + * This routine sets @a _output to the bit number of the first bit + * set in @a _value. @a _value is of CPU dependent type + * @a Priority_bit_map_Control. This type may be either 16 or 32 bits + * wide although only the 16 least significant bits will be used. + * + * There are a number of variables in using a "find first bit" type + * instruction. + * + * -# What happens when run on a value of zero? + * -# Bits may be numbered from MSB to LSB or vice-versa. + * -# The numbering may be zero or one based. + * -# The "find first bit" instruction may search from MSB or LSB. + * + * RTEMS guarantees that (1) will never happen so it is not a concern. + * (2),(3), (4) are handled by the macros @ref _CPU_Priority_Mask and + * @ref _CPU_Priority_bits_index. These three form a set of routines + * which must logically operate together. Bits in the _value are + * set and cleared based on masks built by @ref _CPU_Priority_Mask. + * The basic major and minor values calculated by @ref _Priority_Major + * and @ref _Priority_Minor are "massaged" by @ref _CPU_Priority_bits_index + * to properly range between the values returned by the "find first bit" + * instruction. This makes it possible for @ref _Priority_Get_highest to + * calculate the major and directly index into the minor table. + * This mapping is necessary to ensure that 0 (a high priority major/minor) + * is the first bit found. + * + * This entire "find first bit" and mapping process depends heavily + * on the manner in which a priority is broken into a major and minor + * components with the major being the 4 MSB of a priority and minor + * the 4 LSB. Thus (0 << 4) + 0 corresponds to priority 0 -- the highest + * priority. And (15 << 4) + 14 corresponds to priority 254 -- the next + * to the lowest priority. + * + * If your CPU does not have a "find first bit" instruction, then + * there are ways to make do without it. Here are a handful of ways + * to implement this in software: * @verbatim - a series of 16 bit test instructions @@ -1002,15 +1005,15 @@ void _CPU_Context_Restart_self( _number += bit_set_table[ _value ] @endverbatim - * where bit_set_table[ 16 ] has values which indicate the first - * bit set + * where bit_set_table[ 16 ] has values which indicate the first + * bit set * - * @param[in] _value is the value to be scanned - * @param[in] _output is the first bit set + * @param[in] _value is the value to be scanned + * @param[in] _output is the first bit set * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -1023,13 +1026,13 @@ void _CPU_Context_Restart_self( /* end of Bitfield handler macros */ /** - * This routine builds the mask which corresponds to the bit fields - * as searched by @ref _CPU_Bitfield_Find_first_bit. See the discussion - * for that routine. + * This routine builds the mask which corresponds to the bit fields + * as searched by @ref _CPU_Bitfield_Find_first_bit. See the discussion + * for that routine. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -1039,17 +1042,16 @@ void _CPU_Context_Restart_self( #endif /** - * @ingroup CPUBitfield - * This routine translates the bit numbers returned by - * @ref _CPU_Bitfield_Find_first_bit into something suitable for use as - * a major or minor component of a priority. See the discussion - * for that routine. + * This routine translates the bit numbers returned by + * @ref _CPU_Bitfield_Find_first_bit into something suitable for use as + * a major or minor component of a priority. See the discussion + * for that routine. * - * @param[in] _priority is the major or minor number to translate + * @param[in] _priority is the major or minor number to translate * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -1060,30 +1062,33 @@ void _CPU_Context_Restart_self( /* end of Priority handler macros */ +/** @} */ + /* functions */ /** - * @brief CPU Initialize - * This routine performs CPU dependent initialization. + * @brief CPU initialization. * - * Port Specific Information: + * This routine performs CPU dependent initialization. * - * XXX document implementation including references if appropriate + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ void _CPU_Initialize(void); /** - * @ingroup CPUInterrupt - * This routine installs a "raw" interrupt handler directly into the - * processor's vector table. + * @ingroup CPUInterrupt + * This routine installs a "raw" interrupt handler directly into the + * processor's vector table. * - * @param[in] vector is the vector number - * @param[in] new_handler is the raw ISR handler to install - * @param[in] old_handler is the previously installed ISR Handler + * @param[in] vector is the vector number + * @param[in] new_handler is the raw ISR handler to install + * @param[in] old_handler is the previously installed ISR Handler * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_ISR_install_raw_handler( uint32_t vector, @@ -1092,16 +1097,16 @@ void _CPU_ISR_install_raw_handler( ); /** - * @ingroup CPUInterrupt - * This routine installs an interrupt vector. + * @ingroup CPUInterrupt + * This routine installs an interrupt vector. * - * @param[in] vector is the vector number - * @param[in] new_handler is the RTEMS ISR handler to install - * @param[in] old_handler is the previously installed ISR Handler + * @param[in] vector is the vector number + * @param[in] new_handler is the RTEMS ISR handler to install + * @param[in] old_handler is the previously installed ISR Handler * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_ISR_install_vector( uint32_t vector, @@ -1110,28 +1115,28 @@ void _CPU_ISR_install_vector( ); /** - * @ingroup CPUInterrupt - * This routine installs the hardware interrupt stack pointer. + * @ingroup CPUInterrupt + * This routine installs the hardware interrupt stack pointer. * - * @note It need only be provided if @ref CPU_HAS_HARDWARE_INTERRUPT_STACK - * is TRUE. + * NOTE: It need only be provided if @ref CPU_HAS_HARDWARE_INTERRUPT_STACK + * is TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Install_interrupt_stack( void ); /** - * @ingroup CPUContext - * This routine switches from the run context to the heir context. + * @ingroup CPUContext + * This routine switches from the run context to the heir context. * - * @param[in] run points to the context of the currently executing task - * @param[in] heir points to the context of the heir task + * @param[in] run points to the context of the currently executing task + * @param[in] heir points to the context of the heir task * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_switch( Context_Control *run, @@ -1139,90 +1144,95 @@ void _CPU_Context_switch( ); /** - * @ingroup CPUContext - * This routine is generally used only to restart self in an - * efficient manner. It may simply be a label in @ref _CPU_Context_switch. + * @addtogroup CPUContext * - * @param[in] new_context points to the context to be restored. + * @{ + */ + +/** + * This routine is generally used only to restart self in an + * efficient manner. It may simply be a label in @ref _CPU_Context_switch. * - * @note May be unnecessary to reload some registers. + * @param[in] new_context points to the context to be restored. * - * Port Specific Information: + * NOTE: May be unnecessary to reload some registers. * - * XXX document implementation including references if appropriate + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ void _CPU_Context_restore( Context_Control *new_context ) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE; /** - * @ingroup CPUContext - * This routine saves the floating point context passed to it. + * This routine saves the floating point context passed to it. * - * @param[in] fp_context_ptr is a pointer to a pointer to a floating - * point context area + * @param[in] fp_context_ptr is a pointer to a pointer to a floating + * point context area * - * @return on output @a *fp_context_ptr will contain the address that - * should be used with @ref _CPU_Context_restore_fp to restore this context. + * @return on output @a *fp_context_ptr will contain the address that + * should be used with @ref _CPU_Context_restore_fp to restore this context. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_save_fp( Context_Control_fp **fp_context_ptr ); /** - * @ingroup CPUContext - * This routine restores the floating point context passed to it. + * This routine restores the floating point context passed to it. * - * @param[in] fp_context_ptr is a pointer to a pointer to a floating - * point context area to restore + * @param[in] fp_context_ptr is a pointer to a pointer to a floating + * point context area to restore * - * @return on output @a *fp_context_ptr will contain the address that - * should be used with @ref _CPU_Context_save_fp to save this context. + * @return on output @a *fp_context_ptr will contain the address that + * should be used with @ref _CPU_Context_save_fp to save this context. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_restore_fp( Context_Control_fp **fp_context_ptr ); +/** @} */ + /* FIXME */ typedef CPU_Interrupt_frame CPU_Exception_frame; void _CPU_Exception_frame_print( const CPU_Exception_frame *frame ); /** - * @ingroup CPUEndian - * The following routine swaps the endian format of an unsigned int. - * It must be static because it is referenced indirectly. + * @ingroup CPUEndian + * The following routine swaps the endian format of an unsigned int. + * It must be static because it is referenced indirectly. * - * This version will work on any processor, but if there is a better - * way for your CPU PLEASE use it. The most common way to do this is to: + * This version will work on any processor, but if there is a better + * way for your CPU PLEASE use it. The most common way to do this is to: * - * swap least significant two bytes with 16-bit rotate - * swap upper and lower 16-bits - * swap most significant two bytes with 16-bit rotate + * swap least significant two bytes with 16-bit rotate + * swap upper and lower 16-bits + * swap most significant two bytes with 16-bit rotate * - * Some CPUs have special instructions which swap a 32-bit quantity in - * a single instruction (e.g. i486). It is probably best to avoid - * an "endian swapping control bit" in the CPU. One good reason is - * that interrupts would probably have to be disabled to ensure that - * an interrupt does not try to access the same "chunk" with the wrong - * endian. Another good reason is that on some CPUs, the endian bit - * endianness for ALL fetches -- both code and data -- so the code - * will be fetched incorrectly. + * Some CPUs have special instructions which swap a 32-bit quantity in + * a single instruction (e.g. i486). It is probably best to avoid + * an "endian swapping control bit" in the CPU. One good reason is + * that interrupts would probably have to be disabled to ensure that + * an interrupt does not try to access the same "chunk" with the wrong + * endian. Another good reason is that on some CPUs, the endian bit + * endianness for ALL fetches -- both code and data -- so the code + * will be fetched incorrectly. * - * @param[in] value is the value to be swapped - * @return the value after being endian swapped + * @param[in] value is the value to be swapped + * @return the value after being endian swapped * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ static inline uint32_t CPU_swap_u32( uint32_t value @@ -1240,11 +1250,11 @@ static inline uint32_t CPU_swap_u32( } /** - * @ingroup CPUEndian - * This routine swaps a 16 bir quantity. + * @ingroup CPUEndian + * This routine swaps a 16 bir quantity. * - * @param[in] value is the value to be swapped - * @return the value after being endian swapped + * @param[in] value is the value to be swapped + * @return the value after being endian swapped */ #define CPU_swap_u16( value ) \ (((value&0xff) << 8) | ((value >> 8)&0xff)) diff --git a/cpukit/score/cpu/m32r/rtems/score/cpu_asm.h b/cpukit/score/cpu/m32r/rtems/score/cpu_asm.h index e3797a93f9..51648b1597 100644 --- a/cpukit/score/cpu/m32r/rtems/score/cpu_asm.h +++ b/cpukit/score/cpu/m32r/rtems/score/cpu_asm.h @@ -1,12 +1,14 @@ /** - * @file rtems/score/cpu_asm.h + * @file + * + * @brief Intel M32R Assembly File + * + * Very loose template for an include file for the cpu_asm.? file + * if it is implemented as a ".S" file (preprocessed by cpp) instead + * of a ".s" file (preprocessed by gm4 or gasp). */ /* - * Very loose template for an include file for the cpu_asm.? file - * if it is implemented as a ".S" file (preprocessed by cpp) instead - * of a ".s" file (preprocessed by gm4 or gasp). - * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/m32r/rtems/score/m32r.h b/cpukit/score/cpu/m32r/rtems/score/m32r.h index d4dbe69744..98461dfa37 100644 --- a/cpukit/score/cpu/m32r/rtems/score/m32r.h +++ b/cpukit/score/cpu/m32r/rtems/score/m32r.h @@ -1,9 +1,15 @@ -/* - * This file sets up basic CPU dependency settings based on - * compiler settings. For example, it can determine if - * floating point is available. This particular implementation - * is specified to the NO CPU port. +/** + * @file + * + * @brief Set up Basic CPU Dependency Settings Based on Compiler Settings * + * This file sets up basic CPU dependency settings based on + * compiler settings. For example, it can determine if + * floating point is available. This particular implementation + * is specified to the NO CPU port. + */ + +/* * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/m32r/rtems/score/types.h b/cpukit/score/cpu/m32r/rtems/score/types.h index 839ac98cc6..829b668f69 100644 --- a/cpukit/score/cpu/m32r/rtems/score/types.h +++ b/cpukit/score/cpu/m32r/rtems/score/types.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/types.h + * @file + * + * @brief Intel M32R CPU Type Definitions + * + * This include file contains type definitions pertaining to the Intel + * m32r processor family. */ /* - * This include file contains type definitions pertaining to the Intel - * m32r processor family. - * * COPYRIGHT (c) 1989-2006. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/m68k/rtems/asm.h b/cpukit/score/cpu/m68k/rtems/asm.h index f6abbd6d32..cbd2a7f8b2 100644 --- a/cpukit/score/cpu/m68k/rtems/asm.h +++ b/cpukit/score/cpu/m68k/rtems/asm.h @@ -1,17 +1,20 @@ /** - * @file rtems/asm.h + * @file + * + * @brief Address the Problems Caused by Incompatible Flavor of + * Assemblers and Toolsets * - * This include file attempts to address the problems - * caused by incompatible flavors of assemblers and - * toolsets. It primarily addresses variations in the - * use of leading underscores on symbols and the requirement - * that register names be preceded by a %. + * This include file attempts to address the problems + * caused by incompatible flavors of assemblers and + * toolsets. It primarily addresses variations in the + * use of leading underscores on symbols and the requirement + * that register names be preceded by a %. + * + * NOTE: The spacing in the use of these macros + * is critical to them working as advertised. */ /* - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. - * * COPYRIGHT: * * This file is based on similar code found in newlib available diff --git a/cpukit/score/cpu/m68k/rtems/m68k/m68302.h b/cpukit/score/cpu/m68k/rtems/m68k/m68302.h index bcda554948..acf55f50c5 100644 --- a/cpukit/score/cpu/m68k/rtems/m68k/m68302.h +++ b/cpukit/score/cpu/m68k/rtems/m68k/m68302.h @@ -1,7 +1,7 @@ -/* - *------------------------------------------------------------------ +/** + * @file * - * m68302.h - Definitions for Motorola MC68302 processor. + * @brief Definitions for Motorola MC68302 Processor * * Section references in this file refer to revision 2 of Motorola's * "MC68302 Integrated Multiprotocol Processor User's Manual". @@ -9,7 +9,9 @@ * * Based on Don Meyer's cpu68302.h that was posted in comp.sys.m68k * on 17 February, 1993. - * + */ + +/* * COPYRIGHT 1995 David W. Glessner. * * Redistribution and use in source and binary forms are permitted diff --git a/cpukit/score/cpu/m68k/rtems/m68k/m68360.h b/cpukit/score/cpu/m68k/rtems/m68k/m68360.h index 5c7b90691f..dc181d0cdf 100644 --- a/cpukit/score/cpu/m68k/rtems/m68k/m68360.h +++ b/cpukit/score/cpu/m68k/rtems/m68k/m68360.h @@ -1,3 +1,8 @@ +/** + * @file + * + * @brief Definitions for Motorola MC68360 Processor + */ /* ************************************************************************** ************************************************************************** @@ -707,7 +712,7 @@ typedef struct m360_ { unsigned char _pad14[0xF0-0xD0]; unsigned char _pad15[0x100-0xF0]; unsigned char _pad16[0x500-0x100]; - + /* * IDMA1 Block */ @@ -725,7 +730,7 @@ typedef struct m360_ { unsigned char csr1; unsigned char _pad21; unsigned short _pad22; - + /* * SDMA Block */ @@ -733,7 +738,7 @@ typedef struct m360_ { unsigned char _pad23; unsigned short sdcr; unsigned long sdar; - + /* * IDMA2 Block */ @@ -750,7 +755,7 @@ typedef struct m360_ { unsigned char _pad28; unsigned short _pad29; unsigned long _pad30; - + /* * CPIC Block */ @@ -774,7 +779,7 @@ typedef struct m360_ { unsigned short pcint; unsigned short _pad32; unsigned long _pad33[5]; - + /* * TIMER Block */ @@ -802,7 +807,7 @@ typedef struct m360_ { unsigned short ter3; unsigned short ter4; unsigned long _pad36[2]; - + /* * CP Block */ diff --git a/cpukit/score/cpu/m68k/rtems/m68k/qsm.h b/cpukit/score/cpu/m68k/rtems/m68k/qsm.h index 312dfa8325..32dbc1d5f9 100644 --- a/cpukit/score/cpu/m68k/rtems/m68k/qsm.h +++ b/cpukit/score/cpu/m68k/rtems/m68k/qsm.h @@ -1,7 +1,7 @@ -/* - *------------------------------------------------------------------- +/** + * @file * - * QSM -- Queued Serial Module + * @brief Motorola M68K Queued Serial Module * * The QSM contains two serial interfaces: (a) the queued serial * peripheral interface (QSPI) and the serial communication interface @@ -15,7 +15,9 @@ * For more information, refer to Motorola's "Modular Microcontroller * Family Queued Serial Module Reference Manual" (Motorola document * QSMRM/AD). - * + */ + +/* * This file was created by John S. Gwynne to support Motorola's 68332 MCU. * * Redistribution and use in source and binary forms are permitted diff --git a/cpukit/score/cpu/m68k/rtems/m68k/sim.h b/cpukit/score/cpu/m68k/rtems/m68k/sim.h index 42eae109d9..cec6b84cc1 100644 --- a/cpukit/score/cpu/m68k/rtems/m68k/sim.h +++ b/cpukit/score/cpu/m68k/rtems/m68k/sim.h @@ -1,7 +1,7 @@ -/* - *------------------------------------------------------------------- +/** + * @file * - * SIM -- System Integration Module + * @brief Motorola M68K System Integration Module * * The system integration module (SIM) is used on many Motorola 16- * and 32-bit MCUs for the following functions: @@ -23,7 +23,9 @@ * For more information, refer to Motorola's "Modular Microcontroller * Family System Integration Module Reference Manual" (Motorola document * SIMRM/AD). - * + */ + +/* * This file was created by John S. Gwynne to support Motorola's 68332 MCU. * * Redistribution and use in source and binary forms are permitted diff --git a/cpukit/score/cpu/m68k/rtems/score/cpu.h b/cpukit/score/cpu/m68k/rtems/score/cpu.h index fb970eb108..8575f90e19 100644 --- a/cpukit/score/cpu/m68k/rtems/score/cpu.h +++ b/cpukit/score/cpu/m68k/rtems/score/cpu.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/cpu.h + * @file + * + * @brief Motorola M68K CPU Dependent Source + * + * This include file contains information pertaining to the Motorola + * m68xxx processor family. */ /* - * This include file contains information pertaining to the Motorola - * m68xxx processor family. - * * COPYRIGHT (c) 1989-2011. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/m68k/rtems/score/m68k.h b/cpukit/score/cpu/m68k/rtems/score/m68k.h index cc2f11dc40..2c646c5bcf 100644 --- a/cpukit/score/cpu/m68k/rtems/score/m68k.h +++ b/cpukit/score/cpu/m68k/rtems/score/m68k.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/m68k.h + * @file + * + * @brief Motorola M68K CPU Dependent Source + * + * This include file contains information pertaining to the Motorola + * m68xxx processor family. */ /* - * This include file contains information pertaining to the Motorola - * m68xxx processor family. - * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/m68k/rtems/score/types.h b/cpukit/score/cpu/m68k/rtems/score/types.h index 8591511075..a901c90542 100644 --- a/cpukit/score/cpu/m68k/rtems/score/types.h +++ b/cpukit/score/cpu/m68k/rtems/score/types.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/types.h + * @file + * + * @brief Motorola M68K CPU Type Definitions + * + * This include file contains type definitions pertaining to the Motorola + * m68xxx processor family. */ /* - * This include file contains type definitions pertaining to the Motorola - * m68xxx processor family. - * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/v850/rtems/score/cpu_asm.h b/cpukit/score/cpu/v850/rtems/score/cpu_asm.h index 49a44a93a1..bc22bc199b 100644 --- a/cpukit/score/cpu/v850/rtems/score/cpu_asm.h +++ b/cpukit/score/cpu/v850/rtems/score/cpu_asm.h @@ -1,11 +1,10 @@ /** - * @file rtems/score/cpu_asm.h - */ - -/* - * Very loose template for an include file for the cpu_asm.? file - * if it is implemented as a ".S" file (preprocessed by cpp) instead - * of a ".s" file (preprocessed by gm4 or gasp). + * @file + * + * @brief V850 Assembly File + * Very loose template for an include file for the cpu_asm.? file + * if it is implemented as a ".S" file (preprocessed by cpp) instead + * of a ".s" file (preprocessed by gm4 or gasp). */ /* -- cgit v1.2.3 From b8051837488cf5883b3a1a2f5a056bdc93ece526 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 8 Jan 2013 10:13:46 -0600 Subject: arm/gp32: Correct compilation error in BSP Idle Thread Split BSP Idle Thread into separate file to follow convention used on other BSPs. Slight reformatting of file header comment block. --- c/src/lib/libbsp/arm/gp32/Makefile.am | 2 +- c/src/lib/libbsp/arm/gp32/include/bsp.h | 12 ++++++------ c/src/lib/libbsp/arm/gp32/startup/bspidle.c | 23 +++++++++++++++++++++++ c/src/lib/libbsp/arm/gp32/startup/bspstart.c | 25 ++++++++----------------- 4 files changed, 38 insertions(+), 24 deletions(-) create mode 100644 c/src/lib/libbsp/arm/gp32/startup/bspidle.c diff --git a/c/src/lib/libbsp/arm/gp32/Makefile.am b/c/src/lib/libbsp/arm/gp32/Makefile.am index a136ea6983..92dfc72b0c 100644 --- a/c/src/lib/libbsp/arm/gp32/Makefile.am +++ b/c/src/lib/libbsp/arm/gp32/Makefile.am @@ -30,7 +30,7 @@ libbsp_a_SOURCES = # startup libbsp_a_SOURCES += ../../shared/bsplibc.c ../../shared/bsppost.c \ ../../shared/bsppredriverhook.c ../../shared/bspgetworkarea.c \ - ../../shared/bsppretaskinghook.c startup/bspstart.c \ + ../../shared/bsppretaskinghook.c startup/bspstart.c startup/bspidle.c \ ../../shared/bspclean.c startup/bspreset.c \ startup/memmap.c ../../shared/bootcard.c ../../shared/sbrk.c \ ../../shared/gnatinstallhandler.c diff --git a/c/src/lib/libbsp/arm/gp32/include/bsp.h b/c/src/lib/libbsp/arm/gp32/include/bsp.h index be542e9dbb..a6671a80dc 100644 --- a/c/src/lib/libbsp/arm/gp32/include/bsp.h +++ b/c/src/lib/libbsp/arm/gp32/include/bsp.h @@ -1,12 +1,12 @@ /** * @file * - * This include file contains definitions related to the GP32 BSP. + * This include file contains definitions related to the GP32 BSP. */ /* - * Copyright (c) Canon Research France SA.] - * Emmanuel Raguet, mailto:raguet@crf.canon.fr + * Copyright (c) Canon Research France SA.] + * Emmanuel Raguet, mailto:raguet@crf.canon.fr * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at @@ -59,13 +59,13 @@ void gp32_setPalette( unsigned char pos, uint16_t color); /* - * This BSP provides its own IDLE task to override the RTEMS one. + * This BSP provides its own IDLE thread to override the RTEMS one. * So we prototype it and define the constant confdefs.h expects * to configure a BSP specific one. */ -Thread bsp_idle_task(uint32_t); +void *bsp_idle_thread(uintptr_t ignored); -#define BSP_IDLE_TASK_BODY bsp_idle_task +#define BSP_IDLE_TASK_BODY bsp_idle_thread #ifdef __cplusplus } diff --git a/c/src/lib/libbsp/arm/gp32/startup/bspidle.c b/c/src/lib/libbsp/arm/gp32/startup/bspidle.c new file mode 100644 index 0000000000..bdd8fcccd9 --- /dev/null +++ b/c/src/lib/libbsp/arm/gp32/startup/bspidle.c @@ -0,0 +1,23 @@ +/* + * BSP specific Idle thread + */ + +/* + * Copyright (c) 2000 Canon Research Centre France SA. + * Emmanuel Raguet, mailto:raguet@crf.canon.fr + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#include + +void *bsp_idle_thread(uintptr_t ignored) +{ + while(1) { + __asm__ volatile ("MCR p15,0,r0,c7,c0,4 \n"); + } + return NULL; +} + diff --git a/c/src/lib/libbsp/arm/gp32/startup/bspstart.c b/c/src/lib/libbsp/arm/gp32/startup/bspstart.c index cfedc24c39..79a97aad13 100644 --- a/c/src/lib/libbsp/arm/gp32/startup/bspstart.c +++ b/c/src/lib/libbsp/arm/gp32/startup/bspstart.c @@ -2,14 +2,15 @@ * This file contains the ARM BSP startup package. It includes application, * board, and monitor specific initialization and configuration. The generic CPU * dependent initialization has been performed before this routine is invoked. + */ + +/* + * Copyright (c) 2000 Canon Research Centre France SA. + * Emmanuel Raguet, mailto:raguet@crf.canon.fr * - * - * Copyright (c) 2000 Canon Research Centre France SA. - * Emmanuel Raguet, mailto:raguet@crf.canon.fr - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. */ #include @@ -22,16 +23,6 @@ */ extern void rtems_exception_init_mngt(void); -/* - * BSP specific Idle task - */ -Thread bsp_idle_task(uint32_t ignored) -{ - while(1) { - __asm__ volatile ("MCR p15,0,r0,c7,c0,4 \n"); - } -} - /* * BSP Specific Initialization in C */ -- cgit v1.2.3 From 1419a868559886db1093244e2fe1f70291eac8d5 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 8 Jan 2013 10:18:06 -0600 Subject: arm/smdk2410: Update to include bspidle.c This BSP shares code with the gp32 and needed to include the new bspidle.c file. --- c/src/lib/libbsp/arm/smdk2410/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c/src/lib/libbsp/arm/smdk2410/Makefile.am b/c/src/lib/libbsp/arm/smdk2410/Makefile.am index 526c7ab45d..e5dee1a99a 100644 --- a/c/src/lib/libbsp/arm/smdk2410/Makefile.am +++ b/c/src/lib/libbsp/arm/smdk2410/Makefile.am @@ -28,7 +28,7 @@ libbsp_a_SOURCES = # startup libbsp_a_SOURCES += ../../shared/bsplibc.c ../../shared/bsppost.c \ - ../gp32/startup/bspstart.c ../../shared/bspclean.c \ + ../gp32/startup/bspstart.c ../gp32/startup/bspidle.c ../../shared/bspclean.c \ startup/bspreset.c startup/memmap.c \ ../../shared/bootcard.c ../../shared/sbrk.c \ ../../shared/bsppretaskinghook.c \ -- cgit v1.2.3 From 72d092676629f0eb5bc39d595fc2302b762ff43c Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 8 Jan 2013 10:45:35 -0600 Subject: m68k/mvme167: Compiles again Was including non-existent .h file. Fixed some warnings. Reformatted file header comment blocks. --- c/src/lib/libbsp/m68k/mvme167/include/bsp.h | 11 +++-- c/src/lib/libbsp/m68k/mvme167/startup/bspclean.c | 19 ++++----- c/src/lib/libbsp/m68k/mvme167/startup/bspstart.c | 54 +++++++++--------------- 3 files changed, 36 insertions(+), 48 deletions(-) diff --git a/c/src/lib/libbsp/m68k/mvme167/include/bsp.h b/c/src/lib/libbsp/m68k/mvme167/include/bsp.h index f2521e9118..305787d800 100644 --- a/c/src/lib/libbsp/m68k/mvme167/include/bsp.h +++ b/c/src/lib/libbsp/m68k/mvme167/include/bsp.h @@ -1,11 +1,14 @@ -/* bsp.h +/** + * @file * * Following defines must reflect the setup of the particular MVME167. * All page references are to the MVME166/MVME167/MVME187 Single Board * Computer Programmer's Reference Guide (MVME187PG/D2) with the April * 1993 supplements/addenda (MVME187PG/D2A1). - * - * COPYRIGHT (c) 1989-2009. + */ + +/* + * COPYRIGHT (c) 1989-2012. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -309,7 +312,7 @@ rtems_isr_entry set_vector( #define EXTERN extern #endif -extern rtems_isr_entry M68Kvec[]; /* vector table address */ +extern void *M68Kvec[]; /* vector table address */ #ifdef __cplusplus } diff --git a/c/src/lib/libbsp/m68k/mvme167/startup/bspclean.c b/c/src/lib/libbsp/m68k/mvme167/startup/bspclean.c index 820ffe89ed..4be67fec41 100644 --- a/c/src/lib/libbsp/m68k/mvme167/startup/bspclean.c +++ b/c/src/lib/libbsp/m68k/mvme167/startup/bspclean.c @@ -1,9 +1,12 @@ -/* bspclean.c +/** + * @file * * These routines return control to 167Bug after a normal exit from the * application. - * - * COPYRIGHT (c) 1989-2010. + */ + +/* + * COPYRIGHT (c) 1989-2012. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -21,17 +24,11 @@ extern void start( void ); extern void page_table_teardown( void ); -/* - * bsp_return_to_monitor_trap +/** + * @brief bsp_return_to_monitor_trap * * Switch the VBR back to ROM and make a .RETURN syscall to return control to * 167 Bug. If 167Bug ever returns, restart the application. - * - * Input parameters: NONE - * - * Output parameters: NONE - * - * Return values: NONE */ static void bsp_return_to_monitor_trap( void ) { diff --git a/c/src/lib/libbsp/m68k/mvme167/startup/bspstart.c b/c/src/lib/libbsp/m68k/mvme167/startup/bspstart.c index 441c8eb38b..2c7f5ebb21 100644 --- a/c/src/lib/libbsp/m68k/mvme167/startup/bspstart.c +++ b/c/src/lib/libbsp/m68k/mvme167/startup/bspstart.c @@ -1,30 +1,5 @@ -/* bspstart.c - * - * This set of routines starts the application. It includes application, - * board, and monitor specific initialization and configuration. The generic - * CPU dependent initialization has been performed before any of these are - * invoked. - * - * COPYRIGHT (c) 1989-2010. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - * - * Modifications of respective RTEMS files: - * Copyright (c) 1998, National Research Council of Canada - */ - -#include -#include -#include - -void M68KFPSPInstallExceptionHandlers (void); -extern rtems_isr_entry M68Kvec[]; - -/* - * bsp_start() +/** + * @file * * Board-specific initialization code. Called from the generic boot_card() * function defined in rtems/c/src/lib/libbsp/shared/main.c. That function @@ -43,22 +18,35 @@ extern rtems_isr_entry M68Kvec[]; * * ASSUMES THAT 167BUG IS PRESENT TO CATCH ANY EXCEPTIONS DURING * INITIALIZATION. + */ + +/* + * COPYRIGHT (c) 1989-2012. + * On-Line Applications Research Corporation (OAR). * - * Input parameters: NONE - * - * Output parameters: NONE + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. * - * Return values: NONE + * Modifications of respective RTEMS files: + * Copyright (c) 1998, National Research Council of Canada */ + +#include +#include +#include + +void M68KFPSPInstallExceptionHandlers (void); + void bsp_start( void ) { - rtems_isr_entry *rom_monitor_vector_table; + void **rom_monitor_vector_table; int index; /* * 167Bug Vectors are at 0xFFE00000 */ - rom_monitor_vector_table = (rtems_isr_entry *)0xFFE00000; + rom_monitor_vector_table = (void **)0xFFE00000; m68k_set_vbr( rom_monitor_vector_table ); /* -- cgit v1.2.3 From 1362b7a6d067d26e0409b226947f676016ee7135 Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Tue, 8 Jan 2013 11:39:08 -0600 Subject: score: Doxygen Clean Up Task #4 --- cpukit/score/cpu/h8300/rtems/asm.h | 49 +- cpukit/score/cpu/h8300/rtems/score/cpu.h | 10 +- cpukit/score/cpu/h8300/rtems/score/h8300.h | 11 +- cpukit/score/cpu/h8300/rtems/score/types.h | 10 +- cpukit/score/cpu/lm32/rtems/asm.h | 58 +- cpukit/score/cpu/lm32/rtems/score/cpu.h | 1231 ++++++++++++------------ cpukit/score/cpu/lm32/rtems/score/cpu_asm.h | 12 +- cpukit/score/cpu/lm32/rtems/score/lm32.h | 15 +- cpukit/score/cpu/lm32/rtems/score/types.h | 10 +- cpukit/score/cpu/m32c/rtems/score/m32c.h | 16 +- cpukit/score/cpu/m32c/varvects.h | 70 +- cpukit/score/cpu/mips/rtems/asm.h | 21 +- cpukit/score/cpu/sparc/rtems/asm.h | 21 +- cpukit/score/cpu/sparc/rtems/score/cpu.h | 654 ++++++------- cpukit/score/cpu/sparc/rtems/score/sparc.h | 95 +- cpukit/score/cpu/sparc/rtems/score/types.h | 14 +- cpukit/score/cpu/sparc64/rtems/asm.h | 21 +- cpukit/score/cpu/sparc64/rtems/score/cpu.h | 64 +- cpukit/score/cpu/sparc64/rtems/score/sparc64.h | 49 +- cpukit/score/cpu/sparc64/rtems/score/types.h | 10 +- 20 files changed, 1256 insertions(+), 1185 deletions(-) diff --git a/cpukit/score/cpu/h8300/rtems/asm.h b/cpukit/score/cpu/h8300/rtems/asm.h index 0f4adee915..a9fad26252 100644 --- a/cpukit/score/cpu/h8300/rtems/asm.h +++ b/cpukit/score/cpu/h8300/rtems/asm.h @@ -1,17 +1,20 @@ /** - * @file rtems/asm.h + * @file * - * This include file attempts to address the problems - * caused by incompatible flavors of assemblers and - * toolsets. It primarily addresses variations in the - * use of leading underscores on symbols and the requirement - * that register names be preceded by a %. + * @brief Address the Problems Caused by Incompatible Flavor of + * Assemblers and Toolsets + * + * This include file attempts to address the problems + * caused by incompatible flavors of assemblers and + * toolsets. It primarily addresses variations in the + * use of leading underscores on symbols and the requirement + * that register names be preceded by a %. + * + * NOTE: The spacing in the use of these macros + * is critical to them working as advertised. */ /* - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. - * * COPYRIGHT: * * This file is based on similar code found in newlib available @@ -69,23 +72,23 @@ */ #define r0 REG(r0) #define r1 REG(r1) -#define r2 REG(r2) -#define r3 REG(r3) -#define r4 REG(r4) -#define r5 REG(r5) -#define r6 REG(r6) -#define r7 REG(r7) +#define r2 REG(r2) +#define r3 REG(r3) +#define r4 REG(r4) +#define r5 REG(r5) +#define r6 REG(r6) +#define r7 REG(r7) #define er0 REG(er0) #define er1 REG(er1) -#define er2 REG(er2) -#define er3 REG(er3) -#define er4 REG(er4) -#define er5 REG(er5) -#define er6 REG(er6) -#define er7 REG(er7) - -#define sp REG(sp) +#define er2 REG(er2) +#define er3 REG(er3) +#define er4 REG(er4) +#define er5 REG(er5) +#define er6 REG(er6) +#define er7 REG(er7) + +#define sp REG(sp) /* * Define macros to handle section beginning and ends. diff --git a/cpukit/score/cpu/h8300/rtems/score/cpu.h b/cpukit/score/cpu/h8300/rtems/score/cpu.h index f8f41a821e..6031f9689b 100644 --- a/cpukit/score/cpu/h8300/rtems/score/cpu.h +++ b/cpukit/score/cpu/h8300/rtems/score/cpu.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/cpu.h + * @file + * + * @brief Hitachi H8300 CPU Department Source + * + * This include file contains information pertaining to the H8300 + * processor. */ /* - * This include file contains information pertaining to the H8300 - * processor. - * * COPYRIGHT (c) 1989-2006. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/h8300/rtems/score/h8300.h b/cpukit/score/cpu/h8300/rtems/score/h8300.h index dd7a3ec11b..3b5e87d626 100644 --- a/cpukit/score/cpu/h8300/rtems/score/h8300.h +++ b/cpukit/score/cpu/h8300/rtems/score/h8300.h @@ -1,11 +1,14 @@ /** - * @file rtems/score/h8300.h + * @file + * + * @brief Information Required to Build RTEMS for a Particular Member + * of the Hitachi H8/300 Family + * + * This file contains information pertaining to the Hitachi H8/300 + * processor family. */ /* - * This file contains information pertaining to the Hitachi H8/300 - * processor family. - * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/h8300/rtems/score/types.h b/cpukit/score/cpu/h8300/rtems/score/types.h index fae136ab45..f832c186fe 100644 --- a/cpukit/score/cpu/h8300/rtems/score/types.h +++ b/cpukit/score/cpu/h8300/rtems/score/types.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/types.h + * @file + * + * @brief Hitachi H8300 CPU Type Definitions + * + * This include file contains type definitions pertaining to the Hitachi + * h8300 processor family. */ /* - * This include file contains type definitions pertaining to the Hitachi - * h8300 processor family. - * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/lm32/rtems/asm.h b/cpukit/score/cpu/lm32/rtems/asm.h index df16e4efdc..15046df81c 100644 --- a/cpukit/score/cpu/lm32/rtems/asm.h +++ b/cpukit/score/cpu/lm32/rtems/asm.h @@ -1,17 +1,20 @@ /** - * @file rtems/asm.h + * @file * - * This include file attempts to address the problems - * caused by incompatible flavors of assemblers and - * toolsets. It primarily addresses variations in the - * use of leading underscores on symbols and the requirement - * that register names be preceded by a %. + * @brief Address the Problems Caused by Incompatible Flavor of + * Assemblers and Toolsets + * + * This include file attempts to address the problems + * caused by incompatible flavors of assemblers and + * toolsets. It primarily addresses variations in the + * use of leading underscores on symbols and the requirement + * that register names be preceded by a %. + * + * NOTE: The spacing in the use of these macros + * is critical to them working as advertised. */ /* - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. - * * COPYRIGHT: * * This file is based on similar code found in newlib available @@ -38,24 +41,24 @@ #ifndef __USER_LABEL_PREFIX__ /** - * Recent versions of GNU cpp define variables which indicate the - * need for underscores and percents. If not using GNU cpp or - * the version does not support this, then you will obviously - * have to define these as appropriate. + * Recent versions of GNU cpp define variables which indicate the + * need for underscores and percents. If not using GNU cpp or + * the version does not support this, then you will obviously + * have to define these as appropriate. * - * This symbol is prefixed to all C program symbols. + * This symbol is prefixed to all C program symbols. */ #define __USER_LABEL_PREFIX__ _ #endif #ifndef __REGISTER_PREFIX__ /** - * Recent versions of GNU cpp define variables which indicate the - * need for underscores and percents. If not using GNU cpp or - * the version does not support this, then you will obviously - * have to define these as appropriate. + * Recent versions of GNU cpp define variables which indicate the + * need for underscores and percents. If not using GNU cpp or + * the version does not support this, then you will obviously + * have to define these as appropriate. * - * This symbol is prefixed to all register names. + * This symbol is prefixed to all register names. */ #define __REGISTER_PREFIX__ #endif @@ -95,8 +98,9 @@ #define BEGIN_DATA /** This macro is used to denote the end of a data section. */ #define END_DATA -/** This macro is used to denote the beginning of the - * unitialized data section. +/** + * This macro is used to denote the beginning of the + * unitialized data section. */ #define BEGIN_BSS /** This macro is used to denote the end of the unitialized data section. */ @@ -105,18 +109,18 @@ #define END /** - * This macro is used to declare a public global symbol. + * This macro is used to declare a public global symbol. * - * @note This must be tailored for a particular flavor of the C compiler. - * They may need to put underscores in front of the symbols. + * NOTE: This must be tailored for a particular flavor of the C compiler. + * They may need to put underscores in front of the symbols. */ #define PUBLIC(sym) .globl SYM (sym) /** - * This macro is used to prototype a public global symbol. + * This macro is used to prototype a public global symbol. * - * @note This must be tailored for a particular flavor of the C compiler. - * They may need to put underscores in front of the symbols. + * NOTE: This must be tailored for a particular flavor of the C compiler. + * They may need to put underscores in front of the symbols. */ #define EXTERN(sym) .globl SYM (sym) diff --git a/cpukit/score/cpu/lm32/rtems/score/cpu.h b/cpukit/score/cpu/lm32/rtems/score/cpu.h index 7f10a53820..865b19f523 100644 --- a/cpukit/score/cpu/lm32/rtems/score/cpu.h +++ b/cpukit/score/cpu/lm32/rtems/score/cpu.h @@ -1,10 +1,10 @@ /** - * @file rtems/score/cpu.h - */ - -/* - * This include file contains information pertaining to the LM32 - * processor. + * @file + * + * @brief LM32 CPU Department Source + * + * This include file contains information pertaining to the LM32 + * processor. */ /* @@ -29,363 +29,365 @@ extern "C" { /* conditional compilation parameters */ /** - * Should the calls to @ref _Thread_Enable_dispatch be inlined? + * Should the calls to @ref _Thread_Enable_dispatch be inlined? * - * If TRUE, then they are inlined. - * If FALSE, then a subroutine call is made. + * If TRUE, then they are inlined. + * If FALSE, then a subroutine call is made. * - * This conditional is an example of the classic trade-off of size - * versus speed. Inlining the call (TRUE) typically increases the - * size of RTEMS while speeding up the enabling of dispatching. + * This conditional is an example of the classic trade-off of size + * versus speed. Inlining the call (TRUE) typically increases the + * size of RTEMS while speeding up the enabling of dispatching. * - * @note In general, the @ref _Thread_Dispatch_disable_level will - * only be 0 or 1 unless you are in an interrupt handler and that - * interrupt handler invokes the executive.] When not inlined - * something calls @ref _Thread_Enable_dispatch which in turns calls - * @ref _Thread_Dispatch. If the enable dispatch is inlined, then - * one subroutine call is avoided entirely. + * NOTE: In general, the @ref _Thread_Dispatch_disable_level will + * only be 0 or 1 unless you are in an interrupt handler and that + * interrupt handler invokes the executive.] When not inlined + * something calls @ref _Thread_Enable_dispatch which in turns calls + * @ref _Thread_Dispatch. If the enable dispatch is inlined, then + * one subroutine call is avoided entirely. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_INLINE_ENABLE_DISPATCH FALSE /** - * Should the body of the search loops in _Thread_queue_Enqueue_priority - * be unrolled one time? In unrolled each iteration of the loop examines - * two "nodes" on the chain being searched. Otherwise, only one node - * is examined per iteration. + * Should the body of the search loops in _Thread_queue_Enqueue_priority + * be unrolled one time? In unrolled each iteration of the loop examines + * two "nodes" on the chain being searched. Otherwise, only one node + * is examined per iteration. * - * If TRUE, then the loops are unrolled. - * If FALSE, then the loops are not unrolled. + * If TRUE, then the loops are unrolled. + * If FALSE, then the loops are not unrolled. * - * The primary factor in making this decision is the cost of disabling - * and enabling interrupts (_ISR_Flash) versus the cost of rest of the - * body of the loop. On some CPUs, the flash is more expensive than - * one iteration of the loop body. In this case, it might be desirable - * to unroll the loop. It is important to note that on some CPUs, this - * code is the longest interrupt disable period in RTEMS. So it is - * necessary to strike a balance when setting this parameter. + * The primary factor in making this decision is the cost of disabling + * and enabling interrupts (_ISR_Flash) versus the cost of rest of the + * body of the loop. On some CPUs, the flash is more expensive than + * one iteration of the loop body. In this case, it might be desirable + * to unroll the loop. It is important to note that on some CPUs, this + * code is the longest interrupt disable period in RTEMS. So it is + * necessary to strike a balance when setting this parameter. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_UNROLL_ENQUEUE_PRIORITY TRUE /** - * Does RTEMS manage a dedicated interrupt stack in software? + * Does RTEMS manage a dedicated interrupt stack in software? * - * If TRUE, then a stack is allocated in @ref _ISR_Handler_initialization. - * If FALSE, nothing is done. + * If TRUE, then a stack is allocated in @ref _ISR_Handler_initialization. + * If FALSE, nothing is done. * - * If the CPU supports a dedicated interrupt stack in hardware, - * then it is generally the responsibility of the BSP to allocate it - * and set it up. + * If the CPU supports a dedicated interrupt stack in hardware, + * then it is generally the responsibility of the BSP to allocate it + * and set it up. * - * If the CPU does not support a dedicated interrupt stack, then - * the porter has two options: (1) execute interrupts on the - * stack of the interrupted task, and (2) have RTEMS manage a dedicated - * interrupt stack. + * If the CPU does not support a dedicated interrupt stack, then + * the porter has two options: (1) execute interrupts on the + * stack of the interrupted task, and (2) have RTEMS manage a dedicated + * interrupt stack. * - * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. + * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. * - * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and - * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is - * possible that both are FALSE for a particular CPU. Although it - * is unclear what that would imply about the interrupt processing - * procedure on that CPU. + * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and + * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is + * possible that both are FALSE for a particular CPU. Although it + * is unclear what that would imply about the interrupt processing + * procedure on that CPU. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_HAS_SOFTWARE_INTERRUPT_STACK TRUE /** - * Does the CPU follow the simple vectored interrupt model? + * Does the CPU follow the simple vectored interrupt model? * - * If TRUE, then RTEMS allocates the vector table it internally manages. - * If FALSE, then the BSP is assumed to allocate and manage the vector - * table + * If TRUE, then RTEMS allocates the vector table it internally manages. + * If FALSE, then the BSP is assumed to allocate and manage the vector + * table * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_SIMPLE_VECTORED_INTERRUPTS TRUE /** - * Does this CPU have hardware support for a dedicated interrupt stack? + * Does this CPU have hardware support for a dedicated interrupt stack? * - * If TRUE, then it must be installed during initialization. - * If FALSE, then no installation is performed. + * If TRUE, then it must be installed during initialization. + * If FALSE, then no installation is performed. * - * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. + * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. * - * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and - * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is - * possible that both are FALSE for a particular CPU. Although it - * is unclear what that would imply about the interrupt processing - * procedure on that CPU. + * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and + * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is + * possible that both are FALSE for a particular CPU. Although it + * is unclear what that would imply about the interrupt processing + * procedure on that CPU. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_HAS_HARDWARE_INTERRUPT_STACK FALSE /** - * Does RTEMS allocate a dedicated interrupt stack in the Interrupt Manager? + * Does RTEMS allocate a dedicated interrupt stack in the Interrupt Manager? * - * If TRUE, then the memory is allocated during initialization. - * If FALSE, then the memory is allocated during initialization. + * If TRUE, then the memory is allocated during initialization. + * If FALSE, then the memory is allocated during initialization. * - * This should be TRUE is CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE. + * This should be TRUE is CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ALLOCATE_INTERRUPT_STACK TRUE /** - * Does the RTEMS invoke the user's ISR with the vector number and - * a pointer to the saved interrupt frame (1) or just the vector - * number (0)? + * Does the RTEMS invoke the user's ISR with the vector number and + * a pointer to the saved interrupt frame (1) or just the vector + * number (0)? * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ISR_PASSES_FRAME_POINTER 1 /** - * @def CPU_HARDWARE_FP + * @def CPU_HARDWARE_FP * - * Does the CPU have hardware floating point? + * Does the CPU have hardware floating point? * - * If TRUE, then the RTEMS_FLOATING_POINT task attribute is supported. - * If FALSE, then the RTEMS_FLOATING_POINT task attribute is ignored. + * If TRUE, then the RTEMS_FLOATING_POINT task attribute is supported. + * If FALSE, then the RTEMS_FLOATING_POINT task attribute is ignored. * - * If there is a FP coprocessor such as the i387 or mc68881, then - * the answer is TRUE. + * If there is a FP coprocessor such as the i387 or mc68881, then + * the answer is TRUE. * - * The macro name "NO_CPU_HAS_FPU" should be made CPU specific. - * It indicates whether or not this CPU model has FP support. For - * example, it would be possible to have an i386_nofp CPU model - * which set this to false to indicate that you have an i386 without - * an i387 and wish to leave floating point support out of RTEMS. + * The macro name "NO_CPU_HAS_FPU" should be made CPU specific. + * It indicates whether or not this CPU model has FP support. For + * example, it would be possible to have an i386_nofp CPU model + * which set this to false to indicate that you have an i386 without + * an i387 and wish to leave floating point support out of RTEMS. */ /** - * @def CPU_SOFTWARE_FP + * @def CPU_SOFTWARE_FP * - * Does the CPU have no hardware floating point and GCC provides a - * software floating point implementation which must be context - * switched? + * Does the CPU have no hardware floating point and GCC provides a + * software floating point implementation which must be context + * switched? * - * This feature conditional is used to indicate whether or not there - * is software implemented floating point that must be context - * switched. The determination of whether or not this applies - * is very tool specific and the state saved/restored is also - * compiler specific. + * This feature conditional is used to indicate whether or not there + * is software implemented floating point that must be context + * switched. The determination of whether or not this applies + * is very tool specific and the state saved/restored is also + * compiler specific. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_HARDWARE_FP FALSE #define CPU_SOFTWARE_FP FALSE /** - * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? + * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? * - * If TRUE, then the RTEMS_FLOATING_POINT task attribute is assumed. - * If FALSE, then the RTEMS_FLOATING_POINT task attribute is followed. + * If TRUE, then the RTEMS_FLOATING_POINT task attribute is assumed. + * If FALSE, then the RTEMS_FLOATING_POINT task attribute is followed. * - * So far, the only CPUs in which this option has been used are the - * HP PA-RISC and PowerPC. On the PA-RISC, The HP C compiler and - * gcc both implicitly used the floating point registers to perform - * integer multiplies. Similarly, the PowerPC port of gcc has been - * seen to allocate floating point local variables and touch the FPU - * even when the flow through a subroutine (like vfprintf()) might - * not use floating point formats. + * So far, the only CPUs in which this option has been used are the + * HP PA-RISC and PowerPC. On the PA-RISC, The HP C compiler and + * gcc both implicitly used the floating point registers to perform + * integer multiplies. Similarly, the PowerPC port of gcc has been + * seen to allocate floating point local variables and touch the FPU + * even when the flow through a subroutine (like vfprintf()) might + * not use floating point formats. * - * If a function which you would not think utilize the FP unit DOES, - * then one can not easily predict which tasks will use the FP hardware. - * In this case, this option should be TRUE. + * If a function which you would not think utilize the FP unit DOES, + * then one can not easily predict which tasks will use the FP hardware. + * In this case, this option should be TRUE. * - * If @ref CPU_HARDWARE_FP is FALSE, then this should be FALSE as well. + * If @ref CPU_HARDWARE_FP is FALSE, then this should be FALSE as well. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ALL_TASKS_ARE_FP FALSE /** - * Should the IDLE task have a floating point context? + * Should the IDLE task have a floating point context? * - * If TRUE, then the IDLE task is created as a RTEMS_FLOATING_POINT task - * and it has a floating point context which is switched in and out. - * If FALSE, then the IDLE task does not have a floating point context. + * If TRUE, then the IDLE task is created as a RTEMS_FLOATING_POINT task + * and it has a floating point context which is switched in and out. + * If FALSE, then the IDLE task does not have a floating point context. * - * Setting this to TRUE negatively impacts the time required to preempt - * the IDLE task from an interrupt because the floating point context - * must be saved as part of the preemption. + * Setting this to TRUE negatively impacts the time required to preempt + * the IDLE task from an interrupt because the floating point context + * must be saved as part of the preemption. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_IDLE_TASK_IS_FP FALSE /** - * Should the saving of the floating point registers be deferred - * until a context switch is made to another different floating point - * task? + * Should the saving of the floating point registers be deferred + * until a context switch is made to another different floating point + * task? * - * If TRUE, then the floating point context will not be stored until - * necessary. It will remain in the floating point registers and not - * disturned until another floating point task is switched to. + * If TRUE, then the floating point context will not be stored until + * necessary. It will remain in the floating point registers and not + * disturned until another floating point task is switched to. * - * If FALSE, then the floating point context is saved when a floating - * point task is switched out and restored when the next floating point - * task is restored. The state of the floating point registers between - * those two operations is not specified. + * If FALSE, then the floating point context is saved when a floating + * point task is switched out and restored when the next floating point + * task is restored. The state of the floating point registers between + * those two operations is not specified. * - * If the floating point context does NOT have to be saved as part of - * interrupt dispatching, then it should be safe to set this to TRUE. + * If the floating point context does NOT have to be saved as part of + * interrupt dispatching, then it should be safe to set this to TRUE. * - * Setting this flag to TRUE results in using a different algorithm - * for deciding when to save and restore the floating point context. - * The deferred FP switch algorithm minimizes the number of times - * the FP context is saved and restored. The FP context is not saved - * until a context switch is made to another, different FP task. - * Thus in a system with only one FP task, the FP context will never - * be saved or restored. + * Setting this flag to TRUE results in using a different algorithm + * for deciding when to save and restore the floating point context. + * The deferred FP switch algorithm minimizes the number of times + * the FP context is saved and restored. The FP context is not saved + * until a context switch is made to another, different FP task. + * Thus in a system with only one FP task, the FP context will never + * be saved or restored. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_USE_DEFERRED_FP_SWITCH TRUE /** - * Does this port provide a CPU dependent IDLE task implementation? + * Does this port provide a CPU dependent IDLE task implementation? * - * If TRUE, then the routine @ref _CPU_Thread_Idle_body - * must be provided and is the default IDLE thread body instead of - * @ref _CPU_Thread_Idle_body. + * If TRUE, then the routine @ref _CPU_Thread_Idle_body + * must be provided and is the default IDLE thread body instead of + * @ref _CPU_Thread_Idle_body. * - * If FALSE, then use the generic IDLE thread body if the BSP does - * not provide one. + * If FALSE, then use the generic IDLE thread body if the BSP does + * not provide one. * - * This is intended to allow for supporting processors which have - * a low power or idle mode. When the IDLE thread is executed, then - * the CPU can be powered down. + * This is intended to allow for supporting processors which have + * a low power or idle mode. When the IDLE thread is executed, then + * the CPU can be powered down. * - * The order of precedence for selecting the IDLE thread body is: + * The order of precedence for selecting the IDLE thread body is: * - * -# BSP provided - * -# CPU dependent (if provided) - * -# generic (if no BSP and no CPU dependent) + * -# BSP provided + * -# CPU dependent (if provided) + * -# generic (if no BSP and no CPU dependent) * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_PROVIDES_IDLE_THREAD_BODY TRUE /** - * Does the stack grow up (toward higher addresses) or down - * (toward lower addresses)? + * Does the stack grow up (toward higher addresses) or down + * (toward lower addresses)? * - * If TRUE, then the grows upward. - * If FALSE, then the grows toward smaller addresses. + * If TRUE, then the grows upward. + * If FALSE, then the grows toward smaller addresses. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STACK_GROWS_UP FALSE /** - * The following is the variable attribute used to force alignment - * of critical RTEMS structures. On some processors it may make - * sense to have these aligned on tighter boundaries than - * the minimum requirements of the compiler in order to have as - * much of the critical data area as possible in a cache line. + * The following is the variable attribute used to force alignment + * of critical RTEMS structures. On some processors it may make + * sense to have these aligned on tighter boundaries than + * the minimum requirements of the compiler in order to have as + * much of the critical data area as possible in a cache line. * - * The placement of this macro in the declaration of the variables - * is based on the syntactically requirements of the GNU C - * "__attribute__" extension. For example with GNU C, use - * the following to force a structures to a 32 byte boundary. + * The placement of this macro in the declaration of the variables + * is based on the syntactically requirements of the GNU C + * "__attribute__" extension. For example with GNU C, use + * the following to force a structures to a 32 byte boundary. * - * __attribute__ ((aligned (32))) + * __attribute__ ((aligned (32))) * - * @note Currently only the Priority Bit Map table uses this feature. - * To benefit from using this, the data must be heavily - * used so it will stay in the cache and used frequently enough - * in the executive to justify turning this on. + * NOTE: Currently only the Priority Bit Map table uses this feature. + * To benefit from using this, the data must be heavily + * used so it will stay in the cache and used frequently enough + * in the executive to justify turning this on. * - * Port Specific Information: + * Port Specific Information: * - * L2 cache lines are 32 bytes in Milkymist SoC + * L2 cache lines are 32 bytes in Milkymist SoC */ #define CPU_STRUCTURE_ALIGNMENT __attribute__ ((aligned (32))) #define CPU_TIMESTAMP_USE_INT64_INLINE TRUE /** - * @defgroup CPUEndian Processor Dependent Endianness Support + * @defgroup CPUEndian Processor Dependent Endianness Support * - * This group assists in issues related to processor endianness. + * This group assists in issues related to processor endianness. + * + * @{ */ /** - * @ingroup CPUEndian - * Define what is required to specify how the network to host conversion - * routines are handled. + * Define what is required to specify how the network to host conversion + * routines are handled. * - * @note @a CPU_BIG_ENDIAN and @a CPU_LITTLE_ENDIAN should NOT have the - * same values. + * NOTE: @a CPU_BIG_ENDIAN and @a CPU_LITTLE_ENDIAN should NOT have the + * same values. * - * @see CPU_LITTLE_ENDIAN + * @see CPU_LITTLE_ENDIAN * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_BIG_ENDIAN TRUE /** - * @ingroup CPUEndian - * Define what is required to specify how the network to host conversion - * routines are handled. + * Define what is required to specify how the network to host conversion + * routines are handled. * - * @note @ref CPU_BIG_ENDIAN and @ref CPU_LITTLE_ENDIAN should NOT have the - * same values. + * NOTE: @ref CPU_BIG_ENDIAN and @ref CPU_LITTLE_ENDIAN should NOT have the + * same values. * - * @see CPU_BIG_ENDIAN + * @see CPU_BIG_ENDIAN * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_LITTLE_ENDIAN FALSE +/** @} */ + /** - * @ingroup CPUInterrupt - * The following defines the number of bits actually used in the - * interrupt field of the task mode. How those bits map to the - * CPU interrupt levels is defined by the routine @ref _CPU_ISR_Set_level. + * @ingroup CPUInterrupt + * The following defines the number of bits actually used in the + * interrupt field of the task mode. How those bits map to the + * CPU interrupt levels is defined by the routine @ref _CPU_ISR_Set_level. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_MODES_INTERRUPT_MASK 0x00000001 @@ -402,50 +404,51 @@ extern "C" { /** * @defgroup CPUContext Processor Dependent Context Management * - * From the highest level viewpoint, there are 2 types of context to save. + * From the highest level viewpoint, there are 2 types of context to save. * - * -# Interrupt registers to save - * -# Task level registers to save + * -# Interrupt registers to save + * -# Task level registers to save * - * Since RTEMS handles integer and floating point contexts separately, this - * means we have the following 3 context items: + * Since RTEMS handles integer and floating point contexts separately, this + * means we have the following 3 context items: * - * -# task level context stuff:: Context_Control - * -# floating point task stuff:: Context_Control_fp - * -# special interrupt level context :: CPU_Interrupt_frame + * -# task level context stuff:: Context_Control + * -# floating point task stuff:: Context_Control_fp + * -# special interrupt level context :: CPU_Interrupt_frame * - * On some processors, it is cost-effective to save only the callee - * preserved registers during a task context switch. This means - * that the ISR code needs to save those registers which do not - * persist across function calls. It is not mandatory to make this - * distinctions between the caller/callee saves registers for the - * purpose of minimizing context saved during task switch and on interrupts. - * If the cost of saving extra registers is minimal, simplicity is the - * choice. Save the same context on interrupt entry as for tasks in - * this case. + * On some processors, it is cost-effective to save only the callee + * preserved registers during a task context switch. This means + * that the ISR code needs to save those registers which do not + * persist across function calls. It is not mandatory to make this + * distinctions between the caller/callee saves registers for the + * purpose of minimizing context saved during task switch and on interrupts. + * If the cost of saving extra registers is minimal, simplicity is the + * choice. Save the same context on interrupt entry as for tasks in + * this case. * - * Additionally, if gdb is to be made aware of RTEMS tasks for this CPU, then - * care should be used in designing the context area. + * Additionally, if gdb is to be made aware of RTEMS tasks for this CPU, then + * care should be used in designing the context area. * - * On some CPUs with hardware floating point support, the Context_Control_fp - * structure will not be used or it simply consist of an array of a - * fixed number of bytes. This is done when the floating point context - * is dumped by a "FP save context" type instruction and the format - * is not really defined by the CPU. In this case, there is no need - * to figure out the exact format -- only the size. Of course, although - * this is enough information for RTEMS, it is probably not enough for - * a debugger such as gdb. But that is another problem. + * On some CPUs with hardware floating point support, the Context_Control_fp + * structure will not be used or it simply consist of an array of a + * fixed number of bytes. This is done when the floating point context + * is dumped by a "FP save context" type instruction and the format + * is not really defined by the CPU. In this case, there is no need + * to figure out the exact format -- only the size. Of course, although + * this is enough information for RTEMS, it is probably not enough for + * a debugger such as gdb. But that is another problem. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate + * + * @{ */ /** - * @ingroup CPUContext Management - * This defines the minimal set of integer and processor state registers - * that must be saved during a voluntary context switch from one thread - * to another. + * This defines the minimal set of integer and processor state registers + * that must be saved during a voluntary context switch from one thread + * to another. */ typedef struct { uint32_t r11; @@ -472,30 +475,27 @@ typedef struct { } Context_Control; /** - * @ingroup CPUContext Management * - * This macro returns the stack pointer associated with @a _context. + * This macro returns the stack pointer associated with @a _context. * - * @param[in] _context is the thread context area to access + * @param[in] _context is the thread context area to access * - * @return This method returns the stack pointer. + * @return This method returns the stack pointer. */ #define _CPU_Context_Get_SP( _context ) \ (_context)->sp /** - * @ingroup CPUContext Management - * This defines the complete set of floating point registers that must - * be saved during any context switch from one thread to another. + * This defines the complete set of floating point registers that must + * be saved during any context switch from one thread to another. */ typedef struct { } Context_Control_fp; /** - * @ingroup CPUContext Management - * This defines the set of integer and processor state registers that must - * be saved during an interrupt. This set does not include any which are - * in @ref Context_Control. + * This defines the set of integer and processor state registers that must + * be saved during an interrupt. This set does not include any which are + * in @ref Context_Control. */ typedef struct { uint32_t r1; @@ -514,173 +514,176 @@ typedef struct { } CPU_Interrupt_frame; /** - * This variable is optional. It is used on CPUs on which it is difficult - * to generate an "uninitialized" FP context. It is filled in by - * @ref _CPU_Initialize and copied into the task's FP context area during - * @ref _CPU_Context_Initialize. + * This variable is optional. It is used on CPUs on which it is difficult + * to generate an "uninitialized" FP context. It is filled in by + * @ref _CPU_Initialize and copied into the task's FP context area during + * @ref _CPU_Context_Initialize. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if 0 SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; #endif +/** @} */ + /** - * @defgroup CPUInterrupt Processor Dependent Interrupt Management + * @defgroup CPUInterrupt Processor Dependent Interrupt Management * - * On some CPUs, RTEMS supports a software managed interrupt stack. - * This stack is allocated by the Interrupt Manager and the switch - * is performed in @ref _ISR_Handler. These variables contain pointers - * to the lowest and highest addresses in the chunk of memory allocated - * for the interrupt stack. Since it is unknown whether the stack - * grows up or down (in general), this give the CPU dependent - * code the option of picking the version it wants to use. + * On some CPUs, RTEMS supports a software managed interrupt stack. + * This stack is allocated by the Interrupt Manager and the switch + * is performed in @ref _ISR_Handler. These variables contain pointers + * to the lowest and highest addresses in the chunk of memory allocated + * for the interrupt stack. Since it is unknown whether the stack + * grows up or down (in general), this give the CPU dependent + * code the option of picking the version it wants to use. * - * @note These two variables are required if the macro - * @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE. + * NOTE: These two variables are required if the macro + * @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate + * + * @{ */ /* - * Nothing prevents the porter from declaring more CPU specific variables. + * Nothing prevents the porter from declaring more CPU specific variables. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ /* XXX: if needed, put more variables here */ /** - * @ingroup CPUContext - * The size of the floating point context area. On some CPUs this - * will not be a "sizeof" because the format of the floating point - * area is not defined -- only the size is. This is usually on - * CPUs with a "floating point save context" instruction. + * @ingroup CPUContext + * The size of the floating point context area. On some CPUs this + * will not be a "sizeof" because the format of the floating point + * area is not defined -- only the size is. This is usually on + * CPUs with a "floating point save context" instruction. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_CONTEXT_FP_SIZE sizeof( Context_Control_fp ) /** - * Amount of extra stack (above minimum stack size) required by - * MPCI receive server thread. Remember that in a multiprocessor - * system this thread must exist and be able to process all directives. + * Amount of extra stack (above minimum stack size) required by + * MPCI receive server thread. Remember that in a multiprocessor + * system this thread must exist and be able to process all directives. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_MPCI_RECEIVE_SERVER_EXTRA_STACK 0 /** - * @ingroup CPUInterrupt - * This defines the number of entries in the @ref _ISR_Vector_table managed - * by RTEMS. + * This defines the number of entries in the @ref _ISR_Vector_table managed + * by RTEMS. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_INTERRUPT_NUMBER_OF_VECTORS 32 /** - * @ingroup CPUInterrupt - * This defines the highest interrupt vector number for this port. + * This defines the highest interrupt vector number for this port. */ #define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (CPU_INTERRUPT_NUMBER_OF_VECTORS - 1) /** - * @ingroup CPUInterrupt - * This is defined if the port has a special way to report the ISR nesting - * level. Most ports maintain the variable @a _ISR_Nest_level. + * This is defined if the port has a special way to report the ISR nesting + * level. Most ports maintain the variable @a _ISR_Nest_level. */ #define CPU_PROVIDES_ISR_IS_IN_PROGRESS FALSE +/** @} */ + /** - * @ingroup CPUContext - * Should be large enough to run all RTEMS tests. This ensures - * that a "reasonable" small application should not have any problems. + * @ingroup CPUContext + * Should be large enough to run all RTEMS tests. This ensures + * that a "reasonable" small application should not have any problems. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STACK_MINIMUM_SIZE (1024*4) #define CPU_SIZEOF_POINTER 4 /** - * CPU's worst alignment requirement for data types on a byte boundary. This - * alignment does not take into account the requirements for the stack. + * CPU's worst alignment requirement for data types on a byte boundary. This + * alignment does not take into account the requirements for the stack. * - * Port Specific Information: - * The LM32 architecture manual simply states: "All memory accesses must be - * aligned to the size of the access", and there is no hardware support - * whatsoever for 64-bit numbers. - * (lm32_archman.pdf, July 2009, p. 15) + * Port Specific Information: + * The LM32 architecture manual simply states: "All memory accesses must be + * aligned to the size of the access", and there is no hardware support + * whatsoever for 64-bit numbers. + * (lm32_archman.pdf, July 2009, p. 15) */ #define CPU_ALIGNMENT 4 /** - * This number corresponds to the byte alignment requirement for the - * heap handler. This alignment requirement may be stricter than that - * for the data types alignment specified by @ref CPU_ALIGNMENT. It is - * common for the heap to follow the same alignment requirement as - * @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is strict enough for - * the heap, then this should be set to @ref CPU_ALIGNMENT. + * This number corresponds to the byte alignment requirement for the + * heap handler. This alignment requirement may be stricter than that + * for the data types alignment specified by @ref CPU_ALIGNMENT. It is + * common for the heap to follow the same alignment requirement as + * @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is strict enough for + * the heap, then this should be set to @ref CPU_ALIGNMENT. * - * @note This does not have to be a power of 2 although it should be - * a multiple of 2 greater than or equal to 2. The requirement - * to be a multiple of 2 is because the heap uses the least - * significant field of the front and back flags to indicate - * that a block is in use or free. So you do not want any odd - * length blocks really putting length data in that bit. + * NOTE: This does not have to be a power of 2 although it should be + * a multiple of 2 greater than or equal to 2. The requirement + * to be a multiple of 2 is because the heap uses the least + * significant field of the front and back flags to indicate + * that a block is in use or free. So you do not want any odd + * length blocks really putting length data in that bit. * - * On byte oriented architectures, @ref CPU_HEAP_ALIGNMENT normally will - * have to be greater or equal to than @ref CPU_ALIGNMENT to ensure that - * elements allocated from the heap meet all restrictions. + * On byte oriented architectures, @ref CPU_HEAP_ALIGNMENT normally will + * have to be greater or equal to than @ref CPU_ALIGNMENT to ensure that + * elements allocated from the heap meet all restrictions. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_HEAP_ALIGNMENT CPU_ALIGNMENT /** - * This number corresponds to the byte alignment requirement for memory - * buffers allocated by the partition manager. This alignment requirement - * may be stricter than that for the data types alignment specified by - * @ref CPU_ALIGNMENT. It is common for the partition to follow the same - * alignment requirement as @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is - * strict enough for the partition, then this should be set to - * @ref CPU_ALIGNMENT. + * This number corresponds to the byte alignment requirement for memory + * buffers allocated by the partition manager. This alignment requirement + * may be stricter than that for the data types alignment specified by + * @ref CPU_ALIGNMENT. It is common for the partition to follow the same + * alignment requirement as @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is + * strict enough for the partition, then this should be set to + * @ref CPU_ALIGNMENT. * - * @note This does not have to be a power of 2. It does have to - * be greater or equal to than @ref CPU_ALIGNMENT. + * NOTE: This does not have to be a power of 2. It does have to + * be greater or equal to than @ref CPU_ALIGNMENT. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_PARTITION_ALIGNMENT CPU_ALIGNMENT /** - * This number corresponds to the byte alignment requirement for the - * stack. This alignment requirement may be stricter than that for the - * data types alignment specified by @ref CPU_ALIGNMENT. + * This number corresponds to the byte alignment requirement for the + * stack. This alignment requirement may be stricter than that for the + * data types alignment specified by @ref CPU_ALIGNMENT. * * - * Port Specific Information: + * Port Specific Information: * - * Stack is software-managed + * Stack is software-managed */ #define CPU_STACK_ALIGNMENT CPU_ALIGNMENT @@ -689,76 +692,76 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; */ /** - * @ingroup CPUInterrupt - * Support routine to initialize the RTEMS vector table after it is allocated. + * @addtogroup CPUInterrupt * - * Port Specific Information: + * @{ + */ + +/** + * Support routine to initialize the RTEMS vector table after it is allocated. * - * XXX document implementation including references if appropriate + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ #define _CPU_Initialize_vectors() /** - * @ingroup CPUInterrupt - * Disable all interrupts for an RTEMS critical section. The previous - * level is returned in @a _isr_cookie. + * Disable all interrupts for an RTEMS critical section. The previous + * level is returned in @a _isr_cookie. * - * @param[out] _isr_cookie will contain the previous level cookie + * @param[out] _isr_cookie will contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Disable( _isr_cookie ) \ lm32_disable_interrupts( _isr_cookie ); /** - * @ingroup CPUInterrupt - * Enable interrupts to the previous level (returned by _CPU_ISR_Disable). - * This indicates the end of an RTEMS critical section. The parameter - * @a _isr_cookie is not modified. + * Enable interrupts to the previous level (returned by _CPU_ISR_Disable). + * This indicates the end of an RTEMS critical section. The parameter + * @a _isr_cookie is not modified. * - * @param[in] _isr_cookie contain the previous level cookie + * @param[in] _isr_cookie contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Enable( _isr_cookie ) \ lm32_enable_interrupts( _isr_cookie ); /** - * @ingroup CPUInterrupt - * This temporarily restores the interrupt to @a _isr_cookie before immediately - * disabling them again. This is used to divide long RTEMS critical - * sections into two or more parts. The parameter @a _isr_cookie is not - * modified. + * This temporarily restores the interrupt to @a _isr_cookie before immediately + * disabling them again. This is used to divide long RTEMS critical + * sections into two or more parts. The parameter @a _isr_cookie is not + * modified. * - * @param[in] _isr_cookie contain the previous level cookie + * @param[in] _isr_cookie contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Flash( _isr_cookie ) \ lm32_flash_interrupts( _isr_cookie ); /** - * @ingroup CPUInterrupt - * - * This routine and @ref _CPU_ISR_Get_level - * Map the interrupt level in task mode onto the hardware that the CPU - * actually provides. Currently, interrupt levels which do not - * map onto the CPU in a generic fashion are undefined. Someday, - * it would be nice if these were "mapped" by the application - * via a callout. For example, m68k has 8 levels 0 - 7, levels - * 8 - 255 would be available for bsp/application specific meaning. - * This could be used to manage a programmable interrupt controller - * via the rtems_task_mode directive. + * This routine and @ref _CPU_ISR_Get_level + * Map the interrupt level in task mode onto the hardware that the CPU + * actually provides. Currently, interrupt levels which do not + * map onto the CPU in a generic fashion are undefined. Someday, + * it would be nice if these were "mapped" by the application + * via a callout. For example, m68k has 8 levels 0 - 7, levels + * 8 - 255 would be available for bsp/application specific meaning. + * This could be used to manage a programmable interrupt controller + * via the rtems_task_mode directive. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Set_level( new_level ) \ { \ @@ -766,52 +769,53 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; } /** - * @ingroup CPUInterrupt - * Return the current interrupt disable level for this task in - * the format used by the interrupt level portion of the task mode. + * Return the current interrupt disable level for this task in + * the format used by the interrupt level portion of the task mode. * - * @note This routine usually must be implemented as a subroutine. + * NOTE: This routine usually must be implemented as a subroutine. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ uint32_t _CPU_ISR_Get_level( void ); /* end of ISR handler macros */ +/** @} */ + /* Context handler macros */ /** - * @ingroup CPUContext - * Initialize the context to a state suitable for starting a - * task after a context restore operation. Generally, this - * involves: - * - * - setting a starting address - * - preparing the stack - * - preparing the stack and frame pointers - * - setting the proper interrupt level in the context - * - initializing the floating point context - * - * This routine generally does not set any unnecessary register - * in the context. The state of the "general data" registers is - * undefined at task start time. - * - * @param[in] _the_context is the context structure to be initialized - * @param[in] _stack_base is the lowest physical address of this task's stack - * @param[in] _size is the size of this task's stack - * @param[in] _isr is the interrupt disable level - * @param[in] _entry_point is the thread's entry point. This is - * always @a _Thread_Handler - * @param[in] _is_fp is TRUE if the thread is to be a floating - * point thread. This is typically only used on CPUs where the - * FPU may be easily disabled by software such as on the SPARC - * where the PSR contains an enable FPU bit. + * @ingroup CPUContext + * Initialize the context to a state suitable for starting a + * task after a context restore operation. Generally, this + * involves: * - * Port Specific Information: + * - setting a starting address + * - preparing the stack + * - preparing the stack and frame pointers + * - setting the proper interrupt level in the context + * - initializing the floating point context * - * XXX document implementation including references if appropriate + * This routine generally does not set any unnecessary register + * in the context. The state of the "general data" registers is + * undefined at task start time. + * + * @param[in] _the_context is the context structure to be initialized + * @param[in] _stack_base is the lowest physical address of this task's stack + * @param[in] _size is the size of this task's stack + * @param[in] _isr is the interrupt disable level + * @param[in] _entry_point is the thread's entry point. This is + * always @a _Thread_Handler + * @param[in] _is_fp is TRUE if the thread is to be a floating + * point thread. This is typically only used on CPUs where the + * FPU may be easily disabled by software such as on the SPARC + * where the PSR contains an enable FPU bit. + * + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ extern char _gp[]; @@ -826,44 +830,44 @@ extern char _gp[]; } while ( 0 ) /** - * This routine is responsible for somehow restarting the currently - * executing task. If you are lucky, then all that is necessary - * is restoring the context. Otherwise, there will need to be - * a special assembly routine which does something special in this - * case. For many ports, simply adding a label to the restore path - * of @ref _CPU_Context_switch will work. On other ports, it may be - * possibly to load a few arguments and jump to the restore path. It will - * not work if restarting self conflicts with the stack frame - * assumptions of restoring a context. + * This routine is responsible for somehow restarting the currently + * executing task. If you are lucky, then all that is necessary + * is restoring the context. Otherwise, there will need to be + * a special assembly routine which does something special in this + * case. For many ports, simply adding a label to the restore path + * of @ref _CPU_Context_switch will work. On other ports, it may be + * possibly to load a few arguments and jump to the restore path. It will + * not work if restarting self conflicts with the stack frame + * assumptions of restoring a context. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Context_Restart_self( _the_context ) \ _CPU_Context_restore( (_the_context) ); /** - * @ingroup CPUContext - * The purpose of this macro is to allow the initial pointer into - * a floating point context area (used to save the floating point - * context) to be at an arbitrary place in the floating point - * context area. + * @ingroup CPUContext + * The purpose of this macro is to allow the initial pointer into + * a floating point context area (used to save the floating point + * context) to be at an arbitrary place in the floating point + * context area. * - * This is necessary because some FP units are designed to have - * their context saved as a stack which grows into lower addresses. - * Other FP units can be saved by simply moving registers into offsets - * from the base of the context area. Finally some FP units provide - * a "dump context" instruction which could fill in from high to low - * or low to high based on the whim of the CPU designers. + * This is necessary because some FP units are designed to have + * their context saved as a stack which grows into lower addresses. + * Other FP units can be saved by simply moving registers into offsets + * from the base of the context area. Finally some FP units provide + * a "dump context" instruction which could fill in from high to low + * or low to high based on the whim of the CPU designers. * - * @param[in] _base is the lowest physical address of the floating point - * context area - * @param[in] _offset is the offset into the floating point area + * @param[in] _base is the lowest physical address of the floating point + * context area + * @param[in] _offset is the offset into the floating point area * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Context_Fp_start( _base, _offset ) #if 0 @@ -871,22 +875,22 @@ extern char _gp[]; #endif /** - * This routine initializes the FP context area passed to it to. - * There are a few standard ways in which to initialize the - * floating point context. The code included for this macro assumes - * that this is a CPU in which a "initial" FP context was saved into - * @a _CPU_Null_fp_context and it simply copies it to the destination - * context passed to it. + * This routine initializes the FP context area passed to it to. + * There are a few standard ways in which to initialize the + * floating point context. The code included for this macro assumes + * that this is a CPU in which a "initial" FP context was saved into + * @a _CPU_Null_fp_context and it simply copies it to the destination + * context passed to it. * - * Other floating point context save/restore models include: - * -# not doing anything, and - * -# putting a "null FP status word" in the correct place in the FP context. + * Other floating point context save/restore models include: + * -# not doing anything, and + * -# putting a "null FP status word" in the correct place in the FP context. * - * @param[in] _destination is the floating point context area + * @param[in] _destination is the floating point context area * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Context_Initialize_fp( _destination ) #if 0 @@ -900,13 +904,13 @@ extern char _gp[]; /* Fatal Error manager macros */ /** - * This routine copies _error into a known place -- typically a stack - * location or a register, optionally disables interrupts, and - * halts/stops the CPU. + * This routine copies _error into a known place -- typically a stack + * location or a register, optionally disables interrupts, and + * halts/stops the CPU. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Fatal_halt( _error ) \ { \ @@ -917,68 +921,67 @@ extern char _gp[]; /* Bitfield handler macros */ /** - * @defgroup CPUBitfield Processor Dependent Bitfield Manipulation + * @defgroup CPUBitfield Processor Dependent Bitfield Manipulation + * + * This set of routines are used to implement fast searches for + * the most important ready task. * - * This set of routines are used to implement fast searches for - * the most important ready task. + * @{ */ /** - * @ingroup CPUBitfield - * This definition is set to TRUE if the port uses the generic bitfield - * manipulation implementation. + * This definition is set to TRUE if the port uses the generic bitfield + * manipulation implementation. */ #define CPU_USE_GENERIC_BITFIELD_CODE TRUE /** - * @ingroup CPUBitfield - * This definition is set to TRUE if the port uses the data tables provided - * by the generic bitfield manipulation implementation. - * This can occur when actually using the generic bitfield manipulation - * implementation or when implementing the same algorithm in assembly - * language for improved performance. It is unlikely that a port will use - * the data if it has a bitfield scan instruction. + * This definition is set to TRUE if the port uses the data tables provided + * by the generic bitfield manipulation implementation. + * This can occur when actually using the generic bitfield manipulation + * implementation or when implementing the same algorithm in assembly + * language for improved performance. It is unlikely that a port will use + * the data if it has a bitfield scan instruction. */ #define CPU_USE_GENERIC_BITFIELD_DATA TRUE /** - * @ingroup CPUBitfield - * This routine sets @a _output to the bit number of the first bit - * set in @a _value. @a _value is of CPU dependent type - * @a Priority_bit_map_Control. This type may be either 16 or 32 bits - * wide although only the 16 least significant bits will be used. - * - * There are a number of variables in using a "find first bit" type - * instruction. - * - * -# What happens when run on a value of zero? - * -# Bits may be numbered from MSB to LSB or vice-versa. - * -# The numbering may be zero or one based. - * -# The "find first bit" instruction may search from MSB or LSB. - * - * RTEMS guarantees that (1) will never happen so it is not a concern. - * (2),(3), (4) are handled by the macros @ref _CPU_Priority_Mask and - * @ref _CPU_Priority_bits_index. These three form a set of routines - * which must logically operate together. Bits in the _value are - * set and cleared based on masks built by @ref _CPU_Priority_Mask. - * The basic major and minor values calculated by @ref _Priority_Major - * and @ref _Priority_Minor are "massaged" by @ref _CPU_Priority_bits_index - * to properly range between the values returned by the "find first bit" - * instruction. This makes it possible for @ref _Priority_Get_highest to - * calculate the major and directly index into the minor table. - * This mapping is necessary to ensure that 0 (a high priority major/minor) - * is the first bit found. - * - * This entire "find first bit" and mapping process depends heavily - * on the manner in which a priority is broken into a major and minor - * components with the major being the 4 MSB of a priority and minor - * the 4 LSB. Thus (0 << 4) + 0 corresponds to priority 0 -- the highest - * priority. And (15 << 4) + 14 corresponds to priority 254 -- the next - * to the lowest priority. - * - * If your CPU does not have a "find first bit" instruction, then - * there are ways to make do without it. Here are a handful of ways - * to implement this in software: + * This routine sets @a _output to the bit number of the first bit + * set in @a _value. @a _value is of CPU dependent type + * @a Priority_bit_map_Control. This type may be either 16 or 32 bits + * wide although only the 16 least significant bits will be used. + * + * There are a number of variables in using a "find first bit" type + * instruction. + * + * -# What happens when run on a value of zero? + * -# Bits may be numbered from MSB to LSB or vice-versa. + * -# The numbering may be zero or one based. + * -# The "find first bit" instruction may search from MSB or LSB. + * + * RTEMS guarantees that (1) will never happen so it is not a concern. + * (2),(3), (4) are handled by the macros @ref _CPU_Priority_Mask and + * @ref _CPU_Priority_bits_index. These three form a set of routines + * which must logically operate together. Bits in the _value are + * set and cleared based on masks built by @ref _CPU_Priority_Mask. + * The basic major and minor values calculated by @ref _Priority_Major + * and @ref _Priority_Minor are "massaged" by @ref _CPU_Priority_bits_index + * to properly range between the values returned by the "find first bit" + * instruction. This makes it possible for @ref _Priority_Get_highest to + * calculate the major and directly index into the minor table. + * This mapping is necessary to ensure that 0 (a high priority major/minor) + * is the first bit found. + * + * This entire "find first bit" and mapping process depends heavily + * on the manner in which a priority is broken into a major and minor + * components with the major being the 4 MSB of a priority and minor + * the 4 LSB. Thus (0 << 4) + 0 corresponds to priority 0 -- the highest + * priority. And (15 << 4) + 14 corresponds to priority 254 -- the next + * to the lowest priority. + * + * If your CPU does not have a "find first bit" instruction, then + * there are ways to make do without it. Here are a handful of ways + * to implement this in software: * @verbatim - a series of 16 bit test instructions @@ -995,15 +998,15 @@ extern char _gp[]; _number += bit_set_table[ _value ] @endverbatim - * where bit_set_table[ 16 ] has values which indicate the first - * bit set + * where bit_set_table[ 16 ] has values which indicate the first + * bit set * - * @param[in] _value is the value to be scanned - * @param[in] _output is the first bit set + * @param[in] _value is the value to be scanned + * @param[in] _output is the first bit set * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -1015,14 +1018,16 @@ extern char _gp[]; /* end of Bitfield handler macros */ +/** @} */ + /** - * This routine builds the mask which corresponds to the bit fields - * as searched by @ref _CPU_Bitfield_Find_first_bit. See the discussion - * for that routine. + * This routine builds the mask which corresponds to the bit fields + * as searched by @ref _CPU_Bitfield_Find_first_bit. See the discussion + * for that routine. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -1032,17 +1037,17 @@ extern char _gp[]; #endif /** - * @ingroup CPUBitfield - * This routine translates the bit numbers returned by - * @ref _CPU_Bitfield_Find_first_bit into something suitable for use as - * a major or minor component of a priority. See the discussion - * for that routine. + * @ingroup CPUBitfield + * This routine translates the bit numbers returned by + * @ref _CPU_Bitfield_Find_first_bit into something suitable for use as + * a major or minor component of a priority. See the discussion + * for that routine. * - * @param[in] _priority is the major or minor number to translate + * @param[in] _priority is the major or minor number to translate * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -1056,26 +1061,31 @@ extern char _gp[]; /* functions */ /** - * This routine performs CPU dependent initialization. + * This routine performs CPU dependent initialization. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Initialize(void); /** - * @ingroup CPUInterrupt - * This routine installs a "raw" interrupt handler directly into the - * processor's vector table. + * @addtogroup CPUInterrupt * - * @param[in] vector is the vector number - * @param[in] new_handler is the raw ISR handler to install - * @param[in] old_handler is the previously installed ISR Handler + * @{ + */ + +/** + * This routine installs a "raw" interrupt handler directly into the + * processor's vector table. * - * Port Specific Information: + * @param[in] vector is the vector number + * @param[in] new_handler is the raw ISR handler to install + * @param[in] old_handler is the previously installed ISR Handler * - * XXX document implementation including references if appropriate + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ void _CPU_ISR_install_raw_handler( uint32_t vector, @@ -1084,16 +1094,15 @@ void _CPU_ISR_install_raw_handler( ); /** - * @ingroup CPUInterrupt - * This routine installs an interrupt vector. + * This routine installs an interrupt vector. * - * @param[in] vector is the vector number - * @param[in] new_handler is the RTEMS ISR handler to install - * @param[in] old_handler is the previously installed ISR Handler + * @param[in] vector is the vector number + * @param[in] new_handler is the RTEMS ISR handler to install + * @param[in] old_handler is the previously installed ISR Handler * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_ISR_install_vector( uint32_t vector, @@ -1102,40 +1111,41 @@ void _CPU_ISR_install_vector( ); /** - * @ingroup CPUInterrupt - * This routine installs the hardware interrupt stack pointer. + * This routine installs the hardware interrupt stack pointer. * - * @note It need only be provided if @ref CPU_HAS_HARDWARE_INTERRUPT_STACK - * is TRUE. + * NOTE: It need only be provided if @ref CPU_HAS_HARDWARE_INTERRUPT_STACK + * is TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Install_interrupt_stack( void ); +/** @} */ + /** - * This routine is the CPU dependent IDLE thread body. + * This routine is the CPU dependent IDLE thread body. * - * @note It need only be provided if @ref CPU_PROVIDES_IDLE_THREAD_BODY - * is TRUE. + * NOTE: It need only be provided if @ref CPU_PROVIDES_IDLE_THREAD_BODY + * is TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void *_CPU_Thread_Idle_body( uintptr_t ignored ); /** - * @ingroup CPUContext - * This routine switches from the run context to the heir context. + * @ingroup CPUContext + * This routine switches from the run context to the heir context. * - * @param[in] run points to the context of the currently executing task - * @param[in] heir points to the context of the heir task + * @param[in] run points to the context of the currently executing task + * @param[in] heir points to the context of the heir task * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_switch( Context_Control *run, @@ -1143,90 +1153,95 @@ void _CPU_Context_switch( ); /** - * @ingroup CPUContext - * This routine is generally used only to restart self in an - * efficient manner. It may simply be a label in @ref _CPU_Context_switch. + * @addtogroup CPUContext * - * @param[in] new_context points to the context to be restored. + * @{ + */ + +/** + * This routine is generally used only to restart self in an + * efficient manner. It may simply be a label in @ref _CPU_Context_switch. * - * @note May be unnecessary to reload some registers. + * @param[in] new_context points to the context to be restored. * - * Port Specific Information: + * NOTE: May be unnecessary to reload some registers. * - * XXX document implementation including references if appropriate + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ void _CPU_Context_restore( Context_Control *new_context ) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE; /** - * @ingroup CPUContext - * This routine saves the floating point context passed to it. + * This routine saves the floating point context passed to it. * - * @param[in] fp_context_ptr is a pointer to a pointer to a floating - * point context area + * @param[in] fp_context_ptr is a pointer to a pointer to a floating + * point context area * - * @return on output @a *fp_context_ptr will contain the address that - * should be used with @ref _CPU_Context_restore_fp to restore this context. + * @return on output @a *fp_context_ptr will contain the address that + * should be used with @ref _CPU_Context_restore_fp to restore this context. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_save_fp( Context_Control_fp **fp_context_ptr ); /** - * @ingroup CPUContext - * This routine restores the floating point context passed to it. + * This routine restores the floating point context passed to it. * - * @param[in] fp_context_ptr is a pointer to a pointer to a floating - * point context area to restore + * @param[in] fp_context_ptr is a pointer to a pointer to a floating + * point context area to restore * - * @return on output @a *fp_context_ptr will contain the address that - * should be used with @ref _CPU_Context_save_fp to save this context. + * @return on output @a *fp_context_ptr will contain the address that + * should be used with @ref _CPU_Context_save_fp to save this context. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_restore_fp( Context_Control_fp **fp_context_ptr ); +/** @} */ + /* FIXME */ typedef CPU_Interrupt_frame CPU_Exception_frame; void _CPU_Exception_frame_print( const CPU_Exception_frame *frame ); /** - * @ingroup CPUEndian - * The following routine swaps the endian format of an unsigned int. - * It must be static because it is referenced indirectly. + * @ingroup CPUEndian + * The following routine swaps the endian format of an unsigned int. + * It must be static because it is referenced indirectly. * - * This version will work on any processor, but if there is a better - * way for your CPU PLEASE use it. The most common way to do this is to: + * This version will work on any processor, but if there is a better + * way for your CPU PLEASE use it. The most common way to do this is to: * - * swap least significant two bytes with 16-bit rotate - * swap upper and lower 16-bits - * swap most significant two bytes with 16-bit rotate + * swap least significant two bytes with 16-bit rotate + * swap upper and lower 16-bits + * swap most significant two bytes with 16-bit rotate * - * Some CPUs have special instructions which swap a 32-bit quantity in - * a single instruction (e.g. i486). It is probably best to avoid - * an "endian swapping control bit" in the CPU. One good reason is - * that interrupts would probably have to be disabled to ensure that - * an interrupt does not try to access the same "chunk" with the wrong - * endian. Another good reason is that on some CPUs, the endian bit - * endianness for ALL fetches -- both code and data -- so the code - * will be fetched incorrectly. + * Some CPUs have special instructions which swap a 32-bit quantity in + * a single instruction (e.g. i486). It is probably best to avoid + * an "endian swapping control bit" in the CPU. One good reason is + * that interrupts would probably have to be disabled to ensure that + * an interrupt does not try to access the same "chunk" with the wrong + * endian. Another good reason is that on some CPUs, the endian bit + * endianness for ALL fetches -- both code and data -- so the code + * will be fetched incorrectly. * - * @param[in] value is the value to be swapped - * @return the value after being endian swapped + * @param[in] value is the value to be swapped + * @return the value after being endian swapped * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ static inline uint32_t CPU_swap_u32( uint32_t value @@ -1244,11 +1259,11 @@ static inline uint32_t CPU_swap_u32( } /** - * @ingroup CPUEndian - * This routine swaps a 16 bir quantity. + * @ingroup CPUEndian + * This routine swaps a 16 bir quantity. * - * @param[in] value is the value to be swapped - * @return the value after being endian swapped + * @param[in] value is the value to be swapped + * @return the value after being endian swapped */ static inline uint16_t CPU_swap_u16(uint16_t v) { diff --git a/cpukit/score/cpu/lm32/rtems/score/cpu_asm.h b/cpukit/score/cpu/lm32/rtems/score/cpu_asm.h index 7eada7827d..49d0aed5f3 100644 --- a/cpukit/score/cpu/lm32/rtems/score/cpu_asm.h +++ b/cpukit/score/cpu/lm32/rtems/score/cpu_asm.h @@ -1,12 +1,14 @@ /** - * @file rtems/score/cpu_asm.h + * @file + * + * @brief LM32 CPU Assembly File + * + * Very loose template for an include file for the cpu_asm.? file + * if it is implemented as a ".S" file (preprocessed by cpp) instead + * of a ".s" file (preprocessed by gm4 or gasp). */ /* - * Very loose template for an include file for the cpu_asm.? file - * if it is implemented as a ".S" file (preprocessed by cpp) instead - * of a ".s" file (preprocessed by gm4 or gasp). - * * COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/lm32/rtems/score/lm32.h b/cpukit/score/cpu/lm32/rtems/score/lm32.h index b1d5edd688..4d03d953ed 100644 --- a/cpukit/score/cpu/lm32/rtems/score/lm32.h +++ b/cpukit/score/cpu/lm32/rtems/score/lm32.h @@ -1,11 +1,14 @@ -/* lm32.h - * - * This file sets up basic CPU dependency settings based on - * compiler settings. For example, it can determine if - * floating point is available. This particular implementation - * is specified to the NO CPU port. +/** + * @file * + * @brief LM32 Set up Basic CPU Dependency Settings Based on Compiler Settings * + * This file sets up basic CPU dependency settings based on + * compiler settings. For example, it can determine if + * floating point is available. This particular implementation + * is specified to the NO CPU port. + */ +/* * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/lm32/rtems/score/types.h b/cpukit/score/cpu/lm32/rtems/score/types.h index aee9f923c1..7caae46e61 100644 --- a/cpukit/score/cpu/lm32/rtems/score/types.h +++ b/cpukit/score/cpu/lm32/rtems/score/types.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/types.h + * @file + * + * @brief LM32 CPU Type Definitions + * + * This include file contains type definitions pertaining to the + * Lattice lm32 processor family. */ /* - * This include file contains type definitions pertaining to the - * Lattice lm32 processor family. - * * COPYRIGHT (c) 1989-2006. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/m32c/rtems/score/m32c.h b/cpukit/score/cpu/m32c/rtems/score/m32c.h index 5cd3e71103..9be83e71e4 100644 --- a/cpukit/score/cpu/m32c/rtems/score/m32c.h +++ b/cpukit/score/cpu/m32c/rtems/score/m32c.h @@ -1,9 +1,15 @@ -/* - * This file sets up basic CPU dependency settings based on - * compiler settings. For example, it can determine if - * floating point is available. This particular implementation - * is specified to the NO CPU port. +/** + * @file + * + * @brief M32C Set up Basic CPU Dependency Settings Based on Compiler Settings * + * This file sets up basic CPU dependency settings based on + * compiler settings. For example, it can determine if + * floating point is available. This particular implementation + * is specified to the NO CPU port. + */ + +/* * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/m32c/varvects.h b/cpukit/score/cpu/m32c/varvects.h index 30884edbd8..7168482b54 100644 --- a/cpukit/score/cpu/m32c/varvects.h +++ b/cpukit/score/cpu/m32c/varvects.h @@ -1,37 +1,41 @@ -/* - -Copyright (c) 2008 Red Hat Incorporated. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 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. +/** + * @file + * + * @brief M32C Built-in Variable Vector Table Interface + * + * This file defines the interface to the built-in variable vector + * table in R8C/M16C/M32C chips. + */ - The name of Red Hat Incorporated may not be used to endorse - or promote products derived from this software without specific - prior written permission. - -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 RED HAT INCORPORATED 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. - -*/ - -/* This file defines the interface to the built-in variable vector - table in R8C/M16C/M32C chips. */ +/* + * Copyright (c) 2008 Red Hat Incorporated. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 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. + * + * The name of Red Hat Incorporated may not be used to endorse + * or promote products derived from this software without specific + * prior written permission. + * + * 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 RED HAT INCORPORATED 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. + */ #ifndef _VARVECTS_H_ #define _VARVECTS_H_ diff --git a/cpukit/score/cpu/mips/rtems/asm.h b/cpukit/score/cpu/mips/rtems/asm.h index 73e4366b87..9c84f61990 100644 --- a/cpukit/score/cpu/mips/rtems/asm.h +++ b/cpukit/score/cpu/mips/rtems/asm.h @@ -1,17 +1,20 @@ /** - * @file rtems/asm.h + * @file * - * This include file attempts to address the problems - * caused by incompatible flavors of assemblers and - * toolsets. It primarily addresses variations in the - * use of leading underscores on symbols and the requirement - * that register names be preceded by a %. + * @brief Address the Problems Caused by Incompatible Flavor of + * Assemblers and Toolsets + * + * This include file attempts to address the problems + * caused by incompatible flavors of assemblers and + * toolsets. It primarily addresses variations in the + * use of leading underscores on symbols and the requirement + * that register names be preceded by a %. + * + * NOTE: The spacing in the use of these macros + * is critical to them working as advertised. */ /* - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. - * * COPYRIGHT: * * This file is based on similar code found in newlib available diff --git a/cpukit/score/cpu/sparc/rtems/asm.h b/cpukit/score/cpu/sparc/rtems/asm.h index 530197eeb8..a2b11f63fc 100644 --- a/cpukit/score/cpu/sparc/rtems/asm.h +++ b/cpukit/score/cpu/sparc/rtems/asm.h @@ -1,17 +1,20 @@ /** - * @file rtems/asm.h + * @file * - * This include file attempts to address the problems - * caused by incompatible flavors of assemblers and - * toolsets. It primarily addresses variations in the - * use of leading underscores on symbols and the requirement - * that register names be preceded by a %. + * @brief Address the Problems Caused by Incompatible Flavor of + * Assemblers and Toolsets + * + * This include file attempts to address the problems + * caused by incompatible flavors of assemblers and + * toolsets. It primarily addresses variations in the + * use of leading underscores on symbols and the requirement + * that register names be preceded by a %. + * + * NOTE: The spacing in the use of these macros + * is critical to them working as advertised. */ /* - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. - * * COPYRIGHT: * * This file is based on similar code found in newlib available diff --git a/cpukit/score/cpu/sparc/rtems/score/cpu.h b/cpukit/score/cpu/sparc/rtems/score/cpu.h index 686d0e25d0..327b06254c 100644 --- a/cpukit/score/cpu/sparc/rtems/score/cpu.h +++ b/cpukit/score/cpu/sparc/rtems/score/cpu.h @@ -1,8 +1,10 @@ /** - * @file rtems/score/cpu.h + * @file * - * This include file contains information pertaining to the port of - * the executive to the SPARC processor. + * @brief SPARC CPU Department Source + * + * This include file contains information pertaining to the port of + * the executive to the SPARC processor. */ /* @@ -27,94 +29,94 @@ extern "C" { /* conditional compilation parameters */ /** - * Should the calls to _Thread_Enable_dispatch be inlined? + * Should the calls to _Thread_Enable_dispatch be inlined? * - * - If TRUE, then they are inlined. - * - If FALSE, then a subroutine call is made. + * - If TRUE, then they are inlined. + * - If FALSE, then a subroutine call is made. * - * On this port, it is faster to inline _Thread_Enable_dispatch. + * On this port, it is faster to inline _Thread_Enable_dispatch. */ #define CPU_INLINE_ENABLE_DISPATCH TRUE /** - * Should the body of the search loops in _Thread_queue_Enqueue_priority - * be unrolled one time? In unrolled each iteration of the loop examines - * two "nodes" on the chain being searched. Otherwise, only one node - * is examined per iteration. + * Should the body of the search loops in _Thread_queue_Enqueue_priority + * be unrolled one time? In unrolled each iteration of the loop examines + * two "nodes" on the chain being searched. Otherwise, only one node + * is examined per iteration. * - * - If TRUE, then the loops are unrolled. - * - If FALSE, then the loops are not unrolled. + * - If TRUE, then the loops are unrolled. + * - If FALSE, then the loops are not unrolled. * - * This parameter could go either way on the SPARC. The interrupt flash - * code is relatively lengthy given the requirements for nops following - * writes to the psr. But if the clock speed were high enough, this would - * not represent a great deal of time. + * This parameter could go either way on the SPARC. The interrupt flash + * code is relatively lengthy given the requirements for nops following + * writes to the psr. But if the clock speed were high enough, this would + * not represent a great deal of time. */ #define CPU_UNROLL_ENQUEUE_PRIORITY TRUE /** - * Does the executive manage a dedicated interrupt stack in software? + * Does the executive manage a dedicated interrupt stack in software? * - * If TRUE, then a stack is allocated in _ISR_Handler_initialization. - * If FALSE, nothing is done. + * If TRUE, then a stack is allocated in _ISR_Handler_initialization. + * If FALSE, nothing is done. * - * The SPARC does not have a dedicated HW interrupt stack and one has - * been implemented in SW. + * The SPARC does not have a dedicated HW interrupt stack and one has + * been implemented in SW. */ #define CPU_HAS_SOFTWARE_INTERRUPT_STACK TRUE /** - * Does the CPU follow the simple vectored interrupt model? + * Does the CPU follow the simple vectored interrupt model? * - * - If TRUE, then RTEMS allocates the vector table it internally manages. - * - If FALSE, then the BSP is assumed to allocate and manage the vector - * table + * - If TRUE, then RTEMS allocates the vector table it internally manages. + * - If FALSE, then the BSP is assumed to allocate and manage the vector + * table * - * THe SPARC is a simple vectored architecture. Usually there is no - * PIC and the CPU directly vectors the interrupts. + * THe SPARC is a simple vectored architecture. Usually there is no + * PIC and the CPU directly vectors the interrupts. */ #define CPU_SIMPLE_VECTORED_INTERRUPTS TRUE -/** - * Does this CPU have hardware support for a dedicated interrupt stack? +/** + * Does this CPU have hardware support for a dedicated interrupt stack? * - * - If TRUE, then it must be installed during initialization. - * - If FALSE, then no installation is performed. + * - If TRUE, then it must be installed during initialization. + * - If FALSE, then no installation is performed. * - * The SPARC does not have a dedicated HW interrupt stack. + * The SPARC does not have a dedicated HW interrupt stack. */ #define CPU_HAS_HARDWARE_INTERRUPT_STACK FALSE /** - * Do we allocate a dedicated interrupt stack in the Interrupt Manager? + * Do we allocate a dedicated interrupt stack in the Interrupt Manager? * - * - If TRUE, then the memory is allocated during initialization. - * - If FALSE, then the memory is allocated during initialization. + * - If TRUE, then the memory is allocated during initialization. + * - If FALSE, then the memory is allocated during initialization. * - * The SPARC does not have hardware support for switching to a - * dedicated interrupt stack. The port includes support for doing this - * in software. + * The SPARC does not have hardware support for switching to a + * dedicated interrupt stack. The port includes support for doing this + * in software. * */ #define CPU_ALLOCATE_INTERRUPT_STACK TRUE /** - * Does the RTEMS invoke the user's ISR with the vector number and - * a pointer to the saved interrupt frame (1) or just the vector - * number (0)? + * Does the RTEMS invoke the user's ISR with the vector number and + * a pointer to the saved interrupt frame (1) or just the vector + * number (0)? * - * The SPARC port does not pass an Interrupt Stack Frame pointer to - * interrupt handlers. + * The SPARC port does not pass an Interrupt Stack Frame pointer to + * interrupt handlers. */ #define CPU_ISR_PASSES_FRAME_POINTER 0 /** - * Does the CPU have hardware floating point? + * Does the CPU have hardware floating point? * - * - If TRUE, then the FLOATING_POINT task attribute is supported. - * - If FALSE, then the FLOATING_POINT task attribute is ignored. + * - If TRUE, then the FLOATING_POINT task attribute is supported. + * - If FALSE, then the FLOATING_POINT task attribute is ignored. * - * This is set based upon the multilib settings. + * This is set based upon the multilib settings. */ #if ( SPARC_HAS_FPU == 1 ) #define CPU_HARDWARE_FP TRUE @@ -123,123 +125,123 @@ extern "C" { #endif /** - * The SPARC GCC port does not have a software floating point library - * that requires RTEMS assistance. + * The SPARC GCC port does not have a software floating point library + * that requires RTEMS assistance. */ #define CPU_SOFTWARE_FP FALSE /** - * Are all tasks FLOATING_POINT tasks implicitly? + * Are all tasks FLOATING_POINT tasks implicitly? * - * - If TRUE, then the FLOATING_POINT task attribute is assumed. - * - If FALSE, then the FLOATING_POINT task attribute is followed. + * - If TRUE, then the FLOATING_POINT task attribute is assumed. + * - If FALSE, then the FLOATING_POINT task attribute is followed. * - * The SPARC GCC port does not implicitly use floating point registers. + * The SPARC GCC port does not implicitly use floating point registers. */ #define CPU_ALL_TASKS_ARE_FP FALSE /** - * Should the IDLE task have a floating point context? + * Should the IDLE task have a floating point context? * - * - If TRUE, then the IDLE task is created as a FLOATING_POINT task - * and it has a floating point context which is switched in and out. - * - If FALSE, then the IDLE task does not have a floating point context. + * - If TRUE, then the IDLE task is created as a FLOATING_POINT task + * and it has a floating point context which is switched in and out. + * - If FALSE, then the IDLE task does not have a floating point context. * - * The IDLE task does not have to be floating point on the SPARC. + * The IDLE task does not have to be floating point on the SPARC. */ #define CPU_IDLE_TASK_IS_FP FALSE /** - * Should the saving of the floating point registers be deferred - * until a context switch is made to another different floating point - * task? + * Should the saving of the floating point registers be deferred + * until a context switch is made to another different floating point + * task? * - * - If TRUE, then the floating point context will not be stored until - * necessary. It will remain in the floating point registers and not - * disturned until another floating point task is switched to. + * - If TRUE, then the floating point context will not be stored until + * necessary. It will remain in the floating point registers and not + * disturned until another floating point task is switched to. * - * - If FALSE, then the floating point context is saved when a floating - * point task is switched out and restored when the next floating point - * task is restored. The state of the floating point registers between - * those two operations is not specified. + * - If FALSE, then the floating point context is saved when a floating + * point task is switched out and restored when the next floating point + * task is restored. The state of the floating point registers between + * those two operations is not specified. * - * On the SPARC, we can disable the FPU for integer only tasks so - * it is safe to defer floating point context switches. + * On the SPARC, we can disable the FPU for integer only tasks so + * it is safe to defer floating point context switches. */ #define CPU_USE_DEFERRED_FP_SWITCH TRUE /** - * Does this port provide a CPU dependent IDLE task implementation? + * Does this port provide a CPU dependent IDLE task implementation? * - * - If TRUE, then the routine _CPU_Thread_Idle_body - * must be provided and is the default IDLE thread body instead of - * _CPU_Thread_Idle_body. + * - If TRUE, then the routine _CPU_Thread_Idle_body + * must be provided and is the default IDLE thread body instead of + * _CPU_Thread_Idle_body. * - * - If FALSE, then use the generic IDLE thread body if the BSP does - * not provide one. + * - If FALSE, then use the generic IDLE thread body if the BSP does + * not provide one. * - * The SPARC architecture does not have a low power or halt instruction. - * It is left to the BSP and/or CPU specific code to provide an IDLE - * thread body which is aware of low power modes. + * The SPARC architecture does not have a low power or halt instruction. + * It is left to the BSP and/or CPU specific code to provide an IDLE + * thread body which is aware of low power modes. */ #define CPU_PROVIDES_IDLE_THREAD_BODY FALSE /** - * Does the stack grow up (toward higher addresses) or down - * (toward lower addresses)? + * Does the stack grow up (toward higher addresses) or down + * (toward lower addresses)? * - * - If TRUE, then the grows upward. - * - If FALSE, then the grows toward smaller addresses. + * - If TRUE, then the grows upward. + * - If FALSE, then the grows toward smaller addresses. * - * The stack grows to lower addresses on the SPARC. + * The stack grows to lower addresses on the SPARC. */ #define CPU_STACK_GROWS_UP FALSE /** - * The following is the variable attribute used to force alignment - * of critical data structures. On some processors it may make - * sense to have these aligned on tighter boundaries than - * the minimum requirements of the compiler in order to have as - * much of the critical data area as possible in a cache line. + * The following is the variable attribute used to force alignment + * of critical data structures. On some processors it may make + * sense to have these aligned on tighter boundaries than + * the minimum requirements of the compiler in order to have as + * much of the critical data area as possible in a cache line. * - * The SPARC does not appear to have particularly strict alignment - * requirements. This value was chosen to take advantages of caches. + * The SPARC does not appear to have particularly strict alignment + * requirements. This value was chosen to take advantages of caches. */ #define CPU_STRUCTURE_ALIGNMENT __attribute__ ((aligned (16))) #define CPU_TIMESTAMP_USE_INT64_INLINE TRUE /** - * Define what is required to specify how the network to host conversion - * routines are handled. + * Define what is required to specify how the network to host conversion + * routines are handled. * - * The SPARC is big endian. + * The SPARC is big endian. */ #define CPU_BIG_ENDIAN TRUE /** - * Define what is required to specify how the network to host conversion - * routines are handled. + * Define what is required to specify how the network to host conversion + * routines are handled. * - * The SPARC is NOT little endian. + * The SPARC is NOT little endian. */ #define CPU_LITTLE_ENDIAN FALSE /** - * The following defines the number of bits actually used in the - * interrupt field of the task mode. How those bits map to the - * CPU interrupt levels is defined by the routine _CPU_ISR_Set_level(). + * The following defines the number of bits actually used in the + * interrupt field of the task mode. How those bits map to the + * CPU interrupt levels is defined by the routine _CPU_ISR_Set_level(). * - * The SPARC has 16 interrupt levels in the PIL field of the PSR. + * The SPARC has 16 interrupt levels in the PIL field of the PSR. */ #define CPU_MODES_INTERRUPT_MASK 0x0000000F #ifndef ASM /** - * This structure represents the organization of the minimum stack frame - * for the SPARC. More framing information is required in certain situaions - * such as when there are a large number of out parameters or when the callee - * must save floating point registers. + * This structure represents the organization of the minimum stack frame + * for the SPARC. More framing information is required in certain situaions + * such as when there are a large number of out parameters or when the callee + * must save floating point registers. */ typedef struct { /** This is the offset of the l0 register. */ @@ -278,8 +280,8 @@ typedef struct { void *structure_return_address; /* - * The following are for the callee to save the register arguments in - * should this be necessary. + * The following are for the callee to save the register arguments in + * should this be necessary. */ /** This is the offset of the register for saved argument 0. */ uint32_t saved_arg0; @@ -354,37 +356,37 @@ typedef struct { /** * @defgroup Contexts SPARC Context Structures * - * @ingroup Score + * @ingroup Score + * + * Generally there are 2 types of context to save. + * + Interrupt registers to save + * + Task level registers to save * - * Generally there are 2 types of context to save. - * + Interrupt registers to save - * + Task level registers to save + * This means we have the following 3 context items: + * + task level context stuff:: Context_Control + * + floating point task stuff:: Context_Control_fp + * + special interrupt level context :: Context_Control_interrupt * - * This means we have the following 3 context items: - * + task level context stuff:: Context_Control - * + floating point task stuff:: Context_Control_fp - * + special interrupt level context :: Context_Control_interrupt + * On the SPARC, we are relatively conservative in that we save most + * of the CPU state in the context area. The ET (enable trap) bit and + * the CWP (current window pointer) fields of the PSR are considered + * system wide resources and are not maintained on a per-thread basis. * - * On the SPARC, we are relatively conservative in that we save most - * of the CPU state in the context area. The ET (enable trap) bit and - * the CWP (current window pointer) fields of the PSR are considered - * system wide resources and are not maintained on a per-thread basis. + * @{ */ #ifndef ASM /** - * @brief SPARC Basic Context + * @brief SPARC basic context. * - * @ingroup Contexts - * - * This structure defines the basic integer and processor state context - * for the SPARC architecture. + * This structure defines the basic integer and processor state context + * for the SPARC architecture. */ typedef struct { /** - * Using a double g0_g1 will put everything in this structure on a - * double word boundary which allows us to use double word loads - * and stores safely in the context switch. + * Using a double g0_g1 will put everything in this structure on a + * double word boundary which allows us to use double word loads + * and stores safely in the context switch. */ double g0_g1; /** This will contain the contents of the g2 register. */ @@ -462,9 +464,9 @@ typedef struct { } Context_Control; /** - * This macro provides a CPU independent way for RTEMS to access the - * stack pointer in a context structure. The actual name and offset is - * CPU architecture dependent. + * This macro provides a CPU independent way for RTEMS to access the + * stack pointer in a context structure. The actual name and offset is + * CPU architecture dependent. */ #define _CPU_Context_Get_SP( _context ) \ (_context)->o6_sp @@ -553,11 +555,9 @@ typedef struct { #ifndef ASM /** - * @brief SPARC Basic Context - * - * @ingroup Contexts + * @brief SPARC basic context. * - * This structure defines floating point context area. + * This structure defines floating point context area. */ typedef struct { /** This will contain the contents of the f0 and f1 register. */ @@ -642,13 +642,15 @@ typedef struct { #ifndef ASM +/** @} */ + /** - * @brief Interrupt Stack Frame (ISF) + * @brief Interrupt stack frame (ISF). * - * Context saved on stack for an interrupt. + * Context saved on stack for an interrupt. * - * @note The PSR, PC, and NPC are only saved in this structure for the - * benefit of the user's handler. + * NOTE: The PSR, PC, and NPC are only saved in this structure for the + * benefit of the user's handler. */ typedef struct { /** On an interrupt, we must save the minimum stack frame. */ @@ -750,27 +752,27 @@ typedef struct { #ifndef ASM /** - * This variable is contains the initialize context for the FP unit. - * It is filled in by _CPU_Initialize and copied into the task's FP - * context area during _CPU_Context_Initialize. + * This variable is contains the initialize context for the FP unit. + * It is filled in by _CPU_Initialize and copied into the task's FP + * context area during _CPU_Context_Initialize. */ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context CPU_STRUCTURE_ALIGNMENT; /** - * This flag is context switched with each thread. It indicates - * that THIS thread has an _ISR_Dispatch stack frame on its stack. - * By using this flag, we can avoid nesting more interrupt dispatching - * attempts on a previously interrupted thread's stack. + * This flag is context switched with each thread. It indicates + * that THIS thread has an _ISR_Dispatch stack frame on its stack. + * By using this flag, we can avoid nesting more interrupt dispatching + * attempts on a previously interrupted thread's stack. */ SCORE_EXTERN volatile uint32_t _CPU_ISR_Dispatch_disable; /** - * The following type defines an entry in the SPARC's trap table. + * The following type defines an entry in the SPARC's trap table. * - * @note The instructions chosen are RTEMS dependent although one is - * obligated to use two of the four instructions to perform a - * long jump. The other instructions load one register with the - * trap type (a.k.a. vector) and another with the psr. + * NOTE: The instructions chosen are RTEMS dependent although one is + * obligated to use two of the four instructions to perform a + * long jump. The other instructions load one register with the + * trap type (a.k.a. vector) and another with the psr. */ typedef struct { /** This will contain a "mov %psr, %l0" instruction. */ @@ -784,52 +786,52 @@ typedef struct { } CPU_Trap_table_entry; /** - * This is the set of opcodes for the instructions loaded into a trap - * table entry. The routine which installs a handler is responsible - * for filling in the fields for the _handler address and the _vector - * trap type. + * This is the set of opcodes for the instructions loaded into a trap + * table entry. The routine which installs a handler is responsible + * for filling in the fields for the _handler address and the _vector + * trap type. * - * The constants following this structure are masks for the fields which - * must be filled in when the handler is installed. + * The constants following this structure are masks for the fields which + * must be filled in when the handler is installed. */ extern const CPU_Trap_table_entry _CPU_Trap_slot_template; /** - * The size of the floating point context area. + * The size of the floating point context area. */ #define CPU_CONTEXT_FP_SIZE sizeof( Context_Control_fp ) #endif /** - * Amount of extra stack (above minimum stack size) required by - * MPCI receive server thread. Remember that in a multiprocessor - * system this thread must exist and be able to process all directives. + * Amount of extra stack (above minimum stack size) required by + * MPCI receive server thread. Remember that in a multiprocessor + * system this thread must exist and be able to process all directives. */ #define CPU_MPCI_RECEIVE_SERVER_EXTRA_STACK 1024 /** - * This defines the number of entries in the ISR_Vector_table managed - * by the executive. - * - * On the SPARC, there are really only 256 vectors. However, the executive - * has no easy, fast, reliable way to determine which traps are synchronous - * and which are asynchronous. By default, synchronous traps return to the - * instruction which caused the interrupt. So if you install a software - * trap handler as an executive interrupt handler (which is desirable since - * RTEMS takes care of window and register issues), then the executive needs - * to know that the return address is to the trap rather than the instruction - * following the trap. - * - * So vectors 0 through 255 are treated as regular asynchronous traps which - * provide the "correct" return address. Vectors 256 through 512 are assumed - * by the executive to be synchronous and to require that the return address - * be fudged. - * - * If you use this mechanism to install a trap handler which must reexecute - * the instruction which caused the trap, then it should be installed as - * an asynchronous trap. This will avoid the executive changing the return - * address. + * This defines the number of entries in the ISR_Vector_table managed + * by the executive. + * + * On the SPARC, there are really only 256 vectors. However, the executive + * has no easy, fast, reliable way to determine which traps are synchronous + * and which are asynchronous. By default, synchronous traps return to the + * instruction which caused the interrupt. So if you install a software + * trap handler as an executive interrupt handler (which is desirable since + * RTEMS takes care of window and register issues), then the executive needs + * to know that the return address is to the trap rather than the instruction + * following the trap. + * + * So vectors 0 through 255 are treated as regular asynchronous traps which + * provide the "correct" return address. Vectors 256 through 512 are assumed + * by the executive to be synchronous and to require that the return address + * be fudged. + * + * If you use this mechanism to install a trap handler which must reexecute + * the instruction which caused the trap, then it should be installed as + * an asynchronous trap. This will avoid the executive changing the return + * address. */ #define CPU_INTERRUPT_NUMBER_OF_VECTORS 256 @@ -840,18 +842,18 @@ extern const CPU_Trap_table_entry _CPU_Trap_slot_template; #define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER 511 /** - * This is the bit step in a vector number to indicate it is being installed - * as a synchronous trap. + * This is the bit step in a vector number to indicate it is being installed + * as a synchronous trap. */ #define SPARC_SYNCHRONOUS_TRAP_BIT_MASK 0x100 /** - * This macro indicates that @a _trap as an asynchronous trap. + * This macro indicates that @a _trap as an asynchronous trap. */ #define SPARC_ASYNCHRONOUS_TRAP( _trap ) (_trap) /** - * This macro indicates that @a _trap as a synchronous trap. + * This macro indicates that @a _trap as a synchronous trap. */ #define SPARC_SYNCHRONOUS_TRAP( _trap ) ((_trap) + 256 ) @@ -861,69 +863,69 @@ extern const CPU_Trap_table_entry _CPU_Trap_slot_template; #define SPARC_REAL_TRAP_NUMBER( _trap ) ((_trap) % 256) /** - * This is defined if the port has a special way to report the ISR nesting - * level. Most ports maintain the variable _ISR_Nest_level. + * This is defined if the port has a special way to report the ISR nesting + * level. Most ports maintain the variable _ISR_Nest_level. */ #define CPU_PROVIDES_ISR_IS_IN_PROGRESS FALSE /** - * Should be large enough to run all tests. This ensures - * that a "reasonable" small application should not have any problems. + * Should be large enough to run all tests. This ensures + * that a "reasonable" small application should not have any problems. * - * This appears to be a fairly generous number for the SPARC since - * represents a call depth of about 20 routines based on the minimum - * stack frame. + * This appears to be a fairly generous number for the SPARC since + * represents a call depth of about 20 routines based on the minimum + * stack frame. */ #define CPU_STACK_MINIMUM_SIZE (1024*4) #define CPU_SIZEOF_POINTER 4 /** - * CPU's worst alignment requirement for data types on a byte boundary. This - * alignment does not take into account the requirements for the stack. + * CPU's worst alignment requirement for data types on a byte boundary. This + * alignment does not take into account the requirements for the stack. * - * On the SPARC, this is required for double word loads and stores. + * On the SPARC, this is required for double word loads and stores. */ #define CPU_ALIGNMENT 8 /** - * This number corresponds to the byte alignment requirement for the - * heap handler. This alignment requirement may be stricter than that - * for the data types alignment specified by CPU_ALIGNMENT. It is - * common for the heap to follow the same alignment requirement as - * CPU_ALIGNMENT. If the CPU_ALIGNMENT is strict enough for the heap, - * then this should be set to CPU_ALIGNMENT. + * This number corresponds to the byte alignment requirement for the + * heap handler. This alignment requirement may be stricter than that + * for the data types alignment specified by CPU_ALIGNMENT. It is + * common for the heap to follow the same alignment requirement as + * CPU_ALIGNMENT. If the CPU_ALIGNMENT is strict enough for the heap, + * then this should be set to CPU_ALIGNMENT. * - * @note This does not have to be a power of 2. It does have to - * be greater or equal to than CPU_ALIGNMENT. + * NOTE: This does not have to be a power of 2. It does have to + * be greater or equal to than CPU_ALIGNMENT. */ #define CPU_HEAP_ALIGNMENT CPU_ALIGNMENT /** - * This number corresponds to the byte alignment requirement for memory - * buffers allocated by the partition manager. This alignment requirement - * may be stricter than that for the data types alignment specified by - * CPU_ALIGNMENT. It is common for the partition to follow the same - * alignment requirement as CPU_ALIGNMENT. If the CPU_ALIGNMENT is strict - * enough for the partition, then this should be set to CPU_ALIGNMENT. + * This number corresponds to the byte alignment requirement for memory + * buffers allocated by the partition manager. This alignment requirement + * may be stricter than that for the data types alignment specified by + * CPU_ALIGNMENT. It is common for the partition to follow the same + * alignment requirement as CPU_ALIGNMENT. If the CPU_ALIGNMENT is strict + * enough for the partition, then this should be set to CPU_ALIGNMENT. * - * @note This does not have to be a power of 2. It does have to - * be greater or equal to than CPU_ALIGNMENT. + * NOTE: This does not have to be a power of 2. It does have to + * be greater or equal to than CPU_ALIGNMENT. */ #define CPU_PARTITION_ALIGNMENT CPU_ALIGNMENT /** - * This number corresponds to the byte alignment requirement for the - * stack. This alignment requirement may be stricter than that for the - * data types alignment specified by CPU_ALIGNMENT. If the CPU_ALIGNMENT - * is strict enough for the stack, then this should be set to 0. + * This number corresponds to the byte alignment requirement for the + * stack. This alignment requirement may be stricter than that for the + * data types alignment specified by CPU_ALIGNMENT. If the CPU_ALIGNMENT + * is strict enough for the stack, then this should be set to 0. * - * @note This must be a power of 2 either 0 or greater than CPU_ALIGNMENT. + * NOTE: This must be a power of 2 either 0 or greater than CPU_ALIGNMENT. * - * The alignment restrictions for the SPARC are not that strict but this - * should unsure that the stack is always sufficiently alignment that the - * window overflow, underflow, and flush routines can use double word loads - * and stores. + * The alignment restrictions for the SPARC are not that strict but this + * should unsure that the stack is always sufficiently alignment that the + * window overflow, underflow, and flush routines can use double word loads + * and stores. */ #define CPU_STACK_ALIGNMENT 16 @@ -934,49 +936,49 @@ extern const CPU_Trap_table_entry _CPU_Trap_slot_template; */ /** - * Support routine to initialize the RTEMS vector table after it is allocated. + * Support routine to initialize the RTEMS vector table after it is allocated. */ #define _CPU_Initialize_vectors() /** - * Disable all interrupts for a critical section. The previous - * level is returned in _level. + * Disable all interrupts for a critical section. The previous + * level is returned in _level. */ #define _CPU_ISR_Disable( _level ) \ (_level) = sparc_disable_interrupts() /** - * Enable interrupts to the previous level (returned by _CPU_ISR_Disable). - * This indicates the end of a critical section. The parameter - * _level is not modified. + * Enable interrupts to the previous level (returned by _CPU_ISR_Disable). + * This indicates the end of a critical section. The parameter + * _level is not modified. */ #define _CPU_ISR_Enable( _level ) \ sparc_enable_interrupts( _level ) /** - * This temporarily restores the interrupt to _level before immediately - * disabling them again. This is used to divide long critical - * sections into two or more parts. The parameter _level is not - * modified. + * This temporarily restores the interrupt to _level before immediately + * disabling them again. This is used to divide long critical + * sections into two or more parts. The parameter _level is not + * modified. */ #define _CPU_ISR_Flash( _level ) \ sparc_flash_interrupts( _level ) /** - * Map interrupt level in task mode onto the hardware that the CPU - * actually provides. Currently, interrupt levels which do not - * map onto the CPU in a straight fashion are undefined. + * Map interrupt level in task mode onto the hardware that the CPU + * actually provides. Currently, interrupt levels which do not + * map onto the CPU in a straight fashion are undefined. */ #define _CPU_ISR_Set_level( _newlevel ) \ sparc_enable_interrupts( _newlevel << 8) /** - * @brief Obtain the Current Interrupt Disable Level + * @brief Obtain the current interrupt disable level. * - * This method is invoked to return the current interrupt disable level. + * This method is invoked to return the current interrupt disable level. * - * @return This method returns the current interrupt disable level. - */ + * @return This method returns the current interrupt disable level. + */ uint32_t _CPU_ISR_Get_level( void ); /* end of ISR handler macros */ @@ -984,15 +986,15 @@ uint32_t _CPU_ISR_Get_level( void ); /* Context handler macros */ /** - * Initialize the context to a state suitable for starting a - * task after a context restore operation. Generally, this - * involves: + * Initialize the context to a state suitable for starting a + * task after a context restore operation. Generally, this + * involves: * - * - setting a starting address - * - preparing the stack - * - preparing the stack and frame pointers - * - setting the proper interrupt level in the context - * - initializing the floating point context + * - setting a starting address + * - preparing the stack + * - preparing the stack and frame pointers + * - setting the proper interrupt level in the context + * - initializing the floating point context * * @param[in] the_context points to the context area * @param[in] stack_base is the low address of the allocated stack area @@ -1001,7 +1003,7 @@ uint32_t _CPU_ISR_Get_level( void ); * @param[in] entry_point is the task's entry point * @param[in] is_fp is set to TRUE if the task is a floating point task * - * @note Implemented as a subroutine for the SPARC port. + * NOTE: Implemented as a subroutine for the SPARC port. */ void _CPU_Context_Initialize( Context_Control *the_context, @@ -1013,17 +1015,17 @@ void _CPU_Context_Initialize( ); /** - * This macro is invoked from _Thread_Handler to do whatever CPU - * specific magic is required that must be done in the context of - * the thread when it starts. + * This macro is invoked from _Thread_Handler to do whatever CPU + * specific magic is required that must be done in the context of + * the thread when it starts. * - * On the SPARC, this is setting the frame pointer so GDB is happy. - * Make GDB stop unwinding at _Thread_Handler, previous register window - * Frame pointer is 0 and calling address must be a function with starting - * with a SAVE instruction. If return address is leaf-function (no SAVE) - * GDB will not look at prev reg window fp. + * On the SPARC, this is setting the frame pointer so GDB is happy. + * Make GDB stop unwinding at _Thread_Handler, previous register window + * Frame pointer is 0 and calling address must be a function with starting + * with a SAVE instruction. If return address is leaf-function (no SAVE) + * GDB will not look at prev reg window fp. * - * _Thread_Handler is known to start with SAVE. + * _Thread_Handler is known to start with SAVE. */ #define _CPU_Context_Initialization_at_thread_begin() \ do { \ @@ -1031,30 +1033,30 @@ void _CPU_Context_Initialize( } while (0) /** - * This routine is responsible for somehow restarting the currently - * executing task. + * This routine is responsible for somehow restarting the currently + * executing task. * - * On the SPARC, this is is relatively painless but requires a small - * amount of wrapper code before using the regular restore code in - * of the context switch. + * On the SPARC, this is is relatively painless but requires a small + * amount of wrapper code before using the regular restore code in + * of the context switch. */ #define _CPU_Context_Restart_self( _the_context ) \ _CPU_Context_restore( (_the_context) ); /** - * The FP context area for the SPARC is a simple structure and nothing - * special is required to find the "starting load point" + * The FP context area for the SPARC is a simple structure and nothing + * special is required to find the "starting load point" */ #define _CPU_Context_Fp_start( _base, _offset ) \ ( (void *) _Addresses_Add_offset( (_base), (_offset) ) ) /** - * This routine initializes the FP context area passed to it to. + * This routine initializes the FP context area passed to it to. * - * The SPARC allows us to use the simple initialization model - * in which an "initial" FP context was saved into _CPU_Null_fp_context - * at CPU initialization and it is simply copied into the destination - * context. + * The SPARC allows us to use the simple initialization model + * in which an "initial" FP context was saved into _CPU_Null_fp_context + * at CPU initialization and it is simply copied into the destination + * context. */ #define _CPU_Context_Initialize_fp( _destination ) \ do { \ @@ -1066,9 +1068,9 @@ void _CPU_Context_Initialize( /* Fatal Error manager macros */ /** - * This routine copies _error into a known place -- typically a stack - * location or a register, optionally disables interrupts, and - * halts/stops the CPU. + * This routine copies _error into a known place -- typically a stack + * location or a register, optionally disables interrupts, and + * halts/stops the CPU. */ #define _CPU_Fatal_halt( _error ) \ do { \ @@ -1085,14 +1087,14 @@ void _CPU_Context_Initialize( #if ( SPARC_HAS_BITSCAN == 0 ) /** - * The SPARC port uses the generic C algorithm for bitfield scan if the - * CPU model does not have a scan instruction. + * The SPARC port uses the generic C algorithm for bitfield scan if the + * CPU model does not have a scan instruction. */ #define CPU_USE_GENERIC_BITFIELD_CODE TRUE /** - * The SPARC port uses the generic C algorithm for bitfield scan if the - * CPU model does not have a scan instruction. Thus is needs the generic - * data table used by that algorithm. + * The SPARC port uses the generic C algorithm for bitfield scan if the + * CPU model does not have a scan instruction. Thus is needs the generic + * data table used by that algorithm. */ #define CPU_USE_GENERIC_BITFIELD_DATA TRUE #else @@ -1104,21 +1106,21 @@ void _CPU_Context_Initialize( /* functions */ /** - * @brief SPARC Specific Initialization + * @brief SPARC specific initialization. * - * This routine performs CPU dependent initialization. + * This routine performs CPU dependent initialization. */ void _CPU_Initialize(void); /** - * @brief SPARC Specific Raw ISR Installer + * @brief SPARC specific raw ISR installer. * - * This routine installs @a new_handler to be directly called from the trap - * table. + * This routine installs @a new_handler to be directly called from the trap + * table. * - * @param[in] vector is the vector number - * @param[in] new_handler is the new ISR handler - * @param[in] old_handler will contain the old ISR handler + * @param[in] vector is the vector number + * @param[in] new_handler is the new ISR handler + * @param[in] old_handler will contain the old ISR handler */ void _CPU_ISR_install_raw_handler( uint32_t vector, @@ -1127,13 +1129,13 @@ void _CPU_ISR_install_raw_handler( ); /** - * @brief SPARC Specific RTEMS ISR Installer + * @brief SPARC specific RTEMS ISR installer. * - * This routine installs an interrupt vector. + * This routine installs an interrupt vector. * - * @param[in] vector is the vector number - * @param[in] new_handler is the new ISR handler - * @param[in] old_handler will contain the old ISR handler + * @param[in] vector is the vector number + * @param[in] new_handler is the new ISR handler + * @param[in] old_handler will contain the old ISR handler */ void _CPU_ISR_install_vector( @@ -1143,12 +1145,12 @@ void _CPU_ISR_install_vector( ); /** - * @brief SPARC Specific Context Switch + * @brief SPARC specific context switch. * - * This routine switches from the run context to the heir context. + * This routine switches from the run context to the heir context. * - * @param[in] run is the currently executing thread - * @param[in] heir will become the currently executing thread + * @param[in] run is the currently executing thread + * @param[in] heir will become the currently executing thread */ void _CPU_Context_switch( Context_Control *run, @@ -1156,12 +1158,12 @@ void _CPU_Context_switch( ); /** - * @brief SPARC Specific Context Restore + * @brief SPARC specific context restore. * - * This routine is generally used only to restart self in an - * efficient manner. + * This routine is generally used only to restart self in an + * efficient manner. * - * @param[in] new_context is the context to restore + * @param[in] new_context is the context to restore */ void _CPU_Context_restore( Context_Control *new_context @@ -1169,14 +1171,14 @@ void _CPU_Context_restore( #if defined(RTEMS_SMP) /** - * @brief SPARC Specific Method to Switch to First Task + * @brief SPARC specific method to switch to first task. * - * This routine is only used to switch to the first task on a - * secondary core in an SMP configuration. We do not need to - * flush all the windows and, in fact, this can be dangerous - * as they may or may not be initialized properly. + * This routine is only used to switch to the first task on a + * secondary core in an SMP configuration. We do not need to + * flush all the windows and, in fact, this can be dangerous + * as they may or may not be initialized properly. * - * @param[in] new_context is the context to restore + * @param[in] new_context is the context to restore */ void _CPU_Context_switch_to_first_task_smp( Context_Control *new_context @@ -1185,7 +1187,7 @@ void _CPU_Context_restore( /** * Macro to access memory and bypass the cache. * - * @note address space 1 is uncacheable + * NOTE: address space 1 is uncacheable */ #define SMP_CPU_SWAP( _address, _value, _previous ) \ do { \ @@ -1202,22 +1204,22 @@ void _CPU_Context_restore( #endif /** - * @brief SPARC Specific Save FPU Method + * @brief SPARC specific save FPU method. * - * This routine saves the floating point context passed to it. + * This routine saves the floating point context passed to it. * - * @param[in] fp_context_ptr is the area to save into + * @param[in] fp_context_ptr is the area to save into */ void _CPU_Context_save_fp( Context_Control_fp **fp_context_ptr ); /** - * @brief SPARC Specific Rstore FPU Method + * @brief SPARC specific restore FPU method. * - * This routine restores the floating point context passed to it. + * This routine restores the floating point context passed to it. * - * @param[in] fp_context_ptr is the area to restore from + * @param[in] fp_context_ptr is the area to restore from */ void _CPU_Context_restore_fp( Context_Control_fp **fp_context_ptr @@ -1238,24 +1240,24 @@ static inline void _CPU_Exception_frame_print( } /** - * @brief SPARC Specific Method to Endian Swap an uint32_t + * @brief SPARC specific method to endian swap an uint32_t. * - * The following routine swaps the endian format of an unsigned int. - * It must be static because it is referenced indirectly. + * The following routine swaps the endian format of an unsigned int. + * It must be static because it is referenced indirectly. * - * @param[in] value is the value to endian swap + * @param[in] value is the value to endian swap * - * This version will work on any processor, but if you come across a better - * way for the SPARC PLEASE use it. The most common way to swap a 32-bit - * entity as shown below is not any more efficient on the SPARC. + * This version will work on any processor, but if you come across a better + * way for the SPARC PLEASE use it. The most common way to swap a 32-bit + * entity as shown below is not any more efficient on the SPARC. * - * - swap least significant two bytes with 16-bit rotate - * - swap upper and lower 16-bits - * - swap most significant two bytes with 16-bit rotate + * - swap least significant two bytes with 16-bit rotate + * - swap upper and lower 16-bits + * - swap most significant two bytes with 16-bit rotate * - * It is not obvious how the SPARC can do significantly better than the - * generic code. gcc 2.7.0 only generates about 12 instructions for the - * following code at optimization level four (i.e. -O4). + * It is not obvious how the SPARC can do significantly better than the + * generic code. gcc 2.7.0 only generates about 12 instructions for the + * following code at optimization level four (i.e. -O4). */ static inline uint32_t CPU_swap_u32( uint32_t value @@ -1273,11 +1275,11 @@ static inline uint32_t CPU_swap_u32( } /** - * @brief SPARC Specific Method to Endian Swap an uint16_t + * @brief SPARC specific method to endian swap an uint16_t. * - * The following routine swaps the endian format of a uint16_t. + * The following routine swaps the endian format of a uint16_t. * - * @param[in] value is the value to endian swap + * @param[in] value is the value to endian swap */ #define CPU_swap_u16( value ) \ (((value&0xff) << 8) | ((value >> 8)&0xff)) diff --git a/cpukit/score/cpu/sparc/rtems/score/sparc.h b/cpukit/score/cpu/sparc/rtems/score/sparc.h index 6b7936f2e5..7436cb8d2d 100644 --- a/cpukit/score/cpu/sparc/rtems/score/sparc.h +++ b/cpukit/score/cpu/sparc/rtems/score/sparc.h @@ -1,5 +1,8 @@ /** - * @file rtems/score/sparc.h + * @file + * + * @brief Information Required to Build RTEMS for a Particular Member + * of the SPARC Family * * This file contains the information required to build * RTEMS for a particular member of the SPARC family. It does @@ -42,25 +45,25 @@ extern "C" { */ /** - * Some higher end SPARCs have a bitscan instructions. It would - * be nice to take advantage of them. Right now, there is no - * port to a CPU model with this feature and no (untested) code - * that is based on this feature flag. + * Some higher end SPARCs have a bitscan instructions. It would + * be nice to take advantage of them. Right now, there is no + * port to a CPU model with this feature and no (untested) code + * that is based on this feature flag. */ #define SPARC_HAS_BITSCAN 0 /** - * This should be OK until a port to a higher end SPARC processor - * is made that has more than 8 register windows. If this cannot - * be determined based on multilib settings (v7/v8/v9), then the - * cpu_asm.S code that depends on this will have to move to libcpu. + * This should be OK until a port to a higher end SPARC processor + * is made that has more than 8 register windows. If this cannot + * be determined based on multilib settings (v7/v8/v9), then the + * cpu_asm.S code that depends on this will have to move to libcpu. */ #define SPARC_NUMBER_OF_REGISTER_WINDOWS 8 /** - * This macro indicates whether this multilib variation has hardware - * floating point or not. We use the gcc cpp predefine _SOFT_FLOAT - * to determine that. + * This macro indicates whether this multilib variation has hardware + * floating point or not. We use the gcc cpp predefine _SOFT_FLOAT + * to determine that. */ #if defined(_SOFT_FLOAT) #define SPARC_HAS_FPU 0 @@ -69,8 +72,8 @@ extern "C" { #endif /** - * This macro contains a string describing the multilib variant being - * build. + * This macro contains a string describing the multilib variant being + * build. */ #if SPARC_HAS_FPU #define CPU_MODEL_NAME "w/FPU" @@ -79,7 +82,7 @@ extern "C" { #endif /** - * Define the name of the CPU family. + * Define the name of the CPU family. */ #define CPU_NAME "SPARC" @@ -88,9 +91,9 @@ extern "C" { */ /** - * PSR masks and starting bit positions + * PSR masks and starting bit positions * - * @note Reserved bits are ignored. + * NOTE: Reserved bits are ignored. */ #if (SPARC_NUMBER_OF_REGISTER_WINDOWS == 8) #define SPARC_PSR_CWP_MASK 0x07 /* bits 0 - 4 */ @@ -145,7 +148,7 @@ extern "C" { #ifndef ASM /** - * This macro is a standard nop instruction. + * This macro is a standard nop instruction. */ #define nop() \ do { \ @@ -153,9 +156,9 @@ extern "C" { } while ( 0 ) /** - * @brief Macro to Obtain the PSR + * @brief Macro to obtain the PSR. * - * This macro returns the current contents of the PSR register in @a _psr. + * This macro returns the current contents of the PSR register in @a _psr. */ #define sparc_get_psr( _psr ) \ do { \ @@ -164,9 +167,9 @@ extern "C" { } while ( 0 ) /** - * @brief Macro to Set the PSR + * @brief Macro to set the PSR. * - * This macro sets the PSR register to the value in @a _psr. + * This macro sets the PSR register to the value in @a _psr. */ #define sparc_set_psr( _psr ) \ do { \ @@ -177,9 +180,9 @@ extern "C" { } while ( 0 ) /** - * @brief Macro to Obtain the TBR + * @brief Macro to obtain the TBR. * - * This macro returns the current contents of the TBR register in @a _tbr. + * This macro returns the current contents of the TBR register in @a _tbr. */ #define sparc_get_tbr( _tbr ) \ do { \ @@ -188,9 +191,9 @@ extern "C" { } while ( 0 ) /** - * @brief Macro to Set the TBR + * @brief Macro to set the TBR. * - * This macro sets the TBR register to the value in @a _tbr. + * This macro sets the TBR register to the value in @a _tbr. */ #define sparc_set_tbr( _tbr ) \ do { \ @@ -198,9 +201,9 @@ extern "C" { } while ( 0 ) /** - * @brief Macro to Obtain the WIM + * @brief Macro to obtain the WIM. * - * This macro returns the current contents of the WIM field in @a _wim. + * This macro returns the current contents of the WIM field in @a _wim. */ #define sparc_get_wim( _wim ) \ do { \ @@ -208,9 +211,9 @@ extern "C" { } while ( 0 ) /** - * @brief Macro to Set the WIM + * @brief Macro to set the WIM. * - * This macro sets the WIM field to the value in @a _wim. + * This macro sets the WIM field to the value in @a _wim. */ #define sparc_set_wim( _wim ) \ do { \ @@ -221,9 +224,9 @@ extern "C" { } while ( 0 ) /** - * @brief Macro to Obtain the Y Register + * @brief Macro to obtain the Y register. * - * This macro returns the current contents of the Y register in @a _y. + * This macro returns the current contents of the Y register in @a _y. */ #define sparc_get_y( _y ) \ do { \ @@ -231,9 +234,9 @@ extern "C" { } while ( 0 ) /** - * @brief Macro to Set the Y Register + * @brief Macro to set the Y register. * - * This macro sets the Y register to the value in @a _y. + * This macro sets the Y register to the value in @a _y. */ #define sparc_set_y( _y ) \ do { \ @@ -241,29 +244,29 @@ extern "C" { } while ( 0 ) /** - * @brief SPARC Disable Processor Interrupts + * @brief SPARC disable processor interrupts. * - * This method is invoked to disable all maskable interrupts. + * This method is invoked to disable all maskable interrupts. * - * @return This method returns the entire PSR contents. + * @return This method returns the entire PSR contents. */ uint32_t sparc_disable_interrupts(void); /** - * @brief SPARC Enable Processor Interrupts + * @brief SPARC enable processor interrupts. * - * This method is invoked to enable all maskable interrupts. + * This method is invoked to enable all maskable interrupts. * - * @param[in] psr is the PSR returned by @ref sparc_disable_interrupts. + * @param[in] psr is the PSR returned by @ref sparc_disable_interrupts. */ void sparc_enable_interrupts(uint32_t psr); /** - * @brief SPARC Flash Processor Interrupts + * @brief SPARC flash processor interrupts. * - * This method is invoked to temporarily enable all maskable interrupts. + * This method is invoked to temporarily enable all maskable interrupts. * - * @param[in] _psr is the PSR returned by @ref sparc_disable_interrupts. + * @param[in] _psr is the PSR returned by @ref sparc_disable_interrupts. */ #define sparc_flash_interrupts( _psr ) \ do { \ @@ -272,11 +275,11 @@ void sparc_enable_interrupts(uint32_t psr); } while ( 0 ) /** - * @brief SPARC Obtain Interrupt Level + * @brief SPARC obtain interrupt level. * - * This method is invoked to obtain the current interrupt disable level. + * This method is invoked to obtain the current interrupt disable level. * - * @param[in] _level is the PSR returned by @ref sparc_disable_interrupts. + * @param[in] _level is the PSR returned by @ref sparc_disable_interrupts. */ #define sparc_get_interrupt_level( _level ) \ do { \ diff --git a/cpukit/score/cpu/sparc/rtems/score/types.h b/cpukit/score/cpu/sparc/rtems/score/types.h index a8e56b73b2..c684763d1a 100644 --- a/cpukit/score/cpu/sparc/rtems/score/types.h +++ b/cpukit/score/cpu/sparc/rtems/score/types.h @@ -1,5 +1,7 @@ /** - * @file rtems/score/types.h + * @file + * + * @brief SPARC CPU Type Definitions * * This include file contains type definitions pertaining to the * SPARC processor family. @@ -26,7 +28,7 @@ extern "C" { #endif /** - * @brief Priority Bit Map Type + * @brief Priority bit map type. * * On the SPARC, there is no bitscan instruction and no penalty associated * for using 16-bit variables. With no overriding architectural factors, @@ -35,16 +37,16 @@ extern "C" { typedef uint16_t Priority_bit_map_Control; /** - * @brief SPARC ISR Handler Return Type + * @brief SPARC ISR handler return type. * - * This is the type which SPARC ISR Handlers return. + * This is the type which SPARC ISR Handlers return. */ typedef void sparc_isr; /** - * @brief SPARC ISR Handler Prototype + * @brief SPARC ISR handler prototype. * - * This is the prototype for SPARC ISR Handlers. + * This is the prototype for SPARC ISR Handlers. */ typedef void ( *sparc_isr_entry )( void ); diff --git a/cpukit/score/cpu/sparc64/rtems/asm.h b/cpukit/score/cpu/sparc64/rtems/asm.h index d670fc6149..f4448b03a5 100644 --- a/cpukit/score/cpu/sparc64/rtems/asm.h +++ b/cpukit/score/cpu/sparc64/rtems/asm.h @@ -1,17 +1,20 @@ /** - * @file rtems/asm.h + * @file * - * This include file attempts to address the problems - * caused by incompatible flavors of assemblers and - * toolsets. It primarily addresses variations in the - * use of leading underscores on symbols and the requirement - * that register names be preceded by a %. + * @brief Address the Problems Caused by Incompatible Flavor of + * Assemblers and Toolsets + * + * This include file attempts to address the problems + * caused by incompatible flavors of assemblers and + * toolsets. It primarily addresses variations in the + * use of leading underscores on symbols and the requirement + * that register names be preceded by a %. + * + * NOTE: The spacing in the use of these macros + * is critical to them working as advertised. */ /* - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. - * * COPYRIGHT: * * This file is based on similar code found in newlib available diff --git a/cpukit/score/cpu/sparc64/rtems/score/cpu.h b/cpukit/score/cpu/sparc64/rtems/score/cpu.h index f78400f564..36c7144a19 100644 --- a/cpukit/score/cpu/sparc64/rtems/score/cpu.h +++ b/cpukit/score/cpu/sparc64/rtems/score/cpu.h @@ -1,15 +1,19 @@ /** - * @file rtems/score/cpu.h + * @file + * + * @brief SPARC64 CPU Department Source + * + * This include file contains information pertaining to the port of + * the executive to the SPARC64 processor. */ /* - * This include file contains information pertaining to the port of - * the executive to the SPARC64 processor. + * * * COPYRIGHT (c) 1989-2006. * On-Line Applications Research Corporation (OAR). * - * This file is based on the SPARC cpu.h file. Modifications are made + * This file is based on the SPARC cpu.h file. Modifications are made * to support the SPARC64 processor. * COPYRIGHT (c) 2010. Gedare Bloom. * @@ -103,7 +107,7 @@ extern "C" { /* * Does the RTEMS invoke the user's ISR with the vector number and - * a pointer to the saved interrupt frame (1) or just the vector + * a pointer to the saved interrupt frame (1) or just the vector * number (0)? */ @@ -191,10 +195,10 @@ extern "C" { * the minimum requirements of the compiler in order to have as * much of the critical data area as possible in a cache line. * - * The SPARC does not appear to have particularly strict alignment + * The SPARC does not appear to have particularly strict alignment * requirements. This value (16) was chosen to take advantages of caches. * - * SPARC 64 requirements on floating point alignment is at least 8, + * SPARC 64 requirements on floating point alignment is at least 8, * and is 16 if quad-word fp instructions are available (e.g. LDQF). */ @@ -221,7 +225,7 @@ extern "C" { #define CPU_MODES_INTERRUPT_MASK 0x0000000F /* - * This structure represents the organization of the minimum stack frame + * This structure represents the organization of the minimum stack frame * for the SPARC. More framing information is required in certain situaions * such as when there are a large number of out parameters or when the callee * must save floating point registers. @@ -490,7 +494,7 @@ typedef struct { * NOTE: The tstate, tpc, and tnpc are saved in this structure * to allow resetting the TL while still being able to return * from a trap later. The PIL is saved because - * if this is an external interrupt, we will mask lower + * if this is an external interrupt, we will mask lower * priority interrupts until finishing. Even though the y register * is deprecated, gcc still uses it. */ @@ -549,11 +553,11 @@ typedef struct { #define ISF_O7_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x98 #define ISF_TVEC_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0xA0 -#define CONTEXT_CONTROL_INTERRUPT_FRAME_SIZE CPU_MINIMUM_STACK_FRAME_SIZE + 0xA8 +#define CONTEXT_CONTROL_INTERRUPT_FRAME_SIZE CPU_MINIMUM_STACK_FRAME_SIZE + 0xA8 #ifndef ASM /* * This variable is contains the initialize context for the FP unit. - * It is filled in by _CPU_Initialize and copied into the task's FP + * It is filled in by _CPU_Initialize and copied into the task's FP * context area during _CPU_Context_Initialize. */ @@ -592,9 +596,9 @@ SCORE_EXTERN volatile uint32_t _CPU_ISR_Dispatch_disable; * long jump. The other instructions load one register with the * trap type (a.k.a. vector) and another with the psr. */ -/* For SPARC V9, we must use 6 of these instructions to perform a long - * jump, because the _handler value is now 64-bits. We also need to store - * temporary values in the global register set at this trap level. Because +/* For SPARC V9, we must use 6 of these instructions to perform a long + * jump, because the _handler value is now 64-bits. We also need to store + * temporary values in the global register set at this trap level. Because * the handler runs at TL > 0 with GL > 0, it should be OK to use g2 and g3 * to pass parameters to ISR_Handler. * @@ -614,7 +618,7 @@ typedef struct { uint32_t jmp_to_low_of_handler_plus_g3; /* jmp %g3 + %lo(_handler) */ uint32_t mov_vector_g2; /* mov _vector, %g2 */ } CPU_Trap_table_entry; - + /* * This is the set of opcodes for the instructions loaded into a trap * table entry. The routine which installs a handler is responsible @@ -624,11 +628,11 @@ typedef struct { * The constants following this structure are masks for the fields which * must be filled in when the handler is installed. */ - + extern const CPU_Trap_table_entry _CPU_Trap_slot_template; /* - * The size of the floating point context area. + * The size of the floating point context area. */ #define CPU_CONTEXT_FP_SIZE sizeof( Context_Control_fp ) @@ -666,7 +670,7 @@ extern const CPU_Trap_table_entry _CPU_Trap_slot_template; * an asynchronous trap. This will avoid the executive changing the return * address. */ -/* On SPARC v9, there are 512 vectors. The same philosophy applies to +/* On SPARC v9, there are 512 vectors. The same philosophy applies to * vector installation and use, we just provide a larger table. */ #define CPU_INTERRUPT_NUMBER_OF_VECTORS 512 @@ -796,14 +800,14 @@ extern const CPU_Trap_table_entry _CPU_Trap_slot_template; /* * Map interrupt level in task mode onto the hardware that the CPU * actually provides. Currently, interrupt levels which do not - * map onto the CPU in a straight fashion are undefined. + * map onto the CPU in a straight fashion are undefined. */ #define _CPU_ISR_Set_level( _newlevel ) \ sparc_enable_interrupts( _newlevel) uint32_t _CPU_ISR_Get_level( void ); - + /* end of ISR handler macros */ /* Context handler macros */ @@ -839,7 +843,7 @@ void _CPU_Context_Initialize( * On the SPARC, this is setting the frame pointer so GDB is happy. * Make GDB stop unwinding at _Thread_Handler, previous register window * Frame pointer is 0 and calling address must be a function with starting - * with a SAVE instruction. If return address is leaf-function (no SAVE) + * with a SAVE instruction. If return address is leaf-function (no SAVE) * GDB will not look at prev reg window fp. * * _Thread_Handler is known to start with SAVE. @@ -852,7 +856,7 @@ void _CPU_Context_Initialize( /* * This routine is responsible for somehow restarting the currently - * executing task. + * executing task. * * On the SPARC, this is is relatively painless but requires a small * amount of wrapper code before using the regular restore code in @@ -874,7 +878,7 @@ void _CPU_Context_Initialize( * This routine initializes the FP context area passed to it to. * * The SPARC allows us to use the simple initialization model - * in which an "initial" FP context was saved into _CPU_Null_fp_context + * in which an "initial" FP context was saved into _CPU_Null_fp_context * at CPU initialization and it is simply copied into the destination * context. */ @@ -950,7 +954,7 @@ void _CPU_Initialize(void); * This routine installs new_handler to be directly called from the trap * table. */ - + void _CPU_ISR_install_raw_handler( uint32_t vector, proc_ptr new_handler, @@ -970,14 +974,14 @@ void _CPU_ISR_install_vector( ); #if (CPU_PROVIDES_IDLE_THREAD_BODY == TRUE) - + /* * _CPU_Thread_Idle_body * * Some SPARC implementations have low power, sleep, or idle modes. This * tries to take advantage of those models. */ - + void *_CPU_Thread_Idle_body( uintptr_t ignored ); #endif /* CPU_PROVIDES_IDLE_THREAD_BODY */ @@ -1036,7 +1040,7 @@ void _CPU_Exception_frame_print( const CPU_Exception_frame *frame ); * It must be static because it is referenced indirectly. * * This version will work on any processor, but if you come across a better - * way for the SPARC PLEASE use it. The most common way to swap a 32-bit + * way for the SPARC PLEASE use it. The most common way to swap a 32-bit * entity as shown below is not any more efficient on the SPARC. * * swap least significant two bytes with 16-bit rotate @@ -1047,18 +1051,18 @@ void _CPU_Exception_frame_print( const CPU_Exception_frame *frame ); * generic code. gcc 2.7.0 only generates about 12 instructions for the * following code at optimization level four (i.e. -O4). */ - + static inline uint32_t CPU_swap_u32( uint32_t value ) { uint32_t byte1, byte2, byte3, byte4, swapped; - + byte4 = (value >> 24) & 0xff; byte3 = (value >> 16) & 0xff; byte2 = (value >> 8) & 0xff; byte1 = value & 0xff; - + swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4; return( swapped ); } diff --git a/cpukit/score/cpu/sparc64/rtems/score/sparc64.h b/cpukit/score/cpu/sparc64/rtems/score/sparc64.h index b7ac2c5137..b2df9c17a5 100644 --- a/cpukit/score/cpu/sparc64/rtems/score/sparc64.h +++ b/cpukit/score/cpu/sparc64/rtems/score/sparc64.h @@ -1,15 +1,18 @@ /** - * @file rtems/score/sparc64.h + * @file + * + * @brief Information Required to Build RTEMS for a Particular Member + * of the SPARC Family + * + * This include file contains information pertaining to the SPARC + * processor family. */ /* - * This include file contains information pertaining to the SPARC - * processor family. - * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * - * This file is based on the SPARC sparc.h file. Modifications are made + * This file is based on the SPARC sparc.h file. Modifications are made * to support the SPARC64 processor. * COPYRIGHT (c) 2010. Gedare Bloom. * @@ -34,19 +37,19 @@ extern "C" { * * Currently recognized feature flags: * - * + SPARC_HAS_FPU + * + SPARC_HAS_FPU * 0 - no HW FPU * 1 - has HW FPU (assumed to be compatible w/90C602) * - * + SPARC_HAS_BITSCAN + * + SPARC_HAS_BITSCAN * 0 - does not have scan instructions * 1 - has scan instruction (not currently implemented) - * + * * + SPARC_NUMBER_OF_REGISTER_WINDOWS * 8 is the most common number supported by SPARC implementations. * SPARC_PSR_CWP_MASK is derived from this value. */ - + /* * Some higher end SPARCs have a bitscan instructions. It would * be nice to take advantage of them. Right now, there is no @@ -67,9 +70,9 @@ extern "C" { */ #define SPARC_NUMBER_OF_REGISTER_WINDOWS 8 - + /* - * This should be determined based on some soft float derived + * This should be determined based on some soft float derived * cpp predefine but gcc does not currently give us that information. */ @@ -96,7 +99,7 @@ extern "C" { * Miscellaneous constants */ -/* +/* * The PSR is deprecated and deleted. * * The following registers represent fields of the PSR: @@ -145,7 +148,7 @@ extern "C" { #ifdef ASM -/* +/* * To enable the FPU we need to set both PSTATE.pef and FPRS.fef */ @@ -237,9 +240,9 @@ extern "C" { /* * read the stick register * - * Note: + * Note: * stick asr=24, mnemonic=stick - * Note: stick does not appear to be a valid ASR for US3, although it is + * Note: stick does not appear to be a valid ASR for US3, although it is * implemented in US3i. */ #define sparc64_read_stick( _stick ) \ @@ -249,11 +252,11 @@ extern "C" { } while ( 0 ) /* - * write the stick_cmpr register + * write the stick_cmpr register * - * Note: + * Note: * stick_cmpr asr=25, mnemonic=stick_cmpr - * Note: stick_cmpr does not appear to be a valid ASR for US3, although it is + * Note: stick_cmpr does not appear to be a valid ASR for US3, although it is * implemented in US3i. */ #define sparc64_write_stick_cmpr( _stick_cmpr ) \ @@ -280,7 +283,7 @@ extern "C" { : "0" (_tick_cmpr) ); \ } while ( 0 ) -/* +/* * Clear the softint register. * * sun4u and sun4v: softint_clr asr = 21, with mnemonic clear_softint @@ -296,12 +299,12 @@ extern "C" { /* * Get and set the Y */ - + #define sparc_get_y( _y ) \ do { \ __asm__ volatile( "rd %%y, %0" : "=r" (_y) : "0" (_y) ); \ } while ( 0 ) - + #define sparc_set_y( _y ) \ do { \ __asm__ volatile( "wr %0, %%y" : "=r" (_y) : "0" (_y) ); \ @@ -310,12 +313,12 @@ extern "C" { /************* /DEPRECATED ****************/ /* - * Manipulate the interrupt level in the pstate + * Manipulate the interrupt level in the pstate */ uint32_t sparc_disable_interrupts(void); void sparc_enable_interrupts(uint32_t); - + #define sparc_flash_interrupts( _level ) \ do { \ register uint32_t _ignored = 0; \ diff --git a/cpukit/score/cpu/sparc64/rtems/score/types.h b/cpukit/score/cpu/sparc64/rtems/score/types.h index 3d289a586a..06b7844042 100644 --- a/cpukit/score/cpu/sparc64/rtems/score/types.h +++ b/cpukit/score/cpu/sparc64/rtems/score/types.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/types.h + * @file + * + * @brief SPARC64 CPU Type Definitions + * + * This include file contains type definitions pertaining to the + * SPARC-v9 processor family. */ /* - * This include file contains type definitions pertaining to the - * SPARC-v9 processor family. - * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * -- cgit v1.2.3 From a0d01664e704b3d332c309b6e71594736f41ee2f Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 8 Jan 2013 11:54:19 -0600 Subject: no_bsp: Fix typo and format --- c/src/lib/libbsp/no_cpu/no_bsp/shmsupp/mpisr.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/c/src/lib/libbsp/no_cpu/no_bsp/shmsupp/mpisr.c b/c/src/lib/libbsp/no_cpu/no_bsp/shmsupp/mpisr.c index 7d450d6298..064bad4461 100644 --- a/c/src/lib/libbsp/no_cpu/no_bsp/shmsupp/mpisr.c +++ b/c/src/lib/libbsp/no_cpu/no_bsp/shmsupp/mpisr.c @@ -1,6 +1,11 @@ -/* Shm_isr_nobsp() +/** + * @file * - * COPYRIGHT (c) 1989-1999. + * Template for Shared Memory Driver Interrupt Support + */ + +/* + * COPYRIGHT (c) 1989-2012. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -12,7 +17,7 @@ #include #include -rtems_isr Shm_isr_nobsp( void ) +rtems_isr Shm_isr_nobsp(rtems_vector_number ignored) { /* * If this routine has to do anything other than the mpisr.c @@ -22,20 +27,15 @@ rtems_isr Shm_isr_nobsp( void ) * must be cleared. * * If the generic mpisr.c satisifies your requirements, then - * remove this routine from your target's shmsupp/mpisb.c file. + * remove this routine from your target's shmsupp/mpisr.c file. * Then simply install the generic Shm_isr in the Shm_setvec * routine below. */ } -/* Shm_setvec - * +/* * This driver routine sets the SHM interrupt vector to point to the * driver's SHM interrupt service routine. - * - * Input parameters: NONE - * - * Output parameters: NONE */ void Shm_setvec( void ) -- cgit v1.2.3 From 4fd1ccaa3c7f32b16b8512154e8c5187de382a85 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 8 Jan 2013 11:58:41 -0600 Subject: leon3: Open Ethernet Fixed Warning --- c/src/lib/libbsp/sparc/leon3/leon_open_eth/leon_open_eth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c/src/lib/libbsp/sparc/leon3/leon_open_eth/leon_open_eth.c b/c/src/lib/libbsp/sparc/leon3/leon_open_eth/leon_open_eth.c index 963264edab..f8e700cf4b 100644 --- a/c/src/lib/libbsp/sparc/leon3/leon_open_eth/leon_open_eth.c +++ b/c/src/lib/libbsp/sparc/leon3/leon_open_eth/leon_open_eth.c @@ -54,7 +54,7 @@ int rtems_leon_open_eth_driver_attach( *(volatile int *) base_addr = 0; *(volatile int *) base_addr = 0x800; *(volatile int *) base_addr = 0; - leon_open_eth_configuration.base_address = base_addr; + leon_open_eth_configuration.base_address = (void *) base_addr; leon_open_eth_configuration.vector = eth_irq + 0x10; leon_open_eth_configuration.txd_count = TDA_COUNT; leon_open_eth_configuration.rxd_count = RDA_COUNT; -- cgit v1.2.3 From 4967f6b81894b364f345997e894be380d9a3bd4e Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 8 Jan 2013 12:37:05 -0600 Subject: leon3/shmsupp: Fix warnings & comment clean up --- c/src/lib/libbsp/sparc/leon3/shmsupp/getcfg.c | 48 ++++++--------------------- c/src/lib/libbsp/sparc/leon3/shmsupp/lock.c | 25 ++++++-------- c/src/lib/libbsp/sparc/leon3/shmsupp/mpisr.c | 28 ++++++++-------- 3 files changed, 36 insertions(+), 65 deletions(-) diff --git a/c/src/lib/libbsp/sparc/leon3/shmsupp/getcfg.c b/c/src/lib/libbsp/sparc/leon3/shmsupp/getcfg.c index 60b47ca7cf..d70f495a26 100644 --- a/c/src/lib/libbsp/sparc/leon3/shmsupp/getcfg.c +++ b/c/src/lib/libbsp/sparc/leon3/shmsupp/getcfg.c @@ -1,27 +1,11 @@ -/* void Shm_Get_configuration( localnode, &shmcfg ) +/** + * @file * - * This routine initializes, if necessary, and returns a pointer - * to the Shared Memory Configuration Table for the XXX target. - * - * INPUT PARAMETERS: - * localnode - local node number - * shmcfg - address of pointer to SHM Config Table - * - * OUTPUT PARAMETERS: - * *shmcfg - pointer to SHM Config Table - * -XXX: FIX THE COMMENTS BELOW WHEN THE CPU IS KNOWN - * NOTES: The XYZ does not have an interprocessor interrupt. - * - * The following table illustrates the configuration limitations: - * - * BUS MAX - * MODE ENDIAN NODES - * ========= ====== ======= - * POLLED BIG 2+ - * INTERRUPT **** NOT SUPPORTED **** - * - * COPYRIGHT (c) 1989-1999. + * LEON3 Shared Memory Driver Support - Configuration + */ + +/* + * COPYRIGHT (c) 1989-2012. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -35,7 +19,6 @@ XXX: FIX THE COMMENTS BELOW WHEN THE CPU IS KNOWN /* multiprocessor communications interface (MPCI) table */ - extern rtems_mpci_entry Shm_Get_packet( rtems_packet_prefix ** ); @@ -56,19 +39,11 @@ extern rtems_mpci_entry Shm_Send_packet( ); -/* rtems_mpci_table MPCI_table = { */ -/* 100000, /\* default timeout value in ticks *\/ */ -/* MAX_PACKET_SIZE, /\* maximum packet size *\/ */ -/* Shm_Initialization, /\* initialization procedure *\/ */ -/* Shm_Get_packet, /\* get packet procedure *\/ */ -/* Shm_Return_packet, /\* return packet procedure *\/ */ -/* Shm_Send_packet, /\* packet send procedure *\/ */ -/* Shm_Receive_packet /\* packet receive procedure *\/ */ -/* }; */ - - /* - * configured if currently polling of interrupt driven + * configured if currently polling or interrupt driven + * + * NOTE: Code in mpisr.c is commented out. Fix when interrupt mode + * is added. */ #define INTERRUPT 0 /* XXX: */ @@ -95,7 +70,6 @@ void Shm_Get_configuration( shm_config_table **shmcfg ) { - extern rtems_configuration_table Configuration; int i; unsigned int tmp; diff --git a/c/src/lib/libbsp/sparc/leon3/shmsupp/lock.c b/c/src/lib/libbsp/sparc/leon3/shmsupp/lock.c index be3f64dbd9..91e0b6de98 100644 --- a/c/src/lib/libbsp/sparc/leon3/shmsupp/lock.c +++ b/c/src/lib/libbsp/sparc/leon3/shmsupp/lock.c @@ -1,12 +1,17 @@ -/* Shared Memory Lock Routines +/** + * @file + * + * LEON3 Shared Memory Lock Routines * * This shared memory locked queue support routine need to be * able to lock the specified locked queue. Interrupts are * disabled while the queue is locked to prevent preemption * and deadlock when two tasks poll for the same lock. * previous level. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* + * COPYRIGHT (c) 1989-2012. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -20,11 +25,8 @@ /* - * Shm_Initialize_lock - * * Initialize the lock for the specified locked queue. */ - void Shm_Initialize_lock( Shm_Locked_queue_Control *lq_cb ) @@ -32,12 +34,12 @@ void Shm_Initialize_lock( lq_cb->lock = LQ_UNLOCKED; } -/* void _Shm_Lock( &lq_cb ) - * +/* * This shared memory locked queue support routine locks the * specified locked queue. It disables interrupts to prevent * a deadlock condition. */ +extern unsigned int LEON3_Atomic_Swap(uint32_t value, uint32_t *address); __asm__ ( ".text\n" @@ -63,16 +65,9 @@ void Shm_Lock( Shm_isrstat = isr_level; while ( lock_value ) { lock_value = LEON3_Atomic_Swap(lock_value, lockptr); -/* __asm__ volatile( "" */ -/* : "=r" (lockptr), "=r" (lock_value) */ -/* : "0" (lockptr), "1" (lock_value) */ -/* ); */ /* * If not available, then may want to delay to reduce load on lock. */ - -/* if ( lock_value ) */ -/* rtems_bsp_delay( 10 ); /\* approximately 10 microseconds *\/ */ } } diff --git a/c/src/lib/libbsp/sparc/leon3/shmsupp/mpisr.c b/c/src/lib/libbsp/sparc/leon3/shmsupp/mpisr.c index 6a05dd6197..6499634d0b 100644 --- a/c/src/lib/libbsp/sparc/leon3/shmsupp/mpisr.c +++ b/c/src/lib/libbsp/sparc/leon3/shmsupp/mpisr.c @@ -1,6 +1,11 @@ -/* Shm_isr_nobsp() +/** + * @file * - * COPYRIGHT (c) 1989-1999. + * LEON3 Shared Memory Driver Interrupt Support + */ + +/* + * COPYRIGHT (c) 1989-2012. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -12,7 +17,7 @@ #include #include -rtems_isr Shm_isr_nobsp( void ) +void Shm_isr(void) { /* * If this routine has to do anything other than the mpisr.c @@ -22,25 +27,22 @@ rtems_isr Shm_isr_nobsp( void ) * must be cleared. * * If the generic mpisr.c satisifies your requirements, then - * remove this routine from your target's shmsupp/mpisb.c file. + * remove this routine from your target's shmsupp/mpisr.c file. * Then simply install the generic Shm_isr in the Shm_setvec * routine below. */ } -/* Shm_setvec - * +/* * This driver routine sets the SHM interrupt vector to point to the * driver's SHM interrupt service routine. - * - * Input parameters: NONE - * - * Output parameters: NONE */ - - void Shm_setvec( void ) { + /* + * Interrupt driven mode is not currently supported. + * This is thought to be the interrupt to use. + */ LEON_Unmask_interrupt(LEON3_MP_IRQ); - set_vector(Shm_isr, LEON_TRAP_TYPE(LEON3_MP_IRQ), 1); + set_vector((rtems_isr_entry) Shm_isr, LEON_TRAP_TYPE(LEON3_MP_IRQ), 1); } -- cgit v1.2.3 From f597cc1ba26ec34cf6c8243dc3f921a71e8afe11 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 8 Jan 2013 12:49:56 -0600 Subject: leon3: disable unused ISR handler --- c/src/lib/libbsp/sparc/leon3/shmsupp/mpisr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/c/src/lib/libbsp/sparc/leon3/shmsupp/mpisr.c b/c/src/lib/libbsp/sparc/leon3/shmsupp/mpisr.c index 6499634d0b..560828f748 100644 --- a/c/src/lib/libbsp/sparc/leon3/shmsupp/mpisr.c +++ b/c/src/lib/libbsp/sparc/leon3/shmsupp/mpisr.c @@ -17,6 +17,7 @@ #include #include +#if 0 void Shm_isr(void) { /* @@ -32,6 +33,7 @@ void Shm_isr(void) * routine below. */ } +#endif /* * This driver routine sets the SHM interrupt vector to point to the -- cgit v1.2.3 From 4f5740fd6cf79a6a000191a81e5297bc515eb9d7 Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Tue, 8 Jan 2013 13:36:13 -0600 Subject: score: Doxygen Clean Up Task #16 --- cpukit/score/cpu/bfin/rtems/asm.h | 58 +- cpukit/score/cpu/bfin/rtems/bfin/bf52x.h | 23 +- cpukit/score/cpu/bfin/rtems/bfin/bf533.h | 20 +- cpukit/score/cpu/bfin/rtems/bfin/bfin.h | 10 +- cpukit/score/cpu/bfin/rtems/score/bfin.h | 16 +- cpukit/score/cpu/bfin/rtems/score/cpu.h | 1211 +++++++++++++------------ cpukit/score/cpu/bfin/rtems/score/cpu_asm.h | 8 +- cpukit/score/cpu/bfin/rtems/score/types.h | 12 +- cpukit/score/cpu/nios2/rtems/score/cpu.h | 19 +- cpukit/score/cpu/nios2/rtems/score/cpu_asm.h | 12 +- cpukit/score/cpu/nios2/rtems/score/types.h | 10 +- cpukit/score/cpu/sh/rtems/asm.h | 21 +- cpukit/score/cpu/sh/rtems/score/sh.h | 10 +- cpukit/score/cpu/sh/rtems/score/sh_io.h | 10 +- cpukit/score/cpu/sh/rtems/score/types.h | 10 +- cpukit/score/cpu/v850/rtems/asm.h | 62 +- cpukit/score/cpu/v850/rtems/score/cpu.h | 1248 +++++++++++++------------- cpukit/score/cpu/v850/rtems/score/types.h | 10 +- cpukit/score/cpu/v850/rtems/score/v850.h | 14 +- 19 files changed, 1429 insertions(+), 1355 deletions(-) diff --git a/cpukit/score/cpu/bfin/rtems/asm.h b/cpukit/score/cpu/bfin/rtems/asm.h index dbe0d7f407..5d133ddbdd 100644 --- a/cpukit/score/cpu/bfin/rtems/asm.h +++ b/cpukit/score/cpu/bfin/rtems/asm.h @@ -1,17 +1,20 @@ /** - * @file rtems/asm.h + * @file * - * This include file attempts to address the problems - * caused by incompatible flavors of assemblers and - * toolsets. It primarily addresses variations in the - * use of leading underscores on symbols and the requirement - * that register names be preceded by a %. + * @brief Address the Problems Caused by Incompatible Flavor of + * Assemblers and Toolsets + * + * This include file attempts to address the problems + * caused by incompatible flavors of assemblers and + * toolsets. It primarily addresses variations in the + * use of leading underscores on symbols and the requirement + * that register names be preceded by a %. + * + * @note The spacing in the use of these macros + * is critical to them working as advertised. */ /* - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. - * * COPYRIGHT: * * This file is based on similar code found in newlib available @@ -38,24 +41,24 @@ #ifndef __USER_LABEL_PREFIX__ /** - * Recent versions of GNU cpp define variables which indicate the - * need for underscores and percents. If not using GNU cpp or - * the version does not support this, then you will obviously - * have to define these as appropriate. + * Recent versions of GNU cpp define variables which indicate the + * need for underscores and percents. If not using GNU cpp or + * the version does not support this, then you will obviously + * have to define these as appropriate. * - * This symbol is prefixed to all C program symbols. + * This symbol is prefixed to all C program symbols. */ #define __USER_LABEL_PREFIX__ _ #endif #ifndef __REGISTER_PREFIX__ /** - * Recent versions of GNU cpp define variables which indicate the - * need for underscores and percents. If not using GNU cpp or - * the version does not support this, then you will obviously - * have to define these as appropriate. + * Recent versions of GNU cpp define variables which indicate the + * need for underscores and percents. If not using GNU cpp or + * the version does not support this, then you will obviously + * have to define these as appropriate. * - * This symbol is prefixed to all register names. + * This symbol is prefixed to all register names. */ #define __REGISTER_PREFIX__ #endif @@ -95,8 +98,9 @@ #define BEGIN_DATA /** This macro is used to denote the end of a data section. */ #define END_DATA -/** This macro is used to denote the beginning of the - * unitialized data section. +/** + * This macro is used to denote the beginning of the + * unitialized data section. */ #define BEGIN_BSS /** This macro is used to denote the end of the unitialized data section. */ @@ -105,18 +109,18 @@ #define END /** - * This macro is used to declare a public global symbol. + * This macro is used to declare a public global symbol. * - * @note This must be tailored for a particular flavor of the C compiler. - * They may need to put underscores in front of the symbols. + * @note This must be tailored for a particular flavor of the C compiler. + * They may need to put underscores in front of the symbols. */ #define PUBLIC(sym) .globl SYM (sym) /** - * This macro is used to prototype a public global symbol. + * This macro is used to prototype a public global symbol. * - * @note This must be tailored for a particular flavor of the C compiler. - * They may need to put underscores in front of the symbols. + * @note This must be tailored for a particular flavor of the C compiler. + * They may need to put underscores in front of the symbols. */ #define EXTERN(sym) .globl SYM (sym) diff --git a/cpukit/score/cpu/bfin/rtems/bfin/bf52x.h b/cpukit/score/cpu/bfin/rtems/bfin/bf52x.h index 3c5bf7b3ef..7b4a41ac05 100644 --- a/cpukit/score/cpu/bfin/rtems/bfin/bf52x.h +++ b/cpukit/score/cpu/bfin/rtems/bfin/bf52x.h @@ -1,13 +1,17 @@ /** - *@file bf52x.h + * @file * - * This file defines basic MMR for the Blackfin 52x CPU. - * The MMR have been taken from the ADSP-BF52x Blackfin Processor - * Hardware Reference from Analog Devices. Mentioned Chapters - * refer to this Documentation. + * @brief Basic MMR for the Blackfin 52x CPU * - * Based on bf533.h + * This file defines basic MMR for the Blackfin 52x CPU. + * The MMR have been taken from the ADSP-BF52x Blackfin Processor + * Hardware Reference from Analog Devices. Mentioned Chapters + * refer to this Documentation. * + * Based on bf533.h + */ + +/* * COPYRIGHT (c) 2006. * Atos Automacao Industrial LTDA. * modified by Alain Schaefer @@ -18,11 +22,8 @@ * http://www.rtems.com/license/LICENSE. * * - * @author Rohan Kangralkar, ECE Department Northeastern University - * @date 02/15/2011 - * - * HISTORY: - * + * Author: Rohan Kangralkar, ECE Department Northeastern University + * Date: 02/15/2011 */ #ifndef _RTEMS_BFIN_52x_H diff --git a/cpukit/score/cpu/bfin/rtems/bfin/bf533.h b/cpukit/score/cpu/bfin/rtems/bfin/bf533.h index 005a6fbb81..3ebff2cd90 100644 --- a/cpukit/score/cpu/bfin/rtems/bfin/bf533.h +++ b/cpukit/score/cpu/bfin/rtems/bfin/bf533.h @@ -1,14 +1,18 @@ -/* bfin.h +/** + * @file * - * This file defines basic MMR for the Blackfin 531/532/533 CPU. - * The MMR have been taken from the ADSP-BF533 Blackfin Processor - * Hardware Reference from Analog Devices. Mentioned Chapters - * refer to this Documentation. + * @brief Basic MMR for the Blackfin 531/532/533 CPU * - * The Blackfins MMRs are divided into core MMRs (0xFFE0 0000–0xFFFF FFFF) - * and System MMRs (0xFFC0 0000–0xFFE0 0000). The core MMRs are defined - * in bfin.h which is included. + * This file defines basic MMR for the Blackfin 531/532/533 CPU. + * The MMR have been taken from the ADSP-BF533 Blackfin Processor + * Hardware Reference from Analog Devices. Mentioned Chapters + * refer to this Documentation. * + * The Blackfins MMRs are divided into core MMRs (0xFFE0 0000–0xFFFF FFFF) + * and System MMRs (0xFFC0 0000–0xFFE0 0000). The core MMRs are defined + * in bfin.h which is included. + */ +/* * COPYRIGHT (c) 2006. * Atos Automacao Industrial LTDA. * modified by Alain Schaefer diff --git a/cpukit/score/cpu/bfin/rtems/bfin/bfin.h b/cpukit/score/cpu/bfin/rtems/bfin/bfin.h index f3d6341d5c..ad7631d054 100644 --- a/cpukit/score/cpu/bfin/rtems/bfin/bfin.h +++ b/cpukit/score/cpu/bfin/rtems/bfin/bfin.h @@ -1,8 +1,12 @@ -/* bfin.h +/** + * @file * - * This file defines Macros for MMR register common to all Blackfin - * Processors. + * @brief Macros for MMR register common to all Blackfin Processors * + * This file defines Macros for MMR register common to all Blackfin + * Processors. + */ +/* * COPYRIGHT (c) 2006 by Atos Automacao Industrial Ltda. * modified by Alain Schaefer * and Antonio Giovanini diff --git a/cpukit/score/cpu/bfin/rtems/score/bfin.h b/cpukit/score/cpu/bfin/rtems/score/bfin.h index 9eda79fd2d..2907840680 100644 --- a/cpukit/score/cpu/bfin/rtems/score/bfin.h +++ b/cpukit/score/cpu/bfin/rtems/score/bfin.h @@ -1,10 +1,16 @@ -/* bfin.h +/** + * @file * - * This file sets up basic CPU dependency settings based on - * compiler settings. For example, it can determine if - * floating point is available. This particular implementation - * is specified to the Blackfin port. + * @brief Blackfin Set up Basic CPU Dependency Settings Based on + * Compiler Settings * + * This file sets up basic CPU dependency settings based on + * compiler settings. For example, it can determine if + * floating point is available. This particular implementation + * is specified to the Blackfin port. + */ + +/* * * COPYRIGHT (c) 1989-2006. * On-Line Applications Research Corporation (OAR). diff --git a/cpukit/score/cpu/bfin/rtems/score/cpu.h b/cpukit/score/cpu/bfin/rtems/score/cpu.h index f6fab7543b..425fc68fa7 100644 --- a/cpukit/score/cpu/bfin/rtems/score/cpu.h +++ b/cpukit/score/cpu/bfin/rtems/score/cpu.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/cpu.h + * @file + * + * @brief Blackfin CPU Department Source + * + * This include file contains information pertaining to the Blackfin + * processor. */ /* - * This include file contains information pertaining to the Blackfin - * processor. - * * COPYRIGHT (c) 1989-2006. * On-Line Applications Research Corporation (OAR). * adapted to Blackfin by Alain Schaefer @@ -29,77 +31,77 @@ extern "C" { /* conditional compilation parameters */ /** - * Should the calls to @ref _Thread_Enable_dispatch be inlined? + * Should the calls to @ref _Thread_Enable_dispatch be inlined? * - * If TRUE, then they are inlined. - * If FALSE, then a subroutine call is made. + * If TRUE, then they are inlined. + * If FALSE, then a subroutine call is made. * - * This conditional is an example of the classic trade-off of size - * versus speed. Inlining the call (TRUE) typically increases the - * size of RTEMS while speeding up the enabling of dispatching. + * This conditional is an example of the classic trade-off of size + * versus speed. Inlining the call (TRUE) typically increases the + * size of RTEMS while speeding up the enabling of dispatching. * - * @note In general, the @ref _Thread_Dispatch_disable_level will - * only be 0 or 1 unless you are in an interrupt handler and that - * interrupt handler invokes the executive.] When not inlined - * something calls @ref _Thread_Enable_dispatch which in turns calls - * @ref _Thread_Dispatch. If the enable dispatch is inlined, then - * one subroutine call is avoided entirely. + * @note In general, the @ref _Thread_Dispatch_disable_level will + * only be 0 or 1 unless you are in an interrupt handler and that + * interrupt handler invokes the executive.] When not inlined + * something calls @ref _Thread_Enable_dispatch which in turns calls + * @ref _Thread_Dispatch. If the enable dispatch is inlined, then + * one subroutine call is avoided entirely. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_INLINE_ENABLE_DISPATCH FALSE /** - * Should the body of the search loops in _Thread_queue_Enqueue_priority - * be unrolled one time? In unrolled each iteration of the loop examines - * two "nodes" on the chain being searched. Otherwise, only one node - * is examined per iteration. + * Should the body of the search loops in _Thread_queue_Enqueue_priority + * be unrolled one time? In unrolled each iteration of the loop examines + * two "nodes" on the chain being searched. Otherwise, only one node + * is examined per iteration. * - * If TRUE, then the loops are unrolled. - * If FALSE, then the loops are not unrolled. + * If TRUE, then the loops are unrolled. + * If FALSE, then the loops are not unrolled. * - * The primary factor in making this decision is the cost of disabling - * and enabling interrupts (_ISR_Flash) versus the cost of rest of the - * body of the loop. On some CPUs, the flash is more expensive than - * one iteration of the loop body. In this case, it might be desirable - * to unroll the loop. It is important to note that on some CPUs, this - * code is the longest interrupt disable period in RTEMS. So it is - * necessary to strike a balance when setting this parameter. + * The primary factor in making this decision is the cost of disabling + * and enabling interrupts (_ISR_Flash) versus the cost of rest of the + * body of the loop. On some CPUs, the flash is more expensive than + * one iteration of the loop body. In this case, it might be desirable + * to unroll the loop. It is important to note that on some CPUs, this + * code is the longest interrupt disable period in RTEMS. So it is + * necessary to strike a balance when setting this parameter. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_UNROLL_ENQUEUE_PRIORITY TRUE /** - * Does RTEMS manage a dedicated interrupt stack in software? + * Does RTEMS manage a dedicated interrupt stack in software? * - * If TRUE, then a stack is allocated in @ref _ISR_Handler_initialization. - * If FALSE, nothing is done. + * If TRUE, then a stack is allocated in @ref _ISR_Handler_initialization. + * If FALSE, nothing is done. * - * If the CPU supports a dedicated interrupt stack in hardware, - * then it is generally the responsibility of the BSP to allocate it - * and set it up. + * If the CPU supports a dedicated interrupt stack in hardware, + * then it is generally the responsibility of the BSP to allocate it + * and set it up. * - * If the CPU does not support a dedicated interrupt stack, then - * the porter has two options: (1) execute interrupts on the - * stack of the interrupted task, and (2) have RTEMS manage a dedicated - * interrupt stack. + * If the CPU does not support a dedicated interrupt stack, then + * the porter has two options: (1) execute interrupts on the + * stack of the interrupted task, and (2) have RTEMS manage a dedicated + * interrupt stack. * - * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. + * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. * - * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and - * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is - * possible that both are FALSE for a particular CPU. Although it - * is unclear what that would imply about the interrupt processing - * procedure on that CPU. + * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and + * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is + * possible that both are FALSE for a particular CPU. Although it + * is unclear what that would imply about the interrupt processing + * procedure on that CPU. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_HAS_SOFTWARE_INTERRUPT_STACK TRUE @@ -130,84 +132,84 @@ extern "C" { #define CPU_SIMPLE_VECTORED_INTERRUPTS TRUE /** - * Does this CPU have hardware support for a dedicated interrupt stack? + * Does this CPU have hardware support for a dedicated interrupt stack? * - * If TRUE, then it must be installed during initialization. - * If FALSE, then no installation is performed. + * If TRUE, then it must be installed during initialization. + * If FALSE, then no installation is performed. * - * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. + * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. * - * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and - * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is - * possible that both are FALSE for a particular CPU. Although it - * is unclear what that would imply about the interrupt processing - * procedure on that CPU. + * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and + * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is + * possible that both are FALSE for a particular CPU. Although it + * is unclear what that would imply about the interrupt processing + * procedure on that CPU. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_HAS_HARDWARE_INTERRUPT_STACK FALSE /** - * Does RTEMS allocate a dedicated interrupt stack in the Interrupt Manager? + * Does RTEMS allocate a dedicated interrupt stack in the Interrupt Manager? * - * If TRUE, then the memory is allocated during initialization. - * If FALSE, then the memory is allocated during initialization. + * If TRUE, then the memory is allocated during initialization. + * If FALSE, then the memory is allocated during initialization. * - * This should be TRUE is CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE. + * This should be TRUE is CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ALLOCATE_INTERRUPT_STACK TRUE /** - * Does the RTEMS invoke the user's ISR with the vector number and - * a pointer to the saved interrupt frame (1) or just the vector - * number (0)? + * Does the RTEMS invoke the user's ISR with the vector number and + * a pointer to the saved interrupt frame (1) or just the vector + * number (0)? * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ISR_PASSES_FRAME_POINTER 1 /** - * @def CPU_HARDWARE_FP + * @def CPU_HARDWARE_FP * - * Does the CPU have hardware floating point? + * Does the CPU have hardware floating point? * - * If TRUE, then the RTEMS_FLOATING_POINT task attribute is supported. - * If FALSE, then the RTEMS_FLOATING_POINT task attribute is ignored. + * If TRUE, then the RTEMS_FLOATING_POINT task attribute is supported. + * If FALSE, then the RTEMS_FLOATING_POINT task attribute is ignored. * - * If there is a FP coprocessor such as the i387 or mc68881, then - * the answer is TRUE. + * If there is a FP coprocessor such as the i387 or mc68881, then + * the answer is TRUE. * - * The macro name "NO_CPU_HAS_FPU" should be made CPU specific. - * It indicates whether or not this CPU model has FP support. For - * example, it would be possible to have an i386_nofp CPU model - * which set this to false to indicate that you have an i386 without - * an i387 and wish to leave floating point support out of RTEMS. + * The macro name "NO_CPU_HAS_FPU" should be made CPU specific. + * It indicates whether or not this CPU model has FP support. For + * example, it would be possible to have an i386_nofp CPU model + * which set this to false to indicate that you have an i386 without + * an i387 and wish to leave floating point support out of RTEMS. */ /** - * @def CPU_SOFTWARE_FP + * @def CPU_SOFTWARE_FP * - * Does the CPU have no hardware floating point and GCC provides a - * software floating point implementation which must be context - * switched? + * Does the CPU have no hardware floating point and GCC provides a + * software floating point implementation which must be context + * switched? * - * This feature conditional is used to indicate whether or not there - * is software implemented floating point that must be context - * switched. The determination of whether or not this applies - * is very tool specific and the state saved/restored is also - * compiler specific. + * This feature conditional is used to indicate whether or not there + * is software implemented floating point that must be context + * switched. The determination of whether or not this applies + * is very tool specific and the state saved/restored is also + * compiler specific. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if ( BLACKFIN_CPU_HAS_FPU == 1 ) #define CPU_HARDWARE_FP TRUE @@ -217,192 +219,194 @@ extern "C" { #define CPU_SOFTWARE_FP FALSE /** - * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? + * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? * - * If TRUE, then the RTEMS_FLOATING_POINT task attribute is assumed. - * If FALSE, then the RTEMS_FLOATING_POINT task attribute is followed. + * If TRUE, then the RTEMS_FLOATING_POINT task attribute is assumed. + * If FALSE, then the RTEMS_FLOATING_POINT task attribute is followed. * - * So far, the only CPUs in which this option has been used are the - * HP PA-RISC and PowerPC. On the PA-RISC, The HP C compiler and - * gcc both implicitly used the floating point registers to perform - * integer multiplies. Similarly, the PowerPC port of gcc has been - * seen to allocate floating point local variables and touch the FPU - * even when the flow through a subroutine (like vfprintf()) might - * not use floating point formats. + * So far, the only CPUs in which this option has been used are the + * HP PA-RISC and PowerPC. On the PA-RISC, The HP C compiler and + * gcc both implicitly used the floating point registers to perform + * integer multiplies. Similarly, the PowerPC port of gcc has been + * seen to allocate floating point local variables and touch the FPU + * even when the flow through a subroutine (like vfprintf()) might + * not use floating point formats. * - * If a function which you would not think utilize the FP unit DOES, - * then one can not easily predict which tasks will use the FP hardware. - * In this case, this option should be TRUE. + * If a function which you would not think utilize the FP unit DOES, + * then one can not easily predict which tasks will use the FP hardware. + * In this case, this option should be TRUE. * - * If @ref CPU_HARDWARE_FP is FALSE, then this should be FALSE as well. + * If @ref CPU_HARDWARE_FP is FALSE, then this should be FALSE as well. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ALL_TASKS_ARE_FP FALSE /** - * Should the IDLE task have a floating point context? + * Should the IDLE task have a floating point context? * - * If TRUE, then the IDLE task is created as a RTEMS_FLOATING_POINT task - * and it has a floating point context which is switched in and out. - * If FALSE, then the IDLE task does not have a floating point context. + * If TRUE, then the IDLE task is created as a RTEMS_FLOATING_POINT task + * and it has a floating point context which is switched in and out. + * If FALSE, then the IDLE task does not have a floating point context. * - * Setting this to TRUE negatively impacts the time required to preempt - * the IDLE task from an interrupt because the floating point context - * must be saved as part of the preemption. + * Setting this to TRUE negatively impacts the time required to preempt + * the IDLE task from an interrupt because the floating point context + * must be saved as part of the preemption. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_IDLE_TASK_IS_FP FALSE /** - * Should the saving of the floating point registers be deferred - * until a context switch is made to another different floating point - * task? + * Should the saving of the floating point registers be deferred + * until a context switch is made to another different floating point + * task? * - * If TRUE, then the floating point context will not be stored until - * necessary. It will remain in the floating point registers and not - * disturned until another floating point task is switched to. + * If TRUE, then the floating point context will not be stored until + * necessary. It will remain in the floating point registers and not + * disturned until another floating point task is switched to. * - * If FALSE, then the floating point context is saved when a floating - * point task is switched out and restored when the next floating point - * task is restored. The state of the floating point registers between - * those two operations is not specified. + * If FALSE, then the floating point context is saved when a floating + * point task is switched out and restored when the next floating point + * task is restored. The state of the floating point registers between + * those two operations is not specified. * - * If the floating point context does NOT have to be saved as part of - * interrupt dispatching, then it should be safe to set this to TRUE. + * If the floating point context does NOT have to be saved as part of + * interrupt dispatching, then it should be safe to set this to TRUE. * - * Setting this flag to TRUE results in using a different algorithm - * for deciding when to save and restore the floating point context. - * The deferred FP switch algorithm minimizes the number of times - * the FP context is saved and restored. The FP context is not saved - * until a context switch is made to another, different FP task. - * Thus in a system with only one FP task, the FP context will never - * be saved or restored. + * Setting this flag to TRUE results in using a different algorithm + * for deciding when to save and restore the floating point context. + * The deferred FP switch algorithm minimizes the number of times + * the FP context is saved and restored. The FP context is not saved + * until a context switch is made to another, different FP task. + * Thus in a system with only one FP task, the FP context will never + * be saved or restored. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_USE_DEFERRED_FP_SWITCH TRUE /** - * Does this port provide a CPU dependent IDLE task implementation? + * Does this port provide a CPU dependent IDLE task implementation? * - * If TRUE, then the routine @ref _CPU_Thread_Idle_body - * must be provided and is the default IDLE thread body instead of - * @ref _CPU_Thread_Idle_body. + * If TRUE, then the routine @ref _CPU_Thread_Idle_body + * must be provided and is the default IDLE thread body instead of + * @ref _CPU_Thread_Idle_body. * - * If FALSE, then use the generic IDLE thread body if the BSP does - * not provide one. + * If FALSE, then use the generic IDLE thread body if the BSP does + * not provide one. * - * This is intended to allow for supporting processors which have - * a low power or idle mode. When the IDLE thread is executed, then - * the CPU can be powered down. + * This is intended to allow for supporting processors which have + * a low power or idle mode. When the IDLE thread is executed, then + * the CPU can be powered down. * - * The order of precedence for selecting the IDLE thread body is: + * The order of precedence for selecting the IDLE thread body is: * - * -# BSP provided - * -# CPU dependent (if provided) - * -# generic (if no BSP and no CPU dependent) + * -# BSP provided + * -# CPU dependent (if provided) + * -# generic (if no BSP and no CPU dependent) * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_PROVIDES_IDLE_THREAD_BODY TRUE /** - * Does the stack grow up (toward higher addresses) or down - * (toward lower addresses)? + * Does the stack grow up (toward higher addresses) or down + * (toward lower addresses)? * - * If TRUE, then the grows upward. - * If FALSE, then the grows toward smaller addresses. + * If TRUE, then the grows upward. + * If FALSE, then the grows toward smaller addresses. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STACK_GROWS_UP FALSE /** - * The following is the variable attribute used to force alignment - * of critical RTEMS structures. On some processors it may make - * sense to have these aligned on tighter boundaries than - * the minimum requirements of the compiler in order to have as - * much of the critical data area as possible in a cache line. + * The following is the variable attribute used to force alignment + * of critical RTEMS structures. On some processors it may make + * sense to have these aligned on tighter boundaries than + * the minimum requirements of the compiler in order to have as + * much of the critical data area as possible in a cache line. * - * The placement of this macro in the declaration of the variables - * is based on the syntactically requirements of the GNU C - * "__attribute__" extension. For example with GNU C, use - * the following to force a structures to a 32 byte boundary. + * The placement of this macro in the declaration of the variables + * is based on the syntactically requirements of the GNU C + * "__attribute__" extension. For example with GNU C, use + * the following to force a structures to a 32 byte boundary. * - * __attribute__ ((aligned (32))) + * __attribute__ ((aligned (32))) * - * @note Currently only the Priority Bit Map table uses this feature. - * To benefit from using this, the data must be heavily - * used so it will stay in the cache and used frequently enough - * in the executive to justify turning this on. + * @note Currently only the Priority Bit Map table uses this feature. + * To benefit from using this, the data must be heavily + * used so it will stay in the cache and used frequently enough + * in the executive to justify turning this on. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STRUCTURE_ALIGNMENT #define CPU_TIMESTAMP_USE_INT64_INLINE TRUE /** - * @defgroup CPUEndian Processor Dependent Endianness Support + * @defgroup CPUEndian Processor Dependent Endianness Support + * + * This group assists in issues related to processor endianness. * - * This group assists in issues related to processor endianness. + * @{ */ /** - * @ingroup CPUEndian - * Define what is required to specify how the network to host conversion - * routines are handled. + * Define what is required to specify how the network to host conversion + * routines are handled. * - * @note @a CPU_BIG_ENDIAN and @a CPU_LITTLE_ENDIAN should NOT have the - * same values. + * @note @a CPU_BIG_ENDIAN and @a CPU_LITTLE_ENDIAN should NOT have the + * same values. * - * @see CPU_LITTLE_ENDIAN + * @see CPU_LITTLE_ENDIAN * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_BIG_ENDIAN FALSE /** - * @ingroup CPUEndian - * Define what is required to specify how the network to host conversion - * routines are handled. + * Define what is required to specify how the network to host conversion + * routines are handled. * - * @note @ref CPU_BIG_ENDIAN and @ref CPU_LITTLE_ENDIAN should NOT have the - * same values. + * @note @ref CPU_BIG_ENDIAN and @ref CPU_LITTLE_ENDIAN should NOT have the + * same values. * - * @see CPU_BIG_ENDIAN + * @see CPU_BIG_ENDIAN * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_LITTLE_ENDIAN TRUE +/** @} */ + /** - * @ingroup CPUInterrupt - * The following defines the number of bits actually used in the - * interrupt field of the task mode. How those bits map to the - * CPU interrupt levels is defined by the routine @ref _CPU_ISR_Set_level. + * @ingroup CPUInterrupt + * The following defines the number of bits actually used in the + * interrupt field of the task mode. How those bits map to the + * CPU interrupt levels is defined by the routine @ref _CPU_ISR_Set_level. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_MODES_INTERRUPT_MASK 0x00000001 @@ -419,52 +423,53 @@ extern "C" { /** * @defgroup CPUContext Processor Dependent Context Management * - * From the highest level viewpoint, there are 2 types of context to save. + * From the highest level viewpoint, there are 2 types of context to save. * - * -# Interrupt registers to save - * -# Task level registers to save + * -# Interrupt registers to save + * -# Task level registers to save * - * Since RTEMS handles integer and floating point contexts separately, this - * means we have the following 3 context items: + * Since RTEMS handles integer and floating point contexts separately, this + * means we have the following 3 context items: * - * -# task level context stuff:: Context_Control - * -# floating point task stuff:: Context_Control_fp - * -# special interrupt level context :: CPU_Interrupt_frame + * -# task level context stuff:: Context_Control + * -# floating point task stuff:: Context_Control_fp + * -# special interrupt level context :: CPU_Interrupt_frame * - * On some processors, it is cost-effective to save only the callee - * preserved registers during a task context switch. This means - * that the ISR code needs to save those registers which do not - * persist across function calls. It is not mandatory to make this - * distinctions between the caller/callee saves registers for the - * purpose of minimizing context saved during task switch and on interrupts. - * If the cost of saving extra registers is minimal, simplicity is the - * choice. Save the same context on interrupt entry as for tasks in - * this case. + * On some processors, it is cost-effective to save only the callee + * preserved registers during a task context switch. This means + * that the ISR code needs to save those registers which do not + * persist across function calls. It is not mandatory to make this + * distinctions between the caller/callee saves registers for the + * purpose of minimizing context saved during task switch and on interrupts. + * If the cost of saving extra registers is minimal, simplicity is the + * choice. Save the same context on interrupt entry as for tasks in + * this case. * - * Additionally, if gdb is to be made aware of RTEMS tasks for this CPU, then - * care should be used in designing the context area. + * Additionally, if gdb is to be made aware of RTEMS tasks for this CPU, then + * care should be used in designing the context area. * - * On some CPUs with hardware floating point support, the Context_Control_fp - * structure will not be used or it simply consist of an array of a - * fixed number of bytes. This is done when the floating point context - * is dumped by a "FP save context" type instruction and the format - * is not really defined by the CPU. In this case, there is no need - * to figure out the exact format -- only the size. Of course, although - * this is enough information for RTEMS, it is probably not enough for - * a debugger such as gdb. But that is another problem. + * On some CPUs with hardware floating point support, the Context_Control_fp + * structure will not be used or it simply consist of an array of a + * fixed number of bytes. This is done when the floating point context + * is dumped by a "FP save context" type instruction and the format + * is not really defined by the CPU. In this case, there is no need + * to figure out the exact format -- only the size. Of course, although + * this is enough information for RTEMS, it is probably not enough for + * a debugger such as gdb. But that is another problem. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate + * + * @{ */ #ifndef ASM /** - * @ingroup CPUContext Management - * This defines the minimal set of integer and processor state registers - * that must be saved during a voluntary context switch from one thread - * to another. + * This defines the minimal set of integer and processor state registers + * that must be saved during a voluntary context switch from one thread + * to another. */ /* make sure this stays in sync with the assembly function @@ -490,9 +495,8 @@ typedef struct { (_context)->register_sp /** - * @ingroup CPUContext Management - * This defines the complete set of floating point registers that must - * be saved during any context switch from one thread to another. + * This defines the complete set of floating point registers that must + * be saved during any context switch from one thread to another. */ typedef struct { /* FPU registers are listed here */ @@ -500,48 +504,51 @@ typedef struct { } Context_Control_fp; /** - * @ingroup CPUContext Management - * This defines the set of integer and processor state registers that must - * be saved during an interrupt. This set does not include any which are - * in @ref Context_Control. + * This defines the set of integer and processor state registers that must + * be saved during an interrupt. This set does not include any which are + * in @ref Context_Control. */ typedef struct { /** This field is a hint that a port will have a number of integer - * registers that need to be saved when an interrupt occurs or - * when a context switch occurs at the end of an ISR. + * registers that need to be saved when an interrupt occurs or + * when a context switch occurs at the end of an ISR. */ /*uint32_t special_interrupt_register;*/ } CPU_Interrupt_frame; /** - * This variable is optional. It is used on CPUs on which it is difficult - * to generate an "uninitialized" FP context. It is filled in by - * @ref _CPU_Initialize and copied into the task's FP context area during - * @ref _CPU_Context_Initialize. + * This variable is optional. It is used on CPUs on which it is difficult + * to generate an "uninitialized" FP context. It is filled in by + * @ref _CPU_Initialize and copied into the task's FP context area during + * @ref _CPU_Context_Initialize. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; +/** @} */ + /** - * @defgroup CPUInterrupt Processor Dependent Interrupt Management + * @defgroup CPUInterrupt Processor Dependent Interrupt Management * - * On some CPUs, RTEMS supports a software managed interrupt stack. - * This stack is allocated by the Interrupt Manager and the switch - * is performed in @ref _ISR_Handler. These variables contain pointers - * to the lowest and highest addresses in the chunk of memory allocated - * for the interrupt stack. Since it is unknown whether the stack - * grows up or down (in general), this give the CPU dependent - * code the option of picking the version it wants to use. + * On some CPUs, RTEMS supports a software managed interrupt stack. + * This stack is allocated by the Interrupt Manager and the switch + * is performed in @ref _ISR_Handler. These variables contain pointers + * to the lowest and highest addresses in the chunk of memory allocated + * for the interrupt stack. Since it is unknown whether the stack + * grows up or down (in general), this give the CPU dependent + * code the option of picking the version it wants to use. * - * @note These two variables are required if the macro - * @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE. + * @note These two variables are required if the macro + * @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate + * + * @{ */ /* @@ -555,133 +562,135 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; /* XXX: if needed, put more variables here */ /** - * @ingroup CPUContext - * The size of the floating point context area. On some CPUs this - * will not be a "sizeof" because the format of the floating point - * area is not defined -- only the size is. This is usually on - * CPUs with a "floating point save context" instruction. + * @ingroup CPUContext + * The size of the floating point context area. On some CPUs this + * will not be a "sizeof" because the format of the floating point + * area is not defined -- only the size is. This is usually on + * CPUs with a "floating point save context" instruction. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_CONTEXT_FP_SIZE sizeof( Context_Control_fp ) #endif /* ASM */ /** - * Amount of extra stack (above minimum stack size) required by - * MPCI receive server thread. Remember that in a multiprocessor - * system this thread must exist and be able to process all directives. + * Amount of extra stack (above minimum stack size) required by + * MPCI receive server thread. Remember that in a multiprocessor + * system this thread must exist and be able to process all directives. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_MPCI_RECEIVE_SERVER_EXTRA_STACK 0 /** - * @ingroup CPUInterrupt - * This defines the number of entries in the @ref _ISR_Vector_table managed - * by RTEMS. + * @ingroup CPUInterrupt + * This defines the number of entries in the @ref _ISR_Vector_table managed + * by RTEMS. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_INTERRUPT_NUMBER_OF_VECTORS 16 /** - * @ingroup CPUInterrupt - * This defines the highest interrupt vector number for this port. + * @ingroup CPUInterrupt + * This defines the highest interrupt vector number for this port. */ #define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (CPU_INTERRUPT_NUMBER_OF_VECTORS - 1) /** - * @ingroup CPUInterrupt - * This is defined if the port has a special way to report the ISR nesting - * level. Most ports maintain the variable @a _ISR_Nest_level. + * @ingroup CPUInterrupt + * This is defined if the port has a special way to report the ISR nesting + * level. Most ports maintain the variable @a _ISR_Nest_level. */ #define CPU_PROVIDES_ISR_IS_IN_PROGRESS FALSE +/** @} */ + /** - * @ingroup CPUContext - * Should be large enough to run all RTEMS tests. This ensures - * that a "reasonable" small application should not have any problems. + * @ingroup CPUContext + * Should be large enough to run all RTEMS tests. This ensures + * that a "reasonable" small application should not have any problems. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STACK_MINIMUM_SIZE (1024*8) #define CPU_SIZEOF_POINTER 4 /** - * CPU's worst alignment requirement for data types on a byte boundary. This - * alignment does not take into account the requirements for the stack. + * CPU's worst alignment requirement for data types on a byte boundary. This + * alignment does not take into account the requirements for the stack. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ALIGNMENT 8 /** - * This number corresponds to the byte alignment requirement for the - * heap handler. This alignment requirement may be stricter than that - * for the data types alignment specified by @ref CPU_ALIGNMENT. It is - * common for the heap to follow the same alignment requirement as - * @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is strict enough for - * the heap, then this should be set to @ref CPU_ALIGNMENT. + * This number corresponds to the byte alignment requirement for the + * heap handler. This alignment requirement may be stricter than that + * for the data types alignment specified by @ref CPU_ALIGNMENT. It is + * common for the heap to follow the same alignment requirement as + * @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is strict enough for + * the heap, then this should be set to @ref CPU_ALIGNMENT. * - * @note This does not have to be a power of 2 although it should be - * a multiple of 2 greater than or equal to 2. The requirement - * to be a multiple of 2 is because the heap uses the least - * significant field of the front and back flags to indicate - * that a block is in use or free. So you do not want any odd - * length blocks really putting length data in that bit. + * @note This does not have to be a power of 2 although it should be + * a multiple of 2 greater than or equal to 2. The requirement + * to be a multiple of 2 is because the heap uses the least + * significant field of the front and back flags to indicate + * that a block is in use or free. So you do not want any odd + * length blocks really putting length data in that bit. * - * On byte oriented architectures, @ref CPU_HEAP_ALIGNMENT normally will - * have to be greater or equal to than @ref CPU_ALIGNMENT to ensure that - * elements allocated from the heap meet all restrictions. + * On byte oriented architectures, @ref CPU_HEAP_ALIGNMENT normally will + * have to be greater or equal to than @ref CPU_ALIGNMENT to ensure that + * elements allocated from the heap meet all restrictions. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_HEAP_ALIGNMENT CPU_ALIGNMENT /** - * This number corresponds to the byte alignment requirement for memory - * buffers allocated by the partition manager. This alignment requirement - * may be stricter than that for the data types alignment specified by - * @ref CPU_ALIGNMENT. It is common for the partition to follow the same - * alignment requirement as @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is - * strict enough for the partition, then this should be set to - * @ref CPU_ALIGNMENT. + * This number corresponds to the byte alignment requirement for memory + * buffers allocated by the partition manager. This alignment requirement + * may be stricter than that for the data types alignment specified by + * @ref CPU_ALIGNMENT. It is common for the partition to follow the same + * alignment requirement as @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is + * strict enough for the partition, then this should be set to + * @ref CPU_ALIGNMENT. * - * @note This does not have to be a power of 2. It does have to - * be greater or equal to than @ref CPU_ALIGNMENT. + * @note This does not have to be a power of 2. It does have to + * be greater or equal to than @ref CPU_ALIGNMENT. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_PARTITION_ALIGNMENT CPU_ALIGNMENT /** - * This number corresponds to the byte alignment requirement for the - * stack. This alignment requirement may be stricter than that for the - * data types alignment specified by @ref CPU_ALIGNMENT. If the - * @ref CPU_ALIGNMENT is strict enough for the stack, then this should be - * set to 0. + * This number corresponds to the byte alignment requirement for the + * stack. This alignment requirement may be stricter than that for the + * data types alignment specified by @ref CPU_ALIGNMENT. If the + * @ref CPU_ALIGNMENT is strict enough for the stack, then this should be + * set to 0. * - * @note This must be a power of 2 either 0 or greater than @ref CPU_ALIGNMENT. + * @note This must be a power of 2 either 0 or greater than @ref CPU_ALIGNMENT. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_STACK_ALIGNMENT 8 @@ -690,25 +699,29 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; */ /** - * @ingroup CPUInterrupt - * Support routine to initialize the RTEMS vector table after it is allocated. + * @addtogroup CPUInterrupt * - * Port Specific Information: + * @{ + */ + +/** + * Support routine to initialize the RTEMS vector table after it is allocated. * - * XXX document implementation including references if appropriate + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ #define _CPU_Initialize_vectors() /** - * @ingroup CPUInterrupt - * Disable all interrupts for an RTEMS critical section. The previous - * level is returned in @a _isr_cookie. + * Disable all interrupts for an RTEMS critical section. The previous + * level is returned in @a _isr_cookie. * - * @param[out] _isr_cookie will contain the previous level cookie + * @param[out] _isr_cookie will contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Disable( _level ) \ { \ @@ -717,33 +730,31 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; /** - * @ingroup CPUInterrupt - * Enable interrupts to the previous level (returned by _CPU_ISR_Disable). - * This indicates the end of an RTEMS critical section. The parameter - * @a _isr_cookie is not modified. + * Enable interrupts to the previous level (returned by _CPU_ISR_Disable). + * This indicates the end of an RTEMS critical section. The parameter + * @a _isr_cookie is not modified. * - * @param[in] _isr_cookie contain the previous level cookie + * @param[in] _isr_cookie contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Enable( _level ) { \ __asm__ __volatile__ ("sti %0; csync \n" : : "d" (_level) ); \ } /** - * @ingroup CPUInterrupt - * This temporarily restores the interrupt to @a _isr_cookie before immediately - * disabling them again. This is used to divide long RTEMS critical - * sections into two or more parts. The parameter @a _isr_cookie is not - * modified. + * This temporarily restores the interrupt to @a _isr_cookie before immediately + * disabling them again. This is used to divide long RTEMS critical + * sections into two or more parts. The parameter @a _isr_cookie is not + * modified. * - * @param[in] _isr_cookie contain the previous level cookie + * @param[in] _isr_cookie contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Flash( _level ) { \ __asm__ __volatile__ ("sti %0; csync; cli r0; csync" \ @@ -751,21 +762,19 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; } /** - * @ingroup CPUInterrupt + * This routine and @ref _CPU_ISR_Get_level + * Map the interrupt level in task mode onto the hardware that the CPU + * actually provides. Currently, interrupt levels which do not + * map onto the CPU in a generic fashion are undefined. Someday, + * it would be nice if these were "mapped" by the application + * via a callout. For example, m68k has 8 levels 0 - 7, levels + * 8 - 255 would be available for bsp/application specific meaning. + * This could be used to manage a programmable interrupt controller + * via the rtems_task_mode directive. * - * This routine and @ref _CPU_ISR_Get_level - * Map the interrupt level in task mode onto the hardware that the CPU - * actually provides. Currently, interrupt levels which do not - * map onto the CPU in a generic fashion are undefined. Someday, - * it would be nice if these were "mapped" by the application - * via a callout. For example, m68k has 8 levels 0 - 7, levels - * 8 - 255 would be available for bsp/application specific meaning. - * This could be used to manage a programmable interrupt controller - * via the rtems_task_mode directive. + * Port Specific Information: * - * Port Specific Information: - * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_ISR_Set_level( _new_level ) \ { \ @@ -775,52 +784,53 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; #ifndef ASM /** - * @ingroup CPUInterrupt - * Return the current interrupt disable level for this task in - * the format used by the interrupt level portion of the task mode. + * Return the current interrupt disable level for this task in + * the format used by the interrupt level portion of the task mode. * - * @note This routine usually must be implemented as a subroutine. + * @note This routine usually must be implemented as a subroutine. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ uint32_t _CPU_ISR_Get_level( void ); /* end of ISR handler macros */ +/** @} */ + /* Context handler macros */ /** - * @ingroup CPUContext - * Initialize the context to a state suitable for starting a - * task after a context restore operation. Generally, this - * involves: - * - * - setting a starting address - * - preparing the stack - * - preparing the stack and frame pointers - * - setting the proper interrupt level in the context - * - initializing the floating point context - * - * This routine generally does not set any unnecessary register - * in the context. The state of the "general data" registers is - * undefined at task start time. - * - * @param[in] _the_context is the context structure to be initialized - * @param[in] _stack_base is the lowest physical address of this task's stack - * @param[in] _size is the size of this task's stack - * @param[in] _isr is the interrupt disable level - * @param[in] _entry_point is the thread's entry point. This is - * always @a _Thread_Handler - * @param[in] _is_fp is TRUE if the thread is to be a floating - * point thread. This is typically only used on CPUs where the - * FPU may be easily disabled by software such as on the SPARC - * where the PSR contains an enable FPU bit. - * - * Port Specific Information: - * - * See implementation in cpu.c + * @ingroup CPUContext + * Initialize the context to a state suitable for starting a + * task after a context restore operation. Generally, this + * involves: + * + * - setting a starting address + * - preparing the stack + * - preparing the stack and frame pointers + * - setting the proper interrupt level in the context + * - initializing the floating point context + * + * This routine generally does not set any unnecessary register + * in the context. The state of the "general data" registers is + * undefined at task start time. + * + * @param[in] _the_context is the context structure to be initialized + * @param[in] _stack_base is the lowest physical address of this task's stack + * @param[in] _size is the size of this task's stack + * @param[in] _isr is the interrupt disable level + * @param[in] _entry_point is the thread's entry point. This is + * always @a _Thread_Handler + * @param[in] _is_fp is TRUE if the thread is to be a floating + * point thread. This is typically only used on CPUs where the + * FPU may be easily disabled by software such as on the SPARC + * where the PSR contains an enable FPU bit. + * + * Port Specific Information: + * + * See implementation in cpu.c */ void _CPU_Context_Initialize( Context_Control *the_context, @@ -832,65 +842,65 @@ void _CPU_Context_Initialize( ); /** - * This routine is responsible for somehow restarting the currently - * executing task. If you are lucky, then all that is necessary - * is restoring the context. Otherwise, there will need to be - * a special assembly routine which does something special in this - * case. For many ports, simply adding a label to the restore path - * of @ref _CPU_Context_switch will work. On other ports, it may be - * possibly to load a few arguments and jump to the restore path. It will - * not work if restarting self conflicts with the stack frame - * assumptions of restoring a context. + * This routine is responsible for somehow restarting the currently + * executing task. If you are lucky, then all that is necessary + * is restoring the context. Otherwise, there will need to be + * a special assembly routine which does something special in this + * case. For many ports, simply adding a label to the restore path + * of @ref _CPU_Context_switch will work. On other ports, it may be + * possibly to load a few arguments and jump to the restore path. It will + * not work if restarting self conflicts with the stack frame + * assumptions of restoring a context. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Context_Restart_self( _the_context ) \ _CPU_Context_restore( (_the_context) ); /** - * @ingroup CPUContext - * The purpose of this macro is to allow the initial pointer into - * a floating point context area (used to save the floating point - * context) to be at an arbitrary place in the floating point - * context area. + * @ingroup CPUContext + * The purpose of this macro is to allow the initial pointer into + * a floating point context area (used to save the floating point + * context) to be at an arbitrary place in the floating point + * context area. * - * This is necessary because some FP units are designed to have - * their context saved as a stack which grows into lower addresses. - * Other FP units can be saved by simply moving registers into offsets - * from the base of the context area. Finally some FP units provide - * a "dump context" instruction which could fill in from high to low - * or low to high based on the whim of the CPU designers. + * This is necessary because some FP units are designed to have + * their context saved as a stack which grows into lower addresses. + * Other FP units can be saved by simply moving registers into offsets + * from the base of the context area. Finally some FP units provide + * a "dump context" instruction which could fill in from high to low + * or low to high based on the whim of the CPU designers. * - * @param[in] _base is the lowest physical address of the floating point - * context area - * @param[in] _offset is the offset into the floating point area + * @param[in] _base is the lowest physical address of the floating point + * context area + * @param[in] _offset is the offset into the floating point area * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Context_Fp_start( _base, _offset ) \ ( (void *) _Addresses_Add_offset( (_base), (_offset) ) ) /** - * This routine initializes the FP context area passed to it to. - * There are a few standard ways in which to initialize the - * floating point context. The code included for this macro assumes - * that this is a CPU in which a "initial" FP context was saved into - * @a _CPU_Null_fp_context and it simply copies it to the destination - * context passed to it. + * This routine initializes the FP context area passed to it to. + * There are a few standard ways in which to initialize the + * floating point context. The code included for this macro assumes + * that this is a CPU in which a "initial" FP context was saved into + * @a _CPU_Null_fp_context and it simply copies it to the destination + * context passed to it. * - * Other floating point context save/restore models include: - * -# not doing anything, and - * -# putting a "null FP status word" in the correct place in the FP context. + * Other floating point context save/restore models include: + * -# not doing anything, and + * -# putting a "null FP status word" in the correct place in the FP context. * - * @param[in] _destination is the floating point context area + * @param[in] _destination is the floating point context area * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Context_Initialize_fp( _destination ) \ { \ @@ -902,13 +912,13 @@ void _CPU_Context_Initialize( /* Fatal Error manager macros */ /** - * This routine copies _error into a known place -- typically a stack - * location or a register, optionally disables interrupts, and - * halts/stops the CPU. + * This routine copies _error into a known place -- typically a stack + * location or a register, optionally disables interrupts, and + * halts/stops the CPU. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Fatal_halt( _error ) \ { \ @@ -925,68 +935,67 @@ void _CPU_Context_Initialize( /* Bitfield handler macros */ /** - * @defgroup CPUBitfield Processor Dependent Bitfield Manipulation + * @defgroup CPUBitfield Processor Dependent Bitfield Manipulation + * + * This set of routines are used to implement fast searches for + * the most important ready task. * - * This set of routines are used to implement fast searches for - * the most important ready task. + * @{ */ /** - * @ingroup CPUBitfield - * This definition is set to TRUE if the port uses the generic bitfield - * manipulation implementation. + * This definition is set to TRUE if the port uses the generic bitfield + * manipulation implementation. */ #define CPU_USE_GENERIC_BITFIELD_CODE TRUE /** - * @ingroup CPUBitfield - * This definition is set to TRUE if the port uses the data tables provided - * by the generic bitfield manipulation implementation. - * This can occur when actually using the generic bitfield manipulation - * implementation or when implementing the same algorithm in assembly - * language for improved performance. It is unlikely that a port will use - * the data if it has a bitfield scan instruction. + * This definition is set to TRUE if the port uses the data tables provided + * by the generic bitfield manipulation implementation. + * This can occur when actually using the generic bitfield manipulation + * implementation or when implementing the same algorithm in assembly + * language for improved performance. It is unlikely that a port will use + * the data if it has a bitfield scan instruction. */ #define CPU_USE_GENERIC_BITFIELD_DATA TRUE /** - * @ingroup CPUBitfield - * This routine sets @a _output to the bit number of the first bit - * set in @a _value. @a _value is of CPU dependent type - * @a Priority_bit_map_Control. This type may be either 16 or 32 bits - * wide although only the 16 least significant bits will be used. - * - * There are a number of variables in using a "find first bit" type - * instruction. - * - * -# What happens when run on a value of zero? - * -# Bits may be numbered from MSB to LSB or vice-versa. - * -# The numbering may be zero or one based. - * -# The "find first bit" instruction may search from MSB or LSB. - * - * RTEMS guarantees that (1) will never happen so it is not a concern. - * (2),(3), (4) are handled by the macros @ref _CPU_Priority_Mask and - * @ref _CPU_Priority_bits_index. These three form a set of routines - * which must logically operate together. Bits in the _value are - * set and cleared based on masks built by @ref _CPU_Priority_Mask. - * The basic major and minor values calculated by @ref _Priority_Major - * and @ref _Priority_Minor are "massaged" by @ref _CPU_Priority_bits_index - * to properly range between the values returned by the "find first bit" - * instruction. This makes it possible for @ref _Priority_Get_highest to - * calculate the major and directly index into the minor table. - * This mapping is necessary to ensure that 0 (a high priority major/minor) - * is the first bit found. - * - * This entire "find first bit" and mapping process depends heavily - * on the manner in which a priority is broken into a major and minor - * components with the major being the 4 MSB of a priority and minor - * the 4 LSB. Thus (0 << 4) + 0 corresponds to priority 0 -- the highest - * priority. And (15 << 4) + 14 corresponds to priority 254 -- the next - * to the lowest priority. - * - * If your CPU does not have a "find first bit" instruction, then - * there are ways to make do without it. Here are a handful of ways - * to implement this in software: + * This routine sets @a _output to the bit number of the first bit + * set in @a _value. @a _value is of CPU dependent type + * @a Priority_bit_map_Control. This type may be either 16 or 32 bits + * wide although only the 16 least significant bits will be used. + * + * There are a number of variables in using a "find first bit" type + * instruction. + * + * -# What happens when run on a value of zero? + * -# Bits may be numbered from MSB to LSB or vice-versa. + * -# The numbering may be zero or one based. + * -# The "find first bit" instruction may search from MSB or LSB. + * + * RTEMS guarantees that (1) will never happen so it is not a concern. + * (2),(3), (4) are handled by the macros @ref _CPU_Priority_Mask and + * @ref _CPU_Priority_bits_index. These three form a set of routines + * which must logically operate together. Bits in the _value are + * set and cleared based on masks built by @ref _CPU_Priority_Mask. + * The basic major and minor values calculated by @ref _Priority_Major + * and @ref _Priority_Minor are "massaged" by @ref _CPU_Priority_bits_index + * to properly range between the values returned by the "find first bit" + * instruction. This makes it possible for @ref _Priority_Get_highest to + * calculate the major and directly index into the minor table. + * This mapping is necessary to ensure that 0 (a high priority major/minor) + * is the first bit found. + * + * This entire "find first bit" and mapping process depends heavily + * on the manner in which a priority is broken into a major and minor + * components with the major being the 4 MSB of a priority and minor + * the 4 LSB. Thus (0 << 4) + 0 corresponds to priority 0 -- the highest + * priority. And (15 << 4) + 14 corresponds to priority 254 -- the next + * to the lowest priority. + * + * If your CPU does not have a "find first bit" instruction, then + * there are ways to make do without it. Here are a handful of ways + * to implement this in software: * @verbatim - a series of 16 bit test instructions @@ -1003,15 +1012,15 @@ void _CPU_Context_Initialize( _number += bit_set_table[ _value ] @endverbatim - * where bit_set_table[ 16 ] has values which indicate the first - * bit set + * where bit_set_table[ 16 ] has values which indicate the first + * bit set * - * @param[in] _value is the value to be scanned - * @param[in] _output is the first bit set + * @param[in] _value is the value to be scanned + * @param[in] _output is the first bit set * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -1024,14 +1033,16 @@ void _CPU_Context_Initialize( /* end of Bitfield handler macros */ +/** @} */ + /** - * This routine builds the mask which corresponds to the bit fields - * as searched by @ref _CPU_Bitfield_Find_first_bit. See the discussion - * for that routine. + * This routine builds the mask which corresponds to the bit fields + * as searched by @ref _CPU_Bitfield_Find_first_bit. See the discussion + * for that routine. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -1041,17 +1052,17 @@ void _CPU_Context_Initialize( #endif /** - * @ingroup CPUBitfield - * This routine translates the bit numbers returned by - * @ref _CPU_Bitfield_Find_first_bit into something suitable for use as - * a major or minor component of a priority. See the discussion - * for that routine. + * @ingroup CPUBitfield + * This routine translates the bit numbers returned by + * @ref _CPU_Bitfield_Find_first_bit into something suitable for use as + * a major or minor component of a priority. See the discussion + * for that routine. * - * @param[in] _priority is the major or minor number to translate + * @param[in] _priority is the major or minor number to translate * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -1065,27 +1076,27 @@ void _CPU_Context_Initialize( /* functions */ /** - * @brief CPU Initialize - * This routine performs CPU dependent initialization. + * @brief CPU initialize. + * This routine performs CPU dependent initialization. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Initialize(void); /** - * @ingroup CPUInterrupt - * This routine installs a "raw" interrupt handler directly into the - * processor's vector table. + * @ingroup CPUInterrupt + * This routine installs a "raw" interrupt handler directly into the + * processor's vector table. * - * @param[in] vector is the vector number - * @param[in] new_handler is the raw ISR handler to install - * @param[in] old_handler is the previously installed ISR Handler + * @param[in] vector is the vector number + * @param[in] new_handler is the raw ISR handler to install + * @param[in] old_handler is the previously installed ISR Handler * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_ISR_install_raw_handler( uint32_t vector, @@ -1094,16 +1105,16 @@ void _CPU_ISR_install_raw_handler( ); /** - * @ingroup CPUInterrupt - * This routine installs an interrupt vector. + * @ingroup CPUInterrupt + * This routine installs an interrupt vector. * - * @param[in] vector is the vector number - * @param[in] new_handler is the RTEMS ISR handler to install - * @param[in] old_handler is the previously installed ISR Handler + * @param[in] vector is the vector number + * @param[in] new_handler is the RTEMS ISR handler to install + * @param[in] old_handler is the previously installed ISR Handler * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_ISR_install_vector( uint32_t vector, @@ -1112,40 +1123,45 @@ void _CPU_ISR_install_vector( ); /** - * @ingroup CPUInterrupt - * This routine installs the hardware interrupt stack pointer. + * @ingroup CPUInterrupt + * This routine installs the hardware interrupt stack pointer. * - * @note It need only be provided if @ref CPU_HAS_HARDWARE_INTERRUPT_STACK - * is TRUE. + * @note It need only be provided if @ref CPU_HAS_HARDWARE_INTERRUPT_STACK + * is TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Install_interrupt_stack( void ); /** - * This routine is the CPU dependent IDLE thread body. + * This routine is the CPU dependent IDLE thread body. * - * @note It need only be provided if @ref CPU_PROVIDES_IDLE_THREAD_BODY - * is TRUE. + * @note It need only be provided if @ref CPU_PROVIDES_IDLE_THREAD_BODY + * is TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void *_CPU_Thread_Idle_body( uintptr_t ignored ); /** - * @ingroup CPUContext - * This routine switches from the run context to the heir context. + * @addtogroup CPUContext * - * @param[in] run points to the context of the currently executing task - * @param[in] heir points to the context of the heir task + * @{ + */ + +/** + * This routine switches from the run context to the heir context. * - * Port Specific Information: + * @param[in] run points to the context of the currently executing task + * @param[in] heir points to the context of the heir task * - * XXX document implementation including references if appropriate + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ void _CPU_Context_switch( Context_Control *run, @@ -1153,90 +1169,89 @@ void _CPU_Context_switch( ); /** - * @ingroup CPUContext - * This routine is generally used only to restart self in an - * efficient manner. It may simply be a label in @ref _CPU_Context_switch. + * This routine is generally used only to restart self in an + * efficient manner. It may simply be a label in @ref _CPU_Context_switch. * - * @param[in] new_context points to the context to be restored. + * @param[in] new_context points to the context to be restored. * - * @note May be unnecessary to reload some registers. + * @note May be unnecessary to reload some registers. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_restore( Context_Control *new_context ) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE; /** - * @ingroup CPUContext - * This routine saves the floating point context passed to it. + * This routine saves the floating point context passed to it. * - * @param[in] fp_context_ptr is a pointer to a pointer to a floating - * point context area + * @param[in] fp_context_ptr is a pointer to a pointer to a floating + * point context area * - * @return on output @a *fp_context_ptr will contain the address that - * should be used with @ref _CPU_Context_restore_fp to restore this context. + * @return on output @a *fp_context_ptr will contain the address that + * should be used with @ref _CPU_Context_restore_fp to restore this context. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_save_fp( Context_Control_fp **fp_context_ptr ); /** - * @ingroup CPUContext - * This routine restores the floating point context passed to it. + * This routine restores the floating point context passed to it. * - * @param[in] fp_context_ptr is a pointer to a pointer to a floating - * point context area to restore + * @param[in] fp_context_ptr is a pointer to a pointer to a floating + * point context area to restore * - * @return on output @a *fp_context_ptr will contain the address that - * should be used with @ref _CPU_Context_save_fp to save this context. + * @return on output @a *fp_context_ptr will contain the address that + * should be used with @ref _CPU_Context_save_fp to save this context. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_restore_fp( Context_Control_fp **fp_context_ptr ); +/** @} */ + /* FIXME */ typedef CPU_Interrupt_frame CPU_Exception_frame; void _CPU_Exception_frame_print( const CPU_Exception_frame *frame ); /** - * @ingroup CPUEndian - * The following routine swaps the endian format of an unsigned int. - * It must be static because it is referenced indirectly. + * @ingroup CPUEndian + * The following routine swaps the endian format of an unsigned int. + * It must be static because it is referenced indirectly. * - * This version will work on any processor, but if there is a better - * way for your CPU PLEASE use it. The most common way to do this is to: + * This version will work on any processor, but if there is a better + * way for your CPU PLEASE use it. The most common way to do this is to: * - * swap least significant two bytes with 16-bit rotate - * swap upper and lower 16-bits - * swap most significant two bytes with 16-bit rotate + * swap least significant two bytes with 16-bit rotate + * swap upper and lower 16-bits + * swap most significant two bytes with 16-bit rotate * - * Some CPUs have special instructions which swap a 32-bit quantity in - * a single instruction (e.g. i486). It is probably best to avoid - * an "endian swapping control bit" in the CPU. One good reason is - * that interrupts would probably have to be disabled to ensure that - * an interrupt does not try to access the same "chunk" with the wrong - * endian. Another good reason is that on some CPUs, the endian bit - * endianness for ALL fetches -- both code and data -- so the code - * will be fetched incorrectly. + * Some CPUs have special instructions which swap a 32-bit quantity in + * a single instruction (e.g. i486). It is probably best to avoid + * an "endian swapping control bit" in the CPU. One good reason is + * that interrupts would probably have to be disabled to ensure that + * an interrupt does not try to access the same "chunk" with the wrong + * endian. Another good reason is that on some CPUs, the endian bit + * endianness for ALL fetches -- both code and data -- so the code + * will be fetched incorrectly. * - * @param[in] value is the value to be swapped - * @return the value after being endian swapped + * @param[in] value is the value to be swapped + * @return the value after being endian swapped * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ static inline uint32_t CPU_swap_u32( uint32_t value @@ -1254,11 +1269,11 @@ static inline uint32_t CPU_swap_u32( } /** - * @ingroup CPUEndian - * This routine swaps a 16 bir quantity. + * @ingroup CPUEndian + * This routine swaps a 16 bir quantity. * - * @param[in] value is the value to be swapped - * @return the value after being endian swapped + * @param[in] value is the value to be swapped + * @return the value after being endian swapped */ #define CPU_swap_u16( value ) \ (((value&0xff) << 8) | ((value >> 8)&0xff)) diff --git a/cpukit/score/cpu/bfin/rtems/score/cpu_asm.h b/cpukit/score/cpu/bfin/rtems/score/cpu_asm.h index 7d23bc5a9a..f9543f15a7 100644 --- a/cpukit/score/cpu/bfin/rtems/score/cpu_asm.h +++ b/cpukit/score/cpu/bfin/rtems/score/cpu_asm.h @@ -1,10 +1,12 @@ /** - * @file rtems/score/cpu_asm.h + * @file + * + * @brief Blackfin Assembly File + * + * Defines a couple of Macros used in cpu_asm.S */ /* - * Defines a couple of Macros used in cpu_asm.S - * * COPYRIGHT (c) 2006 by Atos Automacao Industrial Ltda. * written by Alain Schaefer * and Antonio Giovanini diff --git a/cpukit/score/cpu/bfin/rtems/score/types.h b/cpukit/score/cpu/bfin/rtems/score/types.h index 4f734bb033..5d4e12eb95 100644 --- a/cpukit/score/cpu/bfin/rtems/score/types.h +++ b/cpukit/score/cpu/bfin/rtems/score/types.h @@ -1,7 +1,13 @@ -/* - * This include file contains type definitions pertaining to the - * Blackfin processor family. +/** + * @file + * + * @brief Blackfin CPU Type Definitions * + * This include file contains type definitions pertaining to the + * Blackfin processor family. + */ + +/* * COPYRIGHT (c) 1989-2006. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/nios2/rtems/score/cpu.h b/cpukit/score/cpu/nios2/rtems/score/cpu.h index 7beb4ec06f..6db6d1d46c 100644 --- a/cpukit/score/cpu/nios2/rtems/score/cpu.h +++ b/cpukit/score/cpu/nios2/rtems/score/cpu.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief Altera Nios II CPU Department Source + */ + /* * Copyright (c) 2011 embedded brains GmbH * @@ -253,8 +259,8 @@ void _CPU_Initialize_vectors( void ); * _CPU_ISR_Disable(). The value is not modified. * * This flash code is optimal for all Nios II configurations. The rdctl does - * not flush the pipeline and has only a late result penalty. The wrctl on the - * other hand leads to a pipeline flush. + * not flush the pipeline and has only a late result penalty. The wrctl on + * the other hand leads to a pipeline flush. */ #define _CPU_ISR_Flash( _isr_cookie ) \ do { \ @@ -319,14 +325,12 @@ void _CPU_Context_Initialize( void _CPU_Fatal_halt( uint32_t _error ) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE; /** - * @brief CPU Initialize - * + * @brief CPU initialization. */ void _CPU_Initialize( void ); /** - * @brief CPU ISR Install Raw Handler - * + * @brief CPU ISR install raw handler. */ void _CPU_ISR_install_raw_handler( uint32_t vector, @@ -335,8 +339,7 @@ void _CPU_ISR_install_raw_handler( ); /** - * @brief CPU ISR Install Vector. - * + * @brief CPU ISR install vector. */ void _CPU_ISR_install_vector( uint32_t vector, diff --git a/cpukit/score/cpu/nios2/rtems/score/cpu_asm.h b/cpukit/score/cpu/nios2/rtems/score/cpu_asm.h index d0572d8b2a..8c0e046c34 100644 --- a/cpukit/score/cpu/nios2/rtems/score/cpu_asm.h +++ b/cpukit/score/cpu/nios2/rtems/score/cpu_asm.h @@ -1,12 +1,14 @@ /** - * @file rtems/score/cpu_asm.h + * @file + * + * @brief Altera Nios II Assembly File + * + * Very loose template for an include file for the cpu_asm.? file + * if it is implemented as a ".S" file (preprocessed by cpp) instead + * of a ".s" file (preprocessed by gm4 or gasp). */ /* - * Very loose template for an include file for the cpu_asm.? file - * if it is implemented as a ".S" file (preprocessed by cpp) instead - * of a ".s" file (preprocessed by gm4 or gasp). - * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/nios2/rtems/score/types.h b/cpukit/score/cpu/nios2/rtems/score/types.h index 48c1ebacb9..13a4ecba94 100644 --- a/cpukit/score/cpu/nios2/rtems/score/types.h +++ b/cpukit/score/cpu/nios2/rtems/score/types.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/types.h + * @file + * + * @brief Altera Nios II CPU Type Definitions + * + * This include file contains type definitions pertaining to the + * Altera Nios II processor family. */ /* - * This include file contains type definitions pertaining to the - * Altera Nios II processor family. - * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/sh/rtems/asm.h b/cpukit/score/cpu/sh/rtems/asm.h index b2cbce6020..d7ad694365 100644 --- a/cpukit/score/cpu/sh/rtems/asm.h +++ b/cpukit/score/cpu/sh/rtems/asm.h @@ -1,20 +1,23 @@ /** - * @file rtems/asm.h + * @file * - * This include file attempts to address the problems - * caused by incompatible flavors of assemblers and - * toolsets. It primarily addresses variations in the - * use of leading underscores on symbols and the requirement - * that register names be preceded by a %. + * @brief Address the Problems Caused by Incompatible Flavor of + * Assemblers and Toolsets + * + * This include file attempts to address the problems + * caused by incompatible flavors of assemblers and + * toolsets. It primarily addresses variations in the + * use of leading underscores on symbols and the requirement + * that register names be preceded by a %. + * + * @note The spacing in the use of these macros + * is critical to them working as advertised. */ /* * Authors: Ralf Corsepius (corsepiu@faw.uni-ulm.de) and * Bernd Becker (becker@faw.uni-ulm.de) * - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. - * * COPYRIGHT: * * This file is based on similar code found in newlib available diff --git a/cpukit/score/cpu/sh/rtems/score/sh.h b/cpukit/score/cpu/sh/rtems/score/sh.h index 507a812bc7..e7ab9c0850 100644 --- a/cpukit/score/cpu/sh/rtems/score/sh.h +++ b/cpukit/score/cpu/sh/rtems/score/sh.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/sh.h + * @file + * + * @brief Hitachi SH CPU Department Source + * + * This include file contains information pertaining to the Hitachi SH + * processor. */ /* - * This include file contains information pertaining to the Hitachi SH - * processor. - * * Authors: Ralf Corsepius (corsepiu@faw.uni-ulm.de) and * Bernd Becker (becker@faw.uni-ulm.de) * diff --git a/cpukit/score/cpu/sh/rtems/score/sh_io.h b/cpukit/score/cpu/sh/rtems/score/sh_io.h index 6cb1ffcb0f..fcbdbcee42 100644 --- a/cpukit/score/cpu/sh/rtems/score/sh_io.h +++ b/cpukit/score/cpu/sh/rtems/score/sh_io.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/sh_io.h + * @file + * + * @brief Macros to Access Memory Mapped Devices on the SH7000-Architecture + * + * These are some macros to access memory mapped devices + * on the SH7000-architecture. */ /* - * These are some macros to access memory mapped devices - * on the SH7000-architecture. - * * Inspired from the linux kernel's include/asm/io.h * * Authors: Ralf Corsepius (corsepiu@faw.uni-ulm.de) and diff --git a/cpukit/score/cpu/sh/rtems/score/types.h b/cpukit/score/cpu/sh/rtems/score/types.h index 8f0b06c79c..5943a42bc9 100644 --- a/cpukit/score/cpu/sh/rtems/score/types.h +++ b/cpukit/score/cpu/sh/rtems/score/types.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/types.h + * @file + * + * @brief Hitachi SH CPU Type Definitions + * + * This include file contains information pertaining to the Hitachi SH + * processor. */ /* - * This include file contains information pertaining to the Hitachi SH - * processor. - * * Authors: Ralf Corsepius (corsepiu@faw.uni-ulm.de) and * Bernd Becker (becker@faw.uni-ulm.de) * diff --git a/cpukit/score/cpu/v850/rtems/asm.h b/cpukit/score/cpu/v850/rtems/asm.h index 09e64da442..265e4967ae 100644 --- a/cpukit/score/cpu/v850/rtems/asm.h +++ b/cpukit/score/cpu/v850/rtems/asm.h @@ -1,26 +1,27 @@ /** - * @file rtems/asm.h + * @file * - * This include file attempts to address the problems - * caused by incompatible flavors of assemblers and - * toolsets. It primarily addresses variations in the - * use of leading underscores on symbols and the requirement - * that register names be preceded by a %. + * @brief Address the Problems Caused by Incompatible Flavor of + * Assemblers and Toolsets + * + * This include file attempts to address the problems + * caused by incompatible flavors of assemblers and + * toolsets. It primarily addresses variations in the + * use of leading underscores on symbols and the requirement + * that register names be preceded by a %. + * + * @note The spacing in the use of these macros + * is critical to them working as advertised. */ /* - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. - * * COPYRIGHT: * * This file is based on similar code found in newlib available * from ftp.cygnus.com. The file which was used had no copyright * notice. This file is freely distributable as long as the source * of the file is noted. This file is: - */ - -/* + * * COPYRIGHT (c) 1994-2012. * On-Line Applications Research Corporation (OAR). */ @@ -40,24 +41,24 @@ #ifndef __USER_LABEL_PREFIX__ /** - * Recent versions of GNU cpp define variables which indicate the - * need for underscores and percents. If not using GNU cpp or - * the version does not support this, then you will obviously - * have to define these as appropriate. + * Recent versions of GNU cpp define variables which indicate the + * need for underscores and percents. If not using GNU cpp or + * the version does not support this, then you will obviously + * have to define these as appropriate. * - * This symbol is prefixed to all C program symbols. + * This symbol is prefixed to all C program symbols. */ #define __USER_LABEL_PREFIX__ _ #endif #ifndef __REGISTER_PREFIX__ /** - * Recent versions of GNU cpp define variables which indicate the - * need for underscores and percents. If not using GNU cpp or - * the version does not support this, then you will obviously - * have to define these as appropriate. + * Recent versions of GNU cpp define variables which indicate the + * need for underscores and percents. If not using GNU cpp or + * the version does not support this, then you will obviously + * have to define these as appropriate. * - * This symbol is prefixed to all register names. + * This symbol is prefixed to all register names. */ #define __REGISTER_PREFIX__ #endif @@ -97,8 +98,9 @@ #define BEGIN_DATA /** This macro is used to denote the end of a data section. */ #define END_DATA -/** This macro is used to denote the beginning of the - * unitialized data section. +/** + * This macro is used to denote the beginning of the + * unitialized data section. */ #define BEGIN_BSS /** This macro is used to denote the end of the unitialized data section. */ @@ -107,18 +109,18 @@ #define END /** - * This macro is used to declare a public global symbol. + * This macro is used to declare a public global symbol. * - * @note This must be tailored for a particular flavor of the C compiler. - * They may need to put underscores in front of the symbols. + * @note This must be tailored for a particular flavor of the C compiler. + * They may need to put underscores in front of the symbols. */ #define PUBLIC(sym) .globl SYM (sym) /** - * This macro is used to prototype a public global symbol. + * This macro is used to prototype a public global symbol. * - * @note This must be tailored for a particular flavor of the C compiler. - * They may need to put underscores in front of the symbols. + * @note This must be tailored for a particular flavor of the C compiler. + * They may need to put underscores in front of the symbols. */ #define EXTERN(sym) .globl SYM (sym) diff --git a/cpukit/score/cpu/v850/rtems/score/cpu.h b/cpukit/score/cpu/v850/rtems/score/cpu.h index b6fb59d7b6..0e3f8eebab 100644 --- a/cpukit/score/cpu/v850/rtems/score/cpu.h +++ b/cpukit/score/cpu/v850/rtems/score/cpu.h @@ -1,10 +1,10 @@ /** - * @file rtems/score/cpu.h - */ - -/* - * This include file contains information pertaining to the v850 - * processor. + * @file + * + * @brief V850 CPU Department Source + * + * This include file contains information pertaining to the v850 + * processor. */ /* @@ -29,418 +29,421 @@ extern "C" { /* conditional compilation parameters */ /** - * Should the calls to @ref _Thread_Enable_dispatch be inlined? + * Should the calls to @ref _Thread_Enable_dispatch be inlined? * - * If TRUE, then they are inlined. - * If FALSE, then a subroutine call is made. + * If TRUE, then they are inlined. + * If FALSE, then a subroutine call is made. * - * This conditional is an example of the classic trade-off of size - * versus speed. Inlining the call (TRUE) typically increases the - * size of RTEMS while speeding up the enabling of dispatching. + * This conditional is an example of the classic trade-off of size + * versus speed. Inlining the call (TRUE) typically increases the + * size of RTEMS while speeding up the enabling of dispatching. * - * @note In general, the @ref _Thread_Dispatch_disable_level will - * only be 0 or 1 unless you are in an interrupt handler and that - * interrupt handler invokes the executive.] When not inlined - * something calls @ref _Thread_Enable_dispatch which in turns calls - * @ref _Thread_Dispatch. If the enable dispatch is inlined, then - * one subroutine call is avoided entirely. + * @note In general, the @ref _Thread_Dispatch_disable_level will + * only be 0 or 1 unless you are in an interrupt handler and that + * interrupt handler invokes the executive.] When not inlined + * something calls @ref _Thread_Enable_dispatch which in turns calls + * @ref _Thread_Dispatch. If the enable dispatch is inlined, then + * one subroutine call is avoided entirely. * - * Port Specific Information: + * Port Specific Information: * - * The v850 is a RISC CPU which typically has enough memory to justify - * the inlining of this method. + * The v850 is a RISC CPU which typically has enough memory to justify + * the inlining of this method. */ #define CPU_INLINE_ENABLE_DISPATCH TRUE /** - * Should the body of the search loops in _Thread_queue_Enqueue_priority - * be unrolled one time? In unrolled each iteration of the loop examines - * two "nodes" on the chain being searched. Otherwise, only one node - * is examined per iteration. - * - * If TRUE, then the loops are unrolled. - * If FALSE, then the loops are not unrolled. - * - * The primary factor in making this decision is the cost of disabling - * and enabling interrupts (_ISR_Flash) versus the cost of rest of the - * body of the loop. On some CPUs, the flash is more expensive than - * one iteration of the loop body. In this case, it might be desirable - * to unroll the loop. It is important to note that on some CPUs, this - * code is the longest interrupt disable period in RTEMS. So it is - * necessary to strike a balance when setting this parameter. - * - * Port Specific Information: - * - * The v850 is a RISC CPU which typically has enough memory to justify - * the unrolling of this method. + * Should the body of the search loops in _Thread_queue_Enqueue_priority + * be unrolled one time? In unrolled each iteration of the loop examines + * two "nodes" on the chain being searched. Otherwise, only one node + * is examined per iteration. + * + * If TRUE, then the loops are unrolled. + * If FALSE, then the loops are not unrolled. + * + * The primary factor in making this decision is the cost of disabling + * and enabling interrupts (_ISR_Flash) versus the cost of rest of the + * body of the loop. On some CPUs, the flash is more expensive than + * one iteration of the loop body. In this case, it might be desirable + * to unroll the loop. It is important to note that on some CPUs, this + * code is the longest interrupt disable period in RTEMS. So it is + * necessary to strike a balance when setting this parameter. + * + * Port Specific Information: + * + * The v850 is a RISC CPU which typically has enough memory to justify + * the unrolling of this method. */ #define CPU_UNROLL_ENQUEUE_PRIORITY TRUE /** - * Does RTEMS manage a dedicated interrupt stack in software? + * Does RTEMS manage a dedicated interrupt stack in software? * - * If TRUE, then a stack is allocated in @ref _ISR_Handler_initialization. - * If FALSE, nothing is done. + * If TRUE, then a stack is allocated in @ref _ISR_Handler_initialization. + * If FALSE, nothing is done. * - * If the CPU supports a dedicated interrupt stack in hardware, - * then it is generally the responsibility of the BSP to allocate it - * and set it up. + * If the CPU supports a dedicated interrupt stack in hardware, + * then it is generally the responsibility of the BSP to allocate it + * and set it up. * - * If the CPU does not support a dedicated interrupt stack, then - * the porter has two options: (1) execute interrupts on the - * stack of the interrupted task, and (2) have RTEMS manage a dedicated - * interrupt stack. + * If the CPU does not support a dedicated interrupt stack, then + * the porter has two options: (1) execute interrupts on the + * stack of the interrupted task, and (2) have RTEMS manage a dedicated + * interrupt stack. * - * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. + * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. * - * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and - * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is - * possible that both are FALSE for a particular CPU. Although it - * is unclear what that would imply about the interrupt processing - * procedure on that CPU. + * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and + * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is + * possible that both are FALSE for a particular CPU. Although it + * is unclear what that would imply about the interrupt processing + * procedure on that CPU. * - * Port Specific Information: + * Port Specific Information: * - * The v850 does not have support for a hardware interrupt stack. + * The v850 does not have support for a hardware interrupt stack. */ #define CPU_HAS_SOFTWARE_INTERRUPT_STACK TRUE /** - * Does the CPU follow the simple vectored interrupt model? + * Does the CPU follow the simple vectored interrupt model? * - * If TRUE, then RTEMS allocates the vector table it internally manages. - * If FALSE, then the BSP is assumed to allocate and manage the vector - * table + * If TRUE, then RTEMS allocates the vector table it internally manages. + * If FALSE, then the BSP is assumed to allocate and manage the vector + * table * - * Port Specific Information: + * Port Specific Information: * - * This port uses the Progammable Interrupt Controller interrupt model. + * This port uses the Progammable Interrupt Controller interrupt model. */ #define CPU_SIMPLE_VECTORED_INTERRUPTS FALSE /** - * Does this CPU have hardware support for a dedicated interrupt stack? + * Does this CPU have hardware support for a dedicated interrupt stack? * - * If TRUE, then it must be installed during initialization. - * If FALSE, then no installation is performed. + * If TRUE, then it must be installed during initialization. + * If FALSE, then no installation is performed. * - * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. + * If this is TRUE, @ref CPU_ALLOCATE_INTERRUPT_STACK should also be TRUE. * - * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and - * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is - * possible that both are FALSE for a particular CPU. Although it - * is unclear what that would imply about the interrupt processing - * procedure on that CPU. + * Only one of @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK and + * @ref CPU_HAS_HARDWARE_INTERRUPT_STACK should be set to TRUE. It is + * possible that both are FALSE for a particular CPU. Although it + * is unclear what that would imply about the interrupt processing + * procedure on that CPU. * - * Port Specific Information: + * Port Specific Information: * - * The v850 does not have support for a hardware interrupt stack. + * The v850 does not have support for a hardware interrupt stack. */ #define CPU_HAS_HARDWARE_INTERRUPT_STACK FALSE /** - * Does RTEMS allocate a dedicated interrupt stack in the Interrupt Manager? + * Does RTEMS allocate a dedicated interrupt stack in the Interrupt Manager? * - * If TRUE, then the memory is allocated during initialization. - * If FALSE, then the memory is allocated during initialization. + * If TRUE, then the memory is allocated during initialization. + * If FALSE, then the memory is allocated during initialization. * - * This should be TRUE is CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE. + * This should be TRUE is CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_ALLOCATE_INTERRUPT_STACK TRUE /** - * @def CPU_HARDWARE_FP + * @def CPU_HARDWARE_FP * - * Does the CPU have hardware floating point? + * Does the CPU have hardware floating point? * - * If TRUE, then the RTEMS_FLOATING_POINT task attribute is supported. - * If FALSE, then the RTEMS_FLOATING_POINT task attribute is ignored. + * If TRUE, then the RTEMS_FLOATING_POINT task attribute is supported. + * If FALSE, then the RTEMS_FLOATING_POINT task attribute is ignored. * - * If there is a FP coprocessor such as the i387 or mc68881, then - * the answer is TRUE. + * If there is a FP coprocessor such as the i387 or mc68881, then + * the answer is TRUE. * - * The macro name "V850_HAS_FPU" should be made CPU specific. - * It indicates whether or not this CPU model has FP support. For - * example, it would be possible to have an i386_nofp CPU model - * which set this to false to indicate that you have an i386 without - * an i387 and wish to leave floating point support out of RTEMS. + * The macro name "V850_HAS_FPU" should be made CPU specific. + * It indicates whether or not this CPU model has FP support. For + * example, it would be possible to have an i386_nofp CPU model + * which set this to false to indicate that you have an i386 without + * an i387 and wish to leave floating point support out of RTEMS. */ /** - * @def CPU_SOFTWARE_FP - * - * Does the CPU have no hardware floating point and GCC provides a - * software floating point implementation which must be context - * switched? - * - * This feature conditional is used to indicate whether or not there - * is software implemented floating point that must be context - * switched. The determination of whether or not this applies - * is very tool specific and the state saved/restored is also - * compiler specific. - * - * Port Specific Information: - * - * Some v850 models do have IEEE hardware floating point support but - * they do not have any special registers to save or bit(s) which - * determine if the FPU is enabled. In short, there appears to be nothing - * related to the floating point operations which impact the RTEMS - * thread context switch. Thus from an RTEMS perspective, there is really - * no FPU to manage. + * @def CPU_SOFTWARE_FP + * + * Does the CPU have no hardware floating point and GCC provides a + * software floating point implementation which must be context + * switched? + * + * This feature conditional is used to indicate whether or not there + * is software implemented floating point that must be context + * switched. The determination of whether or not this applies + * is very tool specific and the state saved/restored is also + * compiler specific. + * + * Port Specific Information: + * + * Some v850 models do have IEEE hardware floating point support but + * they do not have any special registers to save or bit(s) which + * determine if the FPU is enabled. In short, there appears to be nothing + * related to the floating point operations which impact the RTEMS + * thread context switch. Thus from an RTEMS perspective, there is really + * no FPU to manage. */ #define CPU_HARDWARE_FP FALSE #define CPU_SOFTWARE_FP FALSE /** - * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? + * Are all tasks RTEMS_FLOATING_POINT tasks implicitly? * - * If TRUE, then the RTEMS_FLOATING_POINT task attribute is assumed. - * If FALSE, then the RTEMS_FLOATING_POINT task attribute is followed. + * If TRUE, then the RTEMS_FLOATING_POINT task attribute is assumed. + * If FALSE, then the RTEMS_FLOATING_POINT task attribute is followed. * - * So far, the only CPUs in which this option has been used are the - * HP PA-RISC and PowerPC. On the PA-RISC, The HP C compiler and - * gcc both implicitly used the floating point registers to perform - * integer multiplies. Similarly, the PowerPC port of gcc has been - * seen to allocate floating point local variables and touch the FPU - * even when the flow through a subroutine (like vfprintf()) might - * not use floating point formats. + * So far, the only CPUs in which this option has been used are the + * HP PA-RISC and PowerPC. On the PA-RISC, The HP C compiler and + * gcc both implicitly used the floating point registers to perform + * integer multiplies. Similarly, the PowerPC port of gcc has been + * seen to allocate floating point local variables and touch the FPU + * even when the flow through a subroutine (like vfprintf()) might + * not use floating point formats. * - * If a function which you would not think utilize the FP unit DOES, - * then one can not easily predict which tasks will use the FP hardware. - * In this case, this option should be TRUE. + * If a function which you would not think utilize the FP unit DOES, + * then one can not easily predict which tasks will use the FP hardware. + * In this case, this option should be TRUE. * - * If @ref CPU_HARDWARE_FP is FALSE, then this should be FALSE as well. + * If @ref CPU_HARDWARE_FP is FALSE, then this should be FALSE as well. * - * Port Specific Information: + * Port Specific Information: * - * This should be false until it has been demonstrated that gcc for the - * v850 generates FPU code when it is unexpected. But even this would - * not matter since there are no FP specific registers or bits which - * would be corrupted if an FP operation occurred in an integer only - * thread. + * This should be false until it has been demonstrated that gcc for the + * v850 generates FPU code when it is unexpected. But even this would + * not matter since there are no FP specific registers or bits which + * would be corrupted if an FP operation occurred in an integer only + * thread. */ #define CPU_ALL_TASKS_ARE_FP FALSE /** - * Should the IDLE task have a floating point context? + * Should the IDLE task have a floating point context? * - * If TRUE, then the IDLE task is created as a RTEMS_FLOATING_POINT task - * and it has a floating point context which is switched in and out. - * If FALSE, then the IDLE task does not have a floating point context. + * If TRUE, then the IDLE task is created as a RTEMS_FLOATING_POINT task + * and it has a floating point context which is switched in and out. + * If FALSE, then the IDLE task does not have a floating point context. * - * Setting this to TRUE negatively impacts the time required to preempt - * the IDLE task from an interrupt because the floating point context - * must be saved as part of the preemption. + * Setting this to TRUE negatively impacts the time required to preempt + * the IDLE task from an interrupt because the floating point context + * must be saved as part of the preemption. * - * Port Specific Information: + * Port Specific Information: * - * The IDLE thread should not be using the FPU. Leave this off. + * The IDLE thread should not be using the FPU. Leave this off. */ #define CPU_IDLE_TASK_IS_FP FALSE /** - * Should the saving of the floating point registers be deferred - * until a context switch is made to another different floating point - * task? + * Should the saving of the floating point registers be deferred + * until a context switch is made to another different floating point + * task? * - * If TRUE, then the floating point context will not be stored until - * necessary. It will remain in the floating point registers and not - * disturned until another floating point task is switched to. + * If TRUE, then the floating point context will not be stored until + * necessary. It will remain in the floating point registers and not + * disturned until another floating point task is switched to. * - * If FALSE, then the floating point context is saved when a floating - * point task is switched out and restored when the next floating point - * task is restored. The state of the floating point registers between - * those two operations is not specified. + * If FALSE, then the floating point context is saved when a floating + * point task is switched out and restored when the next floating point + * task is restored. The state of the floating point registers between + * those two operations is not specified. * - * If the floating point context does NOT have to be saved as part of - * interrupt dispatching, then it should be safe to set this to TRUE. + * If the floating point context does NOT have to be saved as part of + * interrupt dispatching, then it should be safe to set this to TRUE. * - * Setting this flag to TRUE results in using a different algorithm - * for deciding when to save and restore the floating point context. - * The deferred FP switch algorithm minimizes the number of times - * the FP context is saved and restored. The FP context is not saved - * until a context switch is made to another, different FP task. - * Thus in a system with only one FP task, the FP context will never - * be saved or restored. + * Setting this flag to TRUE results in using a different algorithm + * for deciding when to save and restore the floating point context. + * The deferred FP switch algorithm minimizes the number of times + * the FP context is saved and restored. The FP context is not saved + * until a context switch is made to another, different FP task. + * Thus in a system with only one FP task, the FP context will never + * be saved or restored. * - * Port Specific Information: + * Port Specific Information: * - * See earlier comments. There is no FPU state to manage. + * See earlier comments. There is no FPU state to manage. */ #define CPU_USE_DEFERRED_FP_SWITCH TRUE /** - * Does this port provide a CPU dependent IDLE task implementation? + * Does this port provide a CPU dependent IDLE task implementation? * - * If TRUE, then the routine @ref _CPU_Thread_Idle_body - * must be provided and is the default IDLE thread body instead of - * @ref _CPU_Thread_Idle_body. + * If TRUE, then the routine @ref _CPU_Thread_Idle_body + * must be provided and is the default IDLE thread body instead of + * @ref _CPU_Thread_Idle_body. * - * If FALSE, then use the generic IDLE thread body if the BSP does - * not provide one. + * If FALSE, then use the generic IDLE thread body if the BSP does + * not provide one. * - * This is intended to allow for supporting processors which have - * a low power or idle mode. When the IDLE thread is executed, then - * the CPU can be powered down. + * This is intended to allow for supporting processors which have + * a low power or idle mode. When the IDLE thread is executed, then + * the CPU can be powered down. * - * The order of precedence for selecting the IDLE thread body is: + * The order of precedence for selecting the IDLE thread body is: * - * -# BSP provided - * -# CPU dependent (if provided) - * -# generic (if no BSP and no CPU dependent) + * -# BSP provided + * -# CPU dependent (if provided) + * -# generic (if no BSP and no CPU dependent) * - * Port Specific Information: + * Port Specific Information: * - * There does not appear to be a reason for the v850 port itself to provide - * a special idle task. + * There does not appear to be a reason for the v850 port itself to provide + * a special idle task. */ #define CPU_PROVIDES_IDLE_THREAD_BODY FALSE /** - * Does the stack grow up (toward higher addresses) or down - * (toward lower addresses)? + * Does the stack grow up (toward higher addresses) or down + * (toward lower addresses)? * - * If TRUE, then the grows upward. - * If FALSE, then the grows toward smaller addresses. + * If TRUE, then the grows upward. + * If FALSE, then the grows toward smaller addresses. * - * Port Specific Information: + * Port Specific Information: * - * The v850 stack grows from high addresses to low addresses. + * The v850 stack grows from high addresses to low addresses. */ #define CPU_STACK_GROWS_UP FALSE /** - * The following is the variable attribute used to force alignment - * of critical RTEMS structures. On some processors it may make - * sense to have these aligned on tighter boundaries than - * the minimum requirements of the compiler in order to have as - * much of the critical data area as possible in a cache line. + * The following is the variable attribute used to force alignment + * of critical RTEMS structures. On some processors it may make + * sense to have these aligned on tighter boundaries than + * the minimum requirements of the compiler in order to have as + * much of the critical data area as possible in a cache line. * - * The placement of this macro in the declaration of the variables - * is based on the syntactically requirements of the GNU C - * "__attribute__" extension. For example with GNU C, use - * the following to force a structures to a 32 byte boundary. + * The placement of this macro in the declaration of the variables + * is based on the syntactically requirements of the GNU C + * "__attribute__" extension. For example with GNU C, use + * the following to force a structures to a 32 byte boundary. * - * __attribute__ ((aligned (32))) + * __attribute__ ((aligned (32))) * - * @note Currently only the Priority Bit Map table uses this feature. - * To benefit from using this, the data must be heavily - * used so it will stay in the cache and used frequently enough - * in the executive to justify turning this on. + * @note Currently only the Priority Bit Map table uses this feature. + * To benefit from using this, the data must be heavily + * used so it will stay in the cache and used frequently enough + * in the executive to justify turning this on. * - * Port Specific Information: + * Port Specific Information: * - * Until proven otherwise, use the compiler default. + * Until proven otherwise, use the compiler default. */ #define CPU_STRUCTURE_ALIGNMENT /** - * The v850 should use 64-bit timestamps and inline them. + * The v850 should use 64-bit timestamps and inline them. */ #define CPU_TIMESTAMP_USE_INT64_INLINE TRUE /** - * @defgroup CPUEndian Processor Dependent Endianness Support + * @defgroup CPUEndian Processor Dependent Endianness Support + * + * This group assists in issues related to processor endianness. * - * This group assists in issues related to processor endianness. + * @{ */ /** - * @ingroup CPUEndian - * Define what is required to specify how the network to host conversion - * routines are handled. + * Define what is required to specify how the network to host conversion + * routines are handled. * - * @note @a CPU_BIG_ENDIAN and @a CPU_LITTLE_ENDIAN should NOT have the - * same values. + * @note @a CPU_BIG_ENDIAN and @a CPU_LITTLE_ENDIAN should NOT have the + * same values. * - * @see CPU_LITTLE_ENDIAN + * @see CPU_LITTLE_ENDIAN * - * Port Specific Information: + * Port Specific Information: * - * The v850 is little endian. + * The v850 is little endian. */ #define CPU_BIG_ENDIAN FALSE /** - * @ingroup CPUEndian - * Define what is required to specify how the network to host conversion - * routines are handled. + * Define what is required to specify how the network to host conversion + * routines are handled. * - * @note @ref CPU_BIG_ENDIAN and @ref CPU_LITTLE_ENDIAN should NOT have the - * same values. + * @note @ref CPU_BIG_ENDIAN and @ref CPU_LITTLE_ENDIAN should NOT have the + * same values. * - * @see CPU_BIG_ENDIAN + * @see CPU_BIG_ENDIAN * - * Port Specific Information: + * Port Specific Information: * - * The v850 is little endian. + * The v850 is little endian. */ #define CPU_LITTLE_ENDIAN TRUE +/** @} */ + /** - * @ingroup CPUInterrupt - * The following defines the number of bits actually used in the - * interrupt field of the task mode. How those bits map to the - * CPU interrupt levels is defined by the routine @ref _CPU_ISR_Set_level. + * @ingroup CPUInterrupt + * The following defines the number of bits actually used in the + * interrupt field of the task mode. How those bits map to the + * CPU interrupt levels is defined by the routine @ref _CPU_ISR_Set_level. * - * Port Specific Information: + * Port Specific Information: * - * The v850 only has a single bit in the CPU for interrupt disable/enable. + * The v850 only has a single bit in the CPU for interrupt disable/enable. */ #define CPU_MODES_INTERRUPT_MASK 0x00000001 /** * @defgroup CPUContext Processor Dependent Context Management * - * From the highest level viewpoint, there are 2 types of context to save. + * From the highest level viewpoint, there are 2 types of context to save. * - * -# Interrupt registers to save - * -# Task level registers to save + * -# Interrupt registers to save + * -# Task level registers to save * - * Since RTEMS handles integer and floating point contexts separately, this - * means we have the following 3 context items: + * Since RTEMS handles integer and floating point contexts separately, this + * means we have the following 3 context items: * - * -# task level context stuff:: Context_Control - * -# floating point task stuff:: Context_Control_fp - * -# special interrupt level context :: CPU_Interrupt_frame + * -# task level context stuff:: Context_Control + * -# floating point task stuff:: Context_Control_fp + * -# special interrupt level context :: CPU_Interrupt_frame * - * On some processors, it is cost-effective to save only the callee - * preserved registers during a task context switch. This means - * that the ISR code needs to save those registers which do not - * persist across function calls. It is not mandatory to make this - * distinctions between the caller/callee saves registers for the - * purpose of minimizing context saved during task switch and on interrupts. - * If the cost of saving extra registers is minimal, simplicity is the - * choice. Save the same context on interrupt entry as for tasks in - * this case. + * On some processors, it is cost-effective to save only the callee + * preserved registers during a task context switch. This means + * that the ISR code needs to save those registers which do not + * persist across function calls. It is not mandatory to make this + * distinctions between the caller/callee saves registers for the + * purpose of minimizing context saved during task switch and on interrupts. + * If the cost of saving extra registers is minimal, simplicity is the + * choice. Save the same context on interrupt entry as for tasks in + * this case. * - * Additionally, if gdb is to be made aware of RTEMS tasks for this CPU, then - * care should be used in designing the context area. + * Additionally, if gdb is to be made aware of RTEMS tasks for this CPU, then + * care should be used in designing the context area. * - * On some CPUs with hardware floating point support, the Context_Control_fp - * structure will not be used or it simply consist of an array of a - * fixed number of bytes. This is done when the floating point context - * is dumped by a "FP save context" type instruction and the format - * is not really defined by the CPU. In this case, there is no need - * to figure out the exact format -- only the size. Of course, although - * this is enough information for RTEMS, it is probably not enough for - * a debugger such as gdb. But that is another problem. + * On some CPUs with hardware floating point support, the Context_Control_fp + * structure will not be used or it simply consist of an array of a + * fixed number of bytes. This is done when the floating point context + * is dumped by a "FP save context" type instruction and the format + * is not really defined by the CPU. In this case, there is no need + * to figure out the exact format -- only the size. Of course, although + * this is enough information for RTEMS, it is probably not enough for + * a debugger such as gdb. But that is another problem. * - * Port Specific Information: + * Port Specific Information: * - * On the v850, this port saves special registers and those that are - * callee saved. + * On the v850, this port saves special registers and those that are + * callee saved. + * + * @{ */ /** - * @ingroup CPUContext Management - * This defines the minimal set of integer and processor state registers - * that must be saved during a voluntary context switch from one thread - * to another. + * This defines the minimal set of integer and processor state registers + * that must be saved during a voluntary context switch from one thread + * to another. */ typedef struct { uint32_t r1; @@ -461,21 +464,18 @@ typedef struct { } Context_Control; /** - * @ingroup CPUContext Management - * - * This macro returns the stack pointer associated with @a _context. + * This macro returns the stack pointer associated with @a _context. * - * @param[in] _context is the thread context area to access + * @param[in] _context is the thread context area to access * - * @return This method returns the stack pointer. + * @return This method returns the stack pointer. */ #define _CPU_Context_Get_SP( _context ) \ (_context)->r3_stack_pointer /** - * @ingroup CPUContext Management - * This defines the complete set of floating point registers that must - * be saved during any context switch from one thread to another. + * This defines the complete set of floating point registers that must + * be saved during any context switch from one thread to another. */ typedef struct { /** FPU registers are listed here */ @@ -483,62 +483,65 @@ typedef struct { } Context_Control_fp; /** - * @ingroup CPUContext Management - * This defines the set of integer and processor state registers that must - * be saved during an interrupt. This set does not include any which are - * in @ref Context_Control. + * This defines the set of integer and processor state registers that must + * be saved during an interrupt. This set does not include any which are + * in @ref Context_Control. */ typedef struct { /** This field is a hint that a port will have a number of integer - * registers that need to be saved when an interrupt occurs or - * when a context switch occurs at the end of an ISR. + * registers that need to be saved when an interrupt occurs or + * when a context switch occurs at the end of an ISR. */ uint32_t special_interrupt_register; } CPU_Interrupt_frame; +/** @} */ + /** - * @defgroup CPUInterrupt Processor Dependent Interrupt Management + * @defgroup CPUInterrupt Processor Dependent Interrupt Management + * + * On some CPUs, RTEMS supports a software managed interrupt stack. + * This stack is allocated by the Interrupt Manager and the switch + * is performed in @ref _ISR_Handler. These variables contain pointers + * to the lowest and highest addresses in the chunk of memory allocated + * for the interrupt stack. Since it is unknown whether the stack + * grows up or down (in general), this give the CPU dependent + * code the option of picking the version it wants to use. * - * On some CPUs, RTEMS supports a software managed interrupt stack. - * This stack is allocated by the Interrupt Manager and the switch - * is performed in @ref _ISR_Handler. These variables contain pointers - * to the lowest and highest addresses in the chunk of memory allocated - * for the interrupt stack. Since it is unknown whether the stack - * grows up or down (in general), this give the CPU dependent - * code the option of picking the version it wants to use. + * @note These two variables are required if the macro + * @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE. * - * @note These two variables are required if the macro - * @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE. + * Port Specific Information: * - * Port Specific Information: + * XXX document implementation including references if appropriate * - * XXX document implementation including references if appropriate + * @{ */ /** - * @ingroup CPUContext - * The size of the floating point context area. On some CPUs this - * will not be a "sizeof" because the format of the floating point - * area is not defined -- only the size is. This is usually on - * CPUs with a "floating point save context" instruction. + * @ingroup CPUContext + * The size of the floating point context area. On some CPUs this + * will not be a "sizeof" because the format of the floating point + * area is not defined -- only the size is. This is usually on + * CPUs with a "floating point save context" instruction. * - * Port Specific Information: + * Port Specific Information: * - * The v850 does not need a floating point context but this needs to be - * defined so confdefs.h. + * The v850 does not need a floating point context but this needs to be + * defined so confdefs.h. */ /* #define CPU_CONTEXT_FP_SIZE sizeof( Context_Control_fp ) */ #define CPU_CONTEXT_FP_SIZE 0 /** - * Amount of extra stack (above minimum stack size) required by - * MPCI receive server thread. Remember that in a multiprocessor - * system this thread must exist and be able to process all directives. + * Amount of extra stack (above minimum stack size) required by + * MPCI receive server thread. Remember that in a multiprocessor + * system this thread must exist and be able to process all directives. * - * Port Specific Information: + * Port Specific Information: * - * There is no reason to think the v850 needs extra MPCI receive - * server stack. + * There is no reason to think the v850 needs extra MPCI receive + * server stack. */ #define CPU_MPCI_RECEIVE_SERVER_EXTRA_STACK 0 @@ -546,109 +549,108 @@ typedef struct { /* XXX evaluate removing it */ #if 0 /** - * @ingroup CPUInterrupt - * This defines the number of entries in the @ref _ISR_Vector_table managed - * by RTEMS. + * This defines the number of entries in the @ref _ISR_Vector_table managed + * by RTEMS. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define CPU_INTERRUPT_NUMBER_OF_VECTORS 32 #endif /** - * @ingroup CPUInterrupt - * This defines the highest interrupt vector number for this port. + * This defines the highest interrupt vector number for this port. */ #define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (CPU_INTERRUPT_NUMBER_OF_VECTORS - 1) /** - * @ingroup CPUInterrupt - * This is defined if the port has a special way to report the ISR nesting - * level. Most ports maintain the variable @a _ISR_Nest_level. + * This is defined if the port has a special way to report the ISR nesting + * level. Most ports maintain the variable @a _ISR_Nest_level. */ #define CPU_PROVIDES_ISR_IS_IN_PROGRESS FALSE +/** @} */ + /** - * @ingroup CPUContext - * Should be large enough to run all RTEMS tests. This ensures - * that a "reasonable" small application should not have any problems. + * @ingroup CPUContext + * Should be large enough to run all RTEMS tests. This ensures + * that a "reasonable" small application should not have any problems. * - * Port Specific Information: + * Port Specific Information: * - * This should be very conservative on the v850. + * This should be very conservative on the v850. */ #define CPU_STACK_MINIMUM_SIZE (1024*4) #define CPU_SIZEOF_POINTER 4 /** - * CPU's worst alignment requirement for data types on a byte boundary. This - * alignment does not take into account the requirements for the stack. + * CPU's worst alignment requirement for data types on a byte boundary. This + * alignment does not take into account the requirements for the stack. * - * Port Specific Information: + * Port Specific Information: * - * There is no apparent reason why this should be larger than 8. + * There is no apparent reason why this should be larger than 8. */ #define CPU_ALIGNMENT 8 /** - * This number corresponds to the byte alignment requirement for the - * heap handler. This alignment requirement may be stricter than that - * for the data types alignment specified by @ref CPU_ALIGNMENT. It is - * common for the heap to follow the same alignment requirement as - * @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is strict enough for - * the heap, then this should be set to @ref CPU_ALIGNMENT. - * - * @note This does not have to be a power of 2 although it should be - * a multiple of 2 greater than or equal to 2. The requirement - * to be a multiple of 2 is because the heap uses the least - * significant field of the front and back flags to indicate - * that a block is in use or free. So you do not want any odd - * length blocks really putting length data in that bit. - * - * On byte oriented architectures, @ref CPU_HEAP_ALIGNMENT normally will - * have to be greater or equal to than @ref CPU_ALIGNMENT to ensure that - * elements allocated from the heap meet all restrictions. - * - * Port Specific Information: - * - * There is no apparent reason why this should be larger than CPU_ALIGNMENT. + * This number corresponds to the byte alignment requirement for the + * heap handler. This alignment requirement may be stricter than that + * for the data types alignment specified by @ref CPU_ALIGNMENT. It is + * common for the heap to follow the same alignment requirement as + * @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is strict enough for + * the heap, then this should be set to @ref CPU_ALIGNMENT. + * + * @note This does not have to be a power of 2 although it should be + * a multiple of 2 greater than or equal to 2. The requirement + * to be a multiple of 2 is because the heap uses the least + * significant field of the front and back flags to indicate + * that a block is in use or free. So you do not want any odd + * length blocks really putting length data in that bit. + * + * On byte oriented architectures, @ref CPU_HEAP_ALIGNMENT normally will + * have to be greater or equal to than @ref CPU_ALIGNMENT to ensure that + * elements allocated from the heap meet all restrictions. + * + * Port Specific Information: + * + * There is no apparent reason why this should be larger than CPU_ALIGNMENT. */ #define CPU_HEAP_ALIGNMENT CPU_ALIGNMENT /** - * This number corresponds to the byte alignment requirement for memory - * buffers allocated by the partition manager. This alignment requirement - * may be stricter than that for the data types alignment specified by - * @ref CPU_ALIGNMENT. It is common for the partition to follow the same - * alignment requirement as @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is - * strict enough for the partition, then this should be set to - * @ref CPU_ALIGNMENT. + * This number corresponds to the byte alignment requirement for memory + * buffers allocated by the partition manager. This alignment requirement + * may be stricter than that for the data types alignment specified by + * @ref CPU_ALIGNMENT. It is common for the partition to follow the same + * alignment requirement as @ref CPU_ALIGNMENT. If the @ref CPU_ALIGNMENT is + * strict enough for the partition, then this should be set to + * @ref CPU_ALIGNMENT. * - * @note This does not have to be a power of 2. It does have to - * be greater or equal to than @ref CPU_ALIGNMENT. + * @note This does not have to be a power of 2. It does have to + * be greater or equal to than @ref CPU_ALIGNMENT. * - * Port Specific Information: + * Port Specific Information: * - * There is no apparent reason why this should be larger than CPU_ALIGNMENT. + * There is no apparent reason why this should be larger than CPU_ALIGNMENT. */ #define CPU_PARTITION_ALIGNMENT CPU_ALIGNMENT /** - * This number corresponds to the byte alignment requirement for the - * stack. This alignment requirement may be stricter than that for the - * data types alignment specified by @ref CPU_ALIGNMENT. If the - * @ref CPU_ALIGNMENT is strict enough for the stack, then this should be - * set to 0. + * This number corresponds to the byte alignment requirement for the + * stack. This alignment requirement may be stricter than that for the + * data types alignment specified by @ref CPU_ALIGNMENT. If the + * @ref CPU_ALIGNMENT is strict enough for the stack, then this should be + * set to 0. * - * @note This must be a power of 2 either 0 or greater than @ref CPU_ALIGNMENT. + * @note This must be a power of 2 either 0 or greater than @ref CPU_ALIGNMENT. * - * Port Specific Information: + * Port Specific Information: * - * The v850 has enough RAM where alignment to 16 may be desirable depending - * on the cache properties. But this remains to be demonstrated. + * The v850 has enough RAM where alignment to 16 may be desirable depending + * on the cache properties. But this remains to be demonstrated. */ #define CPU_STACK_ALIGNMENT 4 @@ -657,15 +659,20 @@ typedef struct { */ /** - * @ingroup CPUInterrupt - * Disable all interrupts for an RTEMS critical section. The previous - * level is returned in @a _isr_cookie. + * @addtogroup CPUInterrupt * - * @param[out] _isr_cookie will contain the previous level cookie + * @{ + */ + +/** + * Disable all interrupts for an RTEMS critical section. The previous + * level is returned in @a _isr_cookie. + * + * @param[out] _isr_cookie will contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * On the v850, we need to save the PSW and use "di" to disable interrupts. + * On the v850, we need to save the PSW and use "di" to disable interrupts. */ #define _CPU_ISR_Disable( _isr_cookie ) \ do { \ @@ -677,16 +684,15 @@ typedef struct { } while (0) /** - * @ingroup CPUInterrupt - * Enable interrupts to the previous level (returned by _CPU_ISR_Disable). - * This indicates the end of an RTEMS critical section. The parameter - * @a _isr_cookie is not modified. + * Enable interrupts to the previous level (returned by _CPU_ISR_Disable). + * This indicates the end of an RTEMS critical section. The parameter + * @a _isr_cookie is not modified. * - * @param[in] _isr_cookie contain the previous level cookie + * @param[in] _isr_cookie contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * On the v850, we simply need to restore the PSW. + * On the v850, we simply need to restore the PSW. */ #define _CPU_ISR_Enable( _isr_cookie ) \ do { \ @@ -696,17 +702,16 @@ typedef struct { } while (0) /** - * @ingroup CPUInterrupt - * This temporarily restores the interrupt to @a _isr_cookie before immediately - * disabling them again. This is used to divide long RTEMS critical - * sections into two or more parts. The parameter @a _isr_cookie is not - * modified. + * This temporarily restores the interrupt to @a _isr_cookie before immediately + * disabling them again. This is used to divide long RTEMS critical + * sections into two or more parts. The parameter @a _isr_cookie is not + * modified. * - * @param[in] _isr_cookie contain the previous level cookie + * @param[in] _isr_cookie contain the previous level cookie * - * Port Specific Information: + * Port Specific Information: * - * This saves at least one instruction over using enable/disable back to back. + * This saves at least one instruction over using enable/disable back to back. */ #define _CPU_ISR_Flash( _isr_cookie ) \ do { \ @@ -716,21 +721,19 @@ typedef struct { } while (0) /** - * @ingroup CPUInterrupt - * - * This routine and @ref _CPU_ISR_Get_level - * Map the interrupt level in task mode onto the hardware that the CPU - * actually provides. Currently, interrupt levels which do not - * map onto the CPU in a generic fashion are undefined. Someday, - * it would be nice if these were "mapped" by the application - * via a callout. For example, m68k has 8 levels 0 - 7, levels - * 8 - 255 would be available for bsp/application specific meaning. - * This could be used to manage a programmable interrupt controller - * via the rtems_task_mode directive. - * - * Port Specific Information: - * - * On the v850, level 0 is enabled. Non-zero is disabled. + * This routine and @ref _CPU_ISR_Get_level + * Map the interrupt level in task mode onto the hardware that the CPU + * actually provides. Currently, interrupt levels which do not + * map onto the CPU in a generic fashion are undefined. Someday, + * it would be nice if these were "mapped" by the application + * via a callout. For example, m68k has 8 levels 0 - 7, levels + * 8 - 255 would be available for bsp/application specific meaning. + * This could be used to manage a programmable interrupt controller + * via the rtems_task_mode directive. + * + * Port Specific Information: + * + * On the v850, level 0 is enabled. Non-zero is disabled. */ #define _CPU_ISR_Set_level( new_level ) \ do { \ @@ -741,52 +744,53 @@ typedef struct { } while (0) /** - * @ingroup CPUInterrupt - * Return the current interrupt disable level for this task in - * the format used by the interrupt level portion of the task mode. + * Return the current interrupt disable level for this task in + * the format used by the interrupt level portion of the task mode. * - * @note This routine usually must be implemented as a subroutine. + * @note This routine usually must be implemented as a subroutine. * - * Port Specific Information: + * Port Specific Information: * - * This method is implemented in C on the v850. + * This method is implemented in C on the v850. */ uint32_t _CPU_ISR_Get_level( void ); /* end of ISR handler macros */ +/** @} */ + /* Context handler macros */ /** - * @ingroup CPUContext - * Initialize the context to a state suitable for starting a - * task after a context restore operation. Generally, this - * involves: - * - * - setting a starting address - * - preparing the stack - * - preparing the stack and frame pointers - * - setting the proper interrupt level in the context - * - initializing the floating point context - * - * This routine generally does not set any unnecessary register - * in the context. The state of the "general data" registers is - * undefined at task start time. - * - * @param[in] _the_context is the context structure to be initialized - * @param[in] _stack_base is the lowest physical address of this task's stack - * @param[in] _size is the size of this task's stack - * @param[in] _isr is the interrupt disable level - * @param[in] _entry_point is the thread's entry point. This is - * always @a _Thread_Handler - * @param[in] _is_fp is TRUE if the thread is to be a floating - * point thread. This is typically only used on CPUs where the - * FPU may be easily disabled by software such as on the SPARC - * where the PSR contains an enable FPU bit. - * - * Port Specific Information: - * - * This method is implemented in C on the v850. + * @ingroup CPUContext + * Initialize the context to a state suitable for starting a + * task after a context restore operation. Generally, this + * involves: + * + * - setting a starting address + * - preparing the stack + * - preparing the stack and frame pointers + * - setting the proper interrupt level in the context + * - initializing the floating point context + * + * This routine generally does not set any unnecessary register + * in the context. The state of the "general data" registers is + * undefined at task start time. + * + * @param[in] _the_context is the context structure to be initialized + * @param[in] _stack_base is the lowest physical address of this task's stack + * @param[in] _size is the size of this task's stack + * @param[in] _isr is the interrupt disable level + * @param[in] _entry_point is the thread's entry point. This is + * always @a _Thread_Handler + * @param[in] _is_fp is TRUE if the thread is to be a floating + * point thread. This is typically only used on CPUs where the + * FPU may be easily disabled by software such as on the SPARC + * where the PSR contains an enable FPU bit. + * + * Port Specific Information: + * + * This method is implemented in C on the v850. */ void _CPU_Context_Initialize( Context_Control *the_context, @@ -798,19 +802,19 @@ void _CPU_Context_Initialize( ); /** - * This routine is responsible for somehow restarting the currently - * executing task. If you are lucky, then all that is necessary - * is restoring the context. Otherwise, there will need to be - * a special assembly routine which does something special in this - * case. For many ports, simply adding a label to the restore path - * of @ref _CPU_Context_switch will work. On other ports, it may be - * possibly to load a few arguments and jump to the restore path. It will - * not work if restarting self conflicts with the stack frame - * assumptions of restoring a context. - * - * Port Specific Information: - * - * On the v850, we require a special entry point to restart a task. + * This routine is responsible for somehow restarting the currently + * executing task. If you are lucky, then all that is necessary + * is restoring the context. Otherwise, there will need to be + * a special assembly routine which does something special in this + * case. For many ports, simply adding a label to the restore path + * of @ref _CPU_Context_switch will work. On other ports, it may be + * possibly to load a few arguments and jump to the restore path. It will + * not work if restarting self conflicts with the stack frame + * assumptions of restoring a context. + * + * Port Specific Information: + * + * On the v850, we require a special entry point to restart a task. */ #define _CPU_Context_Restart_self( _the_context ) \ _CPU_Context_restore( (_the_context) ); @@ -818,26 +822,26 @@ void _CPU_Context_Initialize( /* XXX this should be possible to remove */ #if 0 /** - * @ingroup CPUContext - * The purpose of this macro is to allow the initial pointer into - * a floating point context area (used to save the floating point - * context) to be at an arbitrary place in the floating point - * context area. - * - * This is necessary because some FP units are designed to have - * their context saved as a stack which grows into lower addresses. - * Other FP units can be saved by simply moving registers into offsets - * from the base of the context area. Finally some FP units provide - * a "dump context" instruction which could fill in from high to low - * or low to high based on the whim of the CPU designers. - * - * @param[in] _base is the lowest physical address of the floating point - * context area - * @param[in] _offset is the offset into the floating point area - * - * Port Specific Information: - * - * XXX document implementation including references if appropriate + * @ingroup CPUContext + * The purpose of this macro is to allow the initial pointer into + * a floating point context area (used to save the floating point + * context) to be at an arbitrary place in the floating point + * context area. + * + * This is necessary because some FP units are designed to have + * their context saved as a stack which grows into lower addresses. + * Other FP units can be saved by simply moving registers into offsets + * from the base of the context area. Finally some FP units provide + * a "dump context" instruction which could fill in from high to low + * or low to high based on the whim of the CPU designers. + * + * @param[in] _base is the lowest physical address of the floating point + * context area + * @param[in] _offset is the offset into the floating point area + * + * Port Specific Information: + * + * XXX document implementation including references if appropriate */ #define _CPU_Context_Fp_start( _base, _offset ) \ ( (void *) _Addresses_Add_offset( (_base), (_offset) ) ) @@ -846,22 +850,22 @@ void _CPU_Context_Initialize( /* XXX this should be possible to remove */ #if 0 /** - * This routine initializes the FP context area passed to it to. - * There are a few standard ways in which to initialize the - * floating point context. The code included for this macro assumes - * that this is a CPU in which a "initial" FP context was saved into - * @a _CPU_Null_fp_context and it simply copies it to the destination - * context passed to it. + * This routine initializes the FP context area passed to it to. + * There are a few standard ways in which to initialize the + * floating point context. The code included for this macro assumes + * that this is a CPU in which a "initial" FP context was saved into + * @a _CPU_Null_fp_context and it simply copies it to the destination + * context passed to it. * - * Other floating point context save/restore models include: - * -# not doing anything, and - * -# putting a "null FP status word" in the correct place in the FP context. + * Other floating point context save/restore models include: + * -# not doing anything, and + * -# putting a "null FP status word" in the correct place in the FP context. * - * @param[in] _destination is the floating point context area + * @param[in] _destination is the floating point context area * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ #define _CPU_Context_Initialize_fp( _destination ) \ { \ @@ -873,13 +877,13 @@ void _CPU_Context_Initialize( /* Fatal Error manager macros */ /** - * This routine copies _error into a known place -- typically a stack - * location or a register, optionally disables interrupts, and - * halts/stops the CPU. + * This routine copies _error into a known place -- typically a stack + * location or a register, optionally disables interrupts, and + * halts/stops the CPU. * - * Port Specific Information: + * Port Specific Information: * - * Move the error code into r10, disable interrupts and halt. + * Move the error code into r10, disable interrupts and halt. */ #define _CPU_Fatal_halt( _error ) \ do { \ @@ -893,75 +897,74 @@ void _CPU_Context_Initialize( /* Bitfield handler macros */ /** - * @defgroup CPUBitfield Processor Dependent Bitfield Manipulation + * @defgroup CPUBitfield Processor Dependent Bitfield Manipulation + * + * This set of routines are used to implement fast searches for + * the most important ready task. * - * This set of routines are used to implement fast searches for - * the most important ready task. + * @{ */ /** - * @ingroup CPUBitfield - * This definition is set to TRUE if the port uses the generic bitfield - * manipulation implementation. + * This definition is set to TRUE if the port uses the generic bitfield + * manipulation implementation. */ #define CPU_USE_GENERIC_BITFIELD_CODE TRUE /** - * @ingroup CPUBitfield - * This definition is set to TRUE if the port uses the data tables provided - * by the generic bitfield manipulation implementation. - * This can occur when actually using the generic bitfield manipulation - * implementation or when implementing the same algorithm in assembly - * language for improved performance. It is unlikely that a port will use - * the data if it has a bitfield scan instruction. - * - * Port Specific Information: - * - * There is no single v850 instruction to do a bit scan so there is - * no CPU specific implementation of bit field scanning. The empty - * stub routines are left as a place holder in case someone figures - * out how to do a v850 implementation better than the generic algorithm. + * This definition is set to TRUE if the port uses the data tables provided + * by the generic bitfield manipulation implementation. + * This can occur when actually using the generic bitfield manipulation + * implementation or when implementing the same algorithm in assembly + * language for improved performance. It is unlikely that a port will use + * the data if it has a bitfield scan instruction. + * + * Port Specific Information: + * + * There is no single v850 instruction to do a bit scan so there is + * no CPU specific implementation of bit field scanning. The empty + * stub routines are left as a place holder in case someone figures + * out how to do a v850 implementation better than the generic algorithm. */ #define CPU_USE_GENERIC_BITFIELD_DATA TRUE /** - * @ingroup CPUBitfield - * This routine sets @a _output to the bit number of the first bit - * set in @a _value. @a _value is of CPU dependent type - * @a Priority_bit_map_Control. This type may be either 16 or 32 bits - * wide although only the 16 least significant bits will be used. - * - * There are a number of variables in using a "find first bit" type - * instruction. - * - * -# What happens when run on a value of zero? - * -# Bits may be numbered from MSB to LSB or vice-versa. - * -# The numbering may be zero or one based. - * -# The "find first bit" instruction may search from MSB or LSB. - * - * RTEMS guarantees that (1) will never happen so it is not a concern. - * (2),(3), (4) are handled by the macros @ref _CPU_Priority_Mask and - * @ref _CPU_Priority_bits_index. These three form a set of routines - * which must logically operate together. Bits in the _value are - * set and cleared based on masks built by @ref _CPU_Priority_Mask. - * The basic major and minor values calculated by @ref _Priority_Major - * and @ref _Priority_Minor are "massaged" by @ref _CPU_Priority_bits_index - * to properly range between the values returned by the "find first bit" - * instruction. This makes it possible for @ref _Priority_Get_highest to - * calculate the major and directly index into the minor table. - * This mapping is necessary to ensure that 0 (a high priority major/minor) - * is the first bit found. - * - * This entire "find first bit" and mapping process depends heavily - * on the manner in which a priority is broken into a major and minor - * components with the major being the 4 MSB of a priority and minor - * the 4 LSB. Thus (0 << 4) + 0 corresponds to priority 0 -- the highest - * priority. And (15 << 4) + 14 corresponds to priority 254 -- the next - * to the lowest priority. - * - * If your CPU does not have a "find first bit" instruction, then - * there are ways to make do without it. Here are a handful of ways - * to implement this in software: + * This routine sets @a _output to the bit number of the first bit + * set in @a _value. @a _value is of CPU dependent type + * @a Priority_bit_map_Control. This type may be either 16 or 32 bits + * wide although only the 16 least significant bits will be used. + * + * There are a number of variables in using a "find first bit" type + * instruction. + * + * -# What happens when run on a value of zero? + * -# Bits may be numbered from MSB to LSB or vice-versa. + * -# The numbering may be zero or one based. + * -# The "find first bit" instruction may search from MSB or LSB. + * + * RTEMS guarantees that (1) will never happen so it is not a concern. + * (2),(3), (4) are handled by the macros @ref _CPU_Priority_Mask and + * @ref _CPU_Priority_bits_index. These three form a set of routines + * which must logically operate together. Bits in the _value are + * set and cleared based on masks built by @ref _CPU_Priority_Mask. + * The basic major and minor values calculated by @ref _Priority_Major + * and @ref _Priority_Minor are "massaged" by @ref _CPU_Priority_bits_index + * to properly range between the values returned by the "find first bit" + * instruction. This makes it possible for @ref _Priority_Get_highest to + * calculate the major and directly index into the minor table. + * This mapping is necessary to ensure that 0 (a high priority major/minor) + * is the first bit found. + * + * This entire "find first bit" and mapping process depends heavily + * on the manner in which a priority is broken into a major and minor + * components with the major being the 4 MSB of a priority and minor + * the 4 LSB. Thus (0 << 4) + 0 corresponds to priority 0 -- the highest + * priority. And (15 << 4) + 14 corresponds to priority 254 -- the next + * to the lowest priority. + * + * If your CPU does not have a "find first bit" instruction, then + * there are ways to make do without it. Here are a handful of ways + * to implement this in software: * @verbatim - a series of 16 bit test instructions @@ -978,16 +981,16 @@ void _CPU_Context_Initialize( _number += bit_set_table[ _value ] @endverbatim - * where bit_set_table[ 16 ] has values which indicate the first - * bit set + * where bit_set_table[ 16 ] has values which indicate the first + * bit set * - * @param[in] _value is the value to be scanned - * @param[in] _output is the first bit set + * @param[in] _value is the value to be scanned + * @param[in] _output is the first bit set * - * Port Specific Information: + * Port Specific Information: * - * There is no single v850 instruction to do a bit scan so there is - * no CPU specific implementation of bit field scanning. + * There is no single v850 instruction to do a bit scan so there is + * no CPU specific implementation of bit field scanning. */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) #define _CPU_Bitfield_Find_first_bit( _value, _output ) \ @@ -999,14 +1002,14 @@ void _CPU_Context_Initialize( /* end of Bitfield handler macros */ /** - * This routine builds the mask which corresponds to the bit fields - * as searched by @ref _CPU_Bitfield_Find_first_bit. See the discussion - * for that routine. + * This routine builds the mask which corresponds to the bit fields + * as searched by @ref _CPU_Bitfield_Find_first_bit. See the discussion + * for that routine. * - * Port Specific Information: + * Port Specific Information: * - * There is no single v850 instruction to do a bit scan so there is - * no CPU specific implementation of bit field scanning. + * There is no single v850 instruction to do a bit scan so there is + * no CPU specific implementation of bit field scanning. */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -1016,18 +1019,17 @@ void _CPU_Context_Initialize( #endif /** - * @ingroup CPUBitfield - * This routine translates the bit numbers returned by - * @ref _CPU_Bitfield_Find_first_bit into something suitable for use as - * a major or minor component of a priority. See the discussion - * for that routine. + * This routine translates the bit numbers returned by + * @ref _CPU_Bitfield_Find_first_bit into something suitable for use as + * a major or minor component of a priority. See the discussion + * for that routine. * - * @param[in] _priority is the major or minor number to translate + * @param[in] _priority is the major or minor number to translate * - * Port Specific Information: + * Port Specific Information: * - * There is no single v850 instruction to do a bit scan so there is - * no CPU specific implementation of bit field scanning. + * There is no single v850 instruction to do a bit scan so there is + * no CPU specific implementation of bit field scanning. */ #if (CPU_USE_GENERIC_BITFIELD_CODE == FALSE) @@ -1038,30 +1040,37 @@ void _CPU_Context_Initialize( /* end of Priority handler macros */ +/** @} */ + /* functions */ /** - * @brief CPU Initialize - * This routine performs CPU dependent initialization. + * @brief CPU initialize. + * This routine performs CPU dependent initialization. * - * Port Specific Information: + * Port Specific Information: * - * This is implemented in C. + * This is implemented in C. * - * v850 CPU Dependent Source + * v850 CPU Dependent Source */ void _CPU_Initialize(void); /** - * @ingroup CPUContext - * This routine switches from the run context to the heir context. + * @addtogroup CPUContext + * + * @{ + */ + +/** + * This routine switches from the run context to the heir context. * - * @param[in] run points to the context of the currently executing task - * @param[in] heir points to the context of the heir task + * @param[in] run points to the context of the currently executing task + * @param[in] heir points to the context of the heir task * - * Port Specific Information: + * Port Specific Information: * - * This is implemented in assembly on the v850. + * This is implemented in assembly on the v850. */ void _CPU_Context_switch( Context_Control *run, @@ -1069,17 +1078,16 @@ void _CPU_Context_switch( ); /** - * @ingroup CPUContext - * This routine is generally used only to restart self in an - * efficient manner. It may simply be a label in @ref _CPU_Context_switch. + * This routine is generally used only to restart self in an + * efficient manner. It may simply be a label in @ref _CPU_Context_switch. * - * @param[in] new_context points to the context to be restored. + * @param[in] new_context points to the context to be restored. * - * @note May be unnecessary to reload some registers. + * @note May be unnecessary to reload some registers. * - * Port Specific Information: + * Port Specific Information: * - * This is implemented in assembly on the v850. + * This is implemented in assembly on the v850. */ void _CPU_Context_restore( Context_Control *new_context @@ -1088,18 +1096,17 @@ void _CPU_Context_restore( /* XXX this should be possible to remove */ #if 0 /** - * @ingroup CPUContext - * This routine saves the floating point context passed to it. + * This routine saves the floating point context passed to it. * - * @param[in] fp_context_ptr is a pointer to a pointer to a floating - * point context area + * @param[in] fp_context_ptr is a pointer to a pointer to a floating + * point context area * - * @return on output @a *fp_context_ptr will contain the address that - * should be used with @ref _CPU_Context_restore_fp to restore this context. + * @return on output @a *fp_context_ptr will contain the address that + * should be used with @ref _CPU_Context_restore_fp to restore this context. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_save_fp( Context_Control_fp **fp_context_ptr @@ -1109,56 +1116,57 @@ void _CPU_Context_save_fp( /* XXX this should be possible to remove */ #if 0 /** - * @ingroup CPUContext - * This routine restores the floating point context passed to it. + * This routine restores the floating point context passed to it. * - * @param[in] fp_context_ptr is a pointer to a pointer to a floating - * point context area to restore + * @param[in] fp_context_ptr is a pointer to a pointer to a floating + * point context area to restore * - * @return on output @a *fp_context_ptr will contain the address that - * should be used with @ref _CPU_Context_save_fp to save this context. + * @return on output @a *fp_context_ptr will contain the address that + * should be used with @ref _CPU_Context_save_fp to save this context. * - * Port Specific Information: + * Port Specific Information: * - * XXX document implementation including references if appropriate + * XXX document implementation including references if appropriate */ void _CPU_Context_restore_fp( Context_Control_fp **fp_context_ptr ); #endif +/** @} */ + /* FIXME */ typedef CPU_Interrupt_frame CPU_Exception_frame; void _CPU_Exception_frame_print( const CPU_Exception_frame *frame ); /** - * @ingroup CPUEndian - * The following routine swaps the endian format of an unsigned int. - * It must be static because it is referenced indirectly. + * @ingroup CPUEndian + * The following routine swaps the endian format of an unsigned int. + * It must be static because it is referenced indirectly. * - * This version will work on any processor, but if there is a better - * way for your CPU PLEASE use it. The most common way to do this is to: + * This version will work on any processor, but if there is a better + * way for your CPU PLEASE use it. The most common way to do this is to: * - * swap least significant two bytes with 16-bit rotate - * swap upper and lower 16-bits - * swap most significant two bytes with 16-bit rotate + * swap least significant two bytes with 16-bit rotate + * swap upper and lower 16-bits + * swap most significant two bytes with 16-bit rotate * - * Some CPUs have special instructions which swap a 32-bit quantity in - * a single instruction (e.g. i486). It is probably best to avoid - * an "endian swapping control bit" in the CPU. One good reason is - * that interrupts would probably have to be disabled to ensure that - * an interrupt does not try to access the same "chunk" with the wrong - * endian. Another good reason is that on some CPUs, the endian bit - * endianness for ALL fetches -- both code and data -- so the code - * will be fetched incorrectly. + * Some CPUs have special instructions which swap a 32-bit quantity in + * a single instruction (e.g. i486). It is probably best to avoid + * an "endian swapping control bit" in the CPU. One good reason is + * that interrupts would probably have to be disabled to ensure that + * an interrupt does not try to access the same "chunk" with the wrong + * endian. Another good reason is that on some CPUs, the endian bit + * endianness for ALL fetches -- both code and data -- so the code + * will be fetched incorrectly. * - * @param[in] value is the value to be swapped - * @return the value after being endian swapped + * @param[in] value is the value to be swapped + * @return the value after being endian swapped * - * Port Specific Information: + * Port Specific Information: * - * The v850 has a single instruction to swap endianness on a 32 bit quantity. + * The v850 has a single instruction to swap endianness on a 32 bit quantity. */ static inline uint32_t CPU_swap_u32( uint32_t value @@ -1185,15 +1193,15 @@ static inline uint32_t CPU_swap_u32( } /** - * @ingroup CPUEndian - * This routine swaps a 16 bir quantity. + * @ingroup CPUEndian + * This routine swaps a 16 bir quantity. * - * @param[in] value is the value to be swapped - * @return the value after being endian swapped + * @param[in] value is the value to be swapped + * @return the value after being endian swapped * - * Port Specific Information: + * Port Specific Information: * - * The v850 has a single instruction to swap endianness on a 16 bit quantity. + * The v850 has a single instruction to swap endianness on a 16 bit quantity. */ static inline uint16_t CPU_swap_u16( uint16_t value ) { diff --git a/cpukit/score/cpu/v850/rtems/score/types.h b/cpukit/score/cpu/v850/rtems/score/types.h index 32ff881898..e831b2dc13 100644 --- a/cpukit/score/cpu/v850/rtems/score/types.h +++ b/cpukit/score/cpu/v850/rtems/score/types.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/types.h + * @file + * + * @brief V850 CPU Type Definitions + * + * This include file contains type definitions pertaining to the + * v850 processor family. */ /* - * This include file contains type definitions pertaining to the - * v850 processor family. - * * COPYRIGHT (c) 1989-2011. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/v850/rtems/score/v850.h b/cpukit/score/cpu/v850/rtems/score/v850.h index 3e9bec56f3..df35925c7b 100644 --- a/cpukit/score/cpu/v850/rtems/score/v850.h +++ b/cpukit/score/cpu/v850/rtems/score/v850.h @@ -1,8 +1,12 @@ -/* - * This file sets up basic CPU dependency settings based on - * compiler settings. For example, it can determine if - * floating point is available. This particular implementation - * is specified to the Renesas v850 port. +/** + * @file + * + * @brief V850 Set up Basic CPU Dependency Settings Based on Compiler Settings + * + * This file sets up basic CPU dependency settings based on + * compiler settings. For example, it can determine if + * floating point is available. This particular implementation + * is specified to the Renesas v850 port. */ /* -- cgit v1.2.3 From 1f0d013dd21d8b65584affaa6e9992fe637b676e Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Wed, 9 Jan 2013 07:56:28 -0600 Subject: score: Doxygen Clean Up Task #17 --- cpukit/score/cpu/nios2/rtems/asm.h | 21 +- cpukit/score/cpu/nios2/rtems/score/nios2-utility.h | 10 +- cpukit/score/cpu/nios2/rtems/score/nios2.h | 17 +- cpukit/score/inline/rtems/score/chain.inl | 389 ++++++++++++--------- cpukit/score/inline/rtems/score/corebarrier.inl | 34 +- cpukit/score/inline/rtems/score/coremsg.inl | 77 ++-- cpukit/score/inline/rtems/score/corerwlock.inl | 22 +- cpukit/score/inline/rtems/score/coresem.inl | 61 ++-- cpukit/score/inline/rtems/score/corespinlock.inl | 31 +- cpukit/score/inline/rtems/score/isr.inl | 25 +- cpukit/score/inline/rtems/score/mppkt.inl | 29 +- cpukit/score/inline/rtems/score/object.inl | 192 +++++----- cpukit/score/inline/rtems/score/objectmp.inl | 23 +- cpukit/score/inline/rtems/score/scheduler.inl | 114 +++--- cpukit/score/inline/rtems/score/stack.inl | 47 +-- cpukit/score/inline/rtems/score/states.inl | 215 ++++++------ cpukit/score/inline/rtems/score/sysstate.inl | 12 +- cpukit/score/inline/rtems/score/thread.inl | 150 ++++---- cpukit/score/inline/rtems/score/tod.inl | 23 +- cpukit/score/inline/rtems/score/tqdata.inl | 35 +- 20 files changed, 818 insertions(+), 709 deletions(-) diff --git a/cpukit/score/cpu/nios2/rtems/asm.h b/cpukit/score/cpu/nios2/rtems/asm.h index 0725d7c0ed..45ccd8b050 100644 --- a/cpukit/score/cpu/nios2/rtems/asm.h +++ b/cpukit/score/cpu/nios2/rtems/asm.h @@ -1,17 +1,20 @@ /** - * @file rtems/asm.h + * @file * - * This include file attempts to address the problems - * caused by incompatible flavors of assemblers and - * toolsets. It primarily addresses variations in the - * use of leading underscores on symbols and the requirement - * that register names be preceded by a %. + * @brief Address the Problems Caused by Incompatible Flavor of + * Assemblers and Toolsets + * + * This include file attempts to address the problems + * caused by incompatible flavors of assemblers and + * toolsets. It primarily addresses variations in the + * use of leading underscores on symbols and the requirement + * that register names be preceded by a %. + * + * @note The spacing in the use of these macros + * is critical to them working as advertised. */ /* - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. - * * COPYRIGHT: * * This file is based on similar code found in newlib available diff --git a/cpukit/score/cpu/nios2/rtems/score/nios2-utility.h b/cpukit/score/cpu/nios2/rtems/score/nios2-utility.h index b99dd02cd2..078484fe6b 100644 --- a/cpukit/score/cpu/nios2/rtems/score/nios2-utility.h +++ b/cpukit/score/cpu/nios2/rtems/score/nios2-utility.h @@ -1,3 +1,8 @@ +/** + * @file + * + * @brief NIOS II Utility + */ /* * Copyright (c) 2011 embedded brains GmbH. All rights reserved. * @@ -496,9 +501,8 @@ static inline void _Nios2_MPU_Restore( uint32_t config ) _Nios2_Set_ctlreg_config( config ); } -/* - * @brief Nios2 MPU Disable Protected - * +/** + * @brief Nios2 MPU disable protected. */ uint32_t _Nios2_MPU_Disable_protected( void ); diff --git a/cpukit/score/cpu/nios2/rtems/score/nios2.h b/cpukit/score/cpu/nios2/rtems/score/nios2.h index 9fd8bff0f3..9a8e232eee 100644 --- a/cpukit/score/cpu/nios2/rtems/score/nios2.h +++ b/cpukit/score/cpu/nios2/rtems/score/nios2.h @@ -1,11 +1,16 @@ -/* nios2.h - * - * This file sets up basic CPU dependency settings based on - * compiler settings. For example, it can determine if - * floating point is available. This particular implementation - * is specific to the NIOS2 port. +/** + * @file * + * @brief NIOS II Set up Basic CPU Dependency Settings Based on + * Compiler Settings * + * This file sets up basic CPU dependency settings based on + * compiler settings. For example, it can determine if + * floating point is available. This particular implementation + * is specific to the NIOS2 port. + */ + +/* * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/inline/rtems/score/chain.inl b/cpukit/score/inline/rtems/score/chain.inl index ebef69521b..d122415e66 100644 --- a/cpukit/score/inline/rtems/score/chain.inl +++ b/cpukit/score/inline/rtems/score/chain.inl @@ -1,9 +1,7 @@ /** * @file * - * @ingroup ScoreChain - * - * @brief Chain Handler API. + * @brief Chain Handler API */ /* @@ -25,16 +23,18 @@ #define _RTEMS_SCORE_CHAIN_INL /** - * @addtogroup ScoreChain - * @{ + * @addtogroup ScoreChain + * + * @{ */ -/** @brief Set off chain +/** + * @brief Set off chain. * - * This function sets the next and previous fields of the @a node to NULL - * indicating the @a node is not part of a chain. + * This function sets the next and previous fields of the @a node to NULL + * indicating the @a node is not part of a chain. * - * @param[in] node the node set to off chain. + * @param[in] node the node set to off chain. */ RTEMS_INLINE_ROUTINE void _Chain_Set_off_chain( Chain_Node *node @@ -43,14 +43,16 @@ RTEMS_INLINE_ROUTINE void _Chain_Set_off_chain( node->next = node->previous = NULL; } -/** @brief Is the Node off Chain +/** + * @brief Is the node off chain. * - * This function returns true if the @a node is not on a chain. A @a node is - * off chain if the next and previous fields are set to NULL. + * This function returns true if the @a node is not on a chain. A @a node is + * off chain if the next and previous fields are set to NULL. * - * @param[in] node is the node off chain. + * @param[in] node is the node off chain. * - * @return This function returns true if the @a node is off chain. + * @retval true The @a node is off chain. + * @retval false The @a node is not off chain. */ RTEMS_INLINE_ROUTINE bool _Chain_Is_node_off_chain( const Chain_Node *node @@ -59,16 +61,17 @@ RTEMS_INLINE_ROUTINE bool _Chain_Is_node_off_chain( return (node->next == NULL) && (node->previous == NULL); } -/** @brief Are Two Nodes Equal +/** + * @brief Are two nodes equal. * - * This function returns true if @a left and @a right are equal, - * and false otherwise. + * This function returns true if @a left and @a right are equal, + * and false otherwise. * - * @param[in] left is the node on the left hand side of the comparison. - * @param[in] right is the node on the left hand side of the comparison. + * @param[in] left is the node on the left hand side of the comparison. + * @param[in] right is the node on the left hand side of the comparison. * - * @return This function returns true if @a left and @a right are equal, - * and false otherwise. + * @retval true @a left and @a right are equal. + * @retval false @a left and @a right are not equal. */ RTEMS_INLINE_ROUTINE bool _Chain_Are_nodes_equal( const Chain_Node *left, @@ -78,13 +81,15 @@ RTEMS_INLINE_ROUTINE bool _Chain_Are_nodes_equal( return left == right; } -/** @brief Is this Chain Control Pointer Null +/** + * @brief Is this chain control pointer NULL. * - * This function returns true if the_chain is NULL and false otherwise. + * This function returns true if the_chain is NULL and false otherwise. * - * @param[in] the_chain is the chain to be checked for empty status. + * @param[in] the_chain is the chain to be checked for empty status. * - * @return This method returns true if the_chain is NULL and false otherwise. + * @retval true @a the_chain is @c NULL. + * @retval false @a the_chain is not @c NULL. */ RTEMS_INLINE_ROUTINE bool _Chain_Is_null( const Chain_Control *the_chain @@ -93,13 +98,15 @@ RTEMS_INLINE_ROUTINE bool _Chain_Is_null( return (the_chain == NULL); } -/** @brief Is the Chain Node Pointer NULL +/** + * @brief Is the chain node pointer NULL. * - * This function returns true if the_node is NULL and false otherwise. + * This function returns true if the_node is NULL and false otherwise. * - * @param[in] the_node is the node pointer to check. + * @param[in] the_node is the node pointer to check. * - * @return This method returns true if the_node is NULL and false otherwise. + * @retval true @a the_node is @c NULL. + * @retval false @a the_node is not @c NULL. */ RTEMS_INLINE_ROUTINE bool _Chain_Is_null_node( const Chain_Node *the_node @@ -108,13 +115,14 @@ RTEMS_INLINE_ROUTINE bool _Chain_Is_null_node( return (the_node == NULL); } -/** @brief Return pointer to Chain Head +/** + * @brief Return pointer to chain head. * - * This function returns a pointer to the head node on the chain. + * This function returns a pointer to the head node on the chain. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This method returns the permanent head node of the chain. + * @return This method returns the permanent head node of the chain. */ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Head( Chain_Control *the_chain @@ -123,13 +131,14 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Head( return &the_chain->Head.Node; } -/** @brief Return pointer to immutable Chain Head +/** + * @brief Return pointer to immutable chain head. * - * This function returns a pointer to the head node on the chain. + * This function returns a pointer to the head node on the chain. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This method returns the permanent head node of the chain. + * @return This method returns the permanent head node of the chain. */ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_head( const Chain_Control *the_chain @@ -138,13 +147,14 @@ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_head( return &the_chain->Head.Node; } -/** @brief Return pointer to Chain Tail +/** + * @brief Return pointer to chain tail. * - * This function returns a pointer to the tail node on the chain. + * This function returns a pointer to the tail node on the chain. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This method returns the permanent tail node of the chain. + * @return This method returns the permanent tail node of the chain. */ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Tail( Chain_Control *the_chain @@ -153,13 +163,14 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Tail( return &the_chain->Tail.Node; } -/** @brief Return pointer to immutable Chain Tail +/** + * @brief Return pointer to immutable chain tail. * - * This function returns a pointer to the tail node on the chain. + * This function returns a pointer to the tail node on the chain. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This method returns the permanent tail node of the chain. + * @return This method returns the permanent tail node of the chain. */ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_tail( const Chain_Control *the_chain @@ -168,14 +179,15 @@ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_tail( return &the_chain->Tail.Node; } -/** @brief Return pointer to Chain's First node +/** + * @brief Return pointer to chain's first node. * - * This function returns a pointer to the first node on the chain after the - * head. + * This function returns a pointer to the first node on the chain after the + * head. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This method returns the first node of the chain. + * @return This method returns the first node of the chain. */ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First( Chain_Control *the_chain @@ -184,14 +196,15 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First( return _Chain_Head( the_chain )->next; } -/** @brief Return pointer to immutable Chain's First node +/** + * @brief Return pointer to immutable chain's first node. * - * This function returns a pointer to the first node on the chain after the - * head. + * This function returns a pointer to the first node on the chain after the + * head. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This method returns the first node of the chain. + * @return This method returns the first node of the chain. */ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first( const Chain_Control *the_chain @@ -200,14 +213,15 @@ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first( return _Chain_Immutable_head( the_chain )->next; } -/** @brief Return pointer to Chain's Last node +/** + * @brief Return pointer to chain's last node. * - * This function returns a pointer to the last node on the chain just before - * the tail. + * This function returns a pointer to the last node on the chain just before + * the tail. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This method returns the last node of the chain. + * @return This method returns the last node of the chain. */ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Last( Chain_Control *the_chain @@ -216,14 +230,15 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Last( return _Chain_Tail( the_chain )->previous; } -/** @brief Return pointer to immutable Chain's Last node +/** + * @brief Return pointer to immutable chain's last node. * - * This function returns a pointer to the last node on the chain just before - * the tail. + * This function returns a pointer to the last node on the chain just before + * the tail. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This method returns the last node of the chain. + * @return This method returns the last node of the chain. */ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_last( const Chain_Control *the_chain @@ -232,13 +247,14 @@ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_last( return _Chain_Immutable_tail( the_chain )->previous; } -/** @brief Return pointer the next node from this node +/** + * @brief Return pointer the next node from this node. * - * This function returns a pointer to the next node after this node. + * This function returns a pointer to the next node after this node. * - * @param[in] the_node is the node to be operated upon. + * @param[in] the_node is the node to be operated upon. * - * @return This method returns the next node on the chain. + * @return This method returns the next node on the chain. */ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Next( Chain_Node *the_node @@ -247,13 +263,14 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Next( return the_node->next; } -/** @brief Return pointer the immutable next node from this node +/** + * @brief Return pointer the immutable next node from this node. * - * This function returns a pointer to the next node after this node. + * This function returns a pointer to the next node after this node. * - * @param[in] the_node is the node to be operated upon. + * @param[in] the_node is the node to be operated upon. * - * @return This method returns the next node on the chain. + * @return This method returns the next node on the chain. */ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_next( const Chain_Node *the_node @@ -262,13 +279,14 @@ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_next( return the_node->next; } -/** @brief Return pointer the previous node from this node +/** + * @brief Return pointer the previous node from this node. * - * This function returns a pointer to the previous node on this chain. + * This function returns a pointer to the previous node on this chain. * - * @param[in] the_node is the node to be operated upon. + * @param[in] the_node is the node to be operated upon. * - * @return This method returns the previous node on the chain. + * @return This method returns the previous node on the chain. */ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Previous( Chain_Node *the_node @@ -277,13 +295,14 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Previous( return the_node->previous; } -/** @brief Return pointer the immutable previous node from this node +/** + * @brief Return pointer the immutable previous node from this node. * - * This function returns a pointer to the previous node on this chain. + * This function returns a pointer to the previous node on this chain. * - * @param[in] the_node is the node to be operated upon. + * @param[in] the_node is the node to be operated upon. * - * @return This method returns the previous node on the chain. + * @return This method returns the previous node on the chain. */ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_previous( const Chain_Node *the_node @@ -292,15 +311,16 @@ RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_previous( return the_node->previous; } -/** @brief Is the Chain Empty +/** + * @brief Is the chain empty. * - * This function returns true if there a no nodes on @a the_chain and - * false otherwise. + * This function returns true if there a no nodes on @a the_chain and + * false otherwise. * - * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_chain is the chain to be operated upon. * - * @return This function returns true if there a no nodes on @a the_chain and - * false otherwise. + * @retval true There are no nodes on @a the_chain. + * @retval false There are nodes on @a the_chain. */ RTEMS_INLINE_ROUTINE bool _Chain_Is_empty( const Chain_Control *the_chain @@ -310,16 +330,17 @@ RTEMS_INLINE_ROUTINE bool _Chain_Is_empty( == _Chain_Immutable_tail( the_chain ); } -/** @brief Is this the First Node on the Chain +/** + * @brief Is this the first node on the chain. * - * This function returns true if the_node is the first node on a chain and - * false otherwise. + * This function returns true if the_node is the first node on a chain and + * false otherwise. * - * @param[in] the_node is the node the caller wants to know if it is - * the first node on a chain. + * @param[in] the_node is the node the caller wants to know if it is + * the first node on a chain. * - * @return This function returns true if @a the_node is the first node on - * a chain and false otherwise. + * @retval true @a the_node is the first node on a chain. + * @retval false @a the_node is not the first node on a chain. */ RTEMS_INLINE_ROUTINE bool _Chain_Is_first( const Chain_Node *the_node @@ -328,15 +349,16 @@ RTEMS_INLINE_ROUTINE bool _Chain_Is_first( return (the_node->previous->previous == NULL); } -/** @brief Is this the Last Node on the Chain +/** + * @brief Is this the last node on the chain. * - * This function returns true if @a the_node is the last node on a chain and - * false otherwise. + * This function returns true if @a the_node is the last node on a chain and + * false otherwise. * - * @param[in] the_node is the node to check as the last node. + * @param[in] the_node is the node to check as the last node. * - * @return This function returns true if @a the_node is the last node on - * a chain and false otherwise. + * @retval true @a the_node is the last node on a chain. + * @retval false @a the_node is not the last node on a chain. */ RTEMS_INLINE_ROUTINE bool _Chain_Is_last( const Chain_Node *the_node @@ -345,15 +367,19 @@ RTEMS_INLINE_ROUTINE bool _Chain_Is_last( return (the_node->next->next == NULL); } -/** @brief Does this Chain have only One Node +/** + * @brief Does this chain have only one node. + * + * This function returns true if there is only one node on @a the_chain and + * false otherwise. * - * This function returns true if there is only one node on @a the_chain and - * false otherwise. + * @param[in] the_chain is the chain to be operated upon. * - * @param[in] the_chain is the chain to be operated upon. + * @return This function returns true if there is only one node on + * @a the_chain and false otherwise. * - * @return This function returns true if there is only one node on - * @a the_chain and false otherwise. + * @retval true There is only one node on @a the_chain. + * @retval false There is more than one node on @a the_chain. */ RTEMS_INLINE_ROUTINE bool _Chain_Has_only_one_node( const Chain_Control *the_chain @@ -363,16 +389,17 @@ RTEMS_INLINE_ROUTINE bool _Chain_Has_only_one_node( == _Chain_Immutable_last( the_chain ); } -/** @brief Is this Node the Chain Head +/** + * @brief Is this node the chain head. * - * This function returns true if @a the_node is the head of the_chain and - * false otherwise. + * This function returns true if @a the_node is the head of @a the_chain and + * false otherwise. * - * @param[in] the_chain is the chain to be operated upon. - * @param[in] the_node is the node to check for being the Chain Head. + * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_node is the node to check for being the Chain Head. * - * @return This function returns true if @a the_node is the head of - * @a the_chain and false otherwise. + * @retval true @a the_node is the head of @a the_chain. + * @retval false @a the_node is not the head of @a the_chain. */ RTEMS_INLINE_ROUTINE bool _Chain_Is_head( const Chain_Control *the_chain, @@ -382,13 +409,17 @@ RTEMS_INLINE_ROUTINE bool _Chain_Is_head( return (the_node == _Chain_Immutable_head( the_chain )); } -/** @brief Is this Node the Chail Tail +/** + * @brief Is this node the chail tail. * - * This function returns true if the_node is the tail of the_chain and - * false otherwise. + * This function returns true if @a the_node is the tail of @a the_chain and + * false otherwise. * - * @param[in] the_chain is the chain to be operated upon. - * @param[in] the_node is the node to check for being the Chain Tail. + * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_node is the node to check for being the Chain Tail. + * + * @retval true @a the_node is the tail of @a the_chain. + * @retval false @a the_node is not the tail of @a the_chain. */ RTEMS_INLINE_ROUTINE bool _Chain_Is_tail( const Chain_Control *the_chain, @@ -398,11 +429,12 @@ RTEMS_INLINE_ROUTINE bool _Chain_Is_tail( return (the_node == _Chain_Immutable_tail( the_chain )); } -/** @brief Initialize this Chain as Empty +/** + * @brief Initialize this chain as empty. * - * This routine initializes the specified chain to contain zero nodes. + * This routine initializes the specified chain to contain zero nodes. * - * @param[in] the_chain is the chain to be initialized. + * @param[in] the_chain is the chain to be initialized. */ RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty( Chain_Control *the_chain @@ -416,13 +448,14 @@ RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty( tail->previous = head; } -/** @brief Extract this Node (unprotected) +/** + * @brief Extract this node (unprotected). * - * This routine extracts the_node from the chain on which it resides. - * It does NOT disable interrupts to ensure the atomicity of the - * extract operation. + * This routine extracts the_node from the chain on which it resides. + * It does NOT disable interrupts to ensure the atomicity of the + * extract operation. * - * @param[in] the_node is the node to be extracted. + * @param[in] the_node is the node to be extracted. */ RTEMS_INLINE_ROUTINE void _Chain_Extract_unprotected( Chain_Node *the_node @@ -437,19 +470,20 @@ RTEMS_INLINE_ROUTINE void _Chain_Extract_unprotected( previous->next = next; } -/** @brief Get the First Node (unprotected) +/** + * @brief Get the first node (unprotected). * - * This function removes the first node from the_chain and returns - * a pointer to that node. It does NOT disable interrupts to ensure - * the atomicity of the get operation. + * This function removes the first node from the_chain and returns + * a pointer to that node. It does NOT disable interrupts to ensure + * the atomicity of the get operation. * - * @param[in] the_chain is the chain to attempt to get the first node from. + * @param[in] the_chain is the chain to attempt to get the first node from. * - * @return This method returns the first node on the chain even if it is - * the Chain Tail. + * @return This method returns the first node on the chain even if it is + * the Chain Tail. * - * @note This routine assumes that there is at least one node on the chain - * and always returns a node even if it is the Chain Tail. + * @note This routine assumes that there is at least one node on the chain + * and always returns a node even if it is the Chain Tail. */ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_first_unprotected( Chain_Control *the_chain @@ -465,18 +499,19 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_first_unprotected( return old_first; } -/** @brief Get the First Node (unprotected) +/** + * @brief Get the first node (unprotected). * - * This function removes the first node from the_chain and returns - * a pointer to that node. If the_chain is empty, then NULL is returned. + * This function removes the first node from the_chain and returns + * a pointer to that node. If the_chain is empty, then NULL is returned. * - * @param[in] the_chain is the chain to attempt to get the first node from. + * @param[in] the_chain is the chain to attempt to get the first node from. * - * @return This method returns the first node on the chain or NULL if the - * chain is empty. + * @return This method returns the first node on the chain or NULL if the + * chain is empty. * - * @note It does NOT disable interrupts to ensure the atomicity of the - * get operation. + * @note It does NOT disable interrupts to ensure the atomicity of the + * get operation. */ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_unprotected( Chain_Control *the_chain @@ -488,17 +523,18 @@ RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_unprotected( return NULL; } -/** @brief Insert a Node (unprotected) +/** + * @brief Insert a node (unprotected). * - * This routine inserts the_node on a chain immediately following - * after_node. + * This routine inserts the_node on a chain immediately following + * after_node. * - * @param[in] after_node is the node which will precede @a the_node on the - * chain. - * @param[in] the_node is the node to be inserted. + * @param[in] after_node is the node which will precede @a the_node on the + * chain. + * @param[in] the_node is the node to be inserted. * - * @note It does NOT disable interrupts to ensure the atomicity - * of the extract operation. + * @note It does NOT disable interrupts to ensure the atomicity + * of the extract operation. */ RTEMS_INLINE_ROUTINE void _Chain_Insert_unprotected( Chain_Node *after_node, @@ -514,15 +550,16 @@ RTEMS_INLINE_ROUTINE void _Chain_Insert_unprotected( before_node->previous = the_node; } -/** @brief Append a Node (unprotected) +/** + * @brief Append a node (unprotected). * - * This routine appends the_node onto the end of the_chain. + * This routine appends the_node onto the end of the_chain. * - * @param[in] the_chain is the chain to be operated upon. - * @param[in] the_node is the node to be appended. + * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_node is the node to be appended. * - * @note It does NOT disable interrupts to ensure the atomicity of the - * append operation. + * @note It does NOT disable interrupts to ensure the atomicity of the + * append operation. */ RTEMS_INLINE_ROUTINE void _Chain_Append_unprotected( Chain_Control *the_chain, @@ -539,13 +576,13 @@ RTEMS_INLINE_ROUTINE void _Chain_Append_unprotected( } /** - * @brief Append a node on the end of a chain if the node is in the off chain - * state (unprotected). + * @brief Append a node on the end of a chain if the node is in the off chain + * state (unprotected). * - * @note It does NOT disable interrupts to ensure the atomicity of the - * append operation. + * @note It does NOT disable interrupts to ensure the atomicity of the + * append operation. * - * @see _Chain_Append_unprotected() and _Chain_Is_node_off_chain(). + * @see _Chain_Append_unprotected() and _Chain_Is_node_off_chain(). */ RTEMS_INLINE_ROUTINE void _Chain_Append_if_is_off_chain_unprotected( Chain_Control *the_chain, @@ -557,15 +594,16 @@ RTEMS_INLINE_ROUTINE void _Chain_Append_if_is_off_chain_unprotected( } } -/** @brief Prepend a Node (unprotected) +/** + * @brief Prepend a node (unprotected). * - * This routine prepends the_node onto the front of the_chain. + * This routine prepends the_node onto the front of the_chain. * - * @param[in] the_chain is the chain to be operated upon. - * @param[in] the_node is the node to be prepended. + * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_node is the node to be prepended. * - * @note It does NOT disable interrupts to ensure the atomicity of the - * prepend operation. + * @note It does NOT disable interrupts to ensure the atomicity of the + * prepend operation. */ RTEMS_INLINE_ROUTINE void _Chain_Prepend_unprotected( Chain_Control *the_chain, @@ -575,15 +613,16 @@ RTEMS_INLINE_ROUTINE void _Chain_Prepend_unprotected( _Chain_Insert_unprotected(_Chain_Head(the_chain), the_node); } -/** @brief Prepend a Node (protected) +/** + * @brief Prepend a node (protected). * - * This routine prepends the_node onto the front of the_chain. + * This routine prepends the_node onto the front of the_chain. * - * @param[in] the_chain is the chain to be operated upon. - * @param[in] the_node is the node to be prepended. + * @param[in] the_chain is the chain to be operated upon. + * @param[in] the_node is the node to be prepended. * - * @note It disables interrupts to ensure the atomicity of the - * prepend operation. + * @note It disables interrupts to ensure the atomicity of the + * prepend operation. */ RTEMS_INLINE_ROUTINE void _Chain_Prepend( Chain_Control *the_chain, @@ -688,7 +727,7 @@ RTEMS_INLINE_ROUTINE bool _Chain_Get_with_empty_check_unprotected( return is_empty_now; } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/corebarrier.inl b/cpukit/score/inline/rtems/score/corebarrier.inl index 1af05151db..5c41179de4 100644 --- a/cpukit/score/inline/rtems/score/corebarrier.inl +++ b/cpukit/score/inline/rtems/score/corebarrier.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/corebarrier.inl +/** + * @file + * + * @brief Inlined Routines Associated with the SuperCore Barrier * - * This include file contains all of the inlined routines associated - * with the SuperCore barrier. + * This include file contains all of the inlined routines associated + * with the SuperCore barrier. */ /* @@ -22,19 +24,21 @@ #define _RTEMS_SCORE_COREBARRIER_INL /** - * @addtogroup ScoreBarrier - * @{ + * @addtogroup ScoreBarrier + * + * @{ */ #include #include /** - * This function returns true if the automatic release attribute is - * enabled in the @a attribute_set and false otherwise. + * This function returns true if the automatic release attribute is + * enabled in the @a attribute_set and false otherwise. + * + * @param[in] the_attribute is the attribute set to test * - * @param[in] the_attribute is the attribute set to test - * @return true if the priority attribute is enabled + * @return true if the priority attribute is enabled */ RTEMS_INLINE_ROUTINE bool _CORE_barrier_Is_automatic( CORE_barrier_Attributes *the_attribute @@ -45,11 +49,11 @@ RTEMS_INLINE_ROUTINE bool _CORE_barrier_Is_automatic( } /** - * This routine returns the number of threads currently waiting at the barrier. + * This routine returns the number of threads currently waiting at the barrier. * - * @param[in] the_barrier is the barrier to obtain the number of blocked - * threads for - * @return the current count of this barrier + * @param[in] the_barrier is the barrier to obtain the number of blocked + * threads for + * @return the current count of this barrier */ RTEMS_INLINE_ROUTINE uint32_t _CORE_barrier_Get_number_of_waiting_threads( CORE_barrier_Control *the_barrier @@ -58,7 +62,7 @@ RTEMS_INLINE_ROUTINE uint32_t _CORE_barrier_Get_number_of_waiting_threads( return the_barrier->number_of_waiting_threads; } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/coremsg.inl b/cpukit/score/inline/rtems/score/coremsg.inl index 0191c3cd1e..2db8c971bd 100644 --- a/cpukit/score/inline/rtems/score/coremsg.inl +++ b/cpukit/score/inline/rtems/score/coremsg.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/coremsg.inl +/** + * @file + * + * @brief Inlined Routines in the Core Message Handler * - * This include file contains the static inline implementation of all - * inlined routines in the Core Message Handler. + * This include file contains the static inline implementation of all + * inlined routines in the Core Message Handler. */ /* @@ -22,14 +24,15 @@ #define _RTEMS_SCORE_COREMSG_INL /** - * @addtogroup ScoreMessageQueue - * @{ + * @addtogroup ScoreMessageQueue + * + * @{ */ #include /* needed for memcpy */ - + /** - * This routine sends a message to the end of the specified message queue. + * This routine sends a message to the end of the specified message queue. */ RTEMS_INLINE_ROUTINE CORE_message_queue_Status _CORE_message_queue_Send( CORE_message_queue_Control *the_message_queue, @@ -52,9 +55,9 @@ RTEMS_INLINE_ROUTINE CORE_message_queue_Status _CORE_message_queue_Send( timeout /* timeout interval */ ); } - + /** - * This routine sends a message to the front of the specified message queue. + * This routine sends a message to the front of the specified message queue. */ RTEMS_INLINE_ROUTINE CORE_message_queue_Status _CORE_message_queue_Urgent( CORE_message_queue_Control *the_message_queue, @@ -79,8 +82,8 @@ RTEMS_INLINE_ROUTINE CORE_message_queue_Status _CORE_message_queue_Urgent( } /** - * This routine copies the contents of the source message buffer - * to the destination message buffer. + * This routine copies the contents of the source message buffer + * to the destination message buffer. */ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Copy_buffer ( const void *source, @@ -92,8 +95,8 @@ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Copy_buffer ( } /** - * This function allocates a message buffer from the inactive - * message buffer chain. + * This function allocates a message buffer from the inactive + * message buffer chain. */ RTEMS_INLINE_ROUTINE CORE_message_queue_Buffer_control * _CORE_message_queue_Allocate_message_buffer ( @@ -105,8 +108,8 @@ _CORE_message_queue_Allocate_message_buffer ( } /** - * This routine frees a message buffer to the inactive - * message buffer chain. + * This routine frees a message buffer to the inactive + * message buffer chain. */ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Free_message_buffer ( CORE_message_queue_Control *the_message_queue, @@ -117,10 +120,10 @@ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Free_message_buffer ( } /** - * This function returns the priority of @a the_message. + * This function returns the priority of @a the_message. * - * NOTE: It encapsulates the optional behavior that message priority is - * disabled if no API requires it. + * @note It encapsulates the optional behavior that message priority is + * disabled if no API requires it. */ RTEMS_INLINE_ROUTINE int _CORE_message_queue_Get_message_priority ( CORE_message_queue_Buffer_control *the_message @@ -134,14 +137,14 @@ RTEMS_INLINE_ROUTINE int _CORE_message_queue_Get_message_priority ( } /** - * This function sets the priority of @a the_message. + * This function sets the priority of @a the_message. * - * NOTE: It encapsulates the optional behavior that message priority is - * disabled if no API requires it. + * @note It encapsulates the optional behavior that message priority is + * disabled if no API requires it. */ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Set_message_priority ( CORE_message_queue_Buffer_control *the_message, - int priority + int priority ) { #if defined(RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY) @@ -150,8 +153,8 @@ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Set_message_priority ( } /** - * This function removes the first message from the_message_queue - * and returns a pointer to it. + * This function removes the first message from the_message_queue + * and returns a pointer to it. */ RTEMS_INLINE_ROUTINE CORE_message_queue_Buffer_control *_CORE_message_queue_Get_pending_message ( @@ -163,8 +166,8 @@ RTEMS_INLINE_ROUTINE } /** - * This function returns true if the priority attribute is - * enabled in the attribute_set and false otherwise. + * This function returns true if the priority attribute is + * enabled in the attribute_set and false otherwise. */ RTEMS_INLINE_ROUTINE bool _CORE_message_queue_Is_priority( CORE_message_queue_Attributes *the_attribute @@ -175,8 +178,8 @@ RTEMS_INLINE_ROUTINE bool _CORE_message_queue_Is_priority( } /** - * This routine places the_message at the rear of the outstanding - * messages on the_message_queue. + * This routine places the_message at the rear of the outstanding + * messages on the_message_queue. */ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Append_unprotected ( CORE_message_queue_Control *the_message_queue, @@ -190,8 +193,8 @@ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Append_unprotected ( } /** - * This routine places the_message at the front of the outstanding - * messages on the_message_queue. + * This routine places the_message at the front of the outstanding + * messages on the_message_queue. */ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Prepend_unprotected ( CORE_message_queue_Control *the_message_queue, @@ -205,7 +208,7 @@ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Prepend_unprotected ( } /** - * This function returns true if the_message_queue is true and false otherwise. + * This function returns true if the_message_queue is true and false otherwise. */ RTEMS_INLINE_ROUTINE bool _CORE_message_queue_Is_null ( CORE_message_queue_Control *the_message_queue @@ -216,8 +219,8 @@ RTEMS_INLINE_ROUTINE bool _CORE_message_queue_Is_null ( #if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION) /** - * This function returns true if notification is enabled on this message - * queue and false otherwise. + * This function returns true if notification is enabled on this message + * queue and false otherwise. */ RTEMS_INLINE_ROUTINE bool _CORE_message_queue_Is_notify_enabled ( CORE_message_queue_Control *the_message_queue @@ -228,8 +231,8 @@ RTEMS_INLINE_ROUTINE bool _CORE_message_queue_Is_null ( #endif /** - * This routine initializes the notification information for - * @a the_message_queue. + * This routine initializes the notification information for + * @a the_message_queue. */ #if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION) RTEMS_INLINE_ROUTINE void _CORE_message_queue_Set_notify ( @@ -247,7 +250,7 @@ RTEMS_INLINE_ROUTINE bool _CORE_message_queue_Is_null ( the_message_queue, the_handler, the_argument ) #endif -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/corerwlock.inl b/cpukit/score/inline/rtems/score/corerwlock.inl index 8736c0f331..c9d499b5c9 100644 --- a/cpukit/score/inline/rtems/score/corerwlock.inl +++ b/cpukit/score/inline/rtems/score/corerwlock.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/corerwlock.inl +/** + * @file + * + * @brief Inlined Routines Associated with the SuperCore RWLock * - * This include file contains all of the inlined routines associated - * with the SuperCore RWLock. + * This include file contains all of the inlined routines associated + * with the SuperCore RWLock. */ /* @@ -22,18 +24,18 @@ #define _RTEMS_SCORE_CORERWLOCK_INL /** - * @addtogroup ScoreRWLock - * @{ + * @addtogroup ScoreRWLock + * + * @{ */ #include #include /** + * This method is used to initialize core rwlock attributes. * - * This method is used to initialize core rwlock attributes. - * - * @param[in] the_attributes pointer to the attributes to initialize. + * @param[in] the_attributes pointer to the attributes to initialize. */ RTEMS_INLINE_ROUTINE void _CORE_RWLock_Initialize_attributes( CORE_RWLock_Attributes *the_attributes @@ -43,7 +45,7 @@ RTEMS_INLINE_ROUTINE void _CORE_RWLock_Initialize_attributes( } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/coresem.inl b/cpukit/score/inline/rtems/score/coresem.inl index f504798f31..91f4aa17f1 100644 --- a/cpukit/score/inline/rtems/score/coresem.inl +++ b/cpukit/score/inline/rtems/score/coresem.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/coresem.inl +/** + * @file + * + * @brief Inlined Routines Associated with the SuperCore Semaphore * - * This include file contains all of the inlined routines associated - * with the SuperCore semaphore. + * This include file contains all of the inlined routines associated + * with the SuperCore semaphore. */ /* @@ -22,19 +24,21 @@ #define _RTEMS_SCORE_CORESEM_INL /** - * @addtogroup ScoreSemaphore - * @{ + * @addtogroup ScoreSemaphore + * + * @{ */ #include #include /** - * This function returns true if the priority attribute is - * enabled in the @a attribute_set and false otherwise. + * This function returns true if the priority attribute is + * enabled in the @a attribute_set and false otherwise. + * + * @param[in] the_attribute is the attribute set to test * - * @param[in] the_attribute is the attribute set to test - * @return true if the priority attribute is enabled + * @return true if the priority attribute is enabled */ RTEMS_INLINE_ROUTINE bool _CORE_semaphore_Is_priority( CORE_semaphore_Attributes *the_attribute @@ -44,10 +48,11 @@ RTEMS_INLINE_ROUTINE bool _CORE_semaphore_Is_priority( } /** - * This routine returns the current count associated with the semaphore. + * This routine returns the current count associated with the semaphore. * - * @param[in] the_semaphore is the semaphore to obtain the count of - * @return the current count of this semaphore + * @param[in] the_semaphore is the semaphore to obtain the count of + * + * @return the current count of this semaphore */ RTEMS_INLINE_ROUTINE uint32_t _CORE_semaphore_Get_count( CORE_semaphore_Control *the_semaphore @@ -57,19 +62,19 @@ RTEMS_INLINE_ROUTINE uint32_t _CORE_semaphore_Get_count( } /** - * This routine attempts to receive a unit from the_semaphore. - * If a unit is available or if the wait flag is false, then the routine - * returns. Otherwise, the calling task is blocked until a unit becomes - * available. + * This routine attempts to receive a unit from the_semaphore. + * If a unit is available or if the wait flag is false, then the routine + * returns. Otherwise, the calling task is blocked until a unit becomes + * available. * - * @param[in] the_semaphore is the semaphore to obtain - * @param[in] id is the Id of the owning API level Semaphore object - * @param[in] wait is true if the thread is willing to wait - * @param[in] timeout is the maximum number of ticks to block - * @param[in] level_p is a temporary variable used to contain the ISR - * disable level cookie + * @param[in] the_semaphore is the semaphore to obtain + * @param[in] id is the Id of the owning API level Semaphore object + * @param[in] wait is true if the thread is willing to wait + * @param[in] timeout is the maximum number of ticks to block + * @param[in] level_p is a temporary variable used to contain the ISR + * disable level cookie * - * @note There is currently no MACRO version of this routine. + * @note There is currently no MACRO version of this routine. */ RTEMS_INLINE_ROUTINE void _CORE_semaphore_Seize_isr_disable( CORE_semaphore_Control *the_semaphore, @@ -77,12 +82,12 @@ RTEMS_INLINE_ROUTINE void _CORE_semaphore_Seize_isr_disable( bool wait, Watchdog_Interval timeout, ISR_Level *level_p -) -{ +) +{ Thread_Control *executing; /* disabled when you get here */ - + executing = _Thread_Executing; executing->Wait.return_code = CORE_SEMAPHORE_STATUS_SUCCESSFUL; if ( the_semaphore->count != 0 ) { @@ -107,7 +112,7 @@ RTEMS_INLINE_ROUTINE void _CORE_semaphore_Seize_isr_disable( _Thread_Enable_dispatch(); } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/corespinlock.inl b/cpukit/score/inline/rtems/score/corespinlock.inl index f45f320d85..28f4fc75bc 100644 --- a/cpukit/score/inline/rtems/score/corespinlock.inl +++ b/cpukit/score/inline/rtems/score/corespinlock.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/corespinlock.inl +/** + * @file + * + * @brief Inlined Routines Associated with the SuperCore Spinlock * - * This include file contains all of the inlined routines associated - * with the SuperCore spinlock. + * This include file contains all of the inlined routines associated + * with the SuperCore spinlock. */ /* @@ -22,15 +24,15 @@ #define _RTEMS_SCORE_CORESPINLOCK_INL /** - * @addtogroup ScoreSpinlock - * @{ + * @addtogroup ScoreSpinlock + * + * @{ */ /** + * This method is used to initialize core spinlock attributes. * - * This method is used to initialize core spinlock attributes. - * - * @param[in] the_attributes pointer to the attributes to initialize. + * @param[in] the_attributes pointer to the attributes to initialize. */ RTEMS_INLINE_ROUTINE void _CORE_spinlock_Initialize_attributes( CORE_spinlock_Attributes *the_attributes @@ -40,13 +42,12 @@ RTEMS_INLINE_ROUTINE void _CORE_spinlock_Initialize_attributes( } /** + * This method is used to determine if the spinlock is available or not. * - * This method is used to determine if the spinlock is available or not. - * - * @param[in] the_spinlock will be checked + * @param[in] the_spinlock will be checked * - * @return This method will return true if the spinlock is busy - * and false otherwise. + * @return This method will return true if the spinlock is busy + * and false otherwise. */ RTEMS_INLINE_ROUTINE bool _CORE_spinlock_Is_busy( CORE_spinlock_Control *the_spinlock @@ -55,7 +56,7 @@ RTEMS_INLINE_ROUTINE bool _CORE_spinlock_Is_busy( return (the_spinlock->users != 0); } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/isr.inl b/cpukit/score/inline/rtems/score/isr.inl index accc03c2c7..fb450e4a11 100644 --- a/cpukit/score/inline/rtems/score/isr.inl +++ b/cpukit/score/inline/rtems/score/isr.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/isr.inl +/** + * @file + * + * @brief Inlined Routines in the Interrupt Handler * - * This include file contains the static implementation of all - * inlined routines in the Interrupt Handler. + * This include file contains the static implementation of all + * inlined routines in the Interrupt Handler. */ /* @@ -22,14 +24,15 @@ #define _RTEMS_SCORE_ISR_INL /** - * @addtogroup ScoreISR - * @{ + * @addtogroup ScoreISR + * + * @{ */ #if (CPU_SIMPLE_VECTORED_INTERRUPTS == TRUE) /** - * This function returns true if the vector is a valid vector number - * for this processor and false otherwise. + * This function returns true if the vector is a valid vector number + * for this processor and false otherwise. */ RTEMS_INLINE_ROUTINE bool _ISR_Is_vector_number_valid ( @@ -40,8 +43,8 @@ RTEMS_INLINE_ROUTINE bool _ISR_Is_vector_number_valid ( } /** - * This function returns true if handler is the entry point of a valid - * use interrupt service routine and false otherwise. + * This function returns true if handler is the entry point of a valid + * use interrupt service routine and false otherwise. */ RTEMS_INLINE_ROUTINE bool _ISR_Is_valid_user_handler ( @@ -52,7 +55,7 @@ RTEMS_INLINE_ROUTINE bool _ISR_Is_valid_user_handler ( } #endif -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/mppkt.inl b/cpukit/score/inline/rtems/score/mppkt.inl index c83242464e..2e681cdfff 100644 --- a/cpukit/score/inline/rtems/score/mppkt.inl +++ b/cpukit/score/inline/rtems/score/mppkt.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/mppkt.inl +/** + * @file + * + * @brief Inlined Routines from the Packet Handler * - * This package is the implementation of the Packet Handler - * routines which are inlined. + * This package is the implementation of the Packet Handler + * routines which are inlined. */ /* @@ -22,16 +24,17 @@ #define _RTEMS_SCORE_MPPKT_INL /** - * @addtogroup ScoreMPPacket - * @{ + * @addtogroup ScoreMPPacket + * + * @{ */ /** - * This function returns true if the the_packet_class is valid, - * and false otherwise. + * This function returns true if the the_packet_class is valid, + * and false otherwise. * - * @note Check for lower bounds (MP_PACKET_CLASSES_FIRST ) is unnecessary - * because this enum starts at lower bound of zero. + * @note Check for lower bounds (MP_PACKET_CLASSES_FIRST ) is unnecessary + * because this enum starts at lower bound of zero. */ RTEMS_INLINE_ROUTINE bool _Mp_packet_Is_valid_packet_class ( @@ -42,8 +45,8 @@ RTEMS_INLINE_ROUTINE bool _Mp_packet_Is_valid_packet_class ( } /** - * This function returns true if the the_packet_class is null, - * and false otherwise. + * This function returns true if the the_packet_class is null, + * and false otherwise. */ RTEMS_INLINE_ROUTINE bool _Mp_packet_Is_null ( @@ -53,7 +56,7 @@ RTEMS_INLINE_ROUTINE bool _Mp_packet_Is_null ( return the_packet == NULL; } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/object.inl b/cpukit/score/inline/rtems/score/object.inl index 1f3adcb274..726d676cd9 100644 --- a/cpukit/score/inline/rtems/score/object.inl +++ b/cpukit/score/inline/rtems/score/object.inl @@ -1,5 +1,7 @@ /** - * @file rtems/score/object.inl + * @file + * + * @brief Inlined Routines in the Object Handler * * This include file contains the static inline implementation of all * of the inlined routines in the Object Handler. @@ -22,16 +24,16 @@ #define _RTEMS_SCORE_OBJECT_INL /** - * This function builds an object's id from the processor node and index - * values specified. + * This function builds an object's id from the processor node and index + * values specified. * - * @param[in] the_api indicates the API associated with this Id. - * @param[in] the_class indicates the class of object. - * It is specific to @a the_api. - * @param[in] node is the node where this object resides. - * @param[in] index is the instance number of this object. + * @param[in] the_api indicates the API associated with this Id. + * @param[in] the_class indicates the class of object. + * It is specific to @a the_api. + * @param[in] node is the node where this object resides. + * @param[in] index is the instance number of this object. * - * @return This method returns an object Id constructed from the arguments. + * @return This method returns an object Id constructed from the arguments. */ RTEMS_INLINE_ROUTINE Objects_Id _Objects_Build_id( Objects_APIs the_api, @@ -49,11 +51,11 @@ RTEMS_INLINE_ROUTINE Objects_Id _Objects_Build_id( } /** - * This function returns the API portion of the ID. + * This function returns the API portion of the ID. * - * @param[in] id is the object Id to be processed. + * @param[in] id is the object Id to be processed. * - * @return This method returns an object Id constructed from the arguments. + * @return This method returns an object Id constructed from the arguments. */ RTEMS_INLINE_ROUTINE Objects_APIs _Objects_Get_API( Objects_Id id @@ -63,24 +65,24 @@ RTEMS_INLINE_ROUTINE Objects_APIs _Objects_Get_API( } /** - * This function returns the class portion of the ID. + * This function returns the class portion of the ID. * - * @param[in] id is the object Id to be processed + * @param[in] id is the object Id to be processed */ RTEMS_INLINE_ROUTINE uint32_t _Objects_Get_class( Objects_Id id ) { - return (uint32_t) + return (uint32_t) ((id >> OBJECTS_CLASS_START_BIT) & OBJECTS_CLASS_VALID_BITS); } - + /** - * This function returns the node portion of the ID. + * This function returns the node portion of the ID. * - * @param[in] id is the object Id to be processed + * @param[in] id is the object Id to be processed * - * @return This method returns the node portion of an object ID. + * @return This method returns the node portion of an object ID. */ RTEMS_INLINE_ROUTINE uint32_t _Objects_Get_node( Objects_Id id @@ -98,11 +100,11 @@ RTEMS_INLINE_ROUTINE uint32_t _Objects_Get_node( } /** - * This function returns the index portion of the ID. + * This function returns the index portion of the ID. * - * @param[in] id is the Id to be processed + * @param[in] id is the Id to be processed * - * @return This method returns the class portion of the specified object ID. + * @return This method returns the class portion of the specified object ID. */ RTEMS_INLINE_ROUTINE Objects_Maximum _Objects_Get_index( Objects_Id id @@ -114,12 +116,12 @@ RTEMS_INLINE_ROUTINE Objects_Maximum _Objects_Get_index( } /** - * This function returns true if the api is valid. + * This function returns true if the api is valid. * - * @param[in] the_api is the api portion of an object ID. + * @param[in] the_api is the api portion of an object ID. * - * @return This method returns true if the specified api value is valid - * and false otherwise. + * @return This method returns true if the specified api value is valid + * and false otherwise. */ RTEMS_INLINE_ROUTINE bool _Objects_Is_api_valid( uint32_t the_api @@ -129,16 +131,16 @@ RTEMS_INLINE_ROUTINE bool _Objects_Is_api_valid( return false; return true; } - + /** - * This function returns true if the node is of the local object, and - * false otherwise. + * This function returns true if the node is of the local object, and + * false otherwise. * - * @param[in] node is the node number and corresponds to the node number - * portion of an object ID. + * @param[in] node is the node number and corresponds to the node number + * portion of an object ID. * - * @return This method returns true if the specified node is the local node - * and false otherwise. + * @return This method returns true if the specified node is the local node + * and false otherwise. */ RTEMS_INLINE_ROUTINE bool _Objects_Is_local_node( uint32_t node @@ -148,15 +150,15 @@ RTEMS_INLINE_ROUTINE bool _Objects_Is_local_node( } /** - * This function returns true if the id is of a local object, and - * false otherwise. + * This function returns true if the id is of a local object, and + * false otherwise. * - * @param[in] id is an object ID + * @param[in] id is an object ID * - * @return This method returns true if the specified object Id is local - * and false otherwise. + * @return This method returns true if the specified object Id is local + * and false otherwise. * - * @note On a single processor configuration, this always returns true. + * @note On a single processor configuration, this always returns true. */ RTEMS_INLINE_ROUTINE bool _Objects_Is_local_id( #if defined(RTEMS_MULTIPROCESSING) @@ -174,14 +176,14 @@ RTEMS_INLINE_ROUTINE bool _Objects_Is_local_id( } /** - * This function returns true if left and right are equal, - * and false otherwise. + * This function returns true if left and right are equal, + * and false otherwise. * - * @param[in] left is the Id on the left hand side of the comparison - * @param[in] right is the Id on the right hand side of the comparison + * @param[in] left is the Id on the left hand side of the comparison + * @param[in] right is the Id on the right hand side of the comparison * - * @return This method returns true if the specified object IDs are equal - * and false otherwise. + * @return This method returns true if the specified object IDs are equal + * and false otherwise. */ RTEMS_INLINE_ROUTINE bool _Objects_Are_ids_equal( Objects_Id left, @@ -192,14 +194,14 @@ RTEMS_INLINE_ROUTINE bool _Objects_Are_ids_equal( } /** - * This function returns a pointer to the local_table object - * referenced by the index. + * This function returns a pointer to the local_table object + * referenced by the index. * - * @param[in] information points to an Object Information Table - * @param[in] index is the index of the object the caller wants to access + * @param[in] information points to an Object Information Table + * @param[in] index is the index of the object the caller wants to access * - * @return This method returns a pointer to a local object or NULL if the - * index is invalid and RTEMS_DEBUG is enabled. + * @return This method returns a pointer to a local object or NULL if the + * index is invalid and RTEMS_DEBUG is enabled. */ RTEMS_INLINE_ROUTINE Objects_Control *_Objects_Get_local_object( Objects_Information *information, @@ -207,10 +209,10 @@ RTEMS_INLINE_ROUTINE Objects_Control *_Objects_Get_local_object( ) { /* - * This routine is ONLY to be called from places in the code - * where the Id is known to be good. Therefore, this should NOT - * occur in normal situations. - */ + * This routine is ONLY to be called from places in the code + * where the Id is known to be good. Therefore, this should NOT + * occur in normal situations. + */ #if defined(RTEMS_DEBUG) if ( index > information->maximum ) return NULL; @@ -219,17 +221,17 @@ RTEMS_INLINE_ROUTINE Objects_Control *_Objects_Get_local_object( } /** - * This function sets the pointer to the local_table object - * referenced by the index. + * This function sets the pointer to the local_table object + * referenced by the index. * - * @param[in] information points to an Object Information Table - * @param[in] index is the index of the object the caller wants to access - * @param[in] the_object is the local object pointer + * @param[in] information points to an Object Information Table + * @param[in] index is the index of the object the caller wants to access + * @param[in] the_object is the local object pointer * - * @note This routine is ONLY to be called in places where the - * index portion of the Id is known to be good. This is - * OK since it is normally called from object create/init - * or delete/destroy operations. + * @note This routine is ONLY to be called in places where the + * index portion of the Id is known to be good. This is + * OK since it is normally called from object create/init + * or delete/destroy operations. */ RTEMS_INLINE_ROUTINE void _Objects_Set_local_object( @@ -242,7 +244,7 @@ RTEMS_INLINE_ROUTINE void _Objects_Set_local_object( * This routine is ONLY to be called from places in the code * where the Id is known to be good. Therefore, this should NOT * occur in normal situations. - */ + */ #if defined(RTEMS_DEBUG) if ( index > information->maximum ) return; @@ -252,17 +254,17 @@ RTEMS_INLINE_ROUTINE void _Objects_Set_local_object( } /** - * This function sets the pointer to the local_table object - * referenced by the index to a NULL so the object Id is invalid - * after this call. + * This function sets the pointer to the local_table object + * referenced by the index to a NULL so the object Id is invalid + * after this call. * - * @param[in] information points to an Object Information Table - * @param[in] the_object is the local object pointer + * @param[in] information points to an Object Information Table + * @param[in] the_object is the local object pointer * - * @note This routine is ONLY to be called in places where the - * index portion of the Id is known to be good. This is - * OK since it is normally called from object create/init - * or delete/destroy operations. + * @note This routine is ONLY to be called in places where the + * index portion of the Id is known to be good. This is + * OK since it is normally called from object create/init + * or delete/destroy operations. */ RTEMS_INLINE_ROUTINE void _Objects_Invalidate_Id( @@ -278,12 +280,12 @@ RTEMS_INLINE_ROUTINE void _Objects_Invalidate_Id( } /** - * This function places the_object control pointer and object name - * in the Local Pointer and Local Name Tables, respectively. + * This function places the_object control pointer and object name + * in the Local Pointer and Local Name Tables, respectively. * - * @param[in] information points to an Object Information Table - * @param[in] the_object is a pointer to an object - * @param[in] name is the name of the object to make accessible + * @param[in] information points to an Object Information Table + * @param[in] the_object is a pointer to an object + * @param[in] name is the name of the object to make accessible */ RTEMS_INLINE_ROUTINE void _Objects_Open( Objects_Information *information, @@ -301,12 +303,12 @@ RTEMS_INLINE_ROUTINE void _Objects_Open( } /** - * This function places the_object control pointer and object name - * in the Local Pointer and Local Name Tables, respectively. + * This function places the_object control pointer and object name + * in the Local Pointer and Local Name Tables, respectively. * - * @param[in] information points to an Object Information Table - * @param[in] the_object is a pointer to an object - * @param[in] name is the name of the object to make accessible + * @param[in] information points to an Object Information Table + * @param[in] the_object is a pointer to an object + * @param[in] name is the name of the object to make accessible */ RTEMS_INLINE_ROUTINE void _Objects_Open_u32( Objects_Information *information, @@ -320,17 +322,17 @@ RTEMS_INLINE_ROUTINE void _Objects_Open_u32( the_object ); - /* ASSERT: information->is_string == false */ + /* ASSERT: information->is_string == false */ the_object->name.name_u32 = name; } /** - * This function places the_object control pointer and object name - * in the Local Pointer and Local Name Tables, respectively. + * This function places the_object control pointer and object name + * in the Local Pointer and Local Name Tables, respectively. * - * @param[in] information points to an Object Information Table - * @param[in] the_object is a pointer to an object - * @param[in] name is the name of the object to make accessible + * @param[in] information points to an Object Information Table + * @param[in] the_object is a pointer to an object + * @param[in] name is the name of the object to make accessible */ RTEMS_INLINE_ROUTINE void _Objects_Open_string( Objects_Information *information, @@ -345,18 +347,18 @@ RTEMS_INLINE_ROUTINE void _Objects_Open_string( ); #if defined(RTEMS_SCORE_OBJECT_ENABLE_STRING_NAMES) - /* ASSERT: information->is_string */ + /* ASSERT: information->is_string */ the_object->name.name_p = name; #endif } /** - * Returns if the object maximum specifies unlimited objects. + * Returns if the object maximum specifies unlimited objects. * - * @param[in] maximum The object maximum specification. + * @param[in] maximum The object maximum specification. * - * @retval true Unlimited objects are available. - * @retval false The object count is fixed. + * @retval true Unlimited objects are available. + * @retval false The object count is fixed. */ RTEMS_INLINE_ROUTINE bool _Objects_Is_unlimited( uint32_t maximum ) { diff --git a/cpukit/score/inline/rtems/score/objectmp.inl b/cpukit/score/inline/rtems/score/objectmp.inl index 502c946014..48e59d0a15 100644 --- a/cpukit/score/inline/rtems/score/objectmp.inl +++ b/cpukit/score/inline/rtems/score/objectmp.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/objectmp.inl +/** + * @file + * + * @brief Inlined Routines Associated with Global Objects * - * This include file contains the bodies of all inlined routines - * which deal with global objects. + * This include file contains the bodies of all inlined routines + * which deal with global objects. */ /* @@ -22,12 +24,13 @@ #define _RTEMS_SCORE_OBJECTMP_INL /** - * @addtogroup ScoreObjectMP - * @{ + * @addtogroup ScoreObjectMP + * + * @{ */ /** - * This function allocates a Global Object control block. + * This function allocates a Global Object control block. */ RTEMS_INLINE_ROUTINE Objects_MP_Control *_Objects_MP_Allocate_global_object ( @@ -39,7 +42,7 @@ RTEMS_INLINE_ROUTINE Objects_MP_Control *_Objects_MP_Allocate_global_object ( } /** - * This routine deallocates a Global Object control block. + * This routine deallocates a Global Object control block. */ RTEMS_INLINE_ROUTINE void _Objects_MP_Free_global_object ( @@ -53,7 +56,7 @@ RTEMS_INLINE_ROUTINE void _Objects_MP_Free_global_object ( } /** - * This function returns whether the global object is NULL or not. + * This function returns whether the global object is NULL or not. */ RTEMS_INLINE_ROUTINE bool _Objects_MP_Is_null_global_object ( @@ -63,7 +66,7 @@ RTEMS_INLINE_ROUTINE bool _Objects_MP_Is_null_global_object ( return( the_object == NULL ); } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/scheduler.inl b/cpukit/score/inline/rtems/score/scheduler.inl index 227cabc399..fcb9f19e88 100644 --- a/cpukit/score/inline/rtems/score/scheduler.inl +++ b/cpukit/score/inline/rtems/score/scheduler.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/scheduler.inl +/** + * @file + * + * @brief Inlined Routines Associated with the Manipulation of the Scheduler * - * This inline file contains all of the inlined routines associated with - * the manipulation of the scheduler. + * This inline file contains all of the inlined routines associated with + * the manipulation of the scheduler. */ /* @@ -22,135 +24,146 @@ #define _RTEMS_SCORE_SCHEDULER_INL /** - * @addtogroup ScoreScheduler + * @addtogroup ScoreScheduler + * * @{ */ /** - * The preferred method to add a new scheduler is to define the jump table - * entries and add a case to the _Scheduler_Initialize routine. + * The preferred method to add a new scheduler is to define the jump table + * entries and add a case to the _Scheduler_Initialize routine. * - * Generic scheduling implementations that rely on the ready queue only can + * Generic scheduling implementations that rely on the ready queue only can * be found in the _Scheduler_queue_XXX functions. - * */ -/* Passing the Scheduler_Control* to these functions allows for multiple - * scheduler's to exist simultaneously, which could be useful on an SMP - * system. Then remote Schedulers may be accessible. How to protect such +/* + * Passing the Scheduler_Control* to these functions allows for multiple + * scheduler's to exist simultaneously, which could be useful on an SMP + * system. Then remote Schedulers may be accessible. How to protect such * accesses remains an open problem. */ -/** @brief _Scheduler_Schedule +/** + * @brief Scheduler schedule. * - * This kernel routine implements the scheduling decision logic for - * the scheduler. It does NOT dispatch. + * This kernel routine implements the scheduling decision logic for + * the scheduler. It does NOT dispatch. */ RTEMS_INLINE_ROUTINE void _Scheduler_Schedule( void ) { _Scheduler.Operations.schedule(); } -/** @brief _Scheduler_Yield +/** + * @brief Scheduler yield. * - * This routine is invoked when a thread wishes to voluntarily - * transfer control of the processor to another thread. This routine - * always operates on the scheduler that 'owns' the currently executing - * thread. + * This routine is invoked when a thread wishes to voluntarily + * transfer control of the processor to another thread. This routine + * always operates on the scheduler that 'owns' the currently executing + * thread. */ RTEMS_INLINE_ROUTINE void _Scheduler_Yield( void ) { _Scheduler.Operations.yield(); } -/** @brief _Scheduler_Block +/** + * @brief Scheduler block. * - * This routine removes @a the_thread from the scheduling decision for - * the scheduler. The primary task is to remove the thread from the - * ready queue. It performs any necessary schedulering operations - * including the selection of a new heir thread. + * This routine removes @a the_thread from the scheduling decision for + * the scheduler. The primary task is to remove the thread from the + * ready queue. It performs any necessary schedulering operations + * including the selection of a new heir thread. */ -RTEMS_INLINE_ROUTINE void _Scheduler_Block( - Thread_Control *the_thread +RTEMS_INLINE_ROUTINE void _Scheduler_Block( + Thread_Control *the_thread ) { _Scheduler.Operations.block( the_thread ); } -/** @brief _Scheduler_Unblock +/** + * @brief Scheduler unblock. * - * This routine adds @a the_thread to the scheduling decision for - * the scheduler. The primary task is to add the thread to the - * ready queue per the schedulering policy and update any appropriate - * scheduling variables, for example the heir thread. + * This routine adds @a the_thread to the scheduling decision for + * the scheduler. The primary task is to add the thread to the + * ready queue per the schedulering policy and update any appropriate + * scheduling variables, for example the heir thread. */ RTEMS_INLINE_ROUTINE void _Scheduler_Unblock( - Thread_Control *the_thread + Thread_Control *the_thread ) { _Scheduler.Operations.unblock( the_thread ); } -/** @brief _Scheduler_Allocate +/** + * @brief Scheduler allocate. * * This routine allocates @a the_thread->scheduler */ -RTEMS_INLINE_ROUTINE void* _Scheduler_Allocate( +RTEMS_INLINE_ROUTINE void* _Scheduler_Allocate( Thread_Control *the_thread ) { return _Scheduler.Operations.allocate( the_thread ); } -/** @brief _Scheduler_Free +/** + * @brief Scheduler free. * * This routine frees @a the_thread->scheduler */ -RTEMS_INLINE_ROUTINE void _Scheduler_Free( +RTEMS_INLINE_ROUTINE void _Scheduler_Free( Thread_Control *the_thread ) { return _Scheduler.Operations.free( the_thread ); } -/** @brief _Scheduler_Update +/** + * @brief Scheduler update. * * This routine updates @a the_thread->scheduler */ -RTEMS_INLINE_ROUTINE void _Scheduler_Update( +RTEMS_INLINE_ROUTINE void _Scheduler_Update( Thread_Control *the_thread ) { _Scheduler.Operations.update( the_thread ); } -/** @brief _Scheduler_Enqueue +/** + * @brief Scheduler enqueue. * * This routine enqueue @a the_thread->scheduler */ -RTEMS_INLINE_ROUTINE void _Scheduler_Enqueue( +RTEMS_INLINE_ROUTINE void _Scheduler_Enqueue( Thread_Control *the_thread ) { _Scheduler.Operations.enqueue( the_thread ); } -/** @brief _Scheduler_Enqueue_first +/** + * @brief Scheduler enqueue first. * * This routine enqueue_first @a the_thread->scheduler */ -RTEMS_INLINE_ROUTINE void _Scheduler_Enqueue_first( +RTEMS_INLINE_ROUTINE void _Scheduler_Enqueue_first( Thread_Control *the_thread ) { _Scheduler.Operations.enqueue_first( the_thread ); } -/** @brief _Scheduler_Extract +/** + * @brief Scheduler extract. * * This routine extract @a the_thread->scheduler */ -RTEMS_INLINE_ROUTINE void _Scheduler_Extract( +RTEMS_INLINE_ROUTINE void _Scheduler_Extract( Thread_Control *the_thread ) { @@ -158,7 +171,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Extract( } /** - * @brief Scheduler Priority compare + * @brief Scheduler priority compare. * * This routine compares two priorities. */ @@ -171,7 +184,7 @@ RTEMS_INLINE_ROUTINE int _Scheduler_Priority_compare( } /** - * @brief Scheduler Release job + * @brief Scheduler release job. * * This routine is called when a new period of task is issued. */ @@ -183,10 +196,11 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Release_job( _Scheduler.Operations.release_job(the_thread, length); } -/** @brief Scheduler Method Invoked at Each Clock Tick +/** + * @brief Scheduler method invoked at each clock tick. * * This method is invoked at each clock tick to allow the scheduler - * implementation to perform any activities required. For the + * implementation to perform any activities required. For the * scheduler which support standard RTEMS features, this includes * time-slicing management. */ @@ -195,7 +209,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_Tick( void ) _Scheduler.Operations.tick(); } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/stack.inl b/cpukit/score/inline/rtems/score/stack.inl index 2f60f0f50b..697263bdea 100644 --- a/cpukit/score/inline/rtems/score/stack.inl +++ b/cpukit/score/inline/rtems/score/stack.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/stack.inl +/** + * @file + * + * @brief Inlined Routines from the Stack Handler * - * This file contains the static inline implementation of the inlined - * routines from the Stack Handler. + * This file contains the static inline implementation of the inlined + * routines from the Stack Handler. */ /* @@ -24,14 +26,15 @@ #include /* RTEMS_INLINE_ROUTINE */ /** - * @addtogroup ScoreStack - * @{ + * @addtogroup ScoreStack + * + * @{ */ /** - * This routine initializes the_stack record to indicate that - * size bytes of memory starting at starting_address have been - * reserved for a stack. + * This routine initializes the_stack record to indicate that + * size bytes of memory starting at starting_address have been + * reserved for a stack. */ RTEMS_INLINE_ROUTINE void _Stack_Initialize ( Stack_Control *the_stack, @@ -44,10 +47,10 @@ RTEMS_INLINE_ROUTINE void _Stack_Initialize ( } /** - * This function returns the minimum stack size configured - * for this application. + * This function returns the minimum stack size configured + * for this application. * - * @return This method returns the minimum stack size; + * @return This method returns the minimum stack size; */ RTEMS_INLINE_ROUTINE uint32_t _Stack_Minimum (void) { @@ -55,12 +58,12 @@ RTEMS_INLINE_ROUTINE uint32_t _Stack_Minimum (void) } /** - * This function returns true if size bytes is enough memory for - * a valid stack area on this processor, and false otherwise. + * This function returns true if size bytes is enough memory for + * a valid stack area on this processor, and false otherwise. * - * @param[in] size is the stack size to check + * @param[in] size is the stack size to check * - * @return This method returns true if the stack is large enough. + * @return This method returns true if the stack is large enough. */ RTEMS_INLINE_ROUTINE bool _Stack_Is_enough ( size_t size @@ -70,13 +73,13 @@ RTEMS_INLINE_ROUTINE bool _Stack_Is_enough ( } /** - * This function returns the appropriate stack size given the requested - * size. If the requested size is below the minimum, then the minimum - * configured stack size is returned. + * This function returns the appropriate stack size given the requested + * size. If the requested size is below the minimum, then the minimum + * configured stack size is returned. * - * @param[in] size is the stack size to check + * @param[in] size is the stack size to check * - * @return This method returns the appropriate stack size. + * @return This method returns the appropriate stack size. */ RTEMS_INLINE_ROUTINE size_t _Stack_Ensure_minimum ( size_t size @@ -87,7 +90,7 @@ RTEMS_INLINE_ROUTINE size_t _Stack_Ensure_minimum ( return _Stack_Minimum(); } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/states.inl b/cpukit/score/inline/rtems/score/states.inl index f5d816a8d3..7add9a32d6 100644 --- a/cpukit/score/inline/rtems/score/states.inl +++ b/cpukit/score/inline/rtems/score/states.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/states.inl +/** + * @file + * + * @brief Inlined Routines Associated with Thread State Information * - * This file contains the static inline implementation of the inlined - * routines associated with thread state information. + * This file contains the static inline implementation of the inlined + * routines associated with thread state information. */ /* @@ -24,18 +26,19 @@ #include /* RTEMS_INLINE_ROUTINE */ /** - * @addtogroup ScoreStates - * @{ + * @addtogroup ScoreStates + * + * @{ */ /** - * This function sets the given states_to_set into the current_state - * passed in. The result is returned to the user in current_state. + * This function sets the given states_to_set into the current_state + * passed in. The result is returned to the user in current_state. * - * @param[in] states_to_set is the state bits to set - * @param[in] current_state is the state set to add them to + * @param[in] states_to_set is the state bits to set + * @param[in] current_state is the state set to add them to * - * @return This method returns the updated states value. + * @return This method returns the updated states value. */ RTEMS_INLINE_ROUTINE States_Control _States_Set ( States_Control states_to_set, @@ -46,13 +49,13 @@ RTEMS_INLINE_ROUTINE States_Control _States_Set ( } /** - * This function clears the given states_to_clear into the current_state - * passed in. The result is returned to the user in current_state. + * This function clears the given states_to_clear into the current_state + * passed in. The result is returned to the user in current_state. * - * @param[in] states_to_set is the state bits to clean - * @param[in] current_state is the state set to remove them from + * @param[in] states_to_set is the state bits to clean + * @param[in] current_state is the state set to remove them from * - * @return This method returns the updated states value. + * @return This method returns the updated states value. */ RTEMS_INLINE_ROUTINE States_Control _States_Clear ( States_Control states_to_clear, @@ -63,12 +66,12 @@ RTEMS_INLINE_ROUTINE States_Control _States_Clear ( } /** - * This function returns true if the_states indicates that the - * state is READY, and false otherwise. + * This function returns true if the_states indicates that the + * state is READY, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_ready ( States_Control the_states @@ -78,12 +81,12 @@ RTEMS_INLINE_ROUTINE bool _States_Is_ready ( } /** - * This function returns true if the DORMANT state is the ONLY state - * set in the_states, and false otherwise. + * This function returns true if the DORMANT state is the ONLY state + * set in the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_only_dormant ( States_Control the_states @@ -93,12 +96,12 @@ RTEMS_INLINE_ROUTINE bool _States_Is_only_dormant ( } /** - * This function returns true if the DORMANT state is set in - * the_states, and false otherwise. + * This function returns true if the DORMANT state is set in + * the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_dormant ( States_Control the_states @@ -108,12 +111,12 @@ RTEMS_INLINE_ROUTINE bool _States_Is_dormant ( } /** - * This function returns true if the SUSPENDED state is set in - * the_states, and false otherwise. + * This function returns true if the SUSPENDED state is set in + * the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_suspended ( States_Control the_states @@ -123,12 +126,12 @@ RTEMS_INLINE_ROUTINE bool _States_Is_suspended ( } /** - * This function returns true if the TRANSIENT state is set in - * the_states, and false otherwise. + * This function returns true if the TRANSIENT state is set in + * the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_transient ( States_Control the_states @@ -138,12 +141,12 @@ RTEMS_INLINE_ROUTINE bool _States_Is_transient ( } /** - * This function returns true if the DELAYING state is set in - * the_states, and false otherwise. + * This function returns true if the DELAYING state is set in + * the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_delaying ( States_Control the_states @@ -153,12 +156,12 @@ RTEMS_INLINE_ROUTINE bool _States_Is_delaying ( } /** - * This function returns true if the WAITING_FOR_BUFFER state is set in - * the_states, and false otherwise. + * This function returns true if the WAITING_FOR_BUFFER state is set in + * the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_buffer ( States_Control the_states @@ -168,12 +171,12 @@ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_buffer ( } /** - * This function returns true if the WAITING_FOR_SEGMENT state is set in - * the_states, and false otherwise. + * This function returns true if the WAITING_FOR_SEGMENT state is set in + * the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_segment ( States_Control the_states @@ -183,12 +186,12 @@ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_segment ( } /** - * This function returns true if the WAITING_FOR_MESSAGE state is set in - * the_states, and false otherwise. + * This function returns true if the WAITING_FOR_MESSAGE state is set in + * the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_message ( States_Control the_states @@ -198,12 +201,12 @@ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_message ( } /** - * This function returns true if the WAITING_FOR_EVENT state is set in - * the_states, and false otherwise. + * This function returns true if the WAITING_FOR_EVENT state is set in + * the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_event ( States_Control the_states @@ -213,12 +216,12 @@ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_event ( } /** - * This function returns true if the WAITING_FOR_SYSTEM_EVENT state is set in - * the_states, and false otherwise. + * This function returns true if the WAITING_FOR_SYSTEM_EVENT state is set in + * the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_system_event ( States_Control the_states @@ -228,12 +231,12 @@ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_system_event ( } /** - * This function returns true if the WAITING_FOR_MUTEX state - * is set in the_states, and false otherwise. + * This function returns true if the WAITING_FOR_MUTEX state + * is set in the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_mutex ( States_Control the_states @@ -243,12 +246,12 @@ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_mutex ( } /** - * This function returns true if the WAITING_FOR_SEMAPHORE state - * is set in the_states, and false otherwise. + * This function returns true if the WAITING_FOR_SEMAPHORE state + * is set in the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_semaphore ( States_Control the_states @@ -258,12 +261,12 @@ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_semaphore ( } /** - * This function returns true if the WAITING_FOR_TIME state is set in - * the_states, and false otherwise. + * This function returns true if the WAITING_FOR_TIME state is set in + * the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_time ( States_Control the_states @@ -273,12 +276,12 @@ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_time ( } /** - * This function returns true if the WAITING_FOR_TIME state is set in - * the_states, and false otherwise. + * This function returns true if the WAITING_FOR_TIME state is set in + * the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_rpc_reply ( States_Control the_states @@ -288,12 +291,12 @@ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_rpc_reply ( } /** - * This function returns true if the WAITING_FOR_PERIOD state is set in - * the_states, and false otherwise. + * This function returns true if the WAITING_FOR_PERIOD state is set in + * the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_period ( States_Control the_states @@ -303,12 +306,12 @@ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_period ( } /** - * This function returns true if the task's state is set in - * way that allows it to be interrupted by a signal. + * This function returns true if the task's state is set in + * way that allows it to be interrupted by a signal. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_interruptible_by_signal ( States_Control the_states @@ -318,13 +321,13 @@ RTEMS_INLINE_ROUTINE bool _States_Is_interruptible_by_signal ( } /** - * This function returns true if one of the states which indicates - * that a task is blocked waiting for a local resource is set in - * the_states, and false otherwise. + * This function returns true if one of the states which indicates + * that a task is blocked waiting for a local resource is set in + * the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the desired state condition is set. + * @return This method returns true if the desired state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Is_locally_blocked ( @@ -335,14 +338,14 @@ RTEMS_INLINE_ROUTINE bool _States_Is_locally_blocked ( } /** - * This function returns true if one of the states which indicates - * that a task is blocked waiting for a local resource is set in - * the_states, and false otherwise. + * This function returns true if one of the states which indicates + * that a task is blocked waiting for a local resource is set in + * the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the state indicates that the - * assocated thread is waiting on a thread queue. + * @return This method returns true if the state indicates that the + * assocated thread is waiting on a thread queue. */ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_on_thread_queue ( States_Control the_states @@ -352,13 +355,13 @@ RTEMS_INLINE_ROUTINE bool _States_Is_waiting_on_thread_queue ( } /** - * This function returns true if one of the states which indicates - * that a task is blocked is set in the_states, and false otherwise. + * This function returns true if one of the states which indicates + * that a task is blocked is set in the_states, and false otherwise. * - * @param[in] the_states is the task state set to test + * @param[in] the_states is the task state set to test * - * @return This method returns true if the state indicates that the - * assocated thread is blocked. + * @return This method returns true if the state indicates that the + * assocated thread is blocked. */ RTEMS_INLINE_ROUTINE bool _States_Is_blocked ( States_Control the_states @@ -368,13 +371,13 @@ RTEMS_INLINE_ROUTINE bool _States_Is_blocked ( } /** - * This function returns true if any of the states in the mask - * are set in the_states, and false otherwise. + * This function returns true if any of the states in the mask + * are set in the_states, and false otherwise. * - * @param[in] the_states is the task state set to test - * @param[in] mask is the state bits to test for + * @param[in] the_states is the task state set to test + * @param[in] mask is the state bits to test for * - * @return This method returns true if the indicates state condition is set. + * @return This method returns true if the indicates state condition is set. */ RTEMS_INLINE_ROUTINE bool _States_Are_set ( States_Control the_states, @@ -384,7 +387,7 @@ RTEMS_INLINE_ROUTINE bool _States_Are_set ( return ( (the_states & mask) != STATES_READY); } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/sysstate.inl b/cpukit/score/inline/rtems/score/sysstate.inl index 02d2598690..69d372410a 100644 --- a/cpukit/score/inline/rtems/score/sysstate.inl +++ b/cpukit/score/inline/rtems/score/sysstate.inl @@ -1,9 +1,7 @@ -/** +/** * @file * - * @ingroup ScoreSysState - * - * @brief System State Handler API. + * @brief System State Handler API */ /* @@ -23,7 +21,7 @@ #define _RTEMS_SCORE_SYSSTATE_INL /** - * @addtogroup ScoreSysState + * @addtogroup ScoreSysState * * @{ */ @@ -34,7 +32,7 @@ RTEMS_INLINE_ROUTINE void _System_state_Set ( { _System_state_Current = state; } - + RTEMS_INLINE_ROUTINE void _System_state_Handler_initialization ( #if defined(RTEMS_MULTIPROCESSING) bool is_multiprocessing @@ -96,7 +94,7 @@ RTEMS_INLINE_ROUTINE bool _System_state_Is_failed ( return (state == SYSTEM_STATE_FAILED); } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/thread.inl b/cpukit/score/inline/rtems/score/thread.inl index 272c14fdf2..8309f42261 100644 --- a/cpukit/score/inline/rtems/score/thread.inl +++ b/cpukit/score/inline/rtems/score/thread.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/thread.inl +/** + * @file + * + * @brief Inlined Routines from the Thread Handler * - * This file contains the macro implementation of the inlined - * routines from the Thread handler. + * This file contains the macro implementation of the inlined + * routines from the Thread handler. */ /* @@ -25,8 +27,9 @@ #include /** - * @addtogroup ScoreThread - * @{ + * @addtogroup ScoreThread + * + * @{ */ #if defined(RTEMS_SMP) @@ -37,8 +40,9 @@ #else - /** @brief _Thread_Dispatch_in_critical_section - * + /** + * @brief _Thread_Dispatch_in_critical_section + * * This routine returns true if thread dispatch indicates * that we are in a critical section. */ @@ -50,8 +54,9 @@ return true; } - /** @brief _Thread_Dispatch_get_disable_level - * + /** + * @brief Get thread dispatch disable level. + * * This routine returns value of the the thread dispatch level. */ RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_get_disable_level(void) @@ -59,9 +64,10 @@ return _Thread_Dispatch_disable_level; } - /** @brief _Thread_Dispatch_set_disable_level - * - * This routine sets thread dispatch level to the + /** + * @brief Set thread dispatch disable level. + * + * This routine sets thread dispatch level to the * value passed in. */ RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_set_disable_level(uint32_t value) @@ -70,8 +76,9 @@ return value; } - /** @brief _Thread_Dispatch_increment_disable_level - * + /** + * @brief Increase thread dispatch disable level. + * * This rountine increments the thread dispatch level */ RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void) @@ -84,8 +91,9 @@ return level; } - /** @brief _Thread_Dispatch_decrement_disable_level - * + /** + * @brief Decrease thread dispatch disable level. + * * This routine decrements the thread dispatch level. */ RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_decrement_disable_level(void) @@ -98,9 +106,10 @@ return level; } - /** @brief _Thread_Dispatch_initialization - * - * This routine initializes the thread dispatching subsystem. + /** + * @brief Thread dispatch initialization. + * + * This routine initializes the thread dispatching subsystem. */ RTEMS_INLINE_ROUTINE void _Thread_Dispatch_initialization( void ) { @@ -110,9 +119,9 @@ #endif /** - * This routine halts multitasking and returns control to - * the "thread" (i.e. the BSP) which initially invoked the - * routine which initialized the system. + * This routine halts multitasking and returns control to + * the "thread" (i.e. the BSP) which initially invoked the + * routine which initialized the system. */ RTEMS_INLINE_ROUTINE void _Thread_Stop_multitasking( void ) @@ -140,8 +149,8 @@ RTEMS_INLINE_ROUTINE void _Thread_Stop_multitasking( void ) } /** - * This function returns true if the_thread is the currently executing - * thread, and false otherwise. + * This function returns true if the_thread is the currently executing + * thread, and false otherwise. */ RTEMS_INLINE_ROUTINE bool _Thread_Is_executing ( @@ -152,8 +161,8 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_executing ( } /** - * This function returns true if the_thread is the heir - * thread, and false otherwise. + * This function returns true if the_thread is the heir + * thread, and false otherwise. */ RTEMS_INLINE_ROUTINE bool _Thread_Is_heir ( @@ -164,8 +173,8 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_heir ( } /** - * This function returns true if the currently executing thread - * is also the heir thread, and false otherwise. + * This function returns true if the currently executing thread + * is also the heir thread, and false otherwise. */ RTEMS_INLINE_ROUTINE bool _Thread_Is_executing_also_the_heir( void ) @@ -174,9 +183,9 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_executing_also_the_heir( void ) } /** - * This routine clears any blocking state for the_thread. It performs - * any necessary scheduling operations including the selection of - * a new heir thread. + * This routine clears any blocking state for the_thread. It performs + * any necessary scheduling operations including the selection of + * a new heir thread. */ RTEMS_INLINE_ROUTINE void _Thread_Unblock ( @@ -187,8 +196,8 @@ RTEMS_INLINE_ROUTINE void _Thread_Unblock ( } /** - * This routine resets the current context of the calling thread - * to that of its initial state. + * This routine resets the current context of the calling thread + * to that of its initial state. */ RTEMS_INLINE_ROUTINE void _Thread_Restart_self( void ) @@ -202,9 +211,9 @@ RTEMS_INLINE_ROUTINE void _Thread_Restart_self( void ) } /** - * This function returns true if the floating point context of - * the_thread is currently loaded in the floating point unit, and - * false otherwise. + * This function returns true if the floating point context of + * the_thread is currently loaded in the floating point unit, and + * false otherwise. */ #if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE ) @@ -217,8 +226,8 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_allocated_fp ( #endif /** - * This routine is invoked when the currently loaded floating - * point context is now longer associated with an active thread. + * This routine is invoked when the currently loaded floating + * point context is now longer associated with an active thread. */ #if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE ) @@ -229,7 +238,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Deallocate_fp( void ) #endif /** - * This routine prevents dispatching. + * This routine prevents dispatching. */ #if defined ( __THREAD_DO_NOT_INLINE_DISABLE_DISPATCH__ ) @@ -243,10 +252,10 @@ RTEMS_INLINE_ROUTINE void _Thread_Disable_dispatch( void ) #endif /** - * This routine allows dispatching to occur again. If this is - * the outer most dispatching critical section, then a dispatching - * operation will be performed and, if necessary, control of the - * processor will be transferred to the heir thread. + * This routine allows dispatching to occur again. If this is + * the outer most dispatching critical section, then a dispatching + * operation will be performed and, if necessary, control of the + * processor will be transferred to the heir thread. */ #if defined ( __THREAD_DO_NOT_INLINE_ENABLE_DISPATCH__ ) @@ -262,9 +271,9 @@ RTEMS_INLINE_ROUTINE void _Thread_Disable_dispatch( void ) #endif /** - * This routine allows dispatching to occur again. However, - * no dispatching operation is performed even if this is the outer - * most dispatching critical section. + * This routine allows dispatching to occur again. However, + * no dispatching operation is performed even if this is the outer + * most dispatching critical section. */ RTEMS_INLINE_ROUTINE void _Thread_Unnest_dispatch( void ) @@ -274,8 +283,8 @@ RTEMS_INLINE_ROUTINE void _Thread_Unnest_dispatch( void ) } /** - * This function returns true if dispatching is disabled, and false - * otherwise. + * This function returns true if dispatching is disabled, and false + * otherwise. */ RTEMS_INLINE_ROUTINE bool _Thread_Is_dispatching_enabled( void ) @@ -284,8 +293,8 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_dispatching_enabled( void ) } /** - * This function returns true if dispatching is disabled, and false - * otherwise. + * This function returns true if dispatching is disabled, and false + * otherwise. */ RTEMS_INLINE_ROUTINE bool _Thread_Is_context_switch_necessary( void ) @@ -294,7 +303,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_context_switch_necessary( void ) } /** - * This function returns true if the_thread is NULL and false otherwise. + * This function returns true if the_thread is NULL and false otherwise. */ RTEMS_INLINE_ROUTINE bool _Thread_Is_null ( @@ -304,9 +313,10 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_null ( return ( the_thread == NULL ); } -/** @brief _Thread_Is_proxy_blocking +/** + * @brief Is proxy blocking. * - * status which indicates that a proxy is blocking, and false otherwise. + * status which indicates that a proxy is blocking, and false otherwise. */ RTEMS_INLINE_ROUTINE bool _Thread_Is_proxy_blocking ( uint32_t code @@ -316,18 +326,18 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_proxy_blocking ( } /** - * This routine allocates an internal thread. + * This routine allocates an internal thread. */ - + RTEMS_INLINE_ROUTINE Thread_Control *_Thread_Internal_allocate( void ) { return (Thread_Control *) _Objects_Allocate( &_Thread_Internal_information ); } - + /** - * This routine frees an internal thread. + * This routine frees an internal thread. */ - + RTEMS_INLINE_ROUTINE void _Thread_Internal_free ( Thread_Control *the_task ) @@ -336,18 +346,18 @@ RTEMS_INLINE_ROUTINE void _Thread_Internal_free ( } /** - * This routine returns the C library re-enterant pointer. + * This routine returns the C library re-enterant pointer. */ - + RTEMS_INLINE_ROUTINE struct _reent **_Thread_Get_libc_reent( void ) { return _Thread_libc_reent; } /** - * This routine set the C library re-enterant pointer. + * This routine set the C library re-enterant pointer. */ - + RTEMS_INLINE_ROUTINE void _Thread_Set_libc_reent ( struct _reent **libc_reent ) @@ -356,13 +366,13 @@ RTEMS_INLINE_ROUTINE void _Thread_Set_libc_reent ( } /** - * This routine evaluates the current scheduling information for the - * system and determines if a context switch is required. This - * is usually called after changing an execution mode such as preemptability - * for a thread. + * This routine evaluates the current scheduling information for the + * system and determines if a context switch is required. This + * is usually called after changing an execution mode such as preemptability + * for a thread. * - * @param[in] are_signals_pending specifies whether or not the API - * level signals are pending and a dispatch is needed. + * @param[in] are_signals_pending specifies whether or not the API + * level signals are pending and a dispatch is needed. */ RTEMS_INLINE_ROUTINE bool _Thread_Evaluate_is_dispatch_needed( bool are_signals_pending @@ -381,7 +391,7 @@ RTEMS_INLINE_ROUTINE bool _Thread_Evaluate_is_dispatch_needed( return false; } -/**@}*/ +/** @}*/ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/tod.inl b/cpukit/score/inline/rtems/score/tod.inl index d8a8bb7f20..39849cbb07 100644 --- a/cpukit/score/inline/rtems/score/tod.inl +++ b/cpukit/score/inline/rtems/score/tod.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/tod.inl +/** + * @file + * + * @brief Inlined Routines from the Time of Day Handle * - * This file contains the static inline implementation of the inlined routines - * from the Time of Day Handler. + * This file contains the static inline implementation of the inlined routines + * from the Time of Day Handler. */ /* @@ -26,12 +28,13 @@ #include /** - * @addtogroup ScoreTOD - * @{ + * @addtogroup ScoreTOD + * + * @{ */ /** - * This routine deactivates updating of the current time of day. + * This routine deactivates updating of the current time of day. */ RTEMS_INLINE_ROUTINE void _TOD_Deactivate( void ) @@ -40,7 +43,7 @@ RTEMS_INLINE_ROUTINE void _TOD_Deactivate( void ) } /** - * This routine activates updating of the current time of day. + * This routine activates updating of the current time of day. */ RTEMS_INLINE_ROUTINE void _TOD_Activate( void ) @@ -49,7 +52,7 @@ RTEMS_INLINE_ROUTINE void _TOD_Activate( void ) } /** - * This routine returns a timeval based upon the internal timespec format TOD. + * This routine returns a timeval based upon the internal timespec format TOD. */ RTEMS_INLINE_ROUTINE void _TOD_Get_timeval( @@ -64,7 +67,7 @@ RTEMS_INLINE_ROUTINE void _TOD_Get_timeval( _Timestamp_To_timeval( snapshot_as_timestamp_ptr, time ); } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/tqdata.inl b/cpukit/score/inline/rtems/score/tqdata.inl index aa7aaf4dc7..b676eb06ef 100644 --- a/cpukit/score/inline/rtems/score/tqdata.inl +++ b/cpukit/score/inline/rtems/score/tqdata.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/tqdata.inl +/** + * @file + * + * @brief Inlined Routines Needed to Support the Thread Queue Data * - * This file contains the static inline implementation of the inlined - * routines needed to support the Thread Queue Data. + * This file contains the static inline implementation of the inlined + * routines needed to support the Thread Queue Data. */ /* @@ -22,13 +24,14 @@ #define _RTEMS_SCORE_TQDATA_INL /** - * @addtogroup ScoreThreadQ - * @{ + * @addtogroup ScoreThreadQ + * + * @{ */ /** - * This function returns the index of the priority chain on which - * a thread of the_priority should be placed. + * This function returns the index of the priority chain on which + * a thread of the_priority should be placed. */ RTEMS_INLINE_ROUTINE uint32_t _Thread_queue_Header_number ( @@ -39,9 +42,9 @@ RTEMS_INLINE_ROUTINE uint32_t _Thread_queue_Header_number ( } /** - * This function returns true if the_priority indicates that the - * enqueue search should start at the front of this priority - * group chain, and false if the search should start at the rear. + * This function returns true if the_priority indicates that the + * enqueue search should start at the front of this priority + * group chain, and false if the search should start at the rear. */ RTEMS_INLINE_ROUTINE bool _Thread_queue_Is_reverse_search ( @@ -52,10 +55,10 @@ RTEMS_INLINE_ROUTINE bool _Thread_queue_Is_reverse_search ( } /** - * This routine is invoked to indicate that the specified thread queue is - * entering a critical section. + * This routine is invoked to indicate that the specified thread queue is + * entering a critical section. */ - + RTEMS_INLINE_ROUTINE void _Thread_queue_Enter_critical_section ( Thread_queue_Control *the_thread_queue ) @@ -63,9 +66,7 @@ RTEMS_INLINE_ROUTINE void _Thread_queue_Enter_critical_section ( the_thread_queue->sync_state = THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED; } -/** - * @} - */ +/** @} */ #endif /* end of include file */ -- cgit v1.2.3 From cc2857a2fee85f686634f406a46dc4b7691acdda Mon Sep 17 00:00:00 2001 From: Christopher Kerl Date: Wed, 9 Jan 2013 09:24:10 -0600 Subject: GCI: Create POSIX Timing Test psxtmcond01 --- testsuites/psxtmtests/Makefile.am | 1 + testsuites/psxtmtests/configure.ac | 1 + testsuites/psxtmtests/psxtmcond01/Makefile.am | 28 +++++++ testsuites/psxtmtests/psxtmcond01/init.c | 94 +++++++++++++++++++++++ testsuites/psxtmtests/psxtmcond01/psxtmcond01.doc | 6 ++ 5 files changed, 130 insertions(+) create mode 100644 testsuites/psxtmtests/psxtmcond01/Makefile.am create mode 100644 testsuites/psxtmtests/psxtmcond01/init.c create mode 100644 testsuites/psxtmtests/psxtmcond01/psxtmcond01.doc diff --git a/testsuites/psxtmtests/Makefile.am b/testsuites/psxtmtests/Makefile.am index 72340ab0c7..afd97bdf08 100644 --- a/testsuites/psxtmtests/Makefile.am +++ b/testsuites/psxtmtests/Makefile.am @@ -6,6 +6,7 @@ if HAS_POSIX SUBDIRS += psxtmbarrier01 SUBDIRS += psxtmbarrier02 SUBDIRS += psxtmbarrier03 +SUBDIRS += psxtmcond01 SUBDIRS += psxtmkey01 SUBDIRS += psxtmkey02 SUBDIRS += psxtmmq01 diff --git a/testsuites/psxtmtests/configure.ac b/testsuites/psxtmtests/configure.ac index 9e59681a7f..952d5cc9ed 100644 --- a/testsuites/psxtmtests/configure.ac +++ b/testsuites/psxtmtests/configure.ac @@ -80,6 +80,7 @@ AC_CONFIG_FILES([Makefile psxtmbarrier01/Makefile psxtmbarrier02/Makefile psxtmbarrier03/Makefile +psxtmcond01/Makefile psxtmkey01/Makefile psxtmkey02/Makefile psxtmmq01/Makefile diff --git a/testsuites/psxtmtests/psxtmcond01/Makefile.am b/testsuites/psxtmtests/psxtmcond01/Makefile.am new file mode 100644 index 0000000000..29fa1ceb42 --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond01/Makefile.am @@ -0,0 +1,28 @@ +MANAGERS = all + +rtems_tests_PROGRAMS = psxtmcond01 +psxtmcond01_SOURCES = init.c +psxtmcond01_SOURCES += ../../tmtests/include/timesys.h +psxtmcond01_SOURCES += ../../support/src/tmtests_empty_function.c +psxtmcond01_SOURCES += ../../support/src/tmtests_support.c + +dist_rtems_tests_DATA = psxtmcond01.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +OPERATION_COUNT = @OPERATION_COUNT@ +AM_CPPFLAGS += -I$(top_srcdir)/../tmtests/include +AM_CPPFLAGS += -DOPERATION_COUNT=$(OPERATION_COUNT) +AM_CPPFLAGS += -I$(top_srcdir)/../support/include + +LINK_OBJS = $(psxtmcond01_OBJECTS) $(psxtmcond01_LDADD) +LINK_LIBS = $(psxtmcond01_LDLIBS) + +psxtmcond01$(EXEEXT): $(psxtmcond01_OBJECTS) $(psxtmcond01_DEPENDENCIES) + @rm -f psxtmcond01$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am + diff --git a/testsuites/psxtmtests/psxtmcond01/init.c b/testsuites/psxtmtests/psxtmcond01/init.c new file mode 100644 index 0000000000..bbfaa894f1 --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond01/init.c @@ -0,0 +1,94 @@ +/* + * COPYRIGHT (c) 1989-2012. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include +#include "test_support.h" +#include +#include +#include + +/* forward declarations to avoid warnings */ +void *POSIX_Init(void *argument); +void benchmark_create_cond_var(void); +void benchmark_destroy_cond_var(void); + +pthread_cond_t mycondvar; + +void benchmark_create_cond_var(void) +{ + long end_time; + int status; + + benchmark_timer_initialize(); + status = pthread_cond_init(&mycondvar, NULL); + end_time = benchmark_timer_read(); + rtems_test_assert( status == 0 ); + + put_time( + "pthread_cond_init (single invocation)", + end_time, + 1, + 0, + 0 + ); +} + +void benchmark_destroy_cond_var(void) +{ + long end_time; + int status; + + benchmark_timer_initialize(); + status = pthread_cond_destroy(&mycondvar); + end_time = benchmark_timer_read(); + rtems_test_assert( status == 0 ); + + put_time( + "pthread_cond_destroy (single invocation)", + end_time, + 1, + 0, + 0 + ); +} + +void *POSIX_Init( + void *argument +) +{ + puts( "\n\n*** POSIX TIME TEST PSXTMCOND01 ***" ); + + benchmark_create_cond_var(); + benchmark_destroy_cond_var(); + + puts( "*** END OF POSIX TIME TEST PSXTMCOND01 ***" ); + rtems_test_exit(0); +} + +/* configuration information */ + +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER + +/* configure an instance of the condition variable created and destroyed */ +#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 1 + +#define CONFIGURE_MAXIMUM_POSIX_THREADS 1 +#define CONFIGURE_POSIX_INIT_THREAD_TABLE + +#define CONFIGURE_INIT + +#include +/* end of file */ diff --git a/testsuites/psxtmtests/psxtmcond01/psxtmcond01.doc b/testsuites/psxtmtests/psxtmcond01/psxtmcond01.doc new file mode 100644 index 0000000000..9ea2348c7d --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond01/psxtmcond01.doc @@ -0,0 +1,6 @@ +This test benchmarks the following cases: + ++ single invocation of creating a POSIX condition variable + (e.g pthread_cond_init) ++ single invocation of deleting a POSIX condition variable + (e.g pthread_cond_destroy) -- cgit v1.2.3 From 253cb8b5b6f19bc0835699d23fc629a3e16f1c6d Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 8 Jan 2013 10:37:41 +0100 Subject: bsp/gen83xx: Delete obsolete region --- c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.br_uid | 1 - 1 file changed, 1 deletion(-) diff --git a/c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.br_uid b/c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.br_uid index 2764431fac..db004b819f 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.br_uid +++ b/c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.br_uid @@ -8,7 +8,6 @@ MEMORY { RAM : ORIGIN = 0x0, LENGTH = 256M ROM : ORIGIN = 0xfe000000, LENGTH = 2M MPC83XX_REGS : ORIGIN = 0xe0000000, LENGTH = 256k - NIRVANA : ORIGIN = 0x0, LENGTH = 0 } INCLUDE linkcmds.base -- cgit v1.2.3 From d4e2f337607031d6c97a68ebccd98516d637854f Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 9 Jan 2013 09:28:19 +0100 Subject: bsp/gen83xx: Add bsp_restart() --- c/src/lib/libbsp/powerpc/gen83xx/Makefile.am | 1 + c/src/lib/libbsp/powerpc/gen83xx/include/bsp.h | 2 ++ .../libbsp/powerpc/gen83xx/startup/bsprestart.c | 24 ++++++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 c/src/lib/libbsp/powerpc/gen83xx/startup/bsprestart.c diff --git a/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am b/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am index 4ee0d2464e..7d970ae7fa 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am +++ b/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am @@ -66,6 +66,7 @@ libbsp_a_SOURCES += ../../shared/bsplibc.c \ startup/bspstart.c \ ../../shared/bspclean.c \ startup/bspreset.c \ + startup/bsprestart.c \ ../../shared/bspgetworkarea.c \ ../../shared/src/bsp-uboot-board-info.c \ ../shared/uboot_getenv.c diff --git a/c/src/lib/libbsp/powerpc/gen83xx/include/bsp.h b/c/src/lib/libbsp/powerpc/gen83xx/include/bsp.h index fcead98b7e..cc97cdc071 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/gen83xx/include/bsp.h @@ -145,6 +145,8 @@ void mpc83xx_zero_4( void *dest, size_t n); void cpu_init( void); +void bsp_restart(void *addr); + #ifdef __cplusplus } #endif diff --git a/c/src/lib/libbsp/powerpc/gen83xx/startup/bsprestart.c b/c/src/lib/libbsp/powerpc/gen83xx/startup/bsprestart.c new file mode 100644 index 0000000000..c09547872c --- /dev/null +++ b/c/src/lib/libbsp/powerpc/gen83xx/startup/bsprestart.c @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#include + +void bsp_restart(void *addr) +{ + rtems_interrupt_level level; + void (*start)(void) = addr; + + rtems_interrupt_disable(level); + (*start)(); +} -- cgit v1.2.3 From 5828127416efaf60029a59153723c189d35e0813 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 9 Jan 2013 09:29:04 +0100 Subject: bsp/gen83xx: System reset after fatal conditions --- c/src/lib/libbsp/powerpc/gen83xx/configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c/src/lib/libbsp/powerpc/gen83xx/configure.ac b/c/src/lib/libbsp/powerpc/gen83xx/configure.ac index 0b2435785f..369899820e 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/configure.ac +++ b/c/src/lib/libbsp/powerpc/gen83xx/configure.ac @@ -76,7 +76,7 @@ AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes") AC_CONFIG_FILES([Makefile]) RTEMS_BSP_BOOTCARD_OPTIONS -RTEMS_BSP_CLEANUP_OPTIONS(0, 0) +RTEMS_BSP_CLEANUP_OPTIONS(0, 1) RTEMS_BSP_LINKCMDS RTEMS_PPC_EXCEPTIONS -- cgit v1.2.3 From bfde536ec46b58091dbdd9efd4bb0e8c2fd46549 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 9 Jan 2013 11:12:48 +0100 Subject: bsp/gen83xx: Invalidate caches only if disabled --- c/src/lib/libbsp/powerpc/gen83xx/startup/cpuinit.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/c/src/lib/libbsp/powerpc/gen83xx/startup/cpuinit.c b/c/src/lib/libbsp/powerpc/gen83xx/startup/cpuinit.c index 0cffc24273..ab409ca7ed 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/startup/cpuinit.c +++ b/c/src/lib/libbsp/powerpc/gen83xx/startup/cpuinit.c @@ -141,14 +141,21 @@ void cpu_init( void) { BAT dbat, ibat; uint32_t msr; + uint32_t hid0; /* Clear MMU and segment registers */ clear_mmu_regs(); /* Clear caches */ - PPC_CLEAR_SPECIAL_PURPOSE_REGISTER_BITS( HID0, HID0_ILOCK | HID0_DLOCK | HID0_ICE | HID0_DCE); - PPC_SET_SPECIAL_PURPOSE_REGISTER_BITS( HID0, HID0_ICFI | HID0_DCI); - PPC_CLEAR_SPECIAL_PURPOSE_REGISTER_BITS( HID0, HID0_ICFI | HID0_DCI); + hid0 = PPC_SPECIAL_PURPOSE_REGISTER(HID0); + if ((hid0 & (HID0_ICE | HID0_DCE)) == 0) { + hid0 &= ~(HID0_ILOCK | HID0_DLOCK | HID0_ICE | HID0_DCE); + PPC_SET_SPECIAL_PURPOSE_REGISTER(HID0, hid0); + hid0 |= HID0_ICFI | HID0_DCI; + PPC_SET_SPECIAL_PURPOSE_REGISTER(HID0, hid0); + hid0 &= ~(HID0_ICFI | HID0_DCI); + PPC_SET_SPECIAL_PURPOSE_REGISTER(HID0, hid0); + } /* * Set up IBAT registers in MMU -- cgit v1.2.3 From 339646e88712f1d52f2f2b9a861a9b185179213e Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 9 Jan 2013 12:50:55 +0100 Subject: bsps/powerpc: Fix compiler warnings --- c/src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/c/src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.c b/c/src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.c index 97396434a3..ce4182327b 100644 --- a/c/src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.c +++ b/c/src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.c @@ -493,7 +493,6 @@ static rtems_status_code mpc83xx_i2c_send_addr \*=========================================================================*/ { mpc83xx_i2c_softc_t *softc_ptr = &(((mpc83xx_i2c_desc_t *)(bh))->softc); - bool long_addr = false; uint8_t addr_byte; rtems_status_code rc; @@ -505,7 +504,6 @@ static rtems_status_code mpc83xx_i2c_send_addr * determine, whether short or long address is needed, determine rd/wr */ if (addr > 0x7f) { - long_addr = true; addr_byte = (0xf0 | ((addr >> 7) & 0x06) | ((rw) ? 1 : 0)); @@ -565,7 +563,6 @@ static int mpc83xx_i2c_read_bytes mpc83xx_i2c_softc_t *softc_ptr = &(((mpc83xx_i2c_desc_t *)(bh))->softc); rtems_status_code rc; unsigned char *p = buf; - unsigned char dummy; #if defined(DEBUG) printk("mpc83xx_i2c_read_bytes called... "); @@ -579,7 +576,7 @@ static int mpc83xx_i2c_read_bytes /* * we need a dummy transfer here to start the first read */ - dummy = softc_ptr->reg_ptr->i2cdr; + softc_ptr->reg_ptr->i2cdr; while (len-- > 0) { if (len == 0) { -- cgit v1.2.3 From aeff597721115e3ba6fa8635e326eee465aecd3d Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 9 Jan 2013 13:17:18 +0100 Subject: bsps/powerpc: Add probe handler to I2C driver --- c/src/lib/libbsp/powerpc/gen83xx/i2c/i2c_init.c | 101 ++++++++++----------- c/src/lib/libbsp/powerpc/mpc55xxevb/i2c/i2c_init.c | 9 +- .../libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.h | 1 + 3 files changed, 57 insertions(+), 54 deletions(-) diff --git a/c/src/lib/libbsp/powerpc/gen83xx/i2c/i2c_init.c b/c/src/lib/libbsp/powerpc/gen83xx/i2c/i2c_init.c index 9b30d0fd74..16d11d76be 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/i2c/i2c_init.c +++ b/c/src/lib/libbsp/powerpc/gen83xx/i2c/i2c_init.c @@ -23,7 +23,27 @@ #include #include -static mpc83xx_i2c_desc_t mpc83xx_i2c_bus_tbl[2] = { +static void i2c1_probe(mpc83xx_i2c_softc_t *self) +{ +#if MPC83XX_CHIP_TYPE != 8309 + if (((mpc83xx.clk.sccr >> (31-1)) & 0x03) > 0) { + self->base_frq = + (BSP_bus_frequency + /((mpc83xx.clk.sccr >> (31-1)) & 0x03)); + } +#else /* MPC83XX_CHIP_TYPE != 8309 */ + self->base_frq = BSP_bus_frequency; +#endif /* MPC83XX_CHIP_TYPE != 8309 */ +} + +#ifndef MPC83XX_BOARD_BR_UID +static void i2c2_probe(mpc83xx_i2c_softc_t *self) +{ + self->base_frq = BSP_bus_frequency; +} +#endif /* MPC83XX_BOARD_BR_UID */ + +static mpc83xx_i2c_desc_t mpc83xx_i2c_bus_tbl[] = { /* first channel */ { {/* public fields */ @@ -34,27 +54,26 @@ static mpc83xx_i2c_desc_t mpc83xx_i2c_bus_tbl[2] = { .reg_ptr = &mpc83xx.i2c[0], .initialized = FALSE, .irq_number = BSP_IPIC_IRQ_I2C1, - .base_frq = 0 /* will be set during initiailization */ + .base_frq = 0, /* will be set during probe */ + .probe = i2c1_probe } - }, + } +#ifndef MPC83XX_BOARD_BR_UID /* second channel */ - { + , { { /* public fields */ .ops = &mpc83xx_i2c_ops, - .size = sizeof(mpc83xx_i2c_bus_tbl[1]), + .size = sizeof(mpc83xx_i2c_bus_tbl[0]), }, { /* our private fields */ .reg_ptr = &mpc83xx.i2c[1], .initialized = FALSE, .irq_number = BSP_IPIC_IRQ_I2C2, - .base_frq = 0 /* will be set during initiailization */ + .base_frq = 0, /* will be set during probe */ + .probe = i2c2_probe } } -}; - -rtems_libi2c_bus_t *mpc83xx_i2c_bus_descriptor[2] = { - &mpc83xx_i2c_bus_tbl[0].bus_desc, - &mpc83xx_i2c_bus_tbl[1].bus_desc +#endif /* MPC83XX_BOARD_BR_UID */ }; /*=========================================================================*\ @@ -76,8 +95,10 @@ rtems_status_code bsp_register_i2c \*=========================================================================*/ { - int ret_code; - int i2c1_busno,i2c2_busno; + char device_path[] = "/dev/i2c?"; + size_t n = RTEMS_ARRAY_SIZE(mpc83xx_i2c_bus_tbl); + size_t i; + int i2c_busno[n]; /* * init I2C library (if not already done) @@ -85,54 +106,30 @@ rtems_status_code bsp_register_i2c rtems_libi2c_initialize (); /* - * update input frequency of I2c modules into descriptor - */ - /* - * I2C1 is clocked with TSEC 1 + * init I2C buses */ - if (((mpc83xx.clk.sccr >> (31-1)) & 0x03) > 0) { - mpc83xx_i2c_bus_tbl[0].softc.base_frq = - (BSP_bus_frequency - /((mpc83xx.clk.sccr >> (31-1)) & 0x03)); - } + for (i = 0; i < n; ++i) { + mpc83xx_i2c_desc_t *desc = &mpc83xx_i2c_bus_tbl[i]; - mpc83xx_i2c_bus_tbl[1].softc.base_frq = BSP_bus_frequency; - /* - * register first I2C bus - */ - ret_code = rtems_libi2c_register_bus("/dev/i2c1", - mpc83xx_i2c_bus_descriptor[0]); - if (ret_code < 0) { - return -ret_code; - } - i2c1_busno = ret_code; - /* - * register second I2C bus - */ - ret_code = rtems_libi2c_register_bus("/dev/i2c2", - mpc83xx_i2c_bus_descriptor[1]); - if (ret_code < 0) { - return -ret_code; + (*desc->softc.probe)(&desc->softc); + device_path[sizeof(device_path) - 2] = (char) ('1' + i); + i2c_busno[i] = rtems_libi2c_register_bus(device_path, &desc->bus_desc); } - i2c2_busno = ret_code; #ifdef RTEMS_BSP_I2C_EEPROM_DEVICE_NAME - - /* - * register EEPROM to bus 1, Address 0x50 - */ - ret_code = rtems_libi2c_register_drv(RTEMS_BSP_I2C_EEPROM_DEVICE_NAME, - i2c_2b_eeprom_driver_descriptor, - i2c1_busno,0x50); - - if (ret_code < 0) { - return -ret_code; + if (n > 0) { + /* + * register EEPROM to bus 1, Address 0x50 + */ + rtems_libi2c_register_drv(RTEMS_BSP_I2C_EEPROM_DEVICE_NAME, + i2c_2b_eeprom_driver_descriptor, + i2c_busno[0],0x50); } - #endif /* RTEMS_BSP_I2C_EEPROM_DEVICE_NAME */ /* * FIXME: register RTC driver, when available */ - return 0; + + return RTEMS_SUCCESSFUL; } diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/i2c/i2c_init.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/i2c/i2c_init.c index 3103531b33..92e830dcbc 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/i2c/i2c_init.c +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/i2c/i2c_init.c @@ -24,6 +24,11 @@ #include #if MPC55XX_CHIP_FAMILY == 551 + static void i2c_probe(mpc83xx_i2c_softc_t *self) + { + self->base_frq = bsp_clock_speed; + } + static mpc83xx_i2c_desc_t mpc55xx_i2c_bus = { .bus_desc = { .ops = &mpc83xx_i2c_ops, @@ -33,7 +38,8 @@ .reg_ptr = (m83xxI2CRegisters_t *) 0xfff88000, .initialized = FALSE, .irq_number = MPC55XX_IRQ_I2C(0), - .base_frq = 0 + .base_frq = 0, + .probe = i2c_probe } }; @@ -44,7 +50,6 @@ rtems_libi2c_initialize (); - mpc55xx_i2c_bus.softc.base_frq = bsp_clock_speed; busno = rtems_libi2c_register_bus( "/dev/i2c1", &mpc55xx_i2c_bus.bus_desc diff --git a/c/src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.h b/c/src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.h index 0353f62138..bb3547ece8 100644 --- a/c/src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.h +++ b/c/src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.h @@ -49,6 +49,7 @@ typedef struct mpc83xx_i2c_softc { rtems_irq_number irq_number; /* IRQ number used for this module */ uint32_t base_frq; /* input frq for baud rate divider */ rtems_id irq_sema_id; /* SEMA used for IRQ signalling */ + void (*probe)(struct mpc83xx_i2c_softc *self); } mpc83xx_i2c_softc_t ; typedef struct { -- cgit v1.2.3 From fb070e054d514e96bd2e9213ffc7cb2a4466bb3e Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 9 Jan 2013 14:31:20 +0100 Subject: libchip: Add I2C SEMTECH SC620 octal LED driver --- c/src/libchip/Makefile.am | 2 + c/src/libchip/i2c/i2c-sc620.c | 95 +++++++++++++++++++++++++++++++++++++++++++ c/src/libchip/i2c/i2c-sc620.h | 40 ++++++++++++++++++ c/src/libchip/preinstall.am | 4 ++ 4 files changed, 141 insertions(+) create mode 100644 c/src/libchip/i2c/i2c-sc620.c create mode 100644 c/src/libchip/i2c/i2c-sc620.h diff --git a/c/src/libchip/Makefile.am b/c/src/libchip/Makefile.am index 46c06b47cc..5e4ffabca9 100644 --- a/c/src/libchip/Makefile.am +++ b/c/src/libchip/Makefile.am @@ -67,6 +67,7 @@ EXTRA_DIST += rtc/README.ds1643 rtc/README.icm7170 rtc/README.m48t08 \ # i2c include_libchip_HEADERS += i2c/i2c-ds1621.h \ i2c/i2c-2b-eeprom.h \ + i2c/i2c-sc620.h \ i2c/spi-memdrv.h \ i2c/spi-flash-m25p40.h \ i2c/spi-fram-fm25l256.h \ @@ -82,6 +83,7 @@ libi2cio_a_SOURCES = i2c/i2c-ds1621.h \ i2c/spi-fram-fm25l256.h \ i2c/i2c-ds1621.c \ i2c/i2c-2b-eeprom.c \ + i2c/i2c-sc620.c \ i2c/spi-memdrv.c \ i2c/spi-flash-m25p40.c \ i2c/spi-fram-fm25l256.c \ diff --git a/c/src/libchip/i2c/i2c-sc620.c b/c/src/libchip/i2c/i2c-sc620.c new file mode 100644 index 0000000000..105d35d7cb --- /dev/null +++ b/c/src/libchip/i2c/i2c-sc620.c @@ -0,0 +1,95 @@ +/** + * @file + * + * @brief I2C Driver for SEMTECH SC620 Octal LED Driver + */ + +/* + * Copyright (c) 2013 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + +#include + +#include + +#define SC620_REG_COUNT 10 + +static rtems_status_code i2c_sc620_write( + rtems_device_major_number major, + rtems_device_minor_number minor, + void *arg +) +{ + rtems_status_code sc = RTEMS_IO_ERROR; + rtems_libio_rw_args_t *rw = arg; + unsigned char *buf = (unsigned char *) &rw->buffer[0]; + + if (rw->count == 2 && buf[0] < SC620_REG_COUNT) { + int rv; + + rv = rtems_libi2c_start_write_bytes( + minor, buf, 2 + ); + if (rv == 2) { + sc = rtems_libi2c_send_stop(minor); + } + } + + rw->bytes_moved = sc == RTEMS_SUCCESSFUL ? 2 : 0; + + return sc; +} + +static rtems_status_code i2c_sc620_read( + rtems_device_major_number major, + rtems_device_minor_number minor, + void *arg +) +{ + rtems_status_code sc = RTEMS_IO_ERROR; + rtems_libio_rw_args_t *rw = arg; + unsigned char *buf = (unsigned char *) &rw->buffer[0]; + + if (rw->count == 1 && buf[0] < SC620_REG_COUNT) { + int rv; + + rv = rtems_libi2c_start_write_bytes(minor, buf, 1); + if (rv == 1) { + sc = rtems_libi2c_send_addr(minor, 0); + if (sc == RTEMS_SUCCESSFUL) { + rv = rtems_libi2c_read_bytes(minor, buf, 1); + if (rv == 1) { + sc = rtems_libi2c_send_stop(minor); + } + } + } + } + + rw->bytes_moved = sc == RTEMS_SUCCESSFUL ? 1 : 0; + + return sc; +} + +static rtems_driver_address_table i2c_sc620_ops = { + .read_entry = i2c_sc620_read, + .write_entry = i2c_sc620_write +}; + +rtems_libi2c_drv_t i2c_sc620_driver = { + .ops = &i2c_sc620_ops, + .size = sizeof(i2c_sc620_driver) +}; diff --git a/c/src/libchip/i2c/i2c-sc620.h b/c/src/libchip/i2c/i2c-sc620.h new file mode 100644 index 0000000000..119cd3d559 --- /dev/null +++ b/c/src/libchip/i2c/i2c-sc620.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2013 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Dornierstr. 4 + * 82178 Puchheim + * Germany + * + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#ifndef I2C_SC620_H +#define I2C_SC620_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/** + * @brief I2C driver for SEMTECH SC620 octal LED driver. + * + * A write() must use two character buffer. The buffer[0] value specifies the + * register and the buffer[1] value specifies the register data. + * + * A read() must use a one character buffer. The buffer[0] value specifies the + * register on function entry. The buffer[0] value contains the register value + * after a successful operation. + */ +extern rtems_libi2c_drv_t i2c_sc620_driver; + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* I2C_SC620_H */ diff --git a/c/src/libchip/preinstall.am b/c/src/libchip/preinstall.am index 51c9a4d5aa..7e80d6d598 100644 --- a/c/src/libchip/preinstall.am +++ b/c/src/libchip/preinstall.am @@ -126,6 +126,10 @@ $(PROJECT_INCLUDE)/libchip/i2c-2b-eeprom.h: i2c/i2c-2b-eeprom.h $(PROJECT_INCLUD $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/libchip/i2c-2b-eeprom.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/libchip/i2c-2b-eeprom.h +$(PROJECT_INCLUDE)/libchip/i2c-sc620.h: i2c/i2c-sc620.h $(PROJECT_INCLUDE)/libchip/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/libchip/i2c-sc620.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/libchip/i2c-sc620.h + $(PROJECT_INCLUDE)/libchip/spi-memdrv.h: i2c/spi-memdrv.h $(PROJECT_INCLUDE)/libchip/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/libchip/spi-memdrv.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/libchip/spi-memdrv.h -- cgit v1.2.3 From da80202531a1f00727465fdf0c7e23c5ca8f48c4 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 9 Jan 2013 14:31:58 +0100 Subject: bsp/gen83xx: Register I2C SEMTECH SC620 driver --- c/src/lib/libbsp/powerpc/gen83xx/i2c/i2c_init.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/c/src/lib/libbsp/powerpc/gen83xx/i2c/i2c_init.c b/c/src/lib/libbsp/powerpc/gen83xx/i2c/i2c_init.c index 16d11d76be..b427da7314 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/i2c/i2c_init.c +++ b/c/src/lib/libbsp/powerpc/gen83xx/i2c/i2c_init.c @@ -20,6 +20,7 @@ #include #include +#include #include #include @@ -127,6 +128,17 @@ rtems_status_code bsp_register_i2c } #endif /* RTEMS_BSP_I2C_EEPROM_DEVICE_NAME */ +#ifdef MPC83XX_BOARD_BR_UID + if (n > 0) { + rtems_libi2c_register_drv( + "sc620", + &i2c_sc620_driver, + i2c_busno[0], + 0x70 + ); + } +#endif /* MPC83XX_BOARD_BR_UID */ + /* * FIXME: register RTC driver, when available */ -- cgit v1.2.3 From f12ef23941a7867cdc62e558ba5bab849d6ec02f Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 9 Jan 2013 16:25:37 +0100 Subject: bsps/arm: Fix LPC Ethernet driver initialization --- c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c b/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c index 3b2d5b6fa5..ca4314396a 100644 --- a/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c +++ b/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c @@ -1323,6 +1323,9 @@ static int lpc_eth_up_or_down(lpc_eth_driver_entry *e, bool up) lpc_eth_config_module_enable(); + /* Enable RX/TX reset and disable soft reset */ + lpc_eth->mac1 = 0xf00; + /* Initialize PHY */ lpc_eth->mcfg = ETH_MCFG_CLOCK_SELECT(0x7); eno = lpc_eth_phy_up(e); -- cgit v1.2.3 From d8134178deaa9728013ccb858bb0784bce533663 Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Wed, 9 Jan 2013 11:20:58 -0500 Subject: score: Doxygen Clean Up Task #18 http://www.google-melange.com/gci/task/view/google/gci2012/8137204 --- cpukit/score/inline/rtems/score/address.inl | 102 +++++----- cpukit/score/inline/rtems/score/coremutex.inl | 87 ++++---- cpukit/score/inline/rtems/score/heap.inl | 7 +- cpukit/score/inline/rtems/score/priority.inl | 19 +- cpukit/score/inline/rtems/score/prioritybitmap.inl | 67 ++++--- cpukit/score/inline/rtems/score/rbtree.inl | 222 +++++++++++++-------- .../score/inline/rtems/score/schedulerpriority.inl | 85 ++++---- .../score/inline/rtems/score/schedulersimple.inl | 22 +- cpukit/score/inline/rtems/score/threadmp.inl | 29 +-- cpukit/score/inline/rtems/score/threadq.inl | 15 +- cpukit/score/inline/rtems/score/watchdog.inl | 90 +++++---- cpukit/score/inline/rtems/score/wkspace.inl | 15 +- 12 files changed, 422 insertions(+), 338 deletions(-) diff --git a/cpukit/score/inline/rtems/score/address.inl b/cpukit/score/inline/rtems/score/address.inl index c1c4f30b02..ba42fec92e 100644 --- a/cpukit/score/inline/rtems/score/address.inl +++ b/cpukit/score/inline/rtems/score/address.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/address.inl +/** + * @file + * + * @brief Inlined Routines Associated with Addresses * - * This include file contains the bodies of the routines - * about addresses which are inlined. + * This include file contains the bodies of the routines + * about addresses which are inlined. */ /* @@ -24,20 +26,22 @@ #include /** - * @addtogroup ScoreAddress - * @{ + * @addtogroup ScoreAddress + * + * @{ */ -/** @brief Add Offset to Address +/** + * @brief Add offset to an address. * - * This function is used to add an @a offset to a @a base address. - * It returns the resulting address. This address is typically - * converted to an access type before being used further. + * This function is used to add an @a offset to a @a base address. + * It returns the resulting address. This address is typically + * converted to an access type before being used further. * - * @param[in] base is the base address. - * @param[in] offset is the offset to add to @a base. + * @param[in] base is the base address. + * @param[in] offset is the offset to add to @a base. * - * @return This method returns the resulting address. + * @return This method returns the resulting address. */ #include RTEMS_INLINE_ROUTINE void *_Addresses_Add_offset ( @@ -48,16 +52,17 @@ RTEMS_INLINE_ROUTINE void *_Addresses_Add_offset ( return (void *)((uintptr_t)base + offset); } -/** @brief Subtract Offset from Offset +/** + * @brief Subtract offset from offset. * - * This function is used to subtract an @a offset from a @a base - * address. It returns the resulting address. This address is - * typically converted to an access type before being used further. + * This function is used to subtract an @a offset from a @a base + * address. It returns the resulting address. This address is + * typically converted to an access type before being used further. * - * @param[in] base is the base address. - * @param[in] offset is the offset to subtract to @a base. + * @param[in] base is the base address. + * @param[in] offset is the offset to subtract to @a base. * - * @return This method returns the resulting address. + * @return This method returns the resulting address. */ RTEMS_INLINE_ROUTINE void *_Addresses_Subtract_offset ( @@ -68,18 +73,19 @@ RTEMS_INLINE_ROUTINE void *_Addresses_Subtract_offset ( return (void *)((uintptr_t)base - offset); } -/** @brief Subtract Two Offsets +/** + * @brief Subtract two offsets. * - * This function is used to subtract two addresses. It returns the - * resulting offset. + * This function is used to subtract two addresses. It returns the + * resulting offset. * - * @param[in] left is the address on the left hand side of the subtraction. - * @param[in] right is the address on the right hand side of the subtraction. + * @param[in] left is the address on the left hand side of the subtraction. + * @param[in] right is the address on the right hand side of the subtraction. * - * @return This method returns the resulting address. + * @return This method returns the resulting address. * - * @note The cast of an address to an uint32_t makes this code - * dependent on an addresses being thirty two bits. + * @note The cast of an address to an uint32_t makes this code + * dependent on an addresses being thirty two bits. */ RTEMS_INLINE_ROUTINE int32_t _Addresses_Subtract ( const void *left, @@ -89,16 +95,17 @@ RTEMS_INLINE_ROUTINE int32_t _Addresses_Subtract ( return (int32_t) ((const char *) left - (const char *) right); } -/** @brief Is Address Aligned +/** + * @brief Is address aligned. * - * This function returns true if the given address is correctly - * aligned for this processor and false otherwise. Proper alignment - * is based on correctness and efficiency. + * This function returns true if the given address is correctly + * aligned for this processor and false otherwise. Proper alignment + * is based on correctness and efficiency. * - * @param[in] address is the address being checked for alignment. + * @param[in] address is the address being checked for alignment. * - * @return This method returns true if the address is aligned and - * false otherwise. + * @retval true The @a address is aligned. + * @retval false The @a address is not aligned. */ RTEMS_INLINE_ROUTINE bool _Addresses_Is_aligned ( const void *address @@ -111,20 +118,21 @@ RTEMS_INLINE_ROUTINE bool _Addresses_Is_aligned ( #endif } -/** @brief Is Address In Range +/** + * @brief Is address in range. * - * This function returns true if the given address is within the - * memory range specified and false otherwise. base is the address - * of the first byte in the memory range and limit is the address - * of the last byte in the memory range. The base address is - * assumed to be lower than the limit address. + * This function returns true if the given address is within the + * memory range specified and false otherwise. base is the address + * of the first byte in the memory range and limit is the address + * of the last byte in the memory range. The base address is + * assumed to be lower than the limit address. * - * @param[in] address is the address to check. - * @param[in] base is the lowest address of the range to check against. - * @param[in] limit is the highest address of the range to check against. + * @param[in] address is the address to check. + * @param[in] base is the lowest address of the range to check against. + * @param[in] limit is the highest address of the range to check against. * - * @return This method returns true if the given @a address is within the - * memory range specified and false otherwise. + * @retval true The @a address is within the memory range specified + * @retval false The @a address is not within the memory range specified. */ RTEMS_INLINE_ROUTINE bool _Addresses_Is_in_range ( const void *address, @@ -135,7 +143,7 @@ RTEMS_INLINE_ROUTINE bool _Addresses_Is_in_range ( return (address >= base && address <= limit); } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/coremutex.inl b/cpukit/score/inline/rtems/score/coremutex.inl index 90b939345b..d0266a0a42 100644 --- a/cpukit/score/inline/rtems/score/coremutex.inl +++ b/cpukit/score/inline/rtems/score/coremutex.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/coremutex.inl +/** + * @file + * + * @brief Inlined Routines Associated with the CORE Mutexes * - * This include file contains all of the inlined routines associated - * with the CORE mutexes. + * This include file contains all of the inlined routines associated + * with the CORE mutexes. */ /* @@ -22,19 +24,21 @@ #define _RTEMS_SCORE_COREMUTEX_INL /** - * @addtogroup ScoreMutex - * @{ + * @addtogroup ScoreMutex + * + * @{ */ /** - * @brief Is Mutex Locked + * @brief Is mutex locked. * - * This routine returns true if the mutex specified is locked and false - * otherwise. + * This routine returns true if the mutex specified is locked and false + * otherwise. * - * @param[in] the_mutex is the mutex to check + * @param[in] the_mutex is the mutex to check. * - * @return This method returns true if the mutex is locked. + * @retval true The mutex is locked. + * @retval false The mutex is not locked. */ RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_locked( CORE_mutex_Control *the_mutex @@ -42,16 +46,17 @@ RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_locked( { return the_mutex->lock == CORE_MUTEX_LOCKED; } - + /** - * @brief Does Core Mutex Use FIFO Blocking + * @brief Does core mutex use FIFO blocking. * - * This routine returns true if the mutex's wait discipline is FIFO and false - * otherwise. + * This routine returns true if the mutex's wait discipline is FIFO and false + * otherwise. * - * @param[in] the_attribute is the attribute set of the mutex + * @param[in] the_attribute is the attribute set of the mutex. * - * @return This method returns true if the mutex is using FIFO blocking order. + * @retval true The mutex is using FIFO blocking order. + * @retval false The mutex is not using FIFO blocking order. */ RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_fifo( CORE_mutex_Attributes *the_attribute @@ -59,17 +64,18 @@ RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_fifo( { return the_attribute->discipline == CORE_MUTEX_DISCIPLINES_FIFO; } - + /** - * @brief Doex Core Mutex Use Priority Blocking + * @brief Doex core mutex use priority blocking. * - * This routine returns true if the mutex's wait discipline is PRIORITY and - * false otherwise. + * This routine returns true if the mutex's wait discipline is PRIORITY and + * false otherwise. * - * @param[in] the_attribute is the attribute set of the mutex + * @param[in] the_attribute is the attribute set of the mutex. + * + * @retval true The mutex is using priority blocking order. + * @retval false The mutex is not using priority blocking order. * - * @return This method returns true if the mutex is using - * priority blocking order. */ RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_priority( CORE_mutex_Attributes *the_attribute @@ -77,17 +83,17 @@ RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_priority( { return the_attribute->discipline == CORE_MUTEX_DISCIPLINES_PRIORITY; } - + /** - * @brief Does Mutex Use Priority Inheritance + * @brief Does mutex use priority inheritance. * - * This routine returns true if the mutex's wait discipline is - * INHERIT_PRIORITY and false otherwise. + * This routine returns true if the mutex's wait discipline is + * INHERIT_PRIORITY and false otherwise. * - * @param[in] the_attribute is the attribute set of the mutex + * @param[in] the_attribute is the attribute set of the mutex. * - * @return This method returns true if the mutex is using priority - * inheritance. + * @retval true The mutex is using priority inheritance. + * @retval false The mutex is not using priority inheritance. */ RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_inherit_priority( CORE_mutex_Attributes *the_attribute @@ -95,16 +101,17 @@ RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_inherit_priority( { return the_attribute->discipline == CORE_MUTEX_DISCIPLINES_PRIORITY_INHERIT; } - + /** - * @brief Does Mutex Use Priority Ceiling + * @brief Does mutex use priority ceiling. * - * This routine returns true if the mutex's wait discipline is - * PRIORITY_CEILING and false otherwise. + * This routine returns true if the mutex's wait discipline is + * PRIORITY_CEILING and false otherwise. * - * @param[in] the_attribute is the attribute set of the mutex - * @return This method returns true if the mutex is using priority - * ceiling. + * @param[in] the_attribute is the attribute set of the mutex. + * + * @retval true The mutex is using priority ceiling. + * @retval false The mutex is not using priority ceiling. */ RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_priority_ceiling( CORE_mutex_Attributes *the_attribute @@ -112,7 +119,7 @@ RTEMS_INLINE_ROUTINE bool _CORE_mutex_Is_priority_ceiling( { return the_attribute->discipline == CORE_MUTEX_DISCIPLINES_PRIORITY_CEILING; } - + /* * Seize Mutex with Quick Success Path * @@ -221,7 +228,7 @@ RTEMS_INLINE_ROUTINE int _CORE_mutex_Seize_interrupt_trylock_body( return 1; } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/heap.inl b/cpukit/score/inline/rtems/score/heap.inl index 59bdd7b142..7850f7a920 100644 --- a/cpukit/score/inline/rtems/score/heap.inl +++ b/cpukit/score/inline/rtems/score/heap.inl @@ -1,9 +1,7 @@ /** * @file * - * @ingroup ScoreHeap - * - * @brief Heap Handler API. + * @brief Heap Handler API */ /* @@ -201,7 +199,8 @@ RTEMS_INLINE_ROUTINE bool _Heap_Is_block_in_heap( * * The next block of the last block will be the first block. Since the first * block indicates that the previous block is used, this ensures that the last - * block appears as used for the _Heap_Is_used() and _Heap_Is_free() functions. + * block appears as used for the _Heap_Is_used() and _Heap_Is_free() + * functions. * * This feature will be used to terminate the scattered heap area list. See * also _Heap_Extend(). diff --git a/cpukit/score/inline/rtems/score/priority.inl b/cpukit/score/inline/rtems/score/priority.inl index c0ac766a2f..7059682bf1 100644 --- a/cpukit/score/inline/rtems/score/priority.inl +++ b/cpukit/score/inline/rtems/score/priority.inl @@ -1,5 +1,7 @@ -/** - * @file rtems/score/priority.inl +/** + * @file + * + * @brief Inlined Routines in the Priority Handler * * This file contains the static inline implementation of all inlined * routines in the Priority Handler. @@ -22,20 +24,21 @@ #define _RTEMS_SCORE_PRIORITY_INL /** - * @addtogroup ScorePriority - * @{ + * @addtogroup ScorePriority + * + * @{ */ /** - * This function returns true if the_priority if valid for a - * user task, and false otherwise. + * This function returns true if the_priority if valid for a + * user task, and false otherwise. */ RTEMS_INLINE_ROUTINE bool _Priority_Is_valid ( Priority_Control the_priority ) { - /* + /* * Since PRIORITY_MINIMUM is 0 and priorities are stored unsigned, * then checking for less than 0 is unnecessary. */ @@ -45,7 +48,7 @@ RTEMS_INLINE_ROUTINE bool _Priority_Is_valid ( -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/prioritybitmap.inl b/cpukit/score/inline/rtems/score/prioritybitmap.inl index 76bb1a1c83..01fa32686e 100644 --- a/cpukit/score/inline/rtems/score/prioritybitmap.inl +++ b/cpukit/score/inline/rtems/score/prioritybitmap.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/prioritybitmap.inl +/** + * @file + * + * @brief Inlined Routines in the Priority Handler Bit Map Implementation * - * This file contains the static inline implementation of all inlined - * routines in the Priority Handler bit map implementation + * This file contains the static inline implementation of all inlined + * routines in the Priority Handler bit map implementation */ /* @@ -22,14 +24,15 @@ #define _RTEMS_SCORE_PRIORITYBITMAP_INL /** - * @addtogroup ScorePriority - * @{ + * @addtogroup ScorePriority + * + * @{ */ #include /** - * This function returns the major portion of the_priority. + * This function returns the major portion of the_priority. */ RTEMS_INLINE_ROUTINE Priority_bit_map_Control _Priority_Major ( @@ -40,7 +43,7 @@ RTEMS_INLINE_ROUTINE Priority_bit_map_Control _Priority_Major ( } /** - * This function returns the minor portion of the_priority. + * This function returns the minor portion of the_priority. */ RTEMS_INLINE_ROUTINE Priority_bit_map_Control _Priority_Minor ( @@ -51,23 +54,23 @@ RTEMS_INLINE_ROUTINE Priority_bit_map_Control _Priority_Minor ( } #if ( CPU_USE_GENERIC_BITFIELD_CODE == TRUE ) - + /** - * This function returns the mask associated with the major or minor - * number passed to it. + * This function returns the mask associated with the major or minor + * number passed to it. */ - + RTEMS_INLINE_ROUTINE Priority_bit_map_Control _Priority_Mask ( uint32_t bit_number ) { return (Priority_bit_map_Control)(0x8000u >> bit_number); } - + /** - * This function returns the mask bit inverted. + * This function returns the mask bit inverted. */ - + RTEMS_INLINE_ROUTINE Priority_bit_map_Control _Priority_Mask_invert ( uint32_t mask ) @@ -75,13 +78,13 @@ RTEMS_INLINE_ROUTINE Priority_bit_map_Control _Priority_Mask_invert ( return (Priority_bit_map_Control)(~mask); } - + /** - * This function translates the bit numbers returned by the bit scan - * of a priority bit field into something suitable for use as - * a major or minor component of a priority. + * This function translates the bit numbers returned by the bit scan + * of a priority bit field into something suitable for use as + * a major or minor component of a priority. */ - + RTEMS_INLINE_ROUTINE uint32_t _Priority_Bits_index ( uint32_t bit_number ) @@ -96,7 +99,7 @@ RTEMS_INLINE_ROUTINE uint32_t _Priority_Bits_index ( */ /** - * This routine performs the initialization necessary for this handler. + * This routine performs the initialization necessary for this handler. */ RTEMS_INLINE_ROUTINE void _Priority_bit_map_Handler_initialization( void ) @@ -109,8 +112,8 @@ RTEMS_INLINE_ROUTINE void _Priority_bit_map_Handler_initialization( void ) } /** - * This routine uses the_priority_map to update the priority - * bit maps to indicate that a thread has been readied. + * This routine uses the_priority_map to update the priority + * bit maps to indicate that a thread has been readied. */ RTEMS_INLINE_ROUTINE void _Priority_bit_map_Add ( @@ -122,9 +125,9 @@ RTEMS_INLINE_ROUTINE void _Priority_bit_map_Add ( } /** - * This routine uses the_priority_map to update the priority - * bit maps to indicate that a thread has been removed from the - * ready state. + * This routine uses the_priority_map to update the priority + * bit maps to indicate that a thread has been removed from the + * ready state. */ RTEMS_INLINE_ROUTINE void _Priority_bit_map_Remove ( @@ -137,8 +140,8 @@ RTEMS_INLINE_ROUTINE void _Priority_bit_map_Remove ( } /** - * This function returns the priority of the highest priority - * ready thread. + * This function returns the priority of the highest priority + * ready thread. */ RTEMS_INLINE_ROUTINE Priority_Control _Priority_bit_map_Get_highest( void ) @@ -154,9 +157,9 @@ RTEMS_INLINE_ROUTINE Priority_Control _Priority_bit_map_Get_highest( void ) } /** - * This routine initializes the_priority_map so that it - * contains the information necessary to manage a thread - * at new_priority. + * This routine initializes the_priority_map so that it + * contains the information necessary to manage a thread + * at new_priority. */ RTEMS_INLINE_ROUTINE void _Priority_bit_map_Initialize_information( @@ -185,7 +188,7 @@ RTEMS_INLINE_ROUTINE void _Priority_bit_map_Initialize_information( the_priority_map->block_minor = (Priority_bit_map_Control)(~((uint32_t)mask)); } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/rbtree.inl b/cpukit/score/inline/rtems/score/rbtree.inl index e25e3df289..dfa8c265fa 100644 --- a/cpukit/score/inline/rtems/score/rbtree.inl +++ b/cpukit/score/inline/rtems/score/rbtree.inl @@ -1,12 +1,14 @@ /** - * @file rtems/score/rbtree.inl + * @file * - * This include file contains the bodies of the routines which are - * associated with Red-Black Trees and inlined. + * @brief Inlined Routines Associated with Red-Black Trees * - * @note The routines in this file are ordered from simple - * to complex. No other RBTree Handler routine is referenced - * unless it has already been defined. + * This include file contains the bodies of the routines which are + * associated with Red-Black Trees and inlined. + * + * @note The routines in this file are ordered from simple + * to complex. No other RBTree Handler routine is referenced + * unless it has already been defined. */ /* @@ -25,12 +27,13 @@ #define _RTEMS_SCORE_RBTREE_INL /** - * @addtogroup ScoreRBTree - * @{ + * @addtogroup ScoreRBTree + * + * @{ */ /** - * @brief Get the direction opposite to @a the_dir + * @brief Get the direction opposite to @a the_dir. */ RTEMS_INLINE_ROUTINE RBTree_Direction _RBTree_Opposite_direction( RBTree_Direction the_dir @@ -39,10 +42,11 @@ RTEMS_INLINE_ROUTINE RBTree_Direction _RBTree_Opposite_direction( return (RBTree_Direction) !((int) the_dir); } -/** @brief Set off rbtree +/** + * @brief Set off RBtree. * - * This function sets the parent and child fields of the @a node to NULL - * indicating the @a node is not part of a rbtree. + * This function sets the parent and child fields of the @a node to NULL + * indicating the @a node is not part of a rbtree. * */ RTEMS_INLINE_ROUTINE void _RBTree_Set_off_rbtree( @@ -52,10 +56,11 @@ RTEMS_INLINE_ROUTINE void _RBTree_Set_off_rbtree( node->parent = node->child[RBT_LEFT] = node->child[RBT_RIGHT] = NULL; } -/** @brief Is the Node off RBTree +/** + * @brief Is the node off RBTree. * - * This function returns true if the @a node is not on a rbtree. A @a node is - * off rbtree if the parent and child fields are set to NULL. + * This function returns true if the @a node is not on a rbtree. A @a node is + * off rbtree if the parent and child fields are set to NULL. */ RTEMS_INLINE_ROUTINE bool _RBTree_Is_node_off_rbtree( const RBTree_Node *node @@ -64,10 +69,14 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_node_off_rbtree( return (node->parent == NULL) && (node->child[RBT_LEFT] == NULL) && (node->child[RBT_RIGHT] == NULL); } -/** @brief Are Two Nodes Equal +/** + * @brief Are two Nodes equal. * - * This function returns true if @a left and @a right are equal, - * and false otherwise. + * This function returns true if @a left and @a right are equal, + * and false otherwise. + * + * @retval true @a left and @a right are equal. + * @retval false @a left and @a right are not equal. */ RTEMS_INLINE_ROUTINE bool _RBTree_Are_nodes_equal( const RBTree_Node *left, @@ -77,9 +86,13 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Are_nodes_equal( return left == right; } -/** @brief Is this RBTree Control Pointer Null +/** + * @brief Is this RBTree control pointer NULL. * - * This function returns true if @a the_rbtree is NULL and false otherwise. + * This function returns true if @a the_rbtree is NULL and false otherwise. + * + * @retval true @a the_rbtree is @c NULL. + * @retval false @a the_rbtree is not @c NULL. */ RTEMS_INLINE_ROUTINE bool _RBTree_Is_null( const RBTree_Control *the_rbtree @@ -88,9 +101,13 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_null( return (the_rbtree == NULL); } -/** @brief Is the RBTree Node Pointer NULL +/** + * @brief Is the RBTree node pointer NUL. * - * This function returns true if @a the_node is NULL and false otherwise. + * This function returns true if @a the_node is NULL and false otherwise. + * + * @retval true @a the_node is @c NULL. + * @retval false @a the_node is not @c NULL. */ RTEMS_INLINE_ROUTINE bool _RBTree_Is_null_node( const RBTree_Node *the_node @@ -100,9 +117,10 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_null_node( } -/** @brief Return pointer to RBTree's root node +/** + * @brief Return pointer to RBTree's root node. * - * This function returns a pointer to the root node of @a the_rbtree. + * This function returns a pointer to the root node of @a the_rbtree. */ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Root( const RBTree_Control *the_rbtree @@ -111,10 +129,11 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Root( return the_rbtree->root; } -/** @brief Return pointer to RBTree's First node +/** + * @brief Return pointer to RBTree's first node. * - * This function returns a pointer to the first node on @a the_rbtree, - * where @a dir specifies whether to return the minimum (0) or maximum (1). + * This function returns a pointer to the first node on @a the_rbtree, + * where @a dir specifies whether to return the minimum (0) or maximum (1). */ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_First( const RBTree_Control *the_rbtree, @@ -124,9 +143,10 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_First( return the_rbtree->first[dir]; } -/** @brief Return pointer to the parent of this node +/** + * @brief Return pointer to the parent of this node. * - * This function returns a pointer to the parent node of @a the_node. + * This function returns a pointer to the parent node of @a the_node. */ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Parent( const RBTree_Node *the_node @@ -136,13 +156,14 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Parent( return the_node->parent; } -/** @brief Return pointer to the left of this node +/** + * @brief Return pointer to the left of this node. * - * This function returns a pointer to the left node of this node. + * This function returns a pointer to the left node of this node. * - * @param[in] the_node is the node to be operated upon. + * @param[in] the_node is the node to be operated upon. * - * @return This method returns the left node on the rbtree. + * @return This method returns the left node on the rbtree. */ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Left( const RBTree_Node *the_node @@ -151,13 +172,14 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Left( return the_node->child[RBT_LEFT]; } -/** @brief Return pointer to the right of this node +/** + * @brief Return pointer to the right of this node. * - * This function returns a pointer to the right node of this node. + * This function returns a pointer to the right node of this node. * - * @param[in] the_node is the node to be operated upon. + * @param[in] the_node is the node to be operated upon. * - * @return This method returns the right node on the rbtree. + * @return This method returns the right node on the rbtree. */ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Right( const RBTree_Node *the_node @@ -166,15 +188,16 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Right( return the_node->child[RBT_RIGHT]; } -/** @brief Is the RBTree Empty +/** + * @brief Is the RBTree empty. * - * This function returns true if there are no nodes on @a the_rbtree and - * false otherwise. + * This function returns true if there are no nodes on @a the_rbtree and + * false otherwise. * - * @param[in] the_rbtree is the rbtree to be operated upon. + * @param[in] the_rbtree is the rbtree to be operated upon. * - * @return This function returns true if there are no nodes on - * @a the_rbtree and false otherwise. + * @retval true There are no nodes on @a the_rbtree. + * @retval false There are nodes on @a the_rbtree. */ RTEMS_INLINE_ROUTINE bool _RBTree_Is_empty( const RBTree_Control *the_rbtree @@ -183,11 +206,15 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_empty( return (the_rbtree->root == NULL); } -/** @brief Is this the First Node on the RBTree +/** + * @brief Is this the first node on the RBTree. * - * This function returns true if @a the_node is the first node on - * @a the_rbtree and false otherwise. @a dir specifies whether first means - * minimum (0) or maximum (1). + * This function returns true if @a the_node is the first node on + * @a the_rbtree and false otherwise. @a dir specifies whether first means + * minimum (0) or maximum (1). + * + * @retval true @a the_node is the first node on @a the_rbtree. + * @retval false @a the_node is not the first node on @a the_rbtree. * */ RTEMS_INLINE_ROUTINE bool _RBTree_Is_first( @@ -199,9 +226,13 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_first( return (the_node == _RBTree_First(the_rbtree, dir)); } -/** @brief Is this node red? +/** + * @brief Is this node red. * - * This function returns true if @a the_node is red and false otherwise. + * This function returns true if @a the_node is red and false otherwise. + * + * @retval true @a the_node is red. + * @retval false @a the_node in not red. */ RTEMS_INLINE_ROUTINE bool _RBTree_Is_red( const RBTree_Node *the_node @@ -211,11 +242,14 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_red( } -/** @brief Does this RBTree have only One Node +/** + * @brief Does this RBTree have only one node. * - * This function returns true if there is only one node on @a the_rbtree and - * false otherwise. + * This function returns true if there is only one node on @a the_rbtree and + * false otherwise. * + * @retval true @a the_rbtree has only one node. + * @retval false @a the_rbtree has more than one nodes. */ RTEMS_INLINE_ROUTINE bool _RBTree_Has_only_one_node( const RBTree_Control *the_rbtree @@ -225,10 +259,14 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Has_only_one_node( return (the_rbtree->root->child[RBT_LEFT] == NULL && the_rbtree->root->child[RBT_RIGHT] == NULL); } -/** @brief Is this Node the RBTree root +/** + * @brief Is this node the RBTree root. + * + * This function returns true if @a the_node is the root of @a the_rbtree and + * false otherwise. * - * This function returns true if @a the_node is the root of @a the_rbtree and - * false otherwise. + * @retval true @a the_node is the root of @a the_rbtree. + * @retval false @a the_node is not the root of @a the_rbtree. */ RTEMS_INLINE_ROUTINE bool _RBTree_Is_root( const RBTree_Control *the_rbtree, @@ -238,9 +276,10 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_root( return (the_node == _RBTree_Root(the_rbtree)); } -/** @brief Initialize this RBTree as Empty +/** + * @brief Initialize this RBTree as empty. * - * This routine initializes @a the_rbtree to contain zero nodes. + * This routine initializes @a the_rbtree to contain zero nodes. */ RTEMS_INLINE_ROUTINE void _RBTree_Initialize_empty( RBTree_Control *the_rbtree, @@ -256,11 +295,11 @@ RTEMS_INLINE_ROUTINE void _RBTree_Initialize_empty( the_rbtree->is_unique = is_unique; } -/** @brief Return a pointer to node's grandparent +/** + * @brief Return a pointer to node's grandparent. * - * This function returns a pointer to the grandparent of @a the_node if it - * exists, and NULL if not. - * + * This function returns a pointer to the grandparent of @a the_node if it + * exists, and NULL if not. */ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Grandparent( const RBTree_Node *the_node @@ -273,10 +312,11 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Grandparent( return(the_node->parent->parent); } -/** @brief Return a pointer to node's sibling +/** + * @brief Return a pointer to node's sibling. * - * This function returns a pointer to the sibling of @a the_node if it - * exists, and NULL if not. + * This function returns a pointer to the sibling of @a the_node if it + * exists, and NULL if not. */ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Sibling( const RBTree_Node *the_node @@ -292,10 +332,11 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Sibling( return the_node->parent->child[RBT_LEFT]; } -/** @brief Return a pointer to node's parent's sibling +/** + * @brief Return a pointer to node's parent's sibling. * - * This function returns a pointer to the sibling of the parent of - * @a the_node if it exists, and NULL if not. + * This function returns a pointer to the sibling of the parent of + * @a the_node if it exists, and NULL if not. */ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Parent_sibling( const RBTree_Node *the_node @@ -307,10 +348,11 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Parent_sibling( return _RBTree_Sibling(the_node->parent); } -/** @brief Find the RBTree_Control header given a node in the tree +/** + * @brief Find the RBTree_Control header given a node in the tree. * - * This function returns a pointer to the header of the Red Black - * Tree containing @a the_node if it exists, and NULL if not. + * This function returns a pointer to the header of the Red Black + * Tree containing @a the_node if it exists, and NULL if not. */ RTEMS_INLINE_ROUTINE RBTree_Control *_RBTree_Find_header_unprotected( RBTree_Node *the_node @@ -344,8 +386,8 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_lesser( /** * @brief Returns the predecessor of a node. * - * @param[in] rbtree The red-black tree. - * @param[in] node The node. + * @param[in] rbtree is the red-black tree. + * @param[in] node is the node. * * @retval NULL The predecessor does not exist. * @retval otherwise The predecessor node. @@ -372,8 +414,8 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Predecessor( /** * @brief Returns the successor of a node. * - * @param[in] rbtree The red-black tree. - * @param[in] node The node. + * @param[in] rbtree is the red-black tree. + * @param[in] node is the node. * * @retval NULL The successor does not exist. * @retval otherwise The successor node. @@ -397,18 +439,19 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Successor( return _RBTree_Next( node, RBT_RIGHT ); } -/** @brief Get the First Node (unprotected) +/** + * @brief Get the first node (unprotected). * - * This function removes the minimum or maximum node from the_rbtree and - * returns a pointer to that node. It does NOT disable interrupts to ensure - * the atomicity of the get operation. + * This function removes the minimum or maximum node from the_rbtree and + * returns a pointer to that node. It does NOT disable interrupts to ensure + * the atomicity of the get operation. * - * @param[in] the_rbtree is the rbtree to attempt to get the min node from. - * @param[in] dir specifies whether to get minimum (0) or maximum (1) + * @param[in] the_rbtree is the rbtree to attempt to get the min node from. + * @param[in] dir specifies whether to get minimum (0) or maximum (1) * - * @return This method returns the min or max node on the rbtree, or NULL. + * @return This method returns the min or max node on the rbtree, or NULL. * - * @note This routine may return NULL if the RBTree is empty. + * @note This routine may return NULL if the RBTree is empty. */ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Get_unprotected( RBTree_Control *the_rbtree, @@ -420,10 +463,11 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Get_unprotected( return the_node; } -/** @brief Rotate the_node in the direction passed as second argument - * - * This routine rotates @a the_node to the direction @a dir, swapping - * @a the_node with its child\[@a dir\]. +/** + * @brief Rotate the_node in the direction passed as second argument. + * + * This routine rotates @a the_node to the direction @a dir, swapping + * @a the_node with its child\[@a dir\]. */ RTEMS_INLINE_ROUTINE void _RBTree_Rotate( RBTree_Node *the_node, @@ -448,7 +492,8 @@ RTEMS_INLINE_ROUTINE void _RBTree_Rotate( the_node->parent = c; } -/** @brief Determines whether the tree is unique +/** + * @brief Determines whether the tree is unique. */ RTEMS_INLINE_ROUTINE bool _RBTree_Is_unique( const RBTree_Control *the_rbtree @@ -456,7 +501,8 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_unique( { return( the_rbtree && the_rbtree->is_unique ); } -/**@}*/ + +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/schedulerpriority.inl b/cpukit/score/inline/rtems/score/schedulerpriority.inl index 5c3dd5fbd6..1209340169 100644 --- a/cpukit/score/inline/rtems/score/schedulerpriority.inl +++ b/cpukit/score/inline/rtems/score/schedulerpriority.inl @@ -1,8 +1,11 @@ -/** - * @file rtems/score/schedulerpriority.inl +/** + * @file + * + * @brief Inlined Routines Associated with the Manipulation of the + * Priority-Based Scheduling Structures * - * This inline file contains all of the inlined routines associated with - * the manipulation of the priority-based scheduling structures. + * This inline file contains all of the inlined routines associated with + * the manipulation of the priority-based scheduling structures. */ /* @@ -24,13 +27,15 @@ #include /** - * @addtogroup ScoreScheduler + * @addtogroup ScoreScheduler + * * @{ */ -/** @brief Scheduler priority Ready queue initialize +/** + * @brief Ready queue initialization. * - * This routine initializes @a the_ready_queue for priority-based scheduling. + * This routine initializes @a the_ready_queue for priority-based scheduling. */ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_initialize(void) { @@ -49,11 +54,11 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_initialize(void) } /** - * @brief _Scheduler_priority_Ready_queue_enqueue + * @brief Put a thread to the ready queue. * - * This routine puts @a the_thread on to the priority-based ready queue. - * - * @param[in] the_thread - pointer to thread + * This routine puts @a the_thread on to the priority-based ready queue. + * + * @param[in] the_thread is a pointer to the thread */ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_enqueue( Thread_Control *the_thread @@ -66,18 +71,18 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_enqueue( ready = sched_info->ready_chain; _Priority_bit_map_Add( &sched_info->Priority_map ); - + _Chain_Append_unprotected( ready, &the_thread->Object.Node ); } /** - * @brief _Scheduler_priority_Ready_queue_Enqueue_first + * @brief Put a thread to the head of the ready queue. * - * This routine puts @a the_thread to the head of the ready queue. - * For priority-based ready queues, the thread will be the first thread - * at its priority level. - * - * @param[in] the_thread - pointer to thread + * This routine puts @a the_thread to the head of the ready queue. + * For priority-based ready queues, the thread will be the first thread + * at its priority level. + * + * @param[in] the_thread is a pointer to the thread. */ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_enqueue_first( Thread_Control *the_thread @@ -96,12 +101,12 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_enqueue_first( } /** - * @brief _Scheduler_priority_Ready_queue_extract + * @brief Remove a specific thread from the ready queue. * - * This routine removes a specific thread from the specified - * priority-based ready queue. + * This routine removes a specific thread from the specified + * priority-based ready queue. * - * @param[in] the_thread - pointer to thread + * @param[in] the_thread is a pointer to the thread. */ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_extract( Thread_Control *the_thread @@ -122,13 +127,13 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_extract( } /** - * @brief _Scheduler_priority_Ready_queue_first + * @brief Return a pointer to the first thread. * - * This routines returns a pointer to the first thread on @a the_ready_queue. + * This routines returns a pointer to the first thread on @a the_ready_queue. * - * @param[in] the_ready_queue - pointer to thread queue + * @param[in] the_ready_queue - pointer to thread queue * - * @return This method returns the first thread or NULL + * @return This method returns the first thread or NULL */ RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_priority_Ready_queue_first( Chain_Control *the_ready_queue @@ -143,12 +148,12 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Scheduler_priority_Ready_queue_first( } /** - * @brief _Scheduler_priority_Ready_queue_requeue + * @brief Requeue a thread on the ready queue. * - * This routine is invoked when a thread changes priority and should be - * moved to a different position on the ready queue. + * This routine is invoked when a thread changes priority and should be + * moved to a different position on the ready queue. * - * @param[in] the_thread - pointer to thread + * @param[in] the_thread is a pointer to the thread */ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_requeue( Thread_Control *the_thread @@ -162,19 +167,17 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_requeue( _Chain_Extract_unprotected( &the_thread->Object.Node ); _Chain_Append_unprotected( - sched_info->ready_chain, + sched_info->ready_chain, &the_thread->Object.Node ); } } /** - * @brief _Scheduler_priority_Schedule_body - * - * This kernel routine implements scheduling decision logic - * for priority-based scheduling. + * @brief Scheduling decision logic. * - * @param[in] the_thread - pointer to thread + * This kernel routine implements scheduling decision logic + * for priority-based scheduling. */ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Schedule_body(void) { @@ -184,12 +187,12 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Schedule_body(void) } /** - * @brief Scheduler priority Priority compare body + * @brief Priority comparison. * - * This routine implements priority comparison for priority-based - * scheduling. + * This routine implements priority comparison for priority-based + * scheduling. * - * @return >0 for higher priority, 0 for equal and <0 for lower priority. + * @return >0 for higher priority, 0 for equal and <0 for lower priority. */ RTEMS_INLINE_ROUTINE int _Scheduler_priority_Priority_compare_body( Priority_Control p1, @@ -200,7 +203,7 @@ RTEMS_INLINE_ROUTINE int _Scheduler_priority_Priority_compare_body( return ( p2 - p1 ); } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/schedulersimple.inl b/cpukit/score/inline/rtems/score/schedulersimple.inl index b94cd224da..4c6e27d355 100644 --- a/cpukit/score/inline/rtems/score/schedulersimple.inl +++ b/cpukit/score/inline/rtems/score/schedulersimple.inl @@ -1,8 +1,11 @@ -/** - * @file rtems/score/schedulersimple.inl +/** + * @file + * + * @brief Inlined Routines Associated with the Manipulation of the + * Priority-Based Scheduling Structures * - * This inline file contains all of the inlined routines associated with - * the manipulation of the priority-based scheduling structures. + * This inline file contains all of the inlined routines associated with + * the manipulation of the priority-based scheduling structures. */ /* @@ -23,15 +26,16 @@ #include /** - * @addtogroup ScoreScheduler + * @addtogroup ScoreScheduler + * * @{ */ /** - * This routine puts @a the_thread on to the ready queue. + * This routine puts @a the_thread on to the ready queue. * - * @param[in] the_ready_queue is a pointer to the ready queue head - * @param[in] the_thread is the thread to be blocked + * @param[in] the_ready_queue is a pointer to the ready queue head + * @param[in] the_thread is the thread to be blocked */ RTEMS_INLINE_ROUTINE void _Scheduler_simple_Ready_queue_requeue( Scheduler_Control *the_ready_queue, @@ -45,7 +49,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_simple_Ready_queue_requeue( _Scheduler_simple_Ready_queue_enqueue( the_thread ); } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/threadmp.inl b/cpukit/score/inline/rtems/score/threadmp.inl index 81ecb6dcc6..31af372715 100644 --- a/cpukit/score/inline/rtems/score/threadmp.inl +++ b/cpukit/score/inline/rtems/score/threadmp.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/threadmp.inl +/** + * @file + * + * @brief Inlined Routines for the Multiprocessing part of Thread Package * - * This include file contains the bodies of all inlined routines - * for the multiprocessing part of thread package. + * This include file contains the bodies of all inlined routines + * for the multiprocessing part of thread package. */ /* @@ -24,23 +26,24 @@ #define _RTEMS_SCORE_THREADMP_INL /** - * @addtogroup ScoreThreadMP - * @{ + * @addtogroup ScoreThreadMP + * + * @{ */ /** - * This function returns true if the thread in question is the - * multiprocessing receive thread. + * This function returns true if the thread in question is the + * multiprocessing receive thread. * - * @note This is a macro to avoid needing a prototype for - * _MPCI_Receive_server_tcb until it is used. + * @note This is a macro to avoid needing a prototype for + * _MPCI_Receive_server_tcb until it is used. */ #define _Thread_MP_Is_receive(_the_thread) \ ((_the_thread) == _MPCI_Receive_server_tcb) /** - * This routine frees a proxy control block to the - * inactive chain of free proxy control blocks. + * This routine frees a proxy control block to the + * inactive chain of free proxy control blocks. */ RTEMS_INLINE_ROUTINE void _Thread_MP_Free_proxy ( @@ -56,7 +59,7 @@ RTEMS_INLINE_ROUTINE void _Thread_MP_Free_proxy ( _Chain_Append( &_Thread_MP_Inactive_proxies, &the_thread->Object.Node ); } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/threadq.inl b/cpukit/score/inline/rtems/score/threadq.inl index d16013d19f..e7c6aa5aed 100644 --- a/cpukit/score/inline/rtems/score/threadq.inl +++ b/cpukit/score/inline/rtems/score/threadq.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/threadq.inl +/** + * @file + * + * @brief Inlined Routines Associated with the Manipulation of Thread Queues * - * This inline file contains all of the inlined routines associated with - * the manipulation of thread queues. + * This inline file contains all of the inlined routines associated with + * the manipulation of thread queues. */ /* @@ -24,11 +26,12 @@ #include /** - * @addtogroup ScoreThreadQ + * @addtogroup ScoreThreadQ + * * @{ */ -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/watchdog.inl b/cpukit/score/inline/rtems/score/watchdog.inl index e73a419e32..cfee466df2 100644 --- a/cpukit/score/inline/rtems/score/watchdog.inl +++ b/cpukit/score/inline/rtems/score/watchdog.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/watchdog.inl +/** + * @file + * + * @brief Inlined Routines in the Watchdog Handler * - * This file contains the static inline implementation of all inlined - * routines in the Watchdog Handler. + * This file contains the static inline implementation of all inlined + * routines in the Watchdog Handler. */ /* @@ -22,14 +24,14 @@ #define _RTEMS_SCORE_WATCHDOG_INL /** - * @addtogroup ScoreWatchdog + * @addtogroup ScoreWatchdog * @{ */ /** - * This routine initializes the specified watchdog. The watchdog is - * made inactive, the watchdog id and handler routine are set to the - * specified values. + * This routine initializes the specified watchdog. The watchdog is + * made inactive, the watchdog id and handler routine are set to the + * specified values. */ RTEMS_INLINE_ROUTINE void _Watchdog_Initialize( @@ -46,8 +48,8 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Initialize( } /** - * This routine returns true if the watchdog timer is in the ACTIVE - * state, and false otherwise. + * This routine returns true if the watchdog timer is in the ACTIVE + * state, and false otherwise. */ RTEMS_INLINE_ROUTINE bool _Watchdog_Is_active( @@ -60,8 +62,8 @@ RTEMS_INLINE_ROUTINE bool _Watchdog_Is_active( } /** - * This routine activates THE_WATCHDOG timer which is already - * on a watchdog chain. + * This routine activates THE_WATCHDOG timer which is already + * on a watchdog chain. */ RTEMS_INLINE_ROUTINE void _Watchdog_Activate( @@ -74,8 +76,8 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Activate( } /** - * This routine deactivates THE_WATCHDOG timer which will remain - * on a watchdog chain. + * This routine deactivates THE_WATCHDOG timer which will remain + * on a watchdog chain. */ RTEMS_INLINE_ROUTINE void _Watchdog_Deactivate( @@ -88,8 +90,8 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Deactivate( } /** - * This routine is invoked at each clock tick to update the ticks - * watchdog chain. + * This routine is invoked at each clock tick to update the ticks + * watchdog chain. */ RTEMS_INLINE_ROUTINE void _Watchdog_Tickle_ticks( void ) @@ -100,8 +102,8 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Tickle_ticks( void ) } /** - * This routine is invoked at each clock tick to update the seconds - * watchdog chain. + * This routine is invoked at each clock tick to update the seconds + * watchdog chain. */ RTEMS_INLINE_ROUTINE void _Watchdog_Tickle_seconds( void ) @@ -112,10 +114,10 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Tickle_seconds( void ) } /** - * This routine inserts THE_WATCHDOG into the ticks watchdog chain - * for a time of UNITS ticks. The INSERT_MODE indicates whether - * THE_WATCHDOG is to be activated automatically or later, explicitly - * by the caller. + * This routine inserts THE_WATCHDOG into the ticks watchdog chain + * for a time of UNITS ticks. The INSERT_MODE indicates whether + * THE_WATCHDOG is to be activated automatically or later, explicitly + * by the caller. */ RTEMS_INLINE_ROUTINE void _Watchdog_Insert_ticks( @@ -131,10 +133,10 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Insert_ticks( } /** - * This routine inserts THE_WATCHDOG into the seconds watchdog chain - * for a time of UNITS seconds. The INSERT_MODE indicates whether - * THE_WATCHDOG is to be activated automatically or later, explicitly - * by the caller. + * This routine inserts THE_WATCHDOG into the seconds watchdog chain + * for a time of UNITS seconds. The INSERT_MODE indicates whether + * THE_WATCHDOG is to be activated automatically or later, explicitly + * by the caller. */ RTEMS_INLINE_ROUTINE void _Watchdog_Insert_seconds( @@ -150,9 +152,9 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Insert_seconds( } /** - * This routine adjusts the seconds watchdog chain in the forward - * or backward DIRECTION for UNITS seconds. This is invoked when the - * current time of day is changed. + * This routine adjusts the seconds watchdog chain in the forward + * or backward DIRECTION for UNITS seconds. This is invoked when the + * current time of day is changed. */ RTEMS_INLINE_ROUTINE void _Watchdog_Adjust_seconds( @@ -166,8 +168,8 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Adjust_seconds( } /** - * This routine adjusts the ticks watchdog chain in the forward - * or backward DIRECTION for UNITS ticks. + * This routine adjusts the ticks watchdog chain in the forward + * or backward DIRECTION for UNITS ticks. */ RTEMS_INLINE_ROUTINE void _Watchdog_Adjust_ticks( @@ -181,10 +183,10 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Adjust_ticks( } /** - * This routine resets THE_WATCHDOG timer to its state at INSERT - * time. This routine is valid only on interval watchdog timers - * and is used to make an interval watchdog timer fire "every" so - * many ticks. + * This routine resets THE_WATCHDOG timer to its state at INSERT + * time. This routine is valid only on interval watchdog timers + * and is used to make an interval watchdog timer fire "every" so + * many ticks. */ RTEMS_INLINE_ROUTINE void _Watchdog_Reset( @@ -199,8 +201,8 @@ RTEMS_INLINE_ROUTINE void _Watchdog_Reset( } /** - * This routine returns a pointer to the watchdog timer following - * THE_WATCHDOG on the watchdog chain. + * This routine returns a pointer to the watchdog timer following + * THE_WATCHDOG on the watchdog chain. */ RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_Next( @@ -213,8 +215,8 @@ RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_Next( } /** - * This routine returns a pointer to the watchdog timer preceding - * THE_WATCHDOG on the watchdog chain. + * This routine returns a pointer to the watchdog timer preceding + * THE_WATCHDOG on the watchdog chain. */ RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_Previous( @@ -227,8 +229,8 @@ RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_Previous( } /** - * This routine returns a pointer to the first watchdog timer - * on the watchdog chain HEADER. + * This routine returns a pointer to the first watchdog timer + * on the watchdog chain HEADER. */ RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_First( @@ -241,8 +243,8 @@ RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_First( } /** - * This routine returns a pointer to the last watchdog timer - * on the watchdog chain HEADER. + * This routine returns a pointer to the last watchdog timer + * on the watchdog chain HEADER. */ RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_Last( @@ -254,7 +256,7 @@ RTEMS_INLINE_ROUTINE Watchdog_Control *_Watchdog_Last( } -/**@}*/ +/** @} */ #endif /* end of include file */ diff --git a/cpukit/score/inline/rtems/score/wkspace.inl b/cpukit/score/inline/rtems/score/wkspace.inl index 5d3748a7a5..16679c8ff3 100644 --- a/cpukit/score/inline/rtems/score/wkspace.inl +++ b/cpukit/score/inline/rtems/score/wkspace.inl @@ -1,8 +1,10 @@ -/** - * @file rtems/score/wkspace.inl +/** + * @file + * + * @brief Inlined Routines Associated with the RAM Workspace * - * This include file contains the bodies of the routines which contains - * information related to the RAM Workspace. + * This include file contains the bodies of the routines which contains + * information related to the RAM Workspace. */ /* @@ -22,11 +24,12 @@ #define _RTEMS_SCORE_WKSPACE_INL /** - * @addtogroup ScoreWorkspace + * @addtogroup ScoreWorkspace + * * @{ */ -/**@}*/ +/** @} */ #endif /* end of include file */ -- cgit v1.2.3 From f33a84b5553a67aaea9d19b02701689058297c3c Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 9 Jan 2013 17:22:51 +0100 Subject: nfsclient: Return an error status in nfsInit() Avoid assert() and use proper cleanup if nfsInit() fails to allocate a resource. --- cpukit/libfs/src/nfsclient/src/librtemsNfs.h | 7 +- cpukit/libfs/src/nfsclient/src/nfs.c | 127 +++++++++++++++++---------- 2 files changed, 84 insertions(+), 50 deletions(-) diff --git a/cpukit/libfs/src/nfsclient/src/librtemsNfs.h b/cpukit/libfs/src/nfsclient/src/librtemsNfs.h index ddef9eeab9..f1b2b4f50c 100644 --- a/cpukit/libfs/src/nfsclient/src/librtemsNfs.h +++ b/cpukit/libfs/src/nfsclient/src/librtemsNfs.h @@ -135,8 +135,11 @@ rpcUdpCleanup(void); * * Supply zero values to have the * driver chose reasonable defaults. + * + * @retval 0 Successful operation. + * @retval -1 An error occurred. The errno is set to indicate the error. */ -void +int nfsInit(int smallPoolDepth, int bigPoolDepth); /** @@ -201,4 +204,4 @@ nfsGetTimeout(void); #endif /** @} */ -#endif \ No newline at end of file +#endif diff --git a/cpukit/libfs/src/nfsclient/src/nfs.c b/cpukit/libfs/src/nfsclient/src/nfs.c index e4e9d88bfe..99e34d5ac7 100644 --- a/cpukit/libfs/src/nfsclient/src/nfs.c +++ b/cpukit/libfs/src/nfsclient/src/nfs.c @@ -679,7 +679,19 @@ static struct nfsstats { * during the system lifetime */ u_short fs_ids; -} nfsGlob = {0, 0, 0, 0, 0, 0}; + + /* Two pools of RPC transactions; + * One with small send buffers + * the other with a big one. + * The actual size of the small + * buffer is configurable (see top). + * + * Note: The RX buffers are always + * big + */ + RpcUdpXactPool smallPool; + RpcUdpXactPool bigPool; +} nfsGlob = {0, 0, 0xffffffff, 0, 0, 0, NULL, NULL}; /* * Global variable to tune the 'st_blksize' (stat(2)) value this nfs @@ -691,18 +703,6 @@ static struct nfsstats { #endif int nfsStBlksize = DEFAULT_NFS_ST_BLKSIZE; -/* Two pools of RPC transactions; - * One with small send buffers - * the other with a big one. - * The actual size of the small - * buffer is configurable (see top). - * - * Note: The RX buffers are always - * big - */ -static RpcUdpXactPool smallPool = 0; -static RpcUdpXactPool bigPool = 0; - /***************************************** Implementation @@ -997,7 +997,7 @@ NfsNode rval = nfsNodeCreate(node->nfs, 0); * they are created and destroyed * on the fly). */ -void +int nfsInit(int smallPoolDepth, int bigPoolDepth) { static int initialised = 0; @@ -1005,7 +1005,7 @@ entry dummy; rtems_status_code status; if (initialised) - return; + return 0; initialised = 1; @@ -1018,7 +1018,8 @@ rtems_status_code status; if (RTEMS_SUCCESSFUL != rtems_io_register_driver(0, &drvNfs, &nfsGlob.nfs_major)) { fprintf(stderr,"Registering NFS driver failed - %s\n", strerror(errno)); - return; + errno = ENOMEM; + return -1; } if (0==smallPoolDepth) @@ -1039,19 +1040,23 @@ rtems_status_code status; dummy.name = "somename"; /* guess average length of a filename */ dirres_entry_size = xdr_sizeof((xdrproc_t)xdr_entry, &dummy); - smallPool = rpcUdpXactPoolCreate( + nfsGlob.smallPool = rpcUdpXactPoolCreate( NFS_PROGRAM, NFS_VERSION_2, CONFIG_NFS_SMALL_XACT_SIZE, smallPoolDepth); - assert( smallPool ); + if (nfsGlob.smallPool == NULL) { + goto cleanup; + } - bigPool = rpcUdpXactPoolCreate( + nfsGlob.bigPool = rpcUdpXactPoolCreate( NFS_PROGRAM, NFS_VERSION_2, CONFIG_NFS_BIG_XACT_SIZE, bigPoolDepth); - assert( bigPool ); + if (nfsGlob.bigPool == NULL) { + goto cleanup; + } status = rtems_semaphore_create( rtems_build_name('N','F','S','l'), @@ -1059,14 +1064,19 @@ rtems_status_code status; MUTEX_ATTRIBUTES, 0, &nfsGlob.llock); - assert( status == RTEMS_SUCCESSFUL ); + if (status != RTEMS_SUCCESSFUL) { + goto cleanup; + } + status = rtems_semaphore_create( rtems_build_name('N','F','S','m'), 1, MUTEX_ATTRIBUTES, 0, &nfsGlob.lock); - assert( status == RTEMS_SUCCESSFUL ); + if (status != RTEMS_SUCCESSFUL) { + goto cleanup; + } if (sizeof(ino_t) < sizeof(u_int)) { fprintf(stderr, @@ -1075,6 +1085,15 @@ rtems_status_code status; "you should fix newlib's sys/stat.h - for now I'll enable a hack...\n"); } + + return 0; + +cleanup: + + nfsCleanup(); + initialised = 0; + + return -1; } /* Driver cleanup code @@ -1082,38 +1101,47 @@ rtems_status_code status; int nfsCleanup(void) { -rtems_id l; int refuse; - if (!nfsGlob.llock) { - /* registering the driver failed - let them still cleanup */ - return 0; + if (nfsGlob.llock != 0) { + LOCK(nfsGlob.llock); + if ( (refuse = nfsGlob.num_mounted_fs) ) { + fprintf(stderr,"Refuse to unload NFS; %i filesystems still mounted.\n", + refuse); + nfsMountsShow(stderr); + /* yes, printing is slow - but since you try to unload the driver, + * you assume nobody is using NFS, so what if they have to wait? + */ + UNLOCK(nfsGlob.llock); + return -1; + } } - LOCK(nfsGlob.llock); - if ( (refuse = nfsGlob.num_mounted_fs) ) { - fprintf(stderr,"Refuse to unload NFS; %i filesystems still mounted.\n", - refuse); - nfsMountsShow(stderr); - /* yes, printing is slow - but since you try to unload the driver, - * you assume nobody is using NFS, so what if they have to wait? - */ - UNLOCK(nfsGlob.llock); - return -1; + if (nfsGlob.lock != 0) { + rtems_semaphore_delete(nfsGlob.lock); + nfsGlob.lock = 0; } - rtems_semaphore_delete(nfsGlob.lock); - nfsGlob.lock = 0; + if (nfsGlob.smallPool != NULL) { + rpcUdpXactPoolDestroy(nfsGlob.smallPool); + nfsGlob.smallPool = NULL; + } - /* hold the lock while cleaning up... */ + if (nfsGlob.bigPool != NULL) { + rpcUdpXactPoolDestroy(nfsGlob.bigPool); + nfsGlob.bigPool = NULL; + } - rpcUdpXactPoolDestroy(smallPool); - rpcUdpXactPoolDestroy(bigPool); - l = nfsGlob.llock; - rtems_io_unregister_driver(nfsGlob.nfs_major); + if (nfsGlob.nfs_major != 0xffffffff) { + rtems_io_unregister_driver(nfsGlob.nfs_major); + nfsGlob.nfs_major = 0xffffffff; + } + + if (nfsGlob.llock != 0) { + rtems_semaphore_delete(nfsGlob.llock); + nfsGlob.llock = 0; + } - rtems_semaphore_delete(l); - nfsGlob.llock = 0; return 0; } @@ -1153,8 +1181,8 @@ int rval = -1; switch (proc) { case NFSPROC_SYMLINK: case NFSPROC_WRITE: - pool = bigPool; break; - default: pool = smallPool; break; + pool = nfsGlob.bigPool; break; + default: pool = nfsGlob.smallPool; break; } xact = rpcUdpXactPoolGet(pool, XactGetCreate); @@ -1776,7 +1804,10 @@ char *path = mt_entry->dev; return -1; } - nfsInit(0, 0); + if (nfsInit(0, 0) != 0) { + fprintf (stderr, "error: initialising NFS\n"); + return -1; + }; #if 0 printf("Trying to mount %s on %s\n",path,mntpoint); -- cgit v1.2.3 From 55ea2220e3b9a70200e37fa7a8a94bf4c50c1fb4 Mon Sep 17 00:00:00 2001 From: Christopher Kerl Date: Wed, 9 Jan 2013 12:52:50 -0600 Subject: Create POSIX Timing Test psxtmcond02 --- testsuites/psxtmtests/Makefile.am | 1 + testsuites/psxtmtests/configure.ac | 1 + testsuites/psxtmtests/psxtmcond02/Makefile.am | 27 +++++++++ testsuites/psxtmtests/psxtmcond02/init.c | 73 +++++++++++++++++++++++ testsuites/psxtmtests/psxtmcond02/psxtmcond02.doc | 11 ++++ 5 files changed, 113 insertions(+) create mode 100644 testsuites/psxtmtests/psxtmcond02/Makefile.am create mode 100644 testsuites/psxtmtests/psxtmcond02/init.c create mode 100644 testsuites/psxtmtests/psxtmcond02/psxtmcond02.doc diff --git a/testsuites/psxtmtests/Makefile.am b/testsuites/psxtmtests/Makefile.am index afd97bdf08..6a552b3a7a 100644 --- a/testsuites/psxtmtests/Makefile.am +++ b/testsuites/psxtmtests/Makefile.am @@ -7,6 +7,7 @@ SUBDIRS += psxtmbarrier01 SUBDIRS += psxtmbarrier02 SUBDIRS += psxtmbarrier03 SUBDIRS += psxtmcond01 +SUBDIRS += psxtmcond02 SUBDIRS += psxtmkey01 SUBDIRS += psxtmkey02 SUBDIRS += psxtmmq01 diff --git a/testsuites/psxtmtests/configure.ac b/testsuites/psxtmtests/configure.ac index 952d5cc9ed..c178700b57 100644 --- a/testsuites/psxtmtests/configure.ac +++ b/testsuites/psxtmtests/configure.ac @@ -81,6 +81,7 @@ psxtmbarrier01/Makefile psxtmbarrier02/Makefile psxtmbarrier03/Makefile psxtmcond01/Makefile +psxtmcond02/Makefile psxtmkey01/Makefile psxtmkey02/Makefile psxtmmq01/Makefile diff --git a/testsuites/psxtmtests/psxtmcond02/Makefile.am b/testsuites/psxtmtests/psxtmcond02/Makefile.am new file mode 100644 index 0000000000..73ea6d6907 --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond02/Makefile.am @@ -0,0 +1,27 @@ +MANAGERS = all + +rtems_tests_PROGRAMS = psxtmcond02 +psxtmcond02_SOURCES = init.c +psxtmcond02_SOURCES += ../../tmtests/include/timesys.h +psxtmcond02_SOURCES += ../../support/src/tmtests_empty_function.c +psxtmcond02_SOURCES += ../../support/src/tmtests_support.c + +dist_rtems_tests_DATA = psxtmcond02.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +OPERATION_COUNT = @OPERATION_COUNT@ +AM_CPPFLAGS += -I$(top_srcdir)/../tmtests/include +AM_CPPFLAGS += -DOPERATION_COUNT=$(OPERATION_COUNT) +AM_CPPFLAGS += -I$(top_srcdir)/../support/include + +LINK_OBJS = $(psxtmcond02_OBJECTS) $(psxtmcond02_LDADD) +LINK_LIBS = $(psxtmcond02_LDLIBS) + +psxtmcond02$(EXEEXT): $(psxtmcond02_OBJECTS) $(psxtmcond02_DEPENDENCIES) + @rm -f psxtmcond02$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/psxtmtests/psxtmcond02/init.c b/testsuites/psxtmtests/psxtmcond02/init.c new file mode 100644 index 0000000000..26c36b35f3 --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond02/init.c @@ -0,0 +1,73 @@ +/* + * COPYRIGHT (c) 1989-2012. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include +#include "test_support.h" + +/* forward declarations to avoid warnings */ +void *POSIX_Init(void *argument); +void benchmark_signal(void); + +pthread_cond_t CondID; + +void benchmark_signal(void) +{ + long end_time; + int status; + + benchmark_timer_initialize(); + + status = pthread_cond_signal(&CondID); + + end_time = benchmark_timer_read(); + rtems_test_assert( status == 0 ); + + put_time( + "pthread_cond_signal - no threads waiting", + end_time, + 1, /* Only executed once */ + 0, + 0 + ); + +} + +void *POSIX_Init( + void *argument +) +{ + puts( "\n\n*** POSIX TIME TEST PSXTMCOND02 ***" ); + + pthread_cond_init(&CondID, NULL); + + benchmark_signal(); + + puts( "*** END OF POSIX TIME TEST PSXTMCOND02 ***" ); + rtems_test_exit(0); +} + +/* configuration information */ + +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER + +#define CONFIGURE_MAXIMUM_POSIX_THREADS 1 +#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 2 +#define CONFIGURE_POSIX_INIT_THREAD_TABLE + +#define CONFIGURE_INIT + +#include +/* end of file */ diff --git a/testsuites/psxtmtests/psxtmcond02/psxtmcond02.doc b/testsuites/psxtmtests/psxtmcond02/psxtmcond02.doc new file mode 100644 index 0000000000..865fc07091 --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond02/psxtmcond02.doc @@ -0,0 +1,11 @@ +# COPYRIGHT (c) 1989-2011. +# On-Line Applications Research Corporation (OAR). +# +# The license and distribution terms for this file may be +# found in the file LICENSE in this distribution or at +# http://www.rtems.com/license/LICENSE. +# + +This test benchmarks the following operations: + ++ -- cgit v1.2.3 From 7f97cb3e21c95b1df0a39356735c4771d354164d Mon Sep 17 00:00:00 2001 From: Christopher Kerl Date: Wed, 9 Jan 2013 13:27:57 -0600 Subject: Create POSIX Timing Test psxtmcond05 --- testsuites/psxtmtests/Makefile.am | 1 + testsuites/psxtmtests/configure.ac | 1 + testsuites/psxtmtests/psxtmcond05/Makefile.am | 27 +++++++++ testsuites/psxtmtests/psxtmcond05/init.c | 71 +++++++++++++++++++++++ testsuites/psxtmtests/psxtmcond05/psxtmcond05.doc | 11 ++++ 5 files changed, 111 insertions(+) create mode 100644 testsuites/psxtmtests/psxtmcond05/Makefile.am create mode 100644 testsuites/psxtmtests/psxtmcond05/init.c create mode 100644 testsuites/psxtmtests/psxtmcond05/psxtmcond05.doc diff --git a/testsuites/psxtmtests/Makefile.am b/testsuites/psxtmtests/Makefile.am index 6a552b3a7a..b7353b8c64 100644 --- a/testsuites/psxtmtests/Makefile.am +++ b/testsuites/psxtmtests/Makefile.am @@ -8,6 +8,7 @@ SUBDIRS += psxtmbarrier02 SUBDIRS += psxtmbarrier03 SUBDIRS += psxtmcond01 SUBDIRS += psxtmcond02 +SUBDIRS += psxtmcond05 SUBDIRS += psxtmkey01 SUBDIRS += psxtmkey02 SUBDIRS += psxtmmq01 diff --git a/testsuites/psxtmtests/configure.ac b/testsuites/psxtmtests/configure.ac index c178700b57..29e5909a8c 100644 --- a/testsuites/psxtmtests/configure.ac +++ b/testsuites/psxtmtests/configure.ac @@ -82,6 +82,7 @@ psxtmbarrier02/Makefile psxtmbarrier03/Makefile psxtmcond01/Makefile psxtmcond02/Makefile +psxtmcond05/Makefile psxtmkey01/Makefile psxtmkey02/Makefile psxtmmq01/Makefile diff --git a/testsuites/psxtmtests/psxtmcond05/Makefile.am b/testsuites/psxtmtests/psxtmcond05/Makefile.am new file mode 100644 index 0000000000..9904655c42 --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond05/Makefile.am @@ -0,0 +1,27 @@ +MANAGERS = all + +rtems_tests_PROGRAMS = psxtmcond05 +psxtmcond05_SOURCES = init.c +psxtmcond05_SOURCES += ../../tmtests/include/timesys.h +psxtmcond05_SOURCES += ../../support/src/tmtests_empty_function.c +psxtmcond05_SOURCES += ../../support/src/tmtests_support.c + +dist_rtems_tests_DATA = psxtmcond05.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +OPERATION_COUNT = @OPERATION_COUNT@ +AM_CPPFLAGS += -I$(top_srcdir)/../tmtests/include +AM_CPPFLAGS += -DOPERATION_COUNT=$(OPERATION_COUNT) +AM_CPPFLAGS += -I$(top_srcdir)/../support/include + +LINK_OBJS = $(psxtmcond05_OBJECTS) $(psxtmcond05_LDADD) +LINK_LIBS = $(psxtmcond05_LDLIBS) + +psxtmcond05$(EXEEXT): $(psxtmcond05_OBJECTS) $(psxtmcond05_DEPENDENCIES) + @rm -f psxtmcond05$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/psxtmtests/psxtmcond05/init.c b/testsuites/psxtmtests/psxtmcond05/init.c new file mode 100644 index 0000000000..bf4de19b09 --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond05/init.c @@ -0,0 +1,71 @@ +/* + * COPYRIGHT (c) 1989-2012. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include "test_support.h" + +/* forward declarations to avoid warnings */ +void *POSIX_Init(void *argument); +void benchmark_broadcast(void); + +pthread_cond_t CondID; + +void benchmark_broadcast(void) +{ + long end_time; + int status; + + benchmark_timer_initialize(); + status = pthread_cond_broadcast(&CondID); + end_time = benchmark_timer_read(); + rtems_test_assert( status == 0 ); + + put_time( + "pthread_cond_broadcast - no threads waiting", + end_time, + 1, /* Only executed once */ + 0, + 0 + ); + +} + +void *POSIX_Init( + void *argument +) +{ + + puts( "\n\n*** POSIX TIME TEST PSXTMCOND05 ***" ); + + pthread_cond_init(&CondID, NULL); + + benchmark_broadcast(); + + puts( "*** END OF POSIX TIME TEST PSXTMCOND05 ***" ); + rtems_test_exit(0); +} + +/* configuration information */ + +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER + +#define CONFIGURE_MAXIMUM_POSIX_THREADS 1 +#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 2 +#define CONFIGURE_POSIX_INIT_THREAD_TABLE + +#define CONFIGURE_INIT + +#include +/* end of file */ diff --git a/testsuites/psxtmtests/psxtmcond05/psxtmcond05.doc b/testsuites/psxtmtests/psxtmcond05/psxtmcond05.doc new file mode 100644 index 0000000000..865fc07091 --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond05/psxtmcond05.doc @@ -0,0 +1,11 @@ +# COPYRIGHT (c) 1989-2011. +# On-Line Applications Research Corporation (OAR). +# +# The license and distribution terms for this file may be +# found in the file LICENSE in this distribution or at +# http://www.rtems.com/license/LICENSE. +# + +This test benchmarks the following operations: + ++ -- cgit v1.2.3 From e82fcb44d5ab2c99c94ac0ee674ed105012d1e21 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 9 Jan 2013 20:38:55 +0100 Subject: sapi: Documentation --- cpukit/sapi/include/rtems/rbheap.h | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/cpukit/sapi/include/rtems/rbheap.h b/cpukit/sapi/include/rtems/rbheap.h index fb830be2d7..835be5a624 100644 --- a/cpukit/sapi/include/rtems/rbheap.h +++ b/cpukit/sapi/include/rtems/rbheap.h @@ -1,6 +1,8 @@ /** * @file * + * @ingroup RBHeap + * * @brief Red-Black Tree Heap API */ @@ -32,7 +34,7 @@ extern "C" { /** * @defgroup RBHeap Red-Black Tree Heap * - * @brief Red-Black Tree Heap API + * @brief Red-Black Tree Heap API. * * The red-black tree heap provides a memory allocator suitable to implement * the malloc() and free() interface. It uses a first-fit allocation strategy. @@ -144,13 +146,13 @@ struct rtems_rbheap_control { /** * @brief Initializes the red-black tree heap @a control. * - * @param[in, out] control is the red-black tree heap. - * @param[in] area_begin is the managed memory area begin. - * @param[in] area_size is the managed memory area size. - * @param[in] alignment is the minimum chunk alignment. - * @param[in] extend_descriptors is the handler to extend the available chunk + * @param[in, out] control The red-black tree heap. + * @param[in] area_begin The managed memory area begin. + * @param[in] area_size The managed memory area size. + * @param[in] alignment The minimum chunk alignment. + * @param[in] extend_descriptors The handler to extend the available chunk * descriptors. - * @param[in] handler_arg is the handler argument. + * @param[in] handler_arg The handler argument. * * @retval RTEMS_SUCCESSFUL Successful operation. * @retval RTEMS_INVALID_NUMBER The alignment is not positive. @@ -173,8 +175,8 @@ rtems_status_code rtems_rbheap_initialize( * The chunk begin is aligned by the value specified in * rtems_rbheap_initialize(). * - * @param[in, out] control is the red-black tree heap. - * @param[in] size is the requested chunk size in bytes. + * @param[in, out] control The red-black tree heap. + * @param[in] size The requested chunk size in bytes. * * @retval NULL Not enough free space in the heap. * @retval otherwise Pointer to allocated chunk of memory. @@ -182,17 +184,16 @@ rtems_status_code rtems_rbheap_initialize( void *rtems_rbheap_allocate(rtems_rbheap_control *control, size_t size); /** - * @brief Frees a chunk of memory @a ptr allocated from the red-black - * tree heap @a control. + * @brief Frees a chunk of memory @a ptr allocated from the red-black tree heap + * @a control. * - * @param[in, out] control is the red-black tree heap. - * @param[in] ptr is a pointer to the chunk of memory. + * @param[in, out] control The red-black tree heap. + * @param[in] ptr The pointer to the chunk of memory. * * @retval RTEMS_SUCCESSFUL Successful operation. * @retval RTEMS_INVALID_ID The chunk of memory is not a valid chunk in the * red-black tree heap. - * @retval RTEMS_INCORRECT_STATE The chunk of memory is not in the - * right state. + * @retval RTEMS_INCORRECT_STATE The chunk of memory is not in the right state. */ rtems_status_code rtems_rbheap_free(rtems_rbheap_control *control, void *ptr); -- cgit v1.2.3 From b403c670aeb06d4b145cf85643747398ad0506a4 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 9 Jan 2013 20:39:11 +0100 Subject: libcsupport: Documentation --- cpukit/libcsupport/include/rtems/libio_.h | 57 ++++++++++++------------------- 1 file changed, 22 insertions(+), 35 deletions(-) diff --git a/cpukit/libcsupport/include/rtems/libio_.h b/cpukit/libcsupport/include/rtems/libio_.h index 80f83f939b..4a2d0f4c1a 100644 --- a/cpukit/libcsupport/include/rtems/libio_.h +++ b/cpukit/libcsupport/include/rtems/libio_.h @@ -185,8 +185,8 @@ extern rtems_filesystem_global_location_t rtems_filesystem_global_location_null; * * The caller must hold the file system instance lock. * - * @param[out] clone will contain the cloned location. - * @param[in] master is the master location. + * @param[out] clone The cloned location. + * @param[in] master The master location. * * @see rtems_filesystem_instance_lock(). */ @@ -200,7 +200,7 @@ void rtems_filesystem_location_clone( * * This function obtains and releases the file system instance lock. * - * @param[in] loc is the location of the node. + * @param[in] loc The location of the node. * * @retval type The node type. * @@ -215,10 +215,10 @@ rtems_filesystem_node_types_t rtems_filesystem_node_type( * * This function may block on a mutex and may complete an unmount process. * - * @param[in] loc is the location to free. + * @param[in] loc The location to free. * - * NOTE: The file system root location is released by the file system instance - * destruction handler (see @ref rtems_filesystem_fsunmount_me_t). + * @note The file system root location is released by the file system + * instance destruction handler (see @ref rtems_filesystem_fsunmount_me_t). * * @see rtems_filesystem_freenode_t. */ @@ -360,8 +360,8 @@ void rtems_filesystem_eval_path_cleanup_with_parent( * The function obtains the new start location and clones it to set the new * current location. The previous start and current locations are released. * - * @param[in, out] ctx is the path evaluation context. - * @param[in, out] newstartloc_ptr is a pointer to the new start location. + * @param[in, out] ctx The path evaluation context. + * @param[in, out] newstartloc_ptr Pointer to the new start location. */ void rtems_filesystem_eval_path_restart( rtems_filesystem_eval_path_context_t *ctx, @@ -377,8 +377,8 @@ typedef enum { /** * @brief Tests if the current location is a directory. * - * @param[in, out] ctx is the path evaluation context. - * @param[in, out] arg is the handler argument. + * @param[in, out] ctx The path evaluation context. + * @param[in, out] arg The handler argument. * * @retval true The current location is a directory. * @retval false Otherwise. @@ -393,10 +393,10 @@ typedef bool (*rtems_filesystem_eval_path_is_directory)( /** * @brief Evaluates a token. * - * @param[in, out] ctx is the path evaluation context. - * @param[in, out] arg is the handler argument. - * @param[in] token is the token contents. - * @param[in] tokenlen is the token length in characters. + * @param[in, out] ctx The path evaluation context. + * @param[in, out] arg The handler argument. + * @param[in] token The token contents. + * @param[in] tokenlen The token length in characters. * * @retval status The generic path evaluation status. * @@ -415,9 +415,6 @@ typedef struct { rtems_filesystem_eval_path_eval_token eval_token; } rtems_filesystem_eval_path_generic_config; -/** - * @brief Evaluates a generic path. - */ void rtems_filesystem_eval_path_generic( rtems_filesystem_eval_path_context_t *ctx, void *arg, @@ -432,8 +429,8 @@ void rtems_filesystem_initialize(void); * A bitwise copy is performed. The destination location will be added to the * corresponding mount entry. * - * @param[out] dst is the destination location. - * @param[in] src is the source location. + * @param[out] dst The destination location. + * @param[in] src The source location. * * @retval dst The destination location. * @@ -463,10 +460,9 @@ rtems_filesystem_location_transform_to_global( /** * @brief Assigns a global file system location. * - * @param[in, out] lhs_global_loc_ptr is a pointer to the global - * left hand side file system location. The current left hand side location - * will be released. - * @param[in] rhs_global_loc is the global right hand side file system location. + * @param[in, out] lhs_global_loc_ptr Pointer to the global left hand side file + * system location. The current left hand side location will be released. + * @param[in] rhs_global_loc The global right hand side file system location. */ void rtems_filesystem_global_location_assign( rtems_filesystem_global_location_t **lhs_global_loc_ptr, @@ -481,7 +477,7 @@ void rtems_filesystem_global_location_assign( * This function must be called from normal thread context and may block on a * mutex. Thread dispatching is disabled to protect some critical sections. * - * @param[in] global_loc_ptr is a pointer to the global file system location. + * @param[in] global_loc_ptr Pointer to the global file system location. * * @return A global file system location. It returns always a valid object. * In case of an error, the global null location will be returned. Each @@ -507,8 +503,7 @@ rtems_filesystem_global_location_t *rtems_filesystem_global_location_obtain( * sections of the operating system. In this case the release will be * deferred. The next obtain call will do the actual release. * - * @param[in] global_loc is the global file system location. It must not - * be NULL. + * @param[in] global_loc The global file system location. It must not be NULL. * * @see rtems_filesystem_global_location_obtain(). */ @@ -556,9 +551,7 @@ static inline void rtems_filesystem_location_error( errno = eno; } } -/** - * @brief Create a file. - */ + int rtems_filesystem_mknod( const rtems_filesystem_location_info_t *parentloc, const char *name, @@ -569,9 +562,6 @@ int rtems_filesystem_mknod( int rtems_filesystem_chdir( rtems_filesystem_location_info_t *loc ); -/** - * @brief Change the owner and the group of a file. - */ int rtems_filesystem_chown( const char *path, uid_t owner, @@ -701,9 +691,6 @@ static inline void rtems_filesystem_eval_path_put_back_token( ctx->tokenlen = 0; } -/** - * @brief Evaluates an eat delimiter path. - */ void rtems_filesystem_eval_path_eat_delimiter( rtems_filesystem_eval_path_context_t *ctx ); -- cgit v1.2.3 From 25ba0cd6c051a32ea3ce72e86af7880327ef7167 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 9 Jan 2013 20:39:26 +0100 Subject: libcsupport: Documentation --- cpukit/libcsupport/include/rtems/libcsupport.h | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/cpukit/libcsupport/include/rtems/libcsupport.h b/cpukit/libcsupport/include/rtems/libcsupport.h index 808c0fbf43..46a1ec45b9 100644 --- a/cpukit/libcsupport/include/rtems/libcsupport.h +++ b/cpukit/libcsupport/include/rtems/libcsupport.h @@ -141,7 +141,7 @@ typedef struct { /** * @brief Tasks a snapshot of the resource usage of the system. * - * @param[out] snapshot will contain snapshot of used resources. + * @param[out] snapshot The snapshot of used resources. * * @see rtems_resource_snapshot_equal() and rtems_resource_snapshot_check(). * @@ -167,8 +167,11 @@ void rtems_resource_snapshot_take(rtems_resource_snapshot *snapshot); /** * @brief Compares two resource snapshots for equality. * + * @param[in] a One resource snapshot. + * @param[in] b Another resource snapshot. + * * @retval true The resource snapshots are equal. - * @retval false The resource snapshots are not equal. + * @retval false Otherwise. * * @see rtems_resource_snapshot_take(). */ @@ -179,13 +182,13 @@ bool rtems_resource_snapshot_equal( /** * @brief Takes a new resource snapshot and checks that it is equal to the - * given snapshot. + * given resource snapshot. * - * @param[in] snapshot is a pointer to the snapshot used for comparison - * with the new snapshot. + * @param[in] snapshot The resource snapshot used for comparison with the new + * resource snapshot. * * @retval true The resource snapshots are equal. - * @retval false The resource snapshots are not equal. + * @retval false Otherwise. * * @see rtems_resource_snapshot_take(). */ -- cgit v1.2.3 From a89a2ec5967c84869590c9e6d8185d925861a998 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 9 Jan 2013 20:52:44 +0100 Subject: IMFS: Documentation --- cpukit/libfs/src/imfs/imfs.h | 59 +++++++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/cpukit/libfs/src/imfs/imfs.h b/cpukit/libfs/src/imfs/imfs.h index 9b2d6a6b74..ba05c5baf2 100644 --- a/cpukit/libfs/src/imfs/imfs.h +++ b/cpukit/libfs/src/imfs/imfs.h @@ -21,18 +21,18 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + /** * @defgroup IMFS POSIX In-Memory File System Support * - * @brief In-Memory File System Support + * @brief In-Memory File System Support. * * @{ */ -#ifdef __cplusplus -extern "C" { -#endif - /* * Data types */ @@ -161,6 +161,8 @@ typedef union { IMFS_generic_t generic; } IMFS_types_union; +/** @} */ + /** * @addtogroup IMFSGenericNodes * @@ -170,8 +172,8 @@ typedef union { /** * @brief Initializes an IMFS node. * - * @param[in,out] node is the IMFS node. - * @param[in] info is the IMFS type information. + * @param[in,out] node The IMFS node. + * @param[in] info The IMFS type information. * * @retval node Successful operation. * @retval NULL An error occurred. The @c errno indicates the error. This @@ -188,8 +190,8 @@ typedef IMFS_jnode_t *(*IMFS_node_control_initialize)( /** * @brief Returns the node and does nothing else. * - * @param[in,out] node is the IMFS node. - * @param[in] info is the IMFS type information. + * @param[in,out] node The IMFS node. + * @param[in] info The IMFS type information. * * @retval node Returns always the node passed as parameter. * @@ -203,8 +205,8 @@ IMFS_jnode_t *IMFS_node_initialize_default( /** * @brief Returns the node and sets the generic node context. * - * @param[in,out] node is the IMFS node. - * @param[in] info is the IMFS type information. + * @param[in,out] node The IMFS node. + * @param[in] info The IMFS type information. * * @retval node Returns always the node passed as parameter. * @@ -218,7 +220,7 @@ IMFS_jnode_t *IMFS_node_initialize_generic( /** * @brief Prepares the removal of an IMFS node from its parent directory. * - * @param[in,out] node is the IMFS node. + * @param[in,out] node The IMFS node. * * @retval node Successful operation. * @retval NULL An error occurred. The @c errno indicates the error. This @@ -233,7 +235,7 @@ typedef IMFS_jnode_t *(*IMFS_node_control_remove)( /** * @brief Returns the node and does nothing else. * - * @param[in,out] node is the IMFS node. + * @param[in,out] node The IMFS node. * * @retval node Returns always the node passed as parameter. * @@ -246,7 +248,7 @@ IMFS_jnode_t *IMFS_node_remove_default( /** * @brief Destroys an IMFS node. * - * @param[in,out] node is the IMFS node. + * @param[in,out] node The IMFS node. * * @retval node Returns always the node passed as parameter. * @@ -257,7 +259,7 @@ typedef IMFS_jnode_t *(*IMFS_node_control_destroy)( IMFS_jnode_t *node ); /** * @brief Returns the node and does nothing else. * - * @param[in,out] node is the IMFS node. + * @param[in,out] node The IMFS node. * * @retval node Returns always the node passed as parameter. * @@ -278,6 +280,12 @@ typedef struct { /** @} */ +/** + * @addtogroup IMFS + * + * @{ + */ + /* * Major device number for the IMFS. This is not a real device number because * the IMFS is just a file system and does not have a driver. @@ -594,6 +602,7 @@ extern bool IMFS_is_imfs_instance( const rtems_filesystem_location_info_t *loc ); +/** @} */ /** * @defgroup IMFSGenericNodes IMFS Generic Nodes @@ -614,10 +623,10 @@ extern bool IMFS_is_imfs_instance( /** * @brief Makes a generic IMFS node. * - * @param[in] path is a pointer to the new generic IMFS node. - * @param[in] mode is the node mode. - * @param[in] node_control is the node control. - * @param[in] context is the node control handler context. + * @param[in] path The path to the new generic IMFS node. + * @param[in] mode The node mode. + * @param[in] node_control The node control. + * @param[in] context The node control handler context. * * @retval 0 Successful operation. * @retval -1 An error occurred. The @c errno indicates the error. @@ -660,6 +669,12 @@ extern int IMFS_make_generic_node( /** @} */ +/** + * @addtogroup IMFS + * + * @{ + */ + /** * @brief Mount an IMFS. */ @@ -757,7 +772,6 @@ extern ssize_t memfile_write( /** @} */ - /** * @name IMFS Device Node Handlers * @@ -767,7 +781,6 @@ extern ssize_t memfile_write( * @{ */ - extern int device_open( rtems_libio_t *iop, /* IN */ const char *pathname, /* IN */ @@ -942,6 +955,8 @@ static inline IMFS_jnode_t *IMFS_create_node( ); } +/** @} */ + /** * @addtogroup IMFSGenericNodes * @@ -983,8 +998,6 @@ static inline dev_t IMFS_generic_get_device_identifier_by_node( /** @} */ -/** @} */ - #ifdef __cplusplus } #endif -- cgit v1.2.3 From cf8a351cb193bd20c991803825e5f84d4b7d7735 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 10 Jan 2013 14:03:46 +0100 Subject: rtems: Avoid NULL pointer access The _MPCI_table may be NULL in case multiprocessing is disabled in the application configuration. --- cpukit/rtems/src/msgqcreate.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/cpukit/rtems/src/msgqcreate.c b/cpukit/rtems/src/msgqcreate.c index e65dcacfe6..8a7abfa313 100644 --- a/cpukit/rtems/src/msgqcreate.c +++ b/cpukit/rtems/src/msgqcreate.c @@ -48,7 +48,6 @@ rtems_status_code rtems_message_queue_create( CORE_message_queue_Attributes the_msgq_attributes; #if defined(RTEMS_MULTIPROCESSING) bool is_global; - size_t max_packet_payload_size; #endif if ( !rtems_is_name_valid( name ) ) @@ -76,11 +75,14 @@ rtems_status_code rtems_message_queue_create( * It seems reasonable to create a que with a large max size, * and then just send smaller msgs from remote (or all) nodes. */ + if ( is_global ) { + size_t max_packet_payload_size = _MPCI_table->maximum_packet_size + - MESSAGE_QUEUE_MP_PACKET_SIZE; - max_packet_payload_size = _MPCI_table->maximum_packet_size - - MESSAGE_QUEUE_MP_PACKET_SIZE; - if ( is_global && max_packet_payload_size < max_message_size ) - return RTEMS_INVALID_SIZE; + if ( max_message_size > max_packet_payload_size ) { + return RTEMS_INVALID_SIZE; + } + } #endif #endif -- cgit v1.2.3 From 1105020796a56fbe0e79bb9d879ee33b8638bed7 Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Thu, 10 Jan 2013 08:50:26 -0500 Subject: score: Doxygen Clean Up Task #12 http://www.google-melange.com/gci/task/view/google/gci2012/8110207 --- cpukit/score/cpu/avr/avr/io90pwm81.h | 16 +++ cpukit/score/cpu/avr/avr/io90pwmx.h | 17 +++ cpukit/score/cpu/avr/avr/iom164.h | 15 ++ cpukit/score/cpu/avr/avr/iom165.h | 17 +++ cpukit/score/cpu/avr/avr/iom169.h | 17 +++ cpukit/score/cpu/avr/avr/iom169p.h | 17 +++ cpukit/score/cpu/avr/avr/iom16hva.h | 15 ++ cpukit/score/cpu/avr/avr/iom325.h | 17 +++ cpukit/score/cpu/avr/avr/iom328p.h | 17 +++ cpukit/score/cpu/avr/avr/iom32u4.h | 17 ++- cpukit/score/cpu/avr/avr/iom644.h | 15 ++ cpukit/score/cpu/avr/avr/iom8hva.h | 15 ++ cpukit/score/cpu/avr/avr/iom8u2.h | 19 ++- cpukit/score/cpu/avr/avr/iotn167.h | 17 ++- cpukit/score/cpu/avr/avr/iotn2313.h | 17 +++ cpukit/score/cpu/avr/avr/iotn28.h | 17 +++ cpukit/score/cpu/avr/avr/iotn461.h | 15 ++ cpukit/score/cpu/avr/avr/iotn88.h | 16 +++ cpukit/score/cpu/avr/avr/iousb647.h | 15 ++ cpukit/score/cpu/avr/avr/sfr_defs.h | 269 ++++++++++++++++++----------------- 20 files changed, 446 insertions(+), 134 deletions(-) diff --git a/cpukit/score/cpu/avr/avr/io90pwm81.h b/cpukit/score/cpu/avr/avr/io90pwm81.h index cc013b96b0..753c94e008 100644 --- a/cpukit/score/cpu/avr/avr/io90pwm81.h +++ b/cpukit/score/cpu/avr/avr/io90pwm81.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for AT90PWM81 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2009 Atmel Corporation All rights reserved. @@ -43,6 +51,13 @@ # error "Attempt to include more than one file." #endif +/** + * @defgroup AvrDef_io90pwm81 AT90PWM81 Definitions + * + * @ingroup avr + * + * @{ + */ #ifndef _AVR_AT90PWM81_H_ #define _AVR_AT90PWM81_H_ 1 @@ -1019,6 +1034,7 @@ #define SIGNATURE_1 0x93 #define SIGNATURE_2 0x88 +/** @} */ #endif /* _AVR_AT90PWM81_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io90pwmx.h b/cpukit/score/cpu/avr/avr/io90pwmx.h index f2db6097f7..1367424563 100644 --- a/cpukit/score/cpu/avr/avr/io90pwmx.h +++ b/cpukit/score/cpu/avr/avr/io90pwmx.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for AT90PWM2(B) and AT90PWM3(B) + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2005, Andrey Pashchenko All rights reserved. @@ -46,6 +54,14 @@ # error "Attempt to include more than one file." #endif +/** + * @defgroup io90pwmx AT90PWM2(B) and AT90PWM3(B) Definitions + * + * @ingroup avr + * + * @{ + */ + /* I/O registers */ /* Port B Input Pins Address */ @@ -1366,5 +1382,6 @@ #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST +/** @} */ #endif /* _AVR_IO90PWMX_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom164.h b/cpukit/score/cpu/avr/avr/iom164.h index 9b97f21df6..f9607d8963 100644 --- a/cpukit/score/cpu/avr/avr/iom164.h +++ b/cpukit/score/cpu/avr/avr/iom164.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief Definitions for ATmega164 + */ + /* Copyright (c) 2005, 2006 Anatoly Sokolov All rights reserved. @@ -36,6 +42,14 @@ #include +/** + * @defgroup AvrDef_iom164 ATmega164 Definitions + * + * @ingroup avr + * + * @{ + */ + /* Constants */ #define SPM_PAGESIZE 128 #define RAMEND 0x04FF @@ -89,5 +103,6 @@ #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x0A +/** @} */ #endif /* _AVR_IOM164_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom165.h b/cpukit/score/cpu/avr/avr/iom165.h index a15eea43c2..f165d6b45c 100644 --- a/cpukit/score/cpu/avr/avr/iom165.h +++ b/cpukit/score/cpu/avr/avr/iom165.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for ATmega165 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2004,2005,2006 Eric B. Weddington All rights reserved. @@ -46,6 +54,14 @@ # error "Attempt to include more than one file." #endif +/** + * @defgroup AvrDef_iom165 ATmega165 Definitions + * + * @ingroup avr + * + * @{ + */ + /* Registers and associated bit numbers */ #define PINA _SFR_IO8(0x00) @@ -815,5 +831,6 @@ #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x07 +/** @} */ #endif /* _AVR_IOM165_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom169.h b/cpukit/score/cpu/avr/avr/iom169.h index 88a757e2ec..d99eaa8bd1 100644 --- a/cpukit/score/cpu/avr/avr/iom169.h +++ b/cpukit/score/cpu/avr/avr/iom169.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for ATmega169 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2002, 2003, 2004, 2005 Juergen Schilling Eric B. Weddington @@ -50,6 +58,14 @@ # error "Attempt to include more than one file." #endif +/** + * @defgroup AvrDef_iom169 ATmega169 Definitions + * + * @ingroup avr + * + * @{ + */ + /* I/O registers */ /* Port A */ @@ -1102,5 +1118,6 @@ #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x05 +/** @} */ #endif /* _AVR_IOM169_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom169p.h b/cpukit/score/cpu/avr/avr/iom169p.h index 6aad286fc7..66427ce88c 100644 --- a/cpukit/score/cpu/avr/avr/iom169p.h +++ b/cpukit/score/cpu/avr/avr/iom169p.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for ATmega169P + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2002, 2003, 2004, 2005, 2006 Juergen Schilling Eric B. Weddington @@ -49,6 +57,14 @@ # error "Attempt to include more than one file." #endif +/** + * @defgroup AvrDef_iom169p ATmega169P Definitions + * + * @ingroup avr + * + * @{ + */ + /* I/O registers */ /* Port A */ @@ -1025,5 +1041,6 @@ #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x05 +/** @} */ #endif /* _AVR_IOM169P_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom16hva.h b/cpukit/score/cpu/avr/avr/iom16hva.h index cae9194539..3c5c2f54fe 100644 --- a/cpukit/score/cpu/avr/avr/iom16hva.h +++ b/cpukit/score/cpu/avr/avr/iom16hva.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief Definitions for ATmega16HVA + */ + /* Copyright (c) 2007, Anatoly Sokolov All rights reserved. @@ -36,6 +42,14 @@ #include +/** + * @defgroup AvrDef_iom16hva ATmega16HVA Definitions + * + * @ingroup avr + * + * @{ + */ + /* Constants */ #define SPM_PAGESIZE 128 #define RAMEND 0x2FF @@ -70,5 +84,6 @@ #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x0C +/** @} */ #endif /* _AVR_IOM16HVA_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom325.h b/cpukit/score/cpu/avr/avr/iom325.h index d22911c8e9..2427c95154 100644 --- a/cpukit/score/cpu/avr/avr/iom325.h +++ b/cpukit/score/cpu/avr/avr/iom325.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for ATmega325 and ATmega325P + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2004, 2005, 2006, 2007 Eric B. Weddington All rights reserved. @@ -46,6 +54,14 @@ # error "Attempt to include more than one file." #endif +/** + * @defgroup AvrDef_iom325 ATmega325 and ATmega325P Definitions + * + * @ingroup avr + * + * @{ + */ + /* Registers and associated bit numbers */ #define PINA _SFR_IO8(0x00) @@ -816,5 +832,6 @@ #define SIGNATURE_1 0x95 #define SIGNATURE_2 0x05 +/** @} */ #endif /* _AVR_IOM325_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom328p.h b/cpukit/score/cpu/avr/avr/iom328p.h index 179f0a5e2d..9436f4aaf2 100644 --- a/cpukit/score/cpu/avr/avr/iom328p.h +++ b/cpukit/score/cpu/avr/avr/iom328p.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for ATmega328P + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2007 Atmel Corporation All rights reserved. @@ -48,6 +56,14 @@ #ifndef _AVR_IOM328P_H_ #define _AVR_IOM328P_H_ 1 +/** + * @defgroup AvrDef_iom328p ATmega328P Definitions + * + * @ingroup avr + * + * @{ + */ + /* Registers and associated bit numbers */ #define PINB _SFR_IO8(0x03) @@ -870,5 +886,6 @@ #define SIGNATURE_1 0x95 #define SIGNATURE_2 0x0F +/** @} */ #endif /* _AVR_IOM328P_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom32u4.h b/cpukit/score/cpu/avr/avr/iom32u4.h index 87f3b360ad..53d4d05ad0 100644 --- a/cpukit/score/cpu/avr/avr/iom32u4.h +++ b/cpukit/score/cpu/avr/avr/iom32u4.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for ATmega32U4 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2008 Atmel Corporation All rights reserved. @@ -48,6 +56,13 @@ #ifndef _AVR_IOM32U4_H_ #define _AVR_IOM32U4_H_ 1 +/** + * @defgroup AvrDef_iom32u4 ATmega32U4 Definitions + * + * @ingroup avr + * + * @{ + */ /* Registers and associated bit numbers */ @@ -1498,6 +1513,6 @@ #define SIGNATURE_1 0x95 #define SIGNATURE_2 0x87 - +/** @} */ #endif /* _AVR_IOM32U4_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom644.h b/cpukit/score/cpu/avr/avr/iom644.h index 2ad996c647..5c9f113d8e 100644 --- a/cpukit/score/cpu/avr/avr/iom644.h +++ b/cpukit/score/cpu/avr/avr/iom644.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief Definitions for ATmega644 + */ + /* Copyright (c) 2005 Anatoly Sokolov All rights reserved. @@ -36,6 +42,14 @@ #include +/** + * @defgroup AvrDef_iom644 ATmega644 Definitions + * + * @ingroup avr + * + * @{ + */ + /* Constants */ #define SPM_PAGESIZE 256 #define RAMEND 0x10FF @@ -89,5 +103,6 @@ #define SIGNATURE_1 0x96 #define SIGNATURE_2 0x09 +/** @} */ #endif /* _AVR_IOM644_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom8hva.h b/cpukit/score/cpu/avr/avr/iom8hva.h index 804ff526bf..a0649b6d84 100644 --- a/cpukit/score/cpu/avr/avr/iom8hva.h +++ b/cpukit/score/cpu/avr/avr/iom8hva.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief Definitions for ATmega8HVA + */ + /* Copyright (c) 2007, Anatoly Sokolov All rights reserved. @@ -36,6 +42,14 @@ #include +/** + * @defgroup AvrDef_iom8hva ATmega8HVA Definitions + * + * @ingroup avr + * + * @{ + */ + /* Constants */ #define SPM_PAGESIZE 128 #define RAMEND 0x2FF @@ -64,6 +78,7 @@ /* Lock Bits */ #define __LOCK_BITS_EXIST +/** @} */ #endif /* _AVR_IOM8HVA_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom8u2.h b/cpukit/score/cpu/avr/avr/iom8u2.h index 24c8ff12d8..1c480233db 100644 --- a/cpukit/score/cpu/avr/avr/iom8u2.h +++ b/cpukit/score/cpu/avr/avr/iom8u2.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for ATmega8U2 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2009 Atmel Corporation All rights reserved. @@ -47,6 +55,13 @@ #ifndef _AVR_ATmega8U2_H_ #define _AVR_ATmega8U2_H_ 1 +/** + * @defgroup AvrDef_iom8u2 ATmega8U2 Definitions + * + * @ingroup avr + * + * @{ + */ /* Registers and associated bit numbers. */ @@ -960,7 +975,9 @@ #define SIGNATURE_1 0x93 #define SIGNATURE_2 0x89 - /* Device Pin Definitions */ + +/** @} */ + #endif /* _AVR_ATmega8U2_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn167.h b/cpukit/score/cpu/avr/avr/iotn167.h index 0717faaada..a98e17d4ba 100644 --- a/cpukit/score/cpu/avr/avr/iotn167.h +++ b/cpukit/score/cpu/avr/avr/iotn167.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for ATtiny167 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2008 Atmel Corporation All rights reserved. @@ -48,6 +56,13 @@ #ifndef _AVR_IOTN167_H_ #define _AVR_IOTN167_H_ 1 +/** + * @defgroup AvrDef_iotn167 ATtiny167 Definitions + * + * @ingroup avr + * + * @{ + */ /* Registers and associated bit numbers */ @@ -826,6 +841,6 @@ #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x87 - +/** @} */ #endif /* _AVR_IOTN167_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn2313.h b/cpukit/score/cpu/avr/avr/iotn2313.h index 9495acabb6..7a2885fde9 100644 --- a/cpukit/score/cpu/avr/avr/iotn2313.h +++ b/cpukit/score/cpu/avr/avr/iotn2313.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for ATtiny2313 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2004, 2005, 2006 Bob Paddock All rights reserved. @@ -71,6 +79,14 @@ # error "Attempt to include more than one file." #endif +/** + * @defgroup AvrDef_iotn2313 ATtiny2313 Definitions + * + * @ingroup avr + * + * @{ + */ + /* I/O registers */ /* @@ -628,5 +644,6 @@ #define SIGNATURE_1 0x91 #define SIGNATURE_2 0x0A +/** @} */ #endif /* _AVR_IOTN2313_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn28.h b/cpukit/score/cpu/avr/avr/iotn28.h index e91d67ae11..e20985eb43 100644 --- a/cpukit/score/cpu/avr/avr/iotn28.h +++ b/cpukit/score/cpu/avr/avr/iotn28.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for ATtiny28 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2002, Marek Michalkiewicz All rights reserved. @@ -50,6 +58,14 @@ # warning "MCU not supported by the C compiler" #endif +/** + * @defgroup AvrDef_iotn28 ATtiny28 Definitions + * + * @ingroup avr + * + * @{ + */ + /* I/O registers */ #define OSCCAL _SFR_IO8(0x00) @@ -270,5 +286,6 @@ #define SIGNATURE_1 0x91 #define SIGNATURE_2 0x07 +/** @} */ #endif /* _AVR_IOTN28_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn461.h b/cpukit/score/cpu/avr/avr/iotn461.h index 2867e3e41a..2fd1457673 100644 --- a/cpukit/score/cpu/avr/avr/iotn461.h +++ b/cpukit/score/cpu/avr/avr/iotn461.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief Definitions for ATtiny461 + */ + /* Copyright (c) 2006, Anatoly Sokolov All rights reserved. @@ -36,6 +42,14 @@ #include +/** + * @defgroup AvrDef_iotn461 ATtiny461 Definitions + * + * @ingroup avr + * + * @{ + */ + /* Constants */ #define SPM_PAGESIZE 64 #define RAMEND 0x15F @@ -84,5 +98,6 @@ #define SIGNATURE_1 0x92 #define SIGNATURE_2 0x08 +/** @} */ #endif /* _AVR_IOTN461_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn88.h b/cpukit/score/cpu/avr/avr/iotn88.h index 427fc8fd4d..afae9efa10 100644 --- a/cpukit/score/cpu/avr/avr/iotn88.h +++ b/cpukit/score/cpu/avr/avr/iotn88.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for ATtiny88 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2007 Atmel Corporation All rights reserved. @@ -44,6 +52,13 @@ # error "Attempt to include more than one file." #endif +/** + * @defgroup AvrDef_iotn88 ATtiny88 Definitions + * + * @ingroup avr + * + * @{ + */ #ifndef _AVR_IOTN88_H_ #define _AVR_IOTN88_H_ 1 @@ -752,5 +767,6 @@ #define SIGNATURE_1 0x93 #define SIGNATURE_2 0x11 +/** @} */ #endif /* _AVR_IOTN88_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iousb647.h b/cpukit/score/cpu/avr/avr/iousb647.h index 3b93048149..b4e05a9d0a 100644 --- a/cpukit/score/cpu/avr/avr/iousb647.h +++ b/cpukit/score/cpu/avr/avr/iousb647.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief Definitions for AT90USB647 + */ + /* Copyright (c) 2006 Anatoly Sokolov All rights reserved. @@ -36,6 +42,14 @@ #include +/** + * @defgroup AvrDef_iousb647 AT90USB647 Definitions + * + * @ingroup avr + * + * @{ + */ + /* Constants */ #define SPM_PAGESIZE 256 #define RAMEND 0x10FF @@ -89,5 +103,6 @@ #define SIGNATURE_1 0x96 #define SIGNATURE_2 0x82 +/** @} */ #endif /* _AVR_AT90USB647_H_ */ diff --git a/cpukit/score/cpu/avr/avr/sfr_defs.h b/cpukit/score/cpu/avr/avr/sfr_defs.h index b687f56167..c2ebe6931b 100644 --- a/cpukit/score/cpu/avr/avr/sfr_defs.h +++ b/cpukit/score/cpu/avr/avr/sfr_defs.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief Macros for Accessing AVR Special Function Registers + */ + /* Copyright (c) 2002, Marek Michalkiewicz All rights reserved. @@ -34,85 +40,90 @@ #ifndef _AVR_SFR_DEFS_H_ #define _AVR_SFR_DEFS_H_ 1 -/** \defgroup avr_sfr_notes Additional notes from - \ingroup avr_sfr - - The \c file is included by all of the \c - files, which use macros defined here to make the special function register - definitions look like C variables or simple constants, depending on the - _SFR_ASM_COMPAT define. Some examples from \c to - show how to define such macros: - -\code -#define PORTA _SFR_IO8(0x02) -#define EEAR _SFR_IO16(0x21) -#define UDR0 _SFR_MEM8(0xC6) -#define TCNT3 _SFR_MEM16(0x94) -#define CANIDT _SFR_MEM32(0xF0) -\endcode - - If \c _SFR_ASM_COMPAT is not defined, C programs can use names like - PORTA directly in C expressions (also on the left side of - assignment operators) and GCC will do the right thing (use short I/O - instructions if possible). The \c __SFR_OFFSET definition is not used in - any way in this case. - - Define \c _SFR_ASM_COMPAT as 1 to make these names work as simple constants - (addresses of the I/O registers). This is necessary when included in - preprocessed assembler (*.S) source files, so it is done automatically if - \c __ASSEMBLER__ is defined. By default, all addresses are defined as if - they were memory addresses (used in \c lds/sts instructions). To use these - addresses in \c in/out instructions, you must subtract 0x20 from them. - - For more backwards compatibility, insert the following at the start of your - old assembler source file: - -\code -#define __SFR_OFFSET 0 -\endcode - - This automatically subtracts 0x20 from I/O space addresses, but it's a - hack, so it is recommended to change your source: wrap such addresses in - macros defined here, as shown below. After this is done, the - __SFR_OFFSET definition is no longer necessary and can be removed. - - Real example - this code could be used in a boot loader that is portable - between devices with \c SPMCR at different addresses. - -\verbatim -: #define SPMCR _SFR_IO8(0x37) -: #define SPMCR _SFR_MEM8(0x68) -\endverbatim - -\code -#if _SFR_IO_REG_P(SPMCR) - out _SFR_IO_ADDR(SPMCR), r24 -#else - sts _SFR_MEM_ADDR(SPMCR), r24 -#endif -\endcode - - You can use the \c in/out/cbi/sbi/sbic/sbis instructions, without the - _SFR_IO_REG_P test, if you know that the register is in the I/O - space (as with \c SREG, for example). If it isn't, the assembler will - complain (I/O address out of range 0...0x3f), so this should be fairly - safe. - - If you do not define \c __SFR_OFFSET (so it will be 0x20 by default), all - special register addresses are defined as memory addresses (so \c SREG is - 0x5f), and (if code size and speed are not important, and you don't like - the ugly \#if above) you can always use lds/sts to access them. But, this - will not work if __SFR_OFFSET != 0x20, so use a different macro - (defined only if __SFR_OFFSET == 0x20) for safety: - -\code - sts _SFR_ADDR(SPMCR), r24 -\endcode - - In C programs, all 3 combinations of \c _SFR_ASM_COMPAT and - __SFR_OFFSET are supported - the \c _SFR_ADDR(SPMCR) macro can be - used to get the address of the \c SPMCR register (0x57 or 0x68 depending on - device). */ +/** + * @defgroup avr_sfr_notes Additional notes from + * + * @ingroup avr_sfr + * + * The @c file is included by all of the @c + * files, which use macros defined here to make the special function register + * definitions look like C variables or simple constants, depending on the + * _SFR_ASM_COMPAT define. Some examples from @c to + * show how to define such macros: + * + * @code + * #define PORTA _SFR_IO8(0x02) + * #define EEAR _SFR_IO16(0x21) + * #define UDR0 _SFR_MEM8(0xC6) + * #define TCNT3 _SFR_MEM16(0x94) + * #define CANIDT _SFR_MEM32(0xF0) + * @endcode + * + * If @c _SFR_ASM_COMPAT is not defined, C programs can use names like + * PORTA directly in C expressions (also on the left side of + * assignment operators) and GCC will do the right thing (use short I/O + * instructions if possible). The @c __SFR_OFFSET definition is not used in + * any way in this case. + * + * Define @c _SFR_ASM_COMPAT as 1 to make these names work as simple constants + * (addresses of the I/O registers). This is necessary when included in + * preprocessed assembler (*.S) source files, so it is done automatically if + * @c __ASSEMBLER__ is defined. By default, all addresses are defined as if + * they were memory addresses (used in @c lds/sts instructions). To use these + * addresses in @c in/out instructions, you must subtract 0x20 from them. + * + * For more backwards compatibility, insert the following at the start of your + * old assembler source file: + * + * @code + * #define __SFR_OFFSET 0 + * @endcode + * + * This automatically subtracts 0x20 from I/O space addresses, but it's a + * hack, so it is recommended to change your source: wrap such addresses in + * macros defined here, as shown below. After this is done, the + * __SFR_OFFSET definition is no longer necessary and can be removed. + + * Real example - this code could be used in a boot loader that is portable + * between devices with @c SPMCR at different addresses. + * + * @verbatim + * : #define SPMCR _SFR_IO8(0x37) + * : #define SPMCR _SFR_MEM8(0x68) + * @endverbatim + * + * @code + * #if _SFR_IO_REG_P(SPMCR) + * out _SFR_IO_ADDR(SPMCR), r24 + * #else + * sts _SFR_MEM_ADDR(SPMCR), r24 + * #endif + * @endcode + * + * You can use the @c in/out/cbi/sbi/sbic/sbis instructions, without the + * _SFR_IO_REG_P test, if you know that the register is in the I/O + * space (as with @c SREG, for example). If it isn't, the assembler will + * complain (I/O address out of range 0...0x3f), so this should be fairly + * safe. + * + * If you do not define @c __SFR_OFFSET (so it will be 0x20 by default), all + * special register addresses are defined as memory addresses (so @c SREG is + * 0x5f), and (if code size and speed are not important, and you don't like + * the ugly \#if above) you can always use lds/sts to access them. But, this + * will not work if __SFR_OFFSET != 0x20, so use a different macro + * (defined only if __SFR_OFFSET == 0x20) for safety: + * + * @code + * sts _SFR_ADDR(SPMCR), r24 + * @endcode + * + * In C programs, all 3 combinations of @c _SFR_ASM_COMPAT and + * __SFR_OFFSET are supported - the @c _SFR_ADDR(SPMCR) macro can be + * used to get the address of the @c SPMCR register (0x57 or 0x68 depending on + * device). + * + * @{ + */ #ifdef __ASSEMBLER__ #define _SFR_ASM_COMPAT 1 @@ -190,23 +201,24 @@ #define _SFR_WORD(sfr) _MMIO_WORD(_SFR_ADDR(sfr)) #define _SFR_DWORD(sfr) _MMIO_DWORD(_SFR_ADDR(sfr)) -/** \name Bit manipulation */ - -/*@{*/ -/** \def _BV - \ingroup avr_sfr - - \code #include \endcode - - Converts a bit number into a byte value. - - \note The bit shift is performed by the compiler which then inserts the - result into the code. Thus, there is no run-time overhead when using - _BV(). */ - +/** + * @name Bit Manipulation + * + * @{ + */ + +/** + * @code #include @endcode + * + * Converts a bit number into a byte value. + * + * @note The bit shift is performed by the compiler which then inserts the + * result into the code. Thus, there is no run-time overhead when using + * _BV(). + */ #define _BV(bit) (1 << (bit)) -/*@}*/ +/** @} */ #ifndef _VECTOR #define _VECTOR(N) __vector_ ## N @@ -215,53 +227,48 @@ #ifndef __ASSEMBLER__ -/** \name IO register bit manipulation */ - -/*@{*/ - - - -/** \def bit_is_set - \ingroup avr_sfr - - \code #include \endcode - - Test whether bit \c bit in IO register \c sfr is set. - This will return a 0 if the bit is clear, and non-zero - if the bit is set. */ +/** + * @name IO Register Bit Manipulation + * + * @{ + */ +/** + * @code #include @endcode + * + * Test whether bit @c bit in IO register @c sfr is set. + * This will return a 0 if the bit is clear, and non-zero + * if the bit is set. + */ #define bit_is_set(sfr, bit) (_SFR_BYTE(sfr) & _BV(bit)) -/** \def bit_is_clear - \ingroup avr_sfr - - \code #include \endcode - - Test whether bit \c bit in IO register \c sfr is clear. - This will return non-zero if the bit is clear, and a 0 - if the bit is set. */ +/** + * @code #include @endcode + * + * Test whether bit @c bit in IO register @c sfr is clear. + * This will return non-zero if the bit is clear, and a 0 + * if the bit is set. + */ #define bit_is_clear(sfr, bit) (!(_SFR_BYTE(sfr) & _BV(bit))) -/** \def loop_until_bit_is_set - \ingroup avr_sfr - - \code #include \endcode - - Wait until bit \c bit in IO register \c sfr is set. */ - +/** + * @code #include @endcode + * + * Wait until bit @c bit in IO register @c sfr is set. + */ #define loop_until_bit_is_set(sfr, bit) do { } while (bit_is_clear(sfr, bit)) -/** \def loop_until_bit_is_clear - \ingroup avr_sfr - - \code #include \endcode - - Wait until bit \c bit in IO register \c sfr is clear. */ - +/** + * @code #include @endcode + * + * Wait until bit @c bit in IO register @c sfr is clear. + */ #define loop_until_bit_is_clear(sfr, bit) do { } while (bit_is_set(sfr, bit)) -/*@}*/ +/** @} */ + +/** @} */ #endif /* !__ASSEMBLER__ */ -- cgit v1.2.3 From ed70eaea0b33f5437ac88856f460568d7905027d Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Thu, 10 Jan 2013 08:50:33 -0600 Subject: score: Doxygen Clean Up Task #14 --- cpukit/score/cpu/avr/avr/io4414.h | 17 +++++++++++++++++ cpukit/score/cpu/avr/avr/io76c711.h | 19 +++++++++++++++++++ cpukit/score/cpu/avr/avr/io8534.h | 18 ++++++++++++++++++ cpukit/score/cpu/avr/avr/io90pwm1.h | 17 +++++++++++++++++ cpukit/score/cpu/avr/avr/io90pwm216.h | 17 +++++++++++++++++ cpukit/score/cpu/avr/avr/io90pwm3b.h | 17 +++++++++++++++++ cpukit/score/cpu/avr/avr/iom1280.h | 15 +++++++++++++++ cpukit/score/cpu/avr/avr/iom6450.h | 17 +++++++++++++++++ cpukit/score/cpu/avr/avr/iom64c1.h | 16 ++++++++++++++++ cpukit/score/cpu/avr/avr/iom8.h | 17 +++++++++++++++++ cpukit/score/cpu/avr/avr/iom88.h | 15 +++++++++++++++ cpukit/score/cpu/avr/avr/iotn26.h | 17 +++++++++++++++++ cpukit/score/cpu/avr/avr/iotn261.h | 15 +++++++++++++++ cpukit/score/cpu/avr/avr/iousb82.h | 15 +++++++++++++++ cpukit/score/cpu/avr/avr/iox32d4.h | 18 +++++++++++++++++- cpukit/score/cpu/avr/rtems/asm.h | 23 +++++++++++++---------- cpukit/score/cpu/avr/rtems/score/avr.h | 15 +++++++++------ cpukit/score/cpu/avr/rtems/score/cpu.h | 10 ++++++---- cpukit/score/cpu/avr/rtems/score/cpu_asm.h | 12 +++++++----- cpukit/score/cpu/avr/rtems/score/types.h | 10 ++++++---- 20 files changed, 290 insertions(+), 30 deletions(-) diff --git a/cpukit/score/cpu/avr/avr/io4414.h b/cpukit/score/cpu/avr/avr/io4414.h index 9c8362c061..94460a426e 100644 --- a/cpukit/score/cpu/avr/avr/io4414.h +++ b/cpukit/score/cpu/avr/avr/io4414.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for AT90S4414 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2002, Marek Michalkiewicz All rights reserved. @@ -46,6 +54,14 @@ # error "Attempt to include more than one file." #endif +/** + * @defgroup AvrDef_io4414 AT90S4414 Definitions + * + * @ingroup avr + * + * @{ + */ + /* I/O registers */ /* Analog Comparator Control and Status Register */ @@ -480,5 +496,6 @@ #define SIGNATURE_1 0x92 #define SIGNATURE_2 0x01 +/** @} */ #endif /* _AVR_IO4414_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io76c711.h b/cpukit/score/cpu/avr/avr/io76c711.h index 60e3b744a3..f4690761f8 100644 --- a/cpukit/score/cpu/avr/avr/io76c711.h +++ b/cpukit/score/cpu/avr/avr/io76c711.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for AT76C711 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2002, Marek Michalkiewicz All rights reserved. @@ -46,6 +54,14 @@ # error "Attempt to include more than one file." #endif +/** + * @defgroup AvrDef_io76c711 AT76C711 Definitions + * + * @ingroup avr + * + * @{ + */ + /* I/O registers */ /* 0x00-0x0C reserved */ @@ -489,4 +505,7 @@ 0x8000 - 0xBFFF - program SRAM (read/write), would be nice if other AVR devices did that as well (no need to use LPM!) */ + +/** @} */ + #endif /* _AVR_IO76C711_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io8534.h b/cpukit/score/cpu/avr/avr/io8534.h index f25cfd269f..10e20b34ed 100644 --- a/cpukit/score/cpu/avr/avr/io8534.h +++ b/cpukit/score/cpu/avr/avr/io8534.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for AT90C8534 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2002, Marek Michalkiewicz All rights reserved. @@ -46,6 +54,14 @@ # error "Attempt to include more than one file." #endif +/** + * @defgroup AvrDef_io8534 AT90C8534 Definitions + * + * @ingroup avr + * + * @{ + */ + /* I/O registers */ /* 0x00..0x03 reserved */ @@ -212,4 +228,6 @@ #define E2END 0x1FF #define FLASHEND 0x1FFF +/** @} */ + #endif /* _AVR_IO8534_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io90pwm1.h b/cpukit/score/cpu/avr/avr/io90pwm1.h index ccf77afd07..d893fd9090 100644 --- a/cpukit/score/cpu/avr/avr/io90pwm1.h +++ b/cpukit/score/cpu/avr/avr/io90pwm1.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for AT90PWM1 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2005, Andrey Pashchenko Copyright (c) 2007, Anatoly Sokolov All rights reserved. @@ -47,6 +55,14 @@ # error "Attempt to include more than one file." #endif +/** + * @defgroup AvrDef_io90pwm1 AT90PWM1 Definitions + * + * @ingroup avr + * + * @{ + */ + /* I/O registers */ /* Reserved [0x00..0x02] */ @@ -1116,5 +1132,6 @@ #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST +/** @} */ #endif /* _AVR_IOPWM1_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io90pwm216.h b/cpukit/score/cpu/avr/avr/io90pwm216.h index 70682e7bcd..7a53cf0645 100644 --- a/cpukit/score/cpu/avr/avr/io90pwm216.h +++ b/cpukit/score/cpu/avr/avr/io90pwm216.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for AT90PWM216 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2007, Atmel Corporation All rights reserved. @@ -46,6 +54,14 @@ # error "Attempt to include more than one file." #endif +/** + * @defgroup AvrDef_io90pwm216 AT90PWM216 Definitions + * + * @ingroup avr + * + * @{ + */ + /* I/O registers */ /* Port B Input Pins Address */ @@ -1176,5 +1192,6 @@ #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x83 +/** @} */ #endif /* _AVR_IO90PWM216_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io90pwm3b.h b/cpukit/score/cpu/avr/avr/io90pwm3b.h index 0d648fb47d..7885ec9fb5 100644 --- a/cpukit/score/cpu/avr/avr/io90pwm3b.h +++ b/cpukit/score/cpu/avr/avr/io90pwm3b.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for AT90PWM3B + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2007 Atmel Corporation All rights reserved. @@ -48,6 +56,14 @@ #ifndef _AVR_IO90PWM3B_H_ #define _AVR_IO90PWM3B_H_ 1 +/** + * @defgroup AvrDef_io90pwm3b AT90PWM3B Definitions + * + * @ingroup avr + * + * @{ + */ + /* Registers and associated bit numbers */ #define PINB _SFR_IO8(0x03) @@ -1387,5 +1403,6 @@ #define SIGNATURE_1 0x93 #define SIGNATURE_2 0x83 +/** @} */ #endif /* _AVR_IO90PWM3B_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom1280.h b/cpukit/score/cpu/avr/avr/iom1280.h index 5bed7c9a43..933e7098a3 100644 --- a/cpukit/score/cpu/avr/avr/iom1280.h +++ b/cpukit/score/cpu/avr/avr/iom1280.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief Definitions for ATmega1280 + */ + /* Copyright (c) 2005 Anatoly Sokolov All rights reserved. @@ -36,6 +42,14 @@ #include +/** + * @defgroup AvrDef_iom1280 ATmega1280 Definitions + * + * @ingroup avr + * + * @{ + */ + /* Constants */ #define SPM_PAGESIZE 256 #define RAMEND 0x21FF @@ -89,5 +103,6 @@ #define SIGNATURE_1 0x97 #define SIGNATURE_2 0x03 +/** @} */ #endif /* _AVR_IOM1280_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom6450.h b/cpukit/score/cpu/avr/avr/iom6450.h index 8317f18013..0a114297d9 100644 --- a/cpukit/score/cpu/avr/avr/iom6450.h +++ b/cpukit/score/cpu/avr/avr/iom6450.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for ATmega6450 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2004,2005,2006 Eric B. Weddington All rights reserved. @@ -46,6 +54,14 @@ # error "Attempt to include more than one file." #endif +/** + * @defgroup AvrDef_iom6450 ATmega6450 Definitions + * + * @ingroup avr + * + * @{ + */ + /* Registers and associated bit numbers */ #define PINA _SFR_IO8(0x00) @@ -902,5 +918,6 @@ #define SIGNATURE_1 0x96 #define SIGNATURE_2 0x06 +/** @} */ #endif /* _AVR_IOM6450_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom64c1.h b/cpukit/score/cpu/avr/avr/iom64c1.h index a30aee0d98..5d2ef5d42e 100644 --- a/cpukit/score/cpu/avr/avr/iom64c1.h +++ b/cpukit/score/cpu/avr/avr/iom64c1.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for ATmega64C1 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2009 Atmel Corporation All rights reserved. @@ -47,6 +55,13 @@ #ifndef _AVR_ATmega64C1_H_ #define _AVR_ATmega64C1_H_ 1 +/** + * @defgroup AvrDef_iom64c1 ATmega64C1 Definitions + * + * @ingroup avr + * + * @{ + */ /* Registers and associated bit numbers. */ @@ -1292,6 +1307,7 @@ #define SIGNATURE_1 0x96 #define SIGNATURE_2 0x86 +/** @} */ #endif /* _AVR_ATmega64C1_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom8.h b/cpukit/score/cpu/avr/avr/iom8.h index 02ad8e1ac3..c43ac86c3e 100644 --- a/cpukit/score/cpu/avr/avr/iom8.h +++ b/cpukit/score/cpu/avr/avr/iom8.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for ATmega8 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2002, Marek Michalkiewicz All rights reserved. @@ -46,6 +54,14 @@ # error "Attempt to include more than one file." #endif +/** + * @defgroup AvrDef_iom8 ATmega8 Definitions + * + * @ingroup avr + * + * @{ + */ + /* I/O registers */ /* TWI stands for "Two Wire Interface" or "TWI Was I2C(tm)" */ @@ -609,5 +625,6 @@ #define SIGNATURE_1 0x93 #define SIGNATURE_2 0x07 +/** @} */ #endif /* _AVR_IOM8_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom88.h b/cpukit/score/cpu/avr/avr/iom88.h index 063b1faecc..60ef3d2cae 100644 --- a/cpukit/score/cpu/avr/avr/iom88.h +++ b/cpukit/score/cpu/avr/avr/iom88.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief Definitions for ATmega88 + */ + /* Copyright (c) 2004, Theodore A. Roth All rights reserved. @@ -32,6 +38,14 @@ #ifndef _AVR_IOM88_H_ #define _AVR_IOM88_H_ 1 +/** + * @defgroup AvrDef_iom88 ATmega88 Definitions + * + * @ingroup avr + * + * @{ + */ + #include /* Constants */ @@ -86,5 +100,6 @@ #define SIGNATURE_1 0x93 #define SIGNATURE_2 0x0A +/** @} */ #endif /* _AVR_IOM88_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn26.h b/cpukit/score/cpu/avr/avr/iotn26.h index 068d7f98f8..8722055de9 100644 --- a/cpukit/score/cpu/avr/avr/iotn26.h +++ b/cpukit/score/cpu/avr/avr/iotn26.h @@ -1,3 +1,11 @@ +/** + * @file + * + * @brief Definitions for ATtiny26 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2004,2005 Eric B. Weddington All rights reserved. @@ -46,6 +54,14 @@ #ifndef _AVR_IOTN26_H_ #define _AVR_IOTN26_H_ 1 +/** + * @defgroup AvrDef_iotn26 ATtiny26 Definitions + * + * @ingroup avr + * + * @{ + */ + /* Registers and associated bit numbers */ /* Reserved [0x00..0x03] */ @@ -380,5 +396,6 @@ #define SIGNATURE_1 0x91 #define SIGNATURE_2 0x09 +/** @} */ #endif /* _AVR_IOTN26_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn261.h b/cpukit/score/cpu/avr/avr/iotn261.h index 6e18069b5b..9b91b7b0e0 100644 --- a/cpukit/score/cpu/avr/avr/iotn261.h +++ b/cpukit/score/cpu/avr/avr/iotn261.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief Definitions for ATtiny261 + */ + /* Copyright (c) 2006, Anatoly Sokolov All rights reserved. @@ -34,6 +40,14 @@ #ifndef _AVR_IOTN261_H_ #define _AVR_IOTN261_H_ 1 +/** + * @defgroup AvrDef_iotn261 ATtiny261 Definitions + * + * @ingroup avr + * + * @{ + */ + #include #define SPM_PAGESIZE 32 @@ -83,5 +97,6 @@ #define SIGNATURE_1 0x91 #define SIGNATURE_2 0x0C +/** @} */ #endif /* _AVR_IOTN261_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iousb82.h b/cpukit/score/cpu/avr/avr/iousb82.h index 428ed9b566..94232af473 100644 --- a/cpukit/score/cpu/avr/avr/iousb82.h +++ b/cpukit/score/cpu/avr/avr/iousb82.h @@ -1,3 +1,9 @@ +/** + * @file + * + * @brief Ddefinitions for AT90USB82 + */ + /* Copyright (c) 2007 Anatoly Sokolov All rights reserved. @@ -36,6 +42,14 @@ #include +/** + * @defgroup AvrDef_iousb82 AT90USB82 Definitions + * + * @ingroup avr + * + * @{ + */ + /* Constants */ #define SPM_PAGESIZE 128 #define RAMEND 0x2FF @@ -83,5 +97,6 @@ #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST +/** @} */ #endif /* _AVR_AT90USB82_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iox32d4.h b/cpukit/score/cpu/avr/avr/iox32d4.h index 7f7d710704..0e01175ea6 100644 --- a/cpukit/score/cpu/avr/avr/iox32d4.h +++ b/cpukit/score/cpu/avr/avr/iox32d4.h @@ -1,6 +1,13 @@ +/** + * @file + * + * @brief Definitions for ATxmega32D4 + * + * This file should only be included from , never directly. + */ + /* Copyright (c) 2009 Atmel Corporation All rights reserved. - Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -47,6 +54,14 @@ #ifndef _AVR_ATxmega32D4_H_ #define _AVR_ATxmega32D4_H_ 1 +/** + * @defgroup AvrDef_iox32d4 ATxmega32D4 Definitions + * + * @ingroup avr + * + * @{ + */ + /* Ungrouped common registers */ #define GPIO0 _SFR_MEM8(0x0000) /* General Purpose IO Register 0 */ @@ -5539,6 +5554,7 @@ IO Module Instances. Mapped to memory. #define SIGNATURE_1 0x95 #define SIGNATURE_2 0x42 +/** @} */ #endif /* _AVR_ATxmega32D4_H_ */ diff --git a/cpukit/score/cpu/avr/rtems/asm.h b/cpukit/score/cpu/avr/rtems/asm.h index 89f1385b36..e93841d06e 100644 --- a/cpukit/score/cpu/avr/rtems/asm.h +++ b/cpukit/score/cpu/avr/rtems/asm.h @@ -1,17 +1,20 @@ /** - * @file rtems/asm.h + * @file * - * This include file attempts to address the problems - * caused by incompatible flavors of assemblers and - * toolsets. It primarily addresses variations in the - * use of leading underscores on symbols and the requirement - * that register names be preceded by a %. + * @brief Address the Problems Caused by Incompatible Flavor of + * Assemblers and Toolsets + * + * This include file attempts to address the problems + * caused by incompatible flavors of assemblers and + * toolsets. It primarily addresses variations in the + * use of leading underscores on symbols and the requirement + * that register names be preceded by a %. + * + * @note The spacing in the use of these macros + * is critical to them working as advertised. */ /* - * NOTE: The spacing in the use of these macros - * is critical to them working as advertised. - * * COPYRIGHT: * * This file is based on similar code found in newlib available @@ -324,7 +327,7 @@ lpm / mov Rd,r0 lpm / adiw ZL,1 lpm / mov Rd,r0 / adiw ZL,1 - + For enhanced chips it is one instruction always. ATTENTION: unlike enhanced chips SREG (S,V,N,Z,C) flags are diff --git a/cpukit/score/cpu/avr/rtems/score/avr.h b/cpukit/score/cpu/avr/rtems/score/avr.h index 23ecbb3e76..cee1a24102 100644 --- a/cpukit/score/cpu/avr/rtems/score/avr.h +++ b/cpukit/score/cpu/avr/rtems/score/avr.h @@ -1,13 +1,16 @@ /** - * @file rtems/score/avr.h + * @file + * + * @brief Intel AVR Set up Basic CPU Dependency Settings Based on + * Compiler Settings + * + * This file sets up basic CPU dependency settings based on + * compiler settings. For example, it can determine if + * floating point is available. This particular implementation + * is specified to the avr port. */ /* - * This file sets up basic CPU dependency settings based on - * compiler settings. For example, it can determine if - * floating point is available. This particular implementation - * is specified to the avr port. - * * COPYRIGHT 2004, Ralf Corsepius, Ulm, Germany. * * The license and distribution terms for this file may be diff --git a/cpukit/score/cpu/avr/rtems/score/cpu.h b/cpukit/score/cpu/avr/rtems/score/cpu.h index 2bfcbceaf9..5f1577af20 100644 --- a/cpukit/score/cpu/avr/rtems/score/cpu.h +++ b/cpukit/score/cpu/avr/rtems/score/cpu.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/cpu.h + * @file + * + * @brief Intel AVR CPU Department Source + * + * This include file contains information pertaining to the AVR + * processor. */ /* - * This include file contains information pertaining to the AVR - * processor. - * * COPYRIGHT (c) 1989-2006. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/avr/rtems/score/cpu_asm.h b/cpukit/score/cpu/avr/rtems/score/cpu_asm.h index e3797a93f9..e11caec486 100644 --- a/cpukit/score/cpu/avr/rtems/score/cpu_asm.h +++ b/cpukit/score/cpu/avr/rtems/score/cpu_asm.h @@ -1,12 +1,14 @@ /** - * @file rtems/score/cpu_asm.h + * @file + * + * @brief Intel AVR Assembly File + * + * Very loose template for an include file for the cpu_asm.? file + * if it is implemented as a ".S" file (preprocessed by cpp) instead + * of a ".s" file (preprocessed by gm4 or gasp). */ /* - * Very loose template for an include file for the cpu_asm.? file - * if it is implemented as a ".S" file (preprocessed by cpp) instead - * of a ".s" file (preprocessed by gm4 or gasp). - * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * diff --git a/cpukit/score/cpu/avr/rtems/score/types.h b/cpukit/score/cpu/avr/rtems/score/types.h index 77eb0dbc30..a4710d3331 100644 --- a/cpukit/score/cpu/avr/rtems/score/types.h +++ b/cpukit/score/cpu/avr/rtems/score/types.h @@ -1,11 +1,13 @@ /** - * @file rtems/score/types.h + * @file + * + * @brief Intel AVR CPU Type Definitions + * + * This include file contains type definitions pertaining to the Intel + * avr processor family. */ /* - * This include file contains type definitions pertaining to the Intel - * avr processor family. - * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * -- cgit v1.2.3 From a15eaaf9fdba8a9311623ae44711d17701a19d30 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 10 Jan 2013 13:20:34 -0600 Subject: cpukit: Doxygen group fixes and many warnings addressed The output of the modules.html is much improved. Most filesystem and POSIX API related groups are properly nested. Some formatting issues were addressed as were multiple inconsistencies. --- cpukit/libcsupport/include/console.h | 2 +- cpukit/libcsupport/include/rtems/deviceio.h | 20 ++--- cpukit/libcsupport/include/rtems/error.h | 14 +-- cpukit/libcsupport/include/sys/utsname.h | 8 +- cpukit/libfs/src/devfs/devfs.h | 14 +-- cpukit/libfs/src/imfs/imfs.h | 100 ++++++++++----------- cpukit/libfs/src/pipe/pipe.h | 15 ++-- cpukit/libfs/src/rfs/rtems-rfs-bitmaps.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-block-pos.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-block.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-buffer.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-data.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-dir-hash.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-dir.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-file-system-fwd.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-file-system.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-file.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-format.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-group.h | 10 +-- cpukit/libfs/src/rfs/rtems-rfs-inode.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-link.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-mutex.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-rtems.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-shell.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs-trace.h | 2 +- cpukit/libfs/src/rfs/rtems-rfs.h | 10 ++- cpukit/libmisc/devnull/devnull.h | 5 +- cpukit/libmisc/devnull/devzero.h | 12 ++- cpukit/libmisc/fb/fb.h | 13 +-- cpukit/libmisc/mouse/mouse_parser.h | 7 +- cpukit/posix/include/aio.h | 2 +- cpukit/posix/include/mqueue.h | 2 +- cpukit/posix/include/rtems/posix/cond.h | 2 +- cpukit/posix/include/rtems/posix/key.h | 2 +- cpukit/posix/include/rtems/posix/mqueue.h | 2 +- cpukit/posix/include/rtems/posix/mutex.h | 2 +- cpukit/posix/include/rtems/posix/priority.h | 2 +- cpukit/posix/include/rtems/posix/psignalimpl.h | 2 +- cpukit/posix/include/rtems/posix/pthread.h | 2 +- cpukit/posix/include/rtems/posix/ptimer.h | 2 +- cpukit/posix/include/rtems/posix/rwlock.h | 2 +- cpukit/posix/include/rtems/posix/semaphore.h | 10 ++- cpukit/posix/include/rtems/posix/spinlock.h | 2 +- cpukit/posix/include/rtems/posix/threadsup.h | 4 +- cpukit/posix/include/rtems/posix/time.h | 2 +- cpukit/posix/include/rtems/posix/timer.h | 14 ++- cpukit/posix/include/semaphore.h | 2 +- cpukit/rtems/include/rtems.h | 4 +- cpukit/rtems/include/rtems/rtems/barriermp.h | 5 +- cpukit/rtems/include/rtems/rtems/msgmp.h | 5 +- cpukit/rtems/include/rtems/rtems/partmp.h | 5 +- cpukit/rtems/include/rtems/rtems/sem.h | 3 +- cpukit/rtems/include/rtems/rtems/signalmp.h | 5 +- cpukit/rtems/mainpage.h | 3 +- cpukit/sapi/include/rtems/rbheap.h | 7 +- cpukit/score/include/rtems/score/copyrt.h | 4 +- cpukit/score/include/rtems/score/prioritybitmap.h | 6 +- cpukit/score/include/rtems/score/scheduler.h | 2 +- cpukit/score/include/rtems/score/schedulercbs.h | 8 +- cpukit/score/include/rtems/score/scheduleredf.h | 9 +- .../score/include/rtems/score/schedulerpriority.h | 8 +- cpukit/score/include/rtems/score/schedulersimple.h | 10 +-- .../score/include/rtems/score/schedulersimplesmp.h | 8 +- cpukit/score/include/rtems/score/smp.h | 6 +- cpukit/score/include/rtems/score/states.h | 7 +- cpukit/score/include/rtems/score/timestamp.h | 4 +- cpukit/score/include/rtems/score/timestamp64.h | 4 +- 67 files changed, 210 insertions(+), 223 deletions(-) diff --git a/cpukit/libcsupport/include/console.h b/cpukit/libcsupport/include/console.h index 9cd0e9651f..6b8b8c9455 100644 --- a/cpukit/libcsupport/include/console.h +++ b/cpukit/libcsupport/include/console.h @@ -47,7 +47,7 @@ extern "C" { * @param[in] major is the device driver major number. * @param[in] minor is the device driver minor number. * @param[in] arg is the parameters to this call. - *. + * * @retval RTEMS_SUCCESSFUL The device driver is successfully initialized. */ rtems_device_driver console_initialize( diff --git a/cpukit/libcsupport/include/rtems/deviceio.h b/cpukit/libcsupport/include/rtems/deviceio.h index df78852bb4..571b3e14ec 100644 --- a/cpukit/libcsupport/include/rtems/deviceio.h +++ b/cpukit/libcsupport/include/rtems/deviceio.h @@ -1,8 +1,7 @@ /** * @file * - * @brief Map Operations on IMFS Device Nodes to the RTEMS Classic API - * IO Manager + * @brief Operations on IMFS Device Nodes */ /* @@ -17,14 +16,16 @@ #ifndef _RTEMS_DEVICEIO_H #define _RTEMS_DEVICEIO_H +#include + /** - * @defgroup Device IO Handler - * + * @defgroup IMFSDevices IMFS Device IO Handler * - * @{ + * @ingroup IMFS + * + * This contains the interface to device drivers using the RTEMS Classic API. */ - -#include +/**@{*/ #ifdef __cplusplus extern "C" { @@ -79,12 +80,11 @@ int rtems_deviceio_control( rtems_device_minor_number minor ); -/** @} */ - #ifdef __cplusplus } #endif - /* __cplusplus */ +/**@}*/ + #endif /* _RTEMS_DEVICEIO_H */ diff --git a/cpukit/libcsupport/include/rtems/error.h b/cpukit/libcsupport/include/rtems/error.h index 31a37e025b..4eae14f912 100644 --- a/cpukit/libcsupport/include/rtems/error.h +++ b/cpukit/libcsupport/include/rtems/error.h @@ -20,27 +20,32 @@ * It can also include a rtems_status value which can be OR'd * with the above flags. * * - * EXAMPLE + * Example 1: + * @code * #include * #include * rtems_error(0, "stray interrupt %d", intr); + * @endcode * - * EXAMPLE + * Example 2: + * @code * if ((status = rtems_task_create(...)) != RTEMS_SUCCCESSFUL) * { * rtems_error(status | RTEMS_ERROR_ABORT, * "could not create task"); * } + * @endcode * - * EXAMPLE + * Example 3: + * @code * if ((fd = open(pathname, O_RDNLY)) < 0) * { * rtems_error(RTEMS_ERROR_ERRNO, "open of '%s' failed", pathname); * goto failed; * } + * @endcode */ - #ifndef _RTEMS_RTEMS_ERROR_H #define _RTEMS_RTEMS_ERROR_H @@ -59,7 +64,6 @@ extern "C" { * @brief Defines and externs for rtems error reporting * */ - typedef Internal_errors_t rtems_error_code_t; /* diff --git a/cpukit/libcsupport/include/sys/utsname.h b/cpukit/libcsupport/include/sys/utsname.h index 93d331637e..2bad0e2572 100644 --- a/cpukit/libcsupport/include/sys/utsname.h +++ b/cpukit/libcsupport/include/sys/utsname.h @@ -19,10 +19,11 @@ #define __POSIX_SYS_UTSNAME_h /** - * @defgroup utsname Service + * @defgroup UTSNAME utsname Service * - * @{ + * @ingroup POSIXAPI */ +/**@{*/ #ifdef __cplusplus extern "C" { @@ -46,7 +47,8 @@ extern "C" { #endif struct utsname { - char sysname[SYS_NMLN]; /* Name of this implementation of the operating system */ + char sysname[SYS_NMLN]; /* Name of this implementation of the */ + /* operating system */ char nodename[SYS_NMLN]; /* Name of this node within an implementation */ /* specified communication network */ char release[SYS_NMLN]; /* Current release level of this implementation */ diff --git a/cpukit/libfs/src/devfs/devfs.h b/cpukit/libfs/src/devfs/devfs.h index 0f5e248225..fbeb13bca5 100644 --- a/cpukit/libfs/src/devfs/devfs.h +++ b/cpukit/libfs/src/devfs/devfs.h @@ -12,18 +12,18 @@ #include -#ifdef __cplusplus -extern "C" { -#endif /** - * @defgroup DevFsDeviceTable Define Device Table Type + * @defgroup DevFsDeviceTable Device Only File System * - * @ingroup DevFs + * @ingroup FileSystemTypesAndMount * * @brief This structure defines the type of device table - * - * @{ */ +/**@{*/ + +#ifdef __cplusplus +extern "C" { +#endif typedef struct { /** This member points to device name which is not a null-terminated string */ diff --git a/cpukit/libfs/src/imfs/imfs.h b/cpukit/libfs/src/imfs/imfs.h index ba05c5baf2..6874523154 100644 --- a/cpukit/libfs/src/imfs/imfs.h +++ b/cpukit/libfs/src/imfs/imfs.h @@ -21,17 +21,18 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif - /** - * @defgroup IMFS POSIX In-Memory File System Support - * * @brief In-Memory File System Support. * - * @{ + * @defgroup IMFS In-Memory File System Support + * + * @ingroup FileSystemTypesAndMount */ +/**@{*/ + +#ifdef __cplusplus +extern "C" { +#endif /* * Data types @@ -66,7 +67,7 @@ typedef struct { void *context; } IMFS_generic_t; -/* +/** * IMFS "memfile" information * * The data structure for the in-memory "memfiles" is based on classic UNIX. @@ -79,14 +80,15 @@ typedef struct { * memory wasted due to internal file fragmentation. The following * is a list of maximum file sizes based on various settings * + * @code * max_filesize with blocks of 16 is 1,328 * max_filesize with blocks of 32 is 18,656 * max_filesize with blocks of 64 is 279,488 * max_filesize with blocks of 128 is 4,329,344 * max_filesize with blocks of 256 is 68,173,568 * max_filesize with blocks of 512 is 1,082,195,456 + * @endcode */ - #define IMFS_MEMFILE_DEFAULT_BYTES_PER_BLOCK 128 extern int imfs_rq_memfile_bytes_per_block; extern int imfs_memfile_bytes_per_block; @@ -113,7 +115,6 @@ typedef struct { /* * Important block numbers for "memfiles" */ - #define FIRST_INDIRECT (0) #define LAST_INDIRECT (IMFS_MEMFILE_BLOCK_SLOTS - 1) @@ -134,7 +135,6 @@ typedef struct { /* * What types of IMFS file systems entities there can be. */ - typedef enum { IMFS_DIRECTORY = RTEMS_FILESYSTEM_DIRECTORY, IMFS_DEVICE = RTEMS_FILESYSTEM_DEVICE, @@ -165,9 +165,8 @@ typedef union { /** * @addtogroup IMFSGenericNodes - * - * @{ */ +/**@{*/ /** * @brief Initializes an IMFS node. @@ -282,9 +281,8 @@ typedef struct { /** * @addtogroup IMFS - * - * @{ */ +/**@{*/ /* * Major device number for the IMFS. This is not a real device number because @@ -435,32 +433,37 @@ extern void IMFS_fsunmount( * * TAR file format: * - * Offset Length Contents - * 0 100 bytes File name ('\0' terminated, 99 maxmum length) - * 100 8 bytes File mode (in octal ascii) - * 108 8 bytes User ID (in octal ascii) - * 116 8 bytes Group ID (in octal ascii) - * 124 12 bytes File size (s) (in octal ascii) - * 136 12 bytes Modify time (in octal ascii) - * 148 8 bytes Header checksum (in octal ascii) - * 156 1 bytes Link flag - * 157 100 bytes Linkname ('\0' terminated, 99 maxmum length) - * 257 8 bytes Magic PAX ("ustar\0" + 2 bytes padding) - * 257 8 bytes Magic GNU tar ("ustar \0") - * 265 32 bytes User name ('\0' terminated, 31 maxmum length) - * 297 32 bytes Group name ('\0' terminated, 31 maxmum length) - * 329 8 bytes Major device ID (in octal ascii) - * 337 8 bytes Minor device ID (in octal ascii) - * 345 167 bytes Padding - * 512 (s+p)bytes File contents (s+p) := (((s) + 511) & ~511), - * round up to 512 bytes + * @code + * Offset Length Contents + * 0 100 bytes File name ('\0' terminated, 99 maxmum length) + * 100 8 bytes File mode (in octal ascii) + * 108 8 bytes User ID (in octal ascii) + * 116 8 bytes Group ID (in octal ascii) + * 124 12 bytes File size (s) (in octal ascii) + * 136 12 bytes Modify time (in octal ascii) + * 148 8 bytes Header checksum (in octal ascii) + * 156 1 bytes Link flag + * 157 100 bytes Linkname ('\0' terminated, 99 maxmum length) + * 257 8 bytes Magic PAX ("ustar\0" + 2 bytes padding) + * 257 8 bytes Magic GNU tar ("ustar \0") + * 265 32 bytes User name ('\0' terminated, 31 maxmum length) + * 297 32 bytes Group name ('\0' terminated, 31 maxmum length) + * 329 8 bytes Major device ID (in octal ascii) + * 337 8 bytes Minor device ID (in octal ascii) + * 345 167 bytes Padding + * 512 (s+p) bytes File contents (s+p) := (((s) + 511) & ~511), + * round up to 512 bytes + * @endcode * * Checksum: - * int i, sum; - * char* header = tar_header_pointer; - * sum = 0; - * for(i = 0; i < 512; i++) - * sum += 0xFF & header[i]; + * @code + * int i, sum; + * char *header = tar_header_pointer; + * + * sum = 0; + * for (i = 0; i < 512; i++) + * sum += 0xFF & header[i]; + * @endcode */ extern int rtems_tarfs_load( const char *mountpoint, @@ -616,9 +619,8 @@ extern bool IMFS_is_imfs_instance( * more features like support for fsync() and fdatasync(). The generic nodes * use the reference counting of the IMFS. This provides automatic node * destruction when the last reference vanishes. - * - * @{ */ +/**@{*/ /** * @brief Makes a generic IMFS node. @@ -671,9 +673,8 @@ extern int IMFS_make_generic_node( /** * @addtogroup IMFS - * - * @{ */ +/**@{*/ /** * @brief Mount an IMFS. @@ -731,9 +732,8 @@ extern ssize_t imfs_dir_read( * malloc'ed memory. Thus any data stored in one of these files is lost * at system shutdown unless special arrangements to copy the data to * some type of non-volailte storage are made by the application. - * - * @{ */ +/**@{*/ /** * @brief Open a memory file. @@ -777,9 +777,8 @@ extern ssize_t memfile_write( * * This section contains the set of handlers used to map operations on * IMFS device nodes onto calls to the RTEMS Classic API IO Manager. - * - * @{ */ +/**@{*/ extern int device_open( rtems_libio_t *iop, /* IN */ @@ -959,9 +958,8 @@ static inline IMFS_jnode_t *IMFS_create_node( /** * @addtogroup IMFSGenericNodes - * - * @{ */ +/**@{*/ static inline void *IMFS_generic_get_context_by_node( const IMFS_jnode_t *node @@ -996,11 +994,9 @@ static inline dev_t IMFS_generic_get_device_identifier_by_node( ); } -/** @} */ - #ifdef __cplusplus } #endif - +/** @} */ #endif /* end of include file */ diff --git a/cpukit/libfs/src/pipe/pipe.h b/cpukit/libfs/src/pipe/pipe.h index f51855c173..e9b9117f54 100644 --- a/cpukit/libfs/src/pipe/pipe.h +++ b/cpukit/libfs/src/pipe/pipe.h @@ -20,17 +20,18 @@ #include -#ifdef __cplusplus -extern "C" { -#endif - /** - * @defgroup FIFO_PIPE FIFO/pipe File System Support + * @defgroup FIFO_PIPE FIFO/Pipe File System Support * - * @brief Interface to the POSIX FIFO/pipe File System + * @ingroup FileSystemTypesAndMount * - * @{ + * @brief Interface to the POSIX FIFO/Pipe File System */ +/**@{*/ + +#ifdef __cplusplus +extern "C" { +#endif /* Control block to manage each pipe */ typedef struct pipe_control { diff --git a/cpukit/libfs/src/rfs/rtems-rfs-bitmaps.h b/cpukit/libfs/src/rfs/rtems-rfs-bitmaps.h index c2497764e2..b8ed9c8d54 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-bitmaps.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-bitmaps.h @@ -3,7 +3,7 @@ * * @brief RTEMS File Systems Bitmap Routines * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File Systems Bitmap Routines. * diff --git a/cpukit/libfs/src/rfs/rtems-rfs-block-pos.h b/cpukit/libfs/src/rfs/rtems-rfs-block-pos.h index 1aab489027..3a3aab6b97 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-block-pos.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-block-pos.h @@ -3,7 +3,7 @@ * * @brief RTEMS File Systems Block Position and Size Management * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File Systems Block Position and Size Management. * diff --git a/cpukit/libfs/src/rfs/rtems-rfs-block.h b/cpukit/libfs/src/rfs/rtems-rfs-block.h index 928186f52b..ee758bafb3 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-block.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-block.h @@ -3,7 +3,7 @@ * * @brief RTEMS File Systems Block Management * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File Systems Block Management. * diff --git a/cpukit/libfs/src/rfs/rtems-rfs-buffer.h b/cpukit/libfs/src/rfs/rtems-rfs-buffer.h index ec35e648d7..40b5891a2f 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-buffer.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-buffer.h @@ -1,7 +1,7 @@ /** * @file * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * @brief Maps Blocks to the Media Interface Layers * diff --git a/cpukit/libfs/src/rfs/rtems-rfs-data.h b/cpukit/libfs/src/rfs/rtems-rfs-data.h index 0e20423adc..954f4bc697 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-data.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-data.h @@ -3,7 +3,7 @@ * * @brief RTEMS File System Data * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File System Data. * diff --git a/cpukit/libfs/src/rfs/rtems-rfs-dir-hash.h b/cpukit/libfs/src/rfs/rtems-rfs-dir-hash.h index 46b2719a7e..0b2d7a40b6 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-dir-hash.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-dir-hash.h @@ -3,7 +3,7 @@ * * @brief Provides a 32bit Hash of a String used to Search a Directory * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File Systems Directory Hash provides a 32bit hash of a string. This is * used to search a directory. diff --git a/cpukit/libfs/src/rfs/rtems-rfs-dir.h b/cpukit/libfs/src/rfs/rtems-rfs-dir.h index ddfcb5418e..91ea713710 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-dir.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-dir.h @@ -3,7 +3,7 @@ * * @brief RTEMS File System Directory Support * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File System Directory Support * diff --git a/cpukit/libfs/src/rfs/rtems-rfs-file-system-fwd.h b/cpukit/libfs/src/rfs/rtems-rfs-file-system-fwd.h index 19b03587e1..8010c40a16 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-file-system-fwd.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-file-system-fwd.h @@ -3,7 +3,7 @@ * * @brief RTEMS File Systems Data Forward Declaration * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File Systems Data forward decl. */ diff --git a/cpukit/libfs/src/rfs/rtems-rfs-file-system.h b/cpukit/libfs/src/rfs/rtems-rfs-file-system.h index 1d059ae92c..7c80aed5da 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-file-system.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-file-system.h @@ -3,7 +3,7 @@ * * @brief RTEMS File System Data * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File System Data * diff --git a/cpukit/libfs/src/rfs/rtems-rfs-file.h b/cpukit/libfs/src/rfs/rtems-rfs-file.h index 9665c60ea5..efafb88e56 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-file.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-file.h @@ -3,7 +3,7 @@ * * @brief RTEMS File System File Support * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File System File Support * diff --git a/cpukit/libfs/src/rfs/rtems-rfs-format.h b/cpukit/libfs/src/rfs/rtems-rfs-format.h index f0d9f0c2b1..dd2b08d2a2 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-format.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-format.h @@ -1,7 +1,7 @@ /** * @file * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * @brief RTEMS File System Format * diff --git a/cpukit/libfs/src/rfs/rtems-rfs-group.h b/cpukit/libfs/src/rfs/rtems-rfs-group.h index 90c6a9aa88..595a3c0886 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-group.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-group.h @@ -3,7 +3,7 @@ * * @brief RTEMS File Systems Group Management * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File Systems Group Management. * @@ -23,11 +23,11 @@ #define _RTEMS_RFS_GROUP_H_ /** - * @defgroup rtems-rfs FS Group Management + * @ingroup rtems_rfs * - * @ingroup rfs - * @{ + * RTEMS File System Group Management */ +/**@{*/ #include #include @@ -178,4 +178,4 @@ int rtems_rfs_group_usage (rtems_rfs_file_system* fs, size_t* inodes); /** @} */ -#endif \ No newline at end of file +#endif diff --git a/cpukit/libfs/src/rfs/rtems-rfs-inode.h b/cpukit/libfs/src/rfs/rtems-rfs-inode.h index a8be80f6ff..773db4751d 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-inode.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-inode.h @@ -3,7 +3,7 @@ * * @brief RTEMS File System Information Node * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File System Information Node. * diff --git a/cpukit/libfs/src/rfs/rtems-rfs-link.h b/cpukit/libfs/src/rfs/rtems-rfs-link.h index 6a1cf18f6d..c10e336d49 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-link.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-link.h @@ -3,7 +3,7 @@ * * @brief RTEMS File System Link Support * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File System Link Support * diff --git a/cpukit/libfs/src/rfs/rtems-rfs-mutex.h b/cpukit/libfs/src/rfs/rtems-rfs-mutex.h index edf67f4f7b..a37d9fee72 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-mutex.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-mutex.h @@ -3,7 +3,7 @@ * * @brief RTEMS File System Mutex * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File System Mutex. * diff --git a/cpukit/libfs/src/rfs/rtems-rfs-rtems.h b/cpukit/libfs/src/rfs/rtems-rfs-rtems.h index bbff3aeaf3..d923999f62 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-rtems.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-rtems.h @@ -1,7 +1,7 @@ /** * @file * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File System RTEMS Header file. * diff --git a/cpukit/libfs/src/rfs/rtems-rfs-shell.h b/cpukit/libfs/src/rfs/rtems-rfs-shell.h index a917b8556c..46f3d2902f 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-shell.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-shell.h @@ -1,7 +1,7 @@ /** * @file * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * @brief RTEMS File Systems Shell Commands * * RTEMS File Systems Shell commands provide a CLI interface to support and diff --git a/cpukit/libfs/src/rfs/rtems-rfs-trace.h b/cpukit/libfs/src/rfs/rtems-rfs-trace.h index 030e6c2058..7ffdea0d56 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-trace.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-trace.h @@ -4,7 +4,7 @@ * @brief Manages the Trace and Debugging Features of the * RTEMS RFS File System * - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File Systems Trace manages the trace and debugging features of the * RTEMS RFS file system. The design allows all tracing code and strings to be diff --git a/cpukit/libfs/src/rfs/rtems-rfs.h b/cpukit/libfs/src/rfs/rtems-rfs.h index b1684e0ebd..ffd2f806fb 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs.h +++ b/cpukit/libfs/src/rfs/rtems-rfs.h @@ -2,7 +2,7 @@ * @file * * @brief RFS File system Initialization - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File System * @@ -22,9 +22,17 @@ #include #include +/** + * @defgroup rtems_rfs RTEMS File System Group Management + * + * @ingroup FileSystemTypesAndMount + */ +/**@{*/ + /** * Initialise the RFS File system. */ int rtems_rfs_rtems_initialise (rtems_filesystem_mount_table_entry_t *mt_entry); +/**@}*/ #endif diff --git a/cpukit/libmisc/devnull/devnull.h b/cpukit/libmisc/devnull/devnull.h index 61fa60a33a..0eae69751c 100644 --- a/cpukit/libmisc/devnull/devnull.h +++ b/cpukit/libmisc/devnull/devnull.h @@ -21,14 +21,15 @@ #ifndef _RTEMS_DEVNULL_H #define _RTEMS_DEVNULL_H -#include /* rtems_device_driver */ +#include /** - * @defgroup libmisc_devnull Device Driver + * @defgroup libmisc_devnull Null Device Driver * * @ingroup libmisc */ /**@{*/ + #ifdef __cplusplus extern "C" { #endif diff --git a/cpukit/libmisc/devnull/devzero.h b/cpukit/libmisc/devnull/devzero.h index 6a37ca1da8..2f10e0f507 100644 --- a/cpukit/libmisc/devnull/devzero.h +++ b/cpukit/libmisc/devnull/devzero.h @@ -1,9 +1,6 @@ /** * @file rtems/devzero.h * - * @defgroup libmisc_devzero Device Driver - * - * @ingroup libmisc * @brief RTEMS /dev/zero Device Driver * * This include file defines the interface to the RTEMS /dev/zero @@ -29,6 +26,13 @@ #include +/** + * @defgroup libmisc_devzero Zero Device Driver + * + * @ingroup libmisc + */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ @@ -84,5 +88,5 @@ rtems_device_driver dev_zero_control( #ifdef __cplusplus } #endif /* __cplusplus */ - +/**@}*/ #endif /* _RTEMS_DEVZERO_H */ diff --git a/cpukit/libmisc/fb/fb.h b/cpukit/libmisc/fb/fb.h index 2304405a95..e268418a3a 100644 --- a/cpukit/libmisc/fb/fb.h +++ b/cpukit/libmisc/fb/fb.h @@ -1,9 +1,6 @@ /** * @file rtems/fb.h * - * @defgroup libmisc_fb Device Driver - * - * @ingroup libmisc * @brief Frame Buffer Device Driver * * This file defines the interface to a frame buffer device driver. @@ -21,6 +18,13 @@ #include +/** + * @defgroup libmisc_fb Frame Buffer Device Driver Interface + * + * @ingroup Device Drivers and Frameworks + */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif @@ -92,10 +96,9 @@ struct fb_cmap { uint16_t *transp; /* transparency, can be NULL */ }; - - #ifdef __cplusplus } #endif +/**@}*/ #endif /* _MW_FB_H */ diff --git a/cpukit/libmisc/mouse/mouse_parser.h b/cpukit/libmisc/mouse/mouse_parser.h index 3d2dad1695..27bea1bbbc 100644 --- a/cpukit/libmisc/mouse/mouse_parser.h +++ b/cpukit/libmisc/mouse/mouse_parser.h @@ -1,9 +1,6 @@ /** * @file rtems/mouse_parser.h * - * @defgroup libmisc_mouse Mouse Parser Engine - * - * @ingroup libmisc * @brief Initialize Mouse Parser Engine * * This file is the header file for the Mouse Parser Engine. @@ -42,13 +39,11 @@ #include /** - * @defgroup libmisc_mouse Mouse Support - * @ingroup libmisc - * * @defgroup libmisc_mouseparser Mouse Parser Engine * @ingroup libmisc_mouse */ /**@{*/ + #ifdef __cplusplus extern "C" { #endif diff --git a/cpukit/posix/include/aio.h b/cpukit/posix/include/aio.h index 769f0b37f2..f43e088930 100644 --- a/cpukit/posix/include/aio.h +++ b/cpukit/posix/include/aio.h @@ -28,7 +28,7 @@ extern "C" { /** * @defgroup POSIX_AIO POSIX Asynchronous I/O Support * - * @ingroup POSIX + * @ingroup POSIXAPI * * @brief POSIX Asynchronous Input and Output * diff --git a/cpukit/posix/include/mqueue.h b/cpukit/posix/include/mqueue.h index a3e43ee712..2c228544de 100644 --- a/cpukit/posix/include/mqueue.h +++ b/cpukit/posix/include/mqueue.h @@ -43,7 +43,7 @@ /** * @defgroup POSIX_MQUEUE POSIX Message Queues * - * @ingroup POSIX + * @ingroup POSIXAPI * * @{ */ diff --git a/cpukit/posix/include/rtems/posix/cond.h b/cpukit/posix/include/rtems/posix/cond.h index 5fdc1a1a31..2bd02604c0 100644 --- a/cpukit/posix/include/rtems/posix/cond.h +++ b/cpukit/posix/include/rtems/posix/cond.h @@ -22,7 +22,7 @@ /** * @defgroup POSIX_COND_VARS POSIX Condition Variables * - * @ingroup POSIX + * @ingroup POSIXAPI * * @{ */ diff --git a/cpukit/posix/include/rtems/posix/key.h b/cpukit/posix/include/rtems/posix/key.h index f0f039ec1d..bd92a01316 100644 --- a/cpukit/posix/include/rtems/posix/key.h +++ b/cpukit/posix/include/rtems/posix/key.h @@ -24,7 +24,7 @@ /** * @defgroup POSIX_KEY POSIX Key * - * @ingroup POSIX + * @ingroup POSIXAPI * * @{ */ diff --git a/cpukit/posix/include/rtems/posix/mqueue.h b/cpukit/posix/include/rtems/posix/mqueue.h index cef85e8045..1b24098170 100644 --- a/cpukit/posix/include/rtems/posix/mqueue.h +++ b/cpukit/posix/include/rtems/posix/mqueue.h @@ -40,7 +40,7 @@ /** * @defgroup POSIX_MQUEUE_P Message Queues Private Support * - * @ingroup POSIX_MQUEUE + * @ingroup POSIXAPI * * @{ */ diff --git a/cpukit/posix/include/rtems/posix/mutex.h b/cpukit/posix/include/rtems/posix/mutex.h index f44a1c64b1..a84ed7ec77 100644 --- a/cpukit/posix/include/rtems/posix/mutex.h +++ b/cpukit/posix/include/rtems/posix/mutex.h @@ -26,7 +26,7 @@ extern "C" { /** * @defgroup POSIX_MUTEX POSIX Mutex Support * - * @ingroup POSIX + * @ingroup POSIXAPI * * @brief Private Support Information for POSIX Mutex * diff --git a/cpukit/posix/include/rtems/posix/priority.h b/cpukit/posix/include/rtems/posix/priority.h index 1a12900057..cf47ed0677 100644 --- a/cpukit/posix/include/rtems/posix/priority.h +++ b/cpukit/posix/include/rtems/posix/priority.h @@ -22,7 +22,7 @@ /** * @defgroup POSIX_PRIORITY POSIX Priority Support * - * @ingroup POSIX + * @ingroup POSIXAPI * * @brief Interface to the POSIX Priority Implementation * diff --git a/cpukit/posix/include/rtems/posix/psignalimpl.h b/cpukit/posix/include/rtems/posix/psignalimpl.h index d09722ddbf..6db7948840 100644 --- a/cpukit/posix/include/rtems/posix/psignalimpl.h +++ b/cpukit/posix/include/rtems/posix/psignalimpl.h @@ -21,7 +21,7 @@ /** * @defgroup POSIX_SIGNALS POSIX Signals Support * - * @ingroup POSIX + * @ingroup POSIXAPI * * @brief Internal Information about POSIX Signals * diff --git a/cpukit/posix/include/rtems/posix/pthread.h b/cpukit/posix/include/rtems/posix/pthread.h index d0d2c2db5d..7037adc672 100644 --- a/cpukit/posix/include/rtems/posix/pthread.h +++ b/cpukit/posix/include/rtems/posix/pthread.h @@ -30,7 +30,7 @@ extern "C" { /** * @defgroup POSIX_PTHREAD POSIX Threads Support * - * @ingroup POSIX + * @ingroup POSIXAPI * * @brief Private Support Information for POSIX Threads * diff --git a/cpukit/posix/include/rtems/posix/ptimer.h b/cpukit/posix/include/rtems/posix/ptimer.h index 50840ac5f6..9f6122ad04 100644 --- a/cpukit/posix/include/rtems/posix/ptimer.h +++ b/cpukit/posix/include/rtems/posix/ptimer.h @@ -25,7 +25,7 @@ /** * @defgroup POSIX_PRIV_TIMERS POSIX Timers * - * @ingroup POSIX + * @ingroup POSIXAPI * * @{ */ diff --git a/cpukit/posix/include/rtems/posix/rwlock.h b/cpukit/posix/include/rtems/posix/rwlock.h index 57351be532..0dbd268aa3 100644 --- a/cpukit/posix/include/rtems/posix/rwlock.h +++ b/cpukit/posix/include/rtems/posix/rwlock.h @@ -32,7 +32,7 @@ extern "C" { /** * @defgroup POSIX_RWLOCK POSIX RWLock Manager * - * @ingroup POSIX + * @ingroup POSIXAPI * * @brief Constants and Structures Associated with the POSIX RWLock Manager * diff --git a/cpukit/posix/include/rtems/posix/semaphore.h b/cpukit/posix/include/rtems/posix/semaphore.h index 031a511d70..3127c3f9aa 100644 --- a/cpukit/posix/include/rtems/posix/semaphore.h +++ b/cpukit/posix/include/rtems/posix/semaphore.h @@ -20,10 +20,14 @@ #define _RTEMS_POSIX_SEMAPHORE_H /** - * @addtogroup POSIX_SEMAPHORES - * - * @{ + * @defgroup POSIXSemaphorePrivate POSIX Semaphore Private Support + * + * @ingroup POSIXAPI + * + * This defines the internal implementation support for POSIX semaphores. */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif diff --git a/cpukit/posix/include/rtems/posix/spinlock.h b/cpukit/posix/include/rtems/posix/spinlock.h index a535c6bae6..c8af7fa03b 100644 --- a/cpukit/posix/include/rtems/posix/spinlock.h +++ b/cpukit/posix/include/rtems/posix/spinlock.h @@ -32,7 +32,7 @@ extern "C" { /** * @defgroup POSIX_SPINLOCK POSIX Spinlock Support * - * @ingroup POSIX + * @ingroup POSIXAPI * * @brief Constants and Structures Associated with the POSIX Spinlock Manager * diff --git a/cpukit/posix/include/rtems/posix/threadsup.h b/cpukit/posix/include/rtems/posix/threadsup.h index 2d9c6adfa6..72fa1d35af 100644 --- a/cpukit/posix/include/rtems/posix/threadsup.h +++ b/cpukit/posix/include/rtems/posix/threadsup.h @@ -23,9 +23,9 @@ #include /** - * @defgroup POSIX_THREAD Thread API Extension + * @defgroup POSIX_THREAD POSIX Thread API Extension * - * @ingroup POSIX + * @ingroup POSIXAPI * * @{ */ diff --git a/cpukit/posix/include/rtems/posix/time.h b/cpukit/posix/include/rtems/posix/time.h index d00fc02491..f5e55a55be 100644 --- a/cpukit/posix/include/rtems/posix/time.h +++ b/cpukit/posix/include/rtems/posix/time.h @@ -24,7 +24,7 @@ /** * @defgroup POSIX_TIMETYPES POSIX Time Types * - * @ingroup POSIX + * @ingroup POSIXAPI * * @{ */ diff --git a/cpukit/posix/include/rtems/posix/timer.h b/cpukit/posix/include/rtems/posix/timer.h index 544acd712a..0b70cc9950 100644 --- a/cpukit/posix/include/rtems/posix/timer.h +++ b/cpukit/posix/include/rtems/posix/timer.h @@ -24,12 +24,11 @@ #include /* Watchdog_Control */ /** - * @defgroup POSIX_INTERNAL_TIMERS Timers + * @defgroup POSIX_INTERNAL_TIMERS POSIX Timer Private Support * - * @ingroup POSIX - * - * @{ + * @ingroup POSIXAPI */ +/**@{*/ #ifdef __cplusplus extern "C" { @@ -38,13 +37,13 @@ extern "C" { /* Timer is free */ #define POSIX_TIMER_STATE_FREE 0x01 -/* Created timer but not running */ +/* Created timer but not running */ #define POSIX_TIMER_STATE_CREATE_NEW 0x02 -/* Created timer and running */ +/* Created timer and running */ #define POSIX_TIMER_STATE_CREATE_RUN 0x03 -/* Created, ran and stopped timer */ +/* Created, ran and stopped timer */ #define POSIX_TIMER_STATE_CREATE_STOP 0x04 /* Indicates that the fire time is relative to the current one */ @@ -59,7 +58,6 @@ extern "C" { #error "POSIX_TIMER_RELATIVE == TIMER_ABSTIME" #endif - /* * Data for a timer */ diff --git a/cpukit/posix/include/semaphore.h b/cpukit/posix/include/semaphore.h index 65708c96f1..489258ecb0 100644 --- a/cpukit/posix/include/semaphore.h +++ b/cpukit/posix/include/semaphore.h @@ -26,7 +26,7 @@ extern "C" { /** * @defgroup POSIX_SEMAPHORE POSIX Semaphores Support * - * @ingroup POSIX + * @ingroup POSIXAPI * * @brief Private Support Information for POSIX Semaphores */ diff --git a/cpukit/rtems/include/rtems.h b/cpukit/rtems/include/rtems.h index d4af28a8ec..a644fa051c 100644 --- a/cpukit/rtems/include/rtems.h +++ b/cpukit/rtems/include/rtems.h @@ -3,7 +3,6 @@ * * @defgroup ClassicRTEMS RTEMS Classic API * - * @ingroup ClassicRTEMS * @brief RTEMS Classic API * * the Public Interface to the RTEMS Classic API @@ -24,9 +23,8 @@ * @defgroup ClassicRTEMS RTEMS Classic API * * RTEMS Classic API definitions and modules. - * - * @{ */ +/**@{*/ #ifdef __cplusplus extern "C" { diff --git a/cpukit/rtems/include/rtems/rtems/barriermp.h b/cpukit/rtems/include/rtems/rtems/barriermp.h index da5d372c0a..d2a203b162 100644 --- a/cpukit/rtems/include/rtems/rtems/barriermp.h +++ b/cpukit/rtems/include/rtems/rtems/barriermp.h @@ -1,9 +1,6 @@ /** * @file rtems/rtems/barriermp.h * - * @defgroup ClassicBarrierMP Barrier MP Support - * - * @ingroup ClassicMP * @brief MP Support in the Barrier Manager * * This include file contains all the constants and structures associated @@ -28,7 +25,7 @@ * * This encapsulates functionality which XXX */ -/**{*/ +/**@{*/ #ifdef __cplusplus extern "C" { diff --git a/cpukit/rtems/include/rtems/rtems/msgmp.h b/cpukit/rtems/include/rtems/rtems/msgmp.h index 5d895dea1c..f01a687ae3 100644 --- a/cpukit/rtems/include/rtems/rtems/msgmp.h +++ b/cpukit/rtems/include/rtems/rtems/msgmp.h @@ -1,9 +1,6 @@ /** * @file rtems/rtems/msgmp.h * - * @defgroup ClassicMsgMP Message Queue MP Support - * - * @ingroup ClassicRTEMS * @brief Message Manager MP Support * * This include file contains all the constants and structures associated @@ -39,7 +36,7 @@ extern "C" { * * This encapsulates functionality which XXX */ -/**{*/ +/*{*/ /** * The following enumerated type defines the list of diff --git a/cpukit/rtems/include/rtems/rtems/partmp.h b/cpukit/rtems/include/rtems/rtems/partmp.h index 0405f8036b..3d3f47fe52 100644 --- a/cpukit/rtems/include/rtems/rtems/partmp.h +++ b/cpukit/rtems/include/rtems/rtems/partmp.h @@ -1,9 +1,6 @@ /** * @file rtems/rtems/partmp.h * - * @defgroup ClassicPartMP Partition MP Support - * - * @ingroup ClassicMP * @brief MP Support in Partition Manager * * This include file contains all the constants and structures associated @@ -39,7 +36,7 @@ extern "C" { * * This encapsulates functionality which XXX */ -/**{*/ +/*{*/ /** * The following enumerated type defines the list of diff --git a/cpukit/rtems/include/rtems/rtems/sem.h b/cpukit/rtems/include/rtems/rtems/sem.h index bc5f4dc30b..4442b1d68c 100644 --- a/cpukit/rtems/include/rtems/rtems/sem.h +++ b/cpukit/rtems/include/rtems/rtems/sem.h @@ -1,10 +1,11 @@ /** * @file rtems/rtems/sem.h * + * @brief Semaphore Manager + * * @defgroup ClassicSem Semaphores * * @ingroup ClassicRTEMS - * @brief Semaphore Manager * * This include file contains all the constants and structures associated * with the Semaphore Manager. This manager utilizes standard Dijkstra diff --git a/cpukit/rtems/include/rtems/rtems/signalmp.h b/cpukit/rtems/include/rtems/rtems/signalmp.h index de32f3cc0e..82a7e07ef8 100644 --- a/cpukit/rtems/include/rtems/rtems/signalmp.h +++ b/cpukit/rtems/include/rtems/rtems/signalmp.h @@ -1,9 +1,6 @@ /** * @file rtems/rtems/signalmp.h * - * @defgroup ClassicSignalMP Signal MP Support - * - * @ingroup ClassicRTEMS * @brief Signal MP Support * * This include file contains all the constants and structures associated @@ -38,7 +35,7 @@ extern "C" { * * This encapsulates functionality which XXX */ -/**{*/ +/*{*/ /** * The following enumerated type defines the list of diff --git a/cpukit/rtems/mainpage.h b/cpukit/rtems/mainpage.h index 5aee1ccc46..b772b37892 100644 --- a/cpukit/rtems/mainpage.h +++ b/cpukit/rtems/mainpage.h @@ -391,11 +391,10 @@ * of RTEMS' concepts and features are interrelated. Experienced RTEMS users * will find that the manual organization facilitates its use as a reference * document. - * */ /** - * @addtogroup ClassicRTEMS + * @addtogroup ClassicAPI * * The facilities provided by RTEMS are built upon a foundation of very * powerful concepts. These concepts must be understood before the application diff --git a/cpukit/sapi/include/rtems/rbheap.h b/cpukit/sapi/include/rtems/rbheap.h index 835be5a624..22a6cf08f3 100644 --- a/cpukit/sapi/include/rtems/rbheap.h +++ b/cpukit/sapi/include/rtems/rbheap.h @@ -1,8 +1,6 @@ /** * @file * - * @ingroup RBHeap - * * @brief Red-Black Tree Heap API */ @@ -34,6 +32,8 @@ extern "C" { /** * @defgroup RBHeap Red-Black Tree Heap * + * @ingroup ClassicRTEMS + * * @brief Red-Black Tree Heap API. * * The red-black tree heap provides a memory allocator suitable to implement @@ -45,9 +45,8 @@ extern "C" { * by other tasks. The allocated and free memory parts of the managed area are * called chunks. Each chunk needs a descriptor which is stored outside of the * managed area. - * - * @{ */ +/**@{*/ /** * @brief Red-black heap chunk descriptor. diff --git a/cpukit/score/include/rtems/score/copyrt.h b/cpukit/score/include/rtems/score/copyrt.h index 58c1809af8..cc66f5cf52 100644 --- a/cpukit/score/include/rtems/score/copyrt.h +++ b/cpukit/score/include/rtems/score/copyrt.h @@ -20,7 +20,7 @@ #define _RTEMS_SCORE_COPYRT_H /** - * @defgroup SuperCore RTEMS Copyright Notice + * @defgroup SuperCoreCopyright RTEMS Copyright Notice * * @ingroup Score */ @@ -47,4 +47,4 @@ extern const char _Copyright_Notice[]; /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/prioritybitmap.h b/cpukit/score/include/rtems/score/prioritybitmap.h index 280a0674fd..8e8f21ce34 100644 --- a/cpukit/score/include/rtems/score/prioritybitmap.h +++ b/cpukit/score/include/rtems/score/prioritybitmap.h @@ -20,11 +20,9 @@ #define _RTEMS_SCORE_PRIORITYBITMAP_H /** - * @defgroup ScorePriority Bitmap Priority Thread Routines + * @defgroup ScorePriorityBitmap Bitmap Priority Thread Routines * * @ingroup Score - * - * @addtogroup ScorePriority */ /**@{*/ @@ -124,4 +122,4 @@ typedef struct { /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/scheduler.h b/cpukit/score/include/rtems/score/scheduler.h index 91a6bbdff4..5c35a36de1 100644 --- a/cpukit/score/include/rtems/score/scheduler.h +++ b/cpukit/score/include/rtems/score/scheduler.h @@ -150,4 +150,4 @@ void _Scheduler_Handler_initialization( void ); #endif #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/schedulercbs.h b/cpukit/score/include/rtems/score/schedulercbs.h index 96fd6fac3f..53452e044a 100644 --- a/cpukit/score/include/rtems/score/schedulercbs.h +++ b/cpukit/score/include/rtems/score/schedulercbs.h @@ -33,11 +33,9 @@ extern "C" { #endif /** - * @defgroup ScoreScheduler CBS Scheduler + * @defgroup ScoreSchedulerCBS CBS Scheduler * - * @ingroup Score - * - * @addtogroup ScoreScheduler + * @ingroup ScoreScheduler */ /**@{*/ @@ -346,4 +344,4 @@ void *_Scheduler_CBS_Allocate( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/scheduleredf.h b/cpukit/score/include/rtems/score/scheduleredf.h index 5c5c2c4f97..24f9a1ac32 100644 --- a/cpukit/score/include/rtems/score/scheduleredf.h +++ b/cpukit/score/include/rtems/score/scheduleredf.h @@ -29,12 +29,9 @@ extern "C" { #endif /** - * @defgroup ScoreScheduler - * - * @ingroup Score - * - * @addtogroup ScoreScheduler + * @defgroup ScoreSchedulerEDF EDF Scheduler * + * @ingroup ScoreScheduler */ /**@{*/ @@ -270,4 +267,4 @@ void _Scheduler_EDF_Release_job ( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/schedulerpriority.h b/cpukit/score/include/rtems/score/schedulerpriority.h index 9c2dc8cbbb..f97bb7f075 100644 --- a/cpukit/score/include/rtems/score/schedulerpriority.h +++ b/cpukit/score/include/rtems/score/schedulerpriority.h @@ -28,11 +28,9 @@ extern "C" { #endif /** - * @defgroup ScoreScheduler Priority-based Scheduler + * @defgroup ScoreSchedulerDPS Deterministic Priority-based Scheduler * - * @ingroup Score - * - * @addtogroup ScoreScheduler + * @ingroup ScoreScheduler */ /**@{*/ @@ -254,4 +252,4 @@ extern Priority_bit_map_Control _Priority_Bit_map[16] CPU_STRUCTURE_ALIGNMENT; /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/schedulersimple.h b/cpukit/score/include/rtems/score/schedulersimple.h index f350d533ad..df52a586be 100644 --- a/cpukit/score/include/rtems/score/schedulersimple.h +++ b/cpukit/score/include/rtems/score/schedulersimple.h @@ -19,11 +19,9 @@ #define _RTEMS_SCORE_SCHEDULERSIMPLE_H /** - * @defgroup ScoreScheduler + * @defgroup ScoreSchedulerSimple Simple Priority Scheduler * - * @ingroup Score - * - * @addtogroup ScoreScheduler + * @ingroup ScoreScheduler */ /**@{*/ @@ -166,7 +164,7 @@ void *_Scheduler_simple_Allocate( ); /** - * @breif Stub for simple schedule update. + * @brief Stub for simple schedule update. * * This routine does nothing, and is used as a stub for Schedule update * The overhead of a function call will still be imposed. @@ -225,4 +223,4 @@ void _Scheduler_simple_Ready_queue_enqueue_first( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/schedulersimplesmp.h b/cpukit/score/include/rtems/score/schedulersimplesmp.h index 86c7d9a900..63213c6b2a 100644 --- a/cpukit/score/include/rtems/score/schedulersimplesmp.h +++ b/cpukit/score/include/rtems/score/schedulersimplesmp.h @@ -23,11 +23,9 @@ #define _RTEMS_SCORE_SCHEDULERSIMPLE_SMP_H /** - * @defgroup ScoreScheduler + * @defgroup ScoreSchedulerSMP Simple SMP Scheduler * - * @ingroup Score - * - * @addtogroup ScoreScheduler + * @ingroup ScoreScheduler * * The Simple SMP Scheduler attempts to faithfully implement the * behaviour of the Deterministic Priority Scheduler while spreading @@ -120,4 +118,4 @@ void _Scheduler_simple_smp_Tick( void ); /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/smp.h b/cpukit/score/include/rtems/score/smp.h index b3d964b8d2..f4bf72edd9 100644 --- a/cpukit/score/include/rtems/score/smp.h +++ b/cpukit/score/include/rtems/score/smp.h @@ -23,7 +23,7 @@ #include /** - * @defgroup SuperCore SMP Support + * @defgroup SuperCoreSMP SMP Support * * @ingroup Score * @@ -105,7 +105,7 @@ void _SMP_Request_other_cores_to_perform_first_context_switch(void); void _SMP_Request_other_cores_to_dispatch(void); /** - * @Brief Request other cores to shutdown. + * @brief Request other cores to shutdown. * * Send message to other cores requesting them to shutdown. */ @@ -121,4 +121,4 @@ void _SMP_Request_other_cores_to_shutdown(void); /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/states.h b/cpukit/score/include/rtems/score/states.h index 9732875228..9fab5d4748 100644 --- a/cpukit/score/include/rtems/score/states.h +++ b/cpukit/score/include/rtems/score/states.h @@ -3,7 +3,7 @@ * * @brief Thread Execution State Information * - * This include file contains thread execution state information. + * This include file defines thread execution state information. */ /* @@ -19,8 +19,7 @@ #define _RTEMS_SCORE_STATES_H /** - * @defgroup Encapsulates functionality which relates to the management of - * the state bitmap associated with each thread. + * @defgroup ScoreStates SuperCore Thread States * * @ingroup Score * @@ -130,4 +129,4 @@ typedef uint32_t States_Control; /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/timestamp.h b/cpukit/score/include/rtems/score/timestamp.h index fb297da06d..638ae7bf52 100644 --- a/cpukit/score/include/rtems/score/timestamp.h +++ b/cpukit/score/include/rtems/score/timestamp.h @@ -19,7 +19,7 @@ #define _RTEMS_SCORE_TIMESTAMP_H /** - * @defgroup SuperCore Timestamp + * @defgroup SuperCoreTimeStamp Score Timestamp * * @ingroup Score * @@ -370,4 +370,4 @@ extern "C" { /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/timestamp64.h b/cpukit/score/include/rtems/score/timestamp64.h index 65da8f3497..306ee35fee 100644 --- a/cpukit/score/include/rtems/score/timestamp64.h +++ b/cpukit/score/include/rtems/score/timestamp64.h @@ -20,7 +20,7 @@ #define _RTEMS_SCORE_TIMESTAMP64_H /** - * @defgroup SuperCore Timestamp64 + * @defgroup SuperCoreTimestamp64 SuperCore Sixty-Four Bit Timestamps * * @ingroup Score * @@ -428,4 +428,4 @@ static inline void _Timestamp64_implementation_To_timeval( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ -- cgit v1.2.3 From 5cb175bb52ca87c80acb0fe103d85791ce74eb1d Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 10 Jan 2013 13:22:31 -0600 Subject: cpukit/posix: Doxygen group is POSIXAPI --- cpukit/posix/src/_execve.c | 2 +- cpukit/posix/src/adjtime.c | 2 +- cpukit/posix/src/aio_error.c | 2 +- cpukit/posix/src/aio_fsync.c | 2 +- cpukit/posix/src/aio_misc.c | 2 +- cpukit/posix/src/aio_read.c | 2 +- cpukit/posix/src/aio_return.c | 2 +- cpukit/posix/src/aio_suspend.c | 2 +- cpukit/posix/src/aio_write.c | 2 +- cpukit/posix/src/alarm.c | 2 +- cpukit/posix/src/barrierattrdestroy.c | 2 +- cpukit/posix/src/barrierattrgetpshared.c | 2 +- cpukit/posix/src/barrierattrinit.c | 2 +- cpukit/posix/src/barrierattrsetpshared.c | 2 +- cpukit/posix/src/cancel.c | 2 +- cpukit/posix/src/canceleval.c | 2 +- cpukit/posix/src/cancelrun.c | 2 +- cpukit/posix/src/cleanuppop.c | 2 +- cpukit/posix/src/cleanuppush.c | 2 +- cpukit/posix/src/clockgetcpuclockid.c | 2 +- cpukit/posix/src/clockgetenableattr.c | 2 +- cpukit/posix/src/clockgetres.c | 2 +- cpukit/posix/src/clockgettime.c | 2 +- cpukit/posix/src/clocksetenableattr.c | 2 +- cpukit/posix/src/clocksettime.c | 2 +- cpukit/posix/src/condattrdestroy.c | 2 +- cpukit/posix/src/condattrgetpshared.c | 2 +- cpukit/posix/src/condattrinit.c | 2 +- cpukit/posix/src/condattrsetpshared.c | 2 +- cpukit/posix/src/condbroadcast.c | 2 +- cpukit/posix/src/conddefaultattributes.c | 2 +- cpukit/posix/src/conddestroy.c | 2 +- cpukit/posix/src/condinit.c | 2 +- cpukit/posix/src/condsignal.c | 2 +- cpukit/posix/src/condtimedwait.c | 2 +- cpukit/posix/src/condwait.c | 2 +- cpukit/posix/src/execl.c | 2 +- cpukit/posix/src/execle.c | 2 +- cpukit/posix/src/execlp.c | 2 +- cpukit/posix/src/execv.c | 2 +- cpukit/posix/src/execve.c | 2 +- cpukit/posix/src/fork.c | 2 +- cpukit/posix/src/getitimer.c | 2 +- cpukit/posix/src/keycreate.c | 2 +- cpukit/posix/src/keydelete.c | 2 +- cpukit/posix/src/keyfreememory.c | 2 +- cpukit/posix/src/keygetspecific.c | 2 +- cpukit/posix/src/keysetspecific.c | 2 +- cpukit/posix/src/kill.c | 2 +- cpukit/posix/src/kill_r.c | 2 +- cpukit/posix/src/killinfo.c | 2 +- cpukit/posix/src/lio_listio.c | 2 +- cpukit/posix/src/mprotect.c | 2 +- cpukit/posix/src/mqueueclose.c | 2 +- cpukit/posix/src/mqueuegetattr.c | 2 +- cpukit/posix/src/mqueueopen.c | 2 +- cpukit/posix/src/mqueuesend.c | 2 +- cpukit/posix/src/mqueuesendsupp.c | 2 +- cpukit/posix/src/mqueuetimedreceive.c | 2 +- cpukit/posix/src/mqueuetranslatereturncode.c | 2 +- cpukit/posix/src/mutexattrdestroy.c | 2 +- cpukit/posix/src/mutexattrgetprioceiling.c | 2 +- cpukit/posix/src/mutexattrgetprotocol.c | 2 +- cpukit/posix/src/mutexattrgetpshared.c | 2 +- cpukit/posix/src/mutexattrgettype.c | 2 +- cpukit/posix/src/mutexattrinit.c | 2 +- cpukit/posix/src/mutexattrsetprioceiling.c | 2 +- cpukit/posix/src/mutexattrsetprotocol.c | 2 +- cpukit/posix/src/mutexattrsetpshared.c | 2 +- cpukit/posix/src/mutexattrsettype.c | 2 +- cpukit/posix/src/mutexdestroy.c | 2 +- cpukit/posix/src/mutexget.c | 2 +- cpukit/posix/src/mutexgetprioceiling.c | 2 +- cpukit/posix/src/mutexinit.c | 2 +- cpukit/posix/src/mutexlock.c | 2 +- cpukit/posix/src/mutexlocksupp.c | 2 +- cpukit/posix/src/mutexsetprioceiling.c | 2 +- cpukit/posix/src/mutextimedlock.c | 2 +- cpukit/posix/src/mutextrylock.c | 2 +- cpukit/posix/src/mutexunlock.c | 2 +- cpukit/posix/src/nanosleep.c | 2 +- cpukit/posix/src/pause.c | 2 +- cpukit/posix/src/pbarrierdestroy.c | 2 +- cpukit/posix/src/pbarrierinit.c | 2 +- cpukit/posix/src/pbarriertranslatereturncode.c | 2 +- cpukit/posix/src/pbarrierwait.c | 2 +- cpukit/posix/src/prwlockdestroy.c | 2 +- cpukit/posix/src/prwlockinit.c | 2 +- cpukit/posix/src/prwlockrdlock.c | 2 +- cpukit/posix/src/prwlocktimedrdlock.c | 2 +- cpukit/posix/src/prwlocktimedwrlock.c | 2 +- cpukit/posix/src/prwlocktryrdlock.c | 2 +- cpukit/posix/src/prwlocktrywrlock.c | 2 +- cpukit/posix/src/prwlockunlock.c | 2 +- cpukit/posix/src/prwlockwrlock.c | 2 +- cpukit/posix/src/psignalclearprocesssignals.c | 2 +- cpukit/posix/src/pspindestroy.c | 2 +- cpukit/posix/src/pspininit.c | 2 +- cpukit/posix/src/pspinlock.c | 2 +- cpukit/posix/src/pspintrylock.c | 2 +- cpukit/posix/src/pspinunlock.c | 2 +- cpukit/posix/src/psxnametoid.c | 2 +- cpukit/posix/src/pthreadatfork.c | 2 +- cpukit/posix/src/pthreadattrdestroy.c | 2 +- cpukit/posix/src/pthreadattrgetdetachstate.c | 2 +- cpukit/posix/src/pthreadattrgetguardsize.c | 2 +- cpukit/posix/src/pthreadattrgetinheritsched.c | 2 +- cpukit/posix/src/pthreadattrgetschedparam.c | 2 +- cpukit/posix/src/pthreadattrgetschedpolicy.c | 2 +- cpukit/posix/src/pthreadattrgetscope.c | 2 +- cpukit/posix/src/pthreadattrgetstack.c | 2 +- cpukit/posix/src/pthreadattrgetstackaddr.c | 2 +- cpukit/posix/src/pthreadattrgetstacksize.c | 2 +- cpukit/posix/src/pthreadattrinit.c | 2 +- cpukit/posix/src/pthreadattrsetdetachstate.c | 2 +- cpukit/posix/src/pthreadattrsetguardsize.c | 2 +- cpukit/posix/src/pthreadattrsetinheritsched.c | 2 +- cpukit/posix/src/pthreadattrsetschedparam.c | 2 +- cpukit/posix/src/pthreadattrsetschedpolicy.c | 2 +- cpukit/posix/src/pthreadattrsetscope.c | 2 +- cpukit/posix/src/pthreadattrsetstack.c | 2 +- cpukit/posix/src/pthreadattrsetstackaddr.c | 2 +- cpukit/posix/src/pthreadattrsetstacksize.c | 2 +- cpukit/posix/src/pthreadcreate.c | 2 +- cpukit/posix/src/pthreaddetach.c | 2 +- cpukit/posix/src/pthreadequal.c | 2 +- cpukit/posix/src/pthreadgetcpuclockid.c | 2 +- cpukit/posix/src/pthreadgetschedparam.c | 2 +- cpukit/posix/src/pthreadjoin.c | 2 +- cpukit/posix/src/pthreadkill.c | 2 +- cpukit/posix/src/pthreadonce.c | 2 +- cpukit/posix/src/pthreadself.c | 2 +- cpukit/posix/src/pthreadsetschedparam.c | 2 +- cpukit/posix/src/pthreadsigmask.c | 2 +- cpukit/posix/src/ptimer.c | 2 +- cpukit/posix/src/rwlockattrdestroy.c | 2 +- cpukit/posix/src/rwlockattrgetpshared.c | 2 +- cpukit/posix/src/rwlockattrinit.c | 2 +- cpukit/posix/src/rwlockattrsetpshared.c | 2 +- cpukit/posix/src/sched_getparam.c | 2 +- cpukit/posix/src/sched_getprioritymax.c | 2 +- cpukit/posix/src/sched_getprioritymin.c | 2 +- cpukit/posix/src/sched_getscheduler.c | 2 +- cpukit/posix/src/sched_rr_get_interval.c | 2 +- cpukit/posix/src/sched_setparam.c | 2 +- cpukit/posix/src/sched_setscheduler.c | 2 +- cpukit/posix/src/sched_yield.c | 2 +- cpukit/posix/src/semaphore.c | 2 +- cpukit/posix/src/semaphorecreatesupp.c | 2 +- cpukit/posix/src/semaphoretranslatereturncode.c | 2 +- cpukit/posix/src/semaphorewaitsupp.c | 8 ++------ cpukit/posix/src/seminit.c | 2 +- cpukit/posix/src/semopen.c | 2 +- cpukit/posix/src/setcancelstate.c | 2 +- cpukit/posix/src/setcanceltype.c | 2 +- cpukit/posix/src/setitimer.c | 2 +- cpukit/posix/src/sigaction.c | 2 +- cpukit/posix/src/sigaddset.c | 2 +- cpukit/posix/src/sigdelset.c | 2 +- cpukit/posix/src/sigemptyset.c | 2 +- cpukit/posix/src/sigfillset.c | 2 +- cpukit/posix/src/sigismember.c | 2 +- cpukit/posix/src/signal_2.c | 2 +- cpukit/posix/src/sigpending.c | 2 +- cpukit/posix/src/sigprocmask.c | 2 +- cpukit/posix/src/sigqueue.c | 2 +- cpukit/posix/src/sigsuspend.c | 2 +- cpukit/posix/src/sigtimedwait.c | 2 +- cpukit/posix/src/sigwait.c | 2 +- cpukit/posix/src/sysconf.c | 2 +- cpukit/posix/src/testcancel.c | 2 +- cpukit/posix/src/timerdelete.c | 2 +- cpukit/posix/src/timergettime.c | 2 +- cpukit/posix/src/timerinserthelper.c | 2 +- cpukit/posix/src/timersettime.c | 2 +- cpukit/posix/src/ualarm.c | 2 +- cpukit/posix/src/vfork.c | 2 +- cpukit/posix/src/wait.c | 2 +- cpukit/posix/src/waitpid.c | 2 +- 179 files changed, 180 insertions(+), 184 deletions(-) diff --git a/cpukit/posix/src/_execve.c b/cpukit/posix/src/_execve.c index b606fd63df..aa57ccb8a3 100644 --- a/cpukit/posix/src/_execve.c +++ b/cpukit/posix/src/_execve.c @@ -2,7 +2,7 @@ * @file * * @brief execve() - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/adjtime.c b/cpukit/posix/src/adjtime.c index 23f7d3a9ed..3b17a7461b 100644 --- a/cpukit/posix/src/adjtime.c +++ b/cpukit/posix/src/adjtime.c @@ -2,7 +2,7 @@ * @file * * @brief Correct the Time to Synchronize the System Clock - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/aio_error.c b/cpukit/posix/src/aio_error.c index e29c8361b1..852422d394 100644 --- a/cpukit/posix/src/aio_error.c +++ b/cpukit/posix/src/aio_error.c @@ -2,7 +2,7 @@ * @file * * @brief Returns the error status for the Asynchronous I/O request - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/aio_fsync.c b/cpukit/posix/src/aio_fsync.c index 0330076696..dbfd79901d 100644 --- a/cpukit/posix/src/aio_fsync.c +++ b/cpukit/posix/src/aio_fsync.c @@ -2,7 +2,7 @@ * @file * * @brief Syncing of all Outstanding Asynchronous I/O Operations - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/aio_misc.c b/cpukit/posix/src/aio_misc.c index 12bec2eb7d..e4c40df84e 100644 --- a/cpukit/posix/src/aio_misc.c +++ b/cpukit/posix/src/aio_misc.c @@ -2,7 +2,7 @@ * @file * * @brief Actual request being processed - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/aio_read.c b/cpukit/posix/src/aio_read.c index f339752525..5445e86145 100644 --- a/cpukit/posix/src/aio_read.c +++ b/cpukit/posix/src/aio_read.c @@ -2,7 +2,7 @@ * @file * * @brief Asynchronously reads Data from a File - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/aio_return.c b/cpukit/posix/src/aio_return.c index 87c3af1f3e..89f0076c9e 100644 --- a/cpukit/posix/src/aio_return.c +++ b/cpukit/posix/src/aio_return.c @@ -2,7 +2,7 @@ * @file * * @brief Final return status for Asynchronous I/O request pointed to by aiobcp - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/aio_suspend.c b/cpukit/posix/src/aio_suspend.c index 60c4af1389..15448e54dc 100644 --- a/cpukit/posix/src/aio_suspend.c +++ b/cpukit/posix/src/aio_suspend.c @@ -2,7 +2,7 @@ * @file * * @brief Suspends Process until Asynchronous I/O Operation completes - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/aio_write.c b/cpukit/posix/src/aio_write.c index a510946837..dec08fe345 100644 --- a/cpukit/posix/src/aio_write.c +++ b/cpukit/posix/src/aio_write.c @@ -2,7 +2,7 @@ * @file * * @brief Function queues I/O request described by buffer pointed by aiocb - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/alarm.c b/cpukit/posix/src/alarm.c index 22ffcae5c3..5130b0162b 100644 --- a/cpukit/posix/src/alarm.c +++ b/cpukit/posix/src/alarm.c @@ -2,7 +2,7 @@ * @file * * @brief System Generates Signal for process after realtime seconds elapsed - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/barrierattrdestroy.c b/cpukit/posix/src/barrierattrdestroy.c index c0a6fada2c..1e3cb17ae3 100644 --- a/cpukit/posix/src/barrierattrdestroy.c +++ b/cpukit/posix/src/barrierattrdestroy.c @@ -2,7 +2,7 @@ * @file * * @brief Function shall Destroy a Barrier Attribues Object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/barrierattrgetpshared.c b/cpukit/posix/src/barrierattrgetpshared.c index 1141fa5a5c..352b9ade0f 100644 --- a/cpukit/posix/src/barrierattrgetpshared.c +++ b/cpukit/posix/src/barrierattrgetpshared.c @@ -2,7 +2,7 @@ * @file * * @brief Barrier Attributes Get Process Shared - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/barrierattrinit.c b/cpukit/posix/src/barrierattrinit.c index 29d58f4991..342e9f2e0a 100644 --- a/cpukit/posix/src/barrierattrinit.c +++ b/cpukit/posix/src/barrierattrinit.c @@ -2,7 +2,7 @@ * @file * * @brief Initialize the Barrier Attributes Object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/barrierattrsetpshared.c b/cpukit/posix/src/barrierattrsetpshared.c index 897a833946..22cefcf4f4 100644 --- a/cpukit/posix/src/barrierattrsetpshared.c +++ b/cpukit/posix/src/barrierattrsetpshared.c @@ -2,7 +2,7 @@ * @file * * @brief Set the Process-Shared Attribute of the Barrier Attributes Object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/cancel.c b/cpukit/posix/src/cancel.c index 42321ce93b..77ccf8c238 100644 --- a/cpukit/posix/src/cancel.c +++ b/cpukit/posix/src/cancel.c @@ -2,7 +2,7 @@ * @file * * @brief Canceling Execution of a Thread - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/canceleval.c b/cpukit/posix/src/canceleval.c index 804efb4726..973d2a7db1 100644 --- a/cpukit/posix/src/canceleval.c +++ b/cpukit/posix/src/canceleval.c @@ -2,7 +2,7 @@ * @file * * @brief POSIX Function Evaluates Thread Cancellation and Enables Dispatch - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/cancelrun.c b/cpukit/posix/src/cancelrun.c index 39a8de763d..2d73bdaca7 100644 --- a/cpukit/posix/src/cancelrun.c +++ b/cpukit/posix/src/cancelrun.c @@ -2,7 +2,7 @@ * @file * * @brief Executes a thread's cancellation handlers - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/cleanuppop.c b/cpukit/posix/src/cleanuppop.c index 9e198f74c9..bbadec5f11 100644 --- a/cpukit/posix/src/cleanuppop.c +++ b/cpukit/posix/src/cleanuppop.c @@ -2,7 +2,7 @@ * @file * * @brief Removes Routine from Top of Calling Thread's stack and Invoke it - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/cleanuppush.c b/cpukit/posix/src/cleanuppush.c index 87df540555..4fb82c250b 100644 --- a/cpukit/posix/src/cleanuppush.c +++ b/cpukit/posix/src/cleanuppush.c @@ -2,7 +2,7 @@ * @file * * @brief Establishing Cancellation Handlers - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/clockgetcpuclockid.c b/cpukit/posix/src/clockgetcpuclockid.c index fb04e174aa..d69783cb83 100644 --- a/cpukit/posix/src/clockgetcpuclockid.c +++ b/cpukit/posix/src/clockgetcpuclockid.c @@ -2,7 +2,7 @@ * @file * * @brief Function Returns Clock ID of CPU-time Clock of process specified - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/clockgetenableattr.c b/cpukit/posix/src/clockgetenableattr.c index 8420c2be88..b6a638b100 100644 --- a/cpukit/posix/src/clockgetenableattr.c +++ b/cpukit/posix/src/clockgetenableattr.c @@ -2,7 +2,7 @@ * @file * * @brief Clock get Enable Attribute Access - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/clockgetres.c b/cpukit/posix/src/clockgetres.c index 60d516d26e..08fd773a11 100644 --- a/cpukit/posix/src/clockgetres.c +++ b/cpukit/posix/src/clockgetres.c @@ -2,7 +2,7 @@ * @file * * @brief Function Returns the Resolution of any Clock - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/clockgettime.c b/cpukit/posix/src/clockgettime.c index 46c1d46811..a8aa0f09bb 100644 --- a/cpukit/posix/src/clockgettime.c +++ b/cpukit/posix/src/clockgettime.c @@ -2,7 +2,7 @@ * @file * * @brief Retrieves the Specified Clock Time - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/clocksetenableattr.c b/cpukit/posix/src/clocksetenableattr.c index 592b82341e..d6e2c11e84 100644 --- a/cpukit/posix/src/clocksetenableattr.c +++ b/cpukit/posix/src/clocksetenableattr.c @@ -2,7 +2,7 @@ * @file * * @brief Clock set Enable Attribute Access - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/clocksettime.c b/cpukit/posix/src/clocksettime.c index 7e7edb4f56..df9d81da82 100644 --- a/cpukit/posix/src/clocksettime.c +++ b/cpukit/posix/src/clocksettime.c @@ -2,7 +2,7 @@ * @file * * @brief Set Time of Clock - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/condattrdestroy.c b/cpukit/posix/src/condattrdestroy.c index 6f686fe1df..3c54fcb3a0 100644 --- a/cpukit/posix/src/condattrdestroy.c +++ b/cpukit/posix/src/condattrdestroy.c @@ -2,7 +2,7 @@ * @file * * @brief Destroy Condition Attribute - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/condattrgetpshared.c b/cpukit/posix/src/condattrgetpshared.c index 298c2618b3..080253d0ed 100644 --- a/cpukit/posix/src/condattrgetpshared.c +++ b/cpukit/posix/src/condattrgetpshared.c @@ -2,7 +2,7 @@ * @file * * @brief Get the Process-Shared Condition Variable Attributes - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/condattrinit.c b/cpukit/posix/src/condattrinit.c index 89b806cb7e..edd7e7b5d2 100644 --- a/cpukit/posix/src/condattrinit.c +++ b/cpukit/posix/src/condattrinit.c @@ -2,7 +2,7 @@ * @file * * @brief Initialization of Conditional Attributes - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/condattrsetpshared.c b/cpukit/posix/src/condattrsetpshared.c index 4e00c920c5..b38782a6f4 100644 --- a/cpukit/posix/src/condattrsetpshared.c +++ b/cpukit/posix/src/condattrsetpshared.c @@ -2,7 +2,7 @@ * @file * * @brief Initialize Condition Variable Attributes - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/condbroadcast.c b/cpukit/posix/src/condbroadcast.c index 6506d87d98..7ae1eade2e 100644 --- a/cpukit/posix/src/condbroadcast.c +++ b/cpukit/posix/src/condbroadcast.c @@ -2,7 +2,7 @@ * @file * * @brief Broadcast a Condition - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/conddefaultattributes.c b/cpukit/posix/src/conddefaultattributes.c index 32ec64d69a..d7a4545a34 100644 --- a/cpukit/posix/src/conddefaultattributes.c +++ b/cpukit/posix/src/conddefaultattributes.c @@ -2,7 +2,7 @@ * @file * * @brief Condition variable Attributes structure - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/conddestroy.c b/cpukit/posix/src/conddestroy.c index 0f32b89da3..99f60569e2 100644 --- a/cpukit/posix/src/conddestroy.c +++ b/cpukit/posix/src/conddestroy.c @@ -2,7 +2,7 @@ * @file * * @brief Destroy a Condition Variable - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/condinit.c b/cpukit/posix/src/condinit.c index 2a8321192e..4123510ec2 100644 --- a/cpukit/posix/src/condinit.c +++ b/cpukit/posix/src/condinit.c @@ -2,7 +2,7 @@ * @file * * @brief Initialize a Condition Variable - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/condsignal.c b/cpukit/posix/src/condsignal.c index debc110143..c9ff936bfd 100644 --- a/cpukit/posix/src/condsignal.c +++ b/cpukit/posix/src/condsignal.c @@ -2,7 +2,7 @@ * @file * * @brief Signal a Condition - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/condtimedwait.c b/cpukit/posix/src/condtimedwait.c index 031376cfea..a78cb1ae5e 100644 --- a/cpukit/posix/src/condtimedwait.c +++ b/cpukit/posix/src/condtimedwait.c @@ -2,7 +2,7 @@ * @file * * @brief Waiting on a Condition - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/condwait.c b/cpukit/posix/src/condwait.c index 3162b4d97b..b50fb33592 100644 --- a/cpukit/posix/src/condwait.c +++ b/cpukit/posix/src/condwait.c @@ -2,7 +2,7 @@ * @file * * @brief Waiting on a Condition - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/execl.c b/cpukit/posix/src/execl.c index 61b9a74fce..4b2eb6cc6d 100644 --- a/cpukit/posix/src/execl.c +++ b/cpukit/posix/src/execl.c @@ -2,7 +2,7 @@ * @file * * @brief Process will get Executed and then Terminated by execl - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/execle.c b/cpukit/posix/src/execle.c index 1dbd3826a1..64edc6ee09 100644 --- a/cpukit/posix/src/execle.c +++ b/cpukit/posix/src/execle.c @@ -2,7 +2,7 @@ * @file * * @brief Execute a File - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/execlp.c b/cpukit/posix/src/execlp.c index 7a4c5142a6..402604e696 100644 --- a/cpukit/posix/src/execlp.c +++ b/cpukit/posix/src/execlp.c @@ -2,7 +2,7 @@ * @file * * @brief execlp() - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/execv.c b/cpukit/posix/src/execv.c index 26d62b123d..8baec845cc 100644 --- a/cpukit/posix/src/execv.c +++ b/cpukit/posix/src/execv.c @@ -2,7 +2,7 @@ * @file * * @brief Inoperable implementation of execv for POSIX threads - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/execve.c b/cpukit/posix/src/execve.c index 03320e52a0..b05a7f1cc7 100644 --- a/cpukit/posix/src/execve.c +++ b/cpukit/posix/src/execve.c @@ -2,7 +2,7 @@ * @file * * @brief Execute a Program - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/fork.c b/cpukit/posix/src/fork.c index 4cfccf4a02..7d5c803bde 100644 --- a/cpukit/posix/src/fork.c +++ b/cpukit/posix/src/fork.c @@ -2,7 +2,7 @@ * @file * * @brief Inoperable implementation of fork() for POSIX threads - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/getitimer.c b/cpukit/posix/src/getitimer.c index a7ee836b04..2264a6ffae 100644 --- a/cpukit/posix/src/getitimer.c +++ b/cpukit/posix/src/getitimer.c @@ -2,7 +2,7 @@ * @file * * @brief Function Gets Value of an Interval Timer - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/keycreate.c b/cpukit/posix/src/keycreate.c index 3ac462dbcb..b41b59017e 100644 --- a/cpukit/posix/src/keycreate.c +++ b/cpukit/posix/src/keycreate.c @@ -2,7 +2,7 @@ * @file * * @brief Thread-Specific Data Key Create - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/keydelete.c b/cpukit/posix/src/keydelete.c index 41d57772bf..5ef6261148 100644 --- a/cpukit/posix/src/keydelete.c +++ b/cpukit/posix/src/keydelete.c @@ -2,7 +2,7 @@ * @file * * @brief Deletes Thread-specific Data Key Previously Returned by keycreate.c - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/keyfreememory.c b/cpukit/posix/src/keyfreememory.c index 35e8a36918..f71af4f327 100644 --- a/cpukit/posix/src/keyfreememory.c +++ b/cpukit/posix/src/keyfreememory.c @@ -2,7 +2,7 @@ * @file * * @brief POSIX Function Keys Free Memory - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/keygetspecific.c b/cpukit/posix/src/keygetspecific.c index 3a34359297..debad830ae 100644 --- a/cpukit/posix/src/keygetspecific.c +++ b/cpukit/posix/src/keygetspecific.c @@ -2,7 +2,7 @@ * @file * * @brief Thread-Specific Data Management - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/keysetspecific.c b/cpukit/posix/src/keysetspecific.c index e631127fba..b25e44ccbf 100644 --- a/cpukit/posix/src/keysetspecific.c +++ b/cpukit/posix/src/keysetspecific.c @@ -2,7 +2,7 @@ * @file * * @brief Set Specific Key - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/kill.c b/cpukit/posix/src/kill.c index 8a476e40ce..cf60cac5a1 100644 --- a/cpukit/posix/src/kill.c +++ b/cpukit/posix/src/kill.c @@ -2,7 +2,7 @@ * @file * * @brief Send a Signal to a Process - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/kill_r.c b/cpukit/posix/src/kill_r.c index 739fed7358..57f5c24473 100644 --- a/cpukit/posix/src/kill_r.c +++ b/cpukit/posix/src/kill_r.c @@ -2,7 +2,7 @@ * @file * * @brief Send a Signal to a Process - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/killinfo.c b/cpukit/posix/src/killinfo.c index b7b556de39..f386757e8f 100644 --- a/cpukit/posix/src/killinfo.c +++ b/cpukit/posix/src/killinfo.c @@ -2,7 +2,7 @@ * @file * * @brief Send a Signal to a Process - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/lio_listio.c b/cpukit/posix/src/lio_listio.c index 9b53b4d858..64a578f22b 100644 --- a/cpukit/posix/src/lio_listio.c +++ b/cpukit/posix/src/lio_listio.c @@ -2,7 +2,7 @@ * @file * * @brief Function Initiates a List of I/O Requests with Single Function Call - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mprotect.c b/cpukit/posix/src/mprotect.c index 32de472a21..cb9161b9ad 100644 --- a/cpukit/posix/src/mprotect.c +++ b/cpukit/posix/src/mprotect.c @@ -2,7 +2,7 @@ * @file * * @brief Change Memory Protection - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mqueueclose.c b/cpukit/posix/src/mqueueclose.c index 8492c90705..4f1bb41bd3 100644 --- a/cpukit/posix/src/mqueueclose.c +++ b/cpukit/posix/src/mqueueclose.c @@ -2,7 +2,7 @@ * @file * * @brief Function closes the Message Queue - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mqueuegetattr.c b/cpukit/posix/src/mqueuegetattr.c index cfcc51af1e..0f250f1c2d 100644 --- a/cpukit/posix/src/mqueuegetattr.c +++ b/cpukit/posix/src/mqueuegetattr.c @@ -2,7 +2,7 @@ * @file * * @brief Message Queue Attributes - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mqueueopen.c b/cpukit/posix/src/mqueueopen.c index d5f783990e..01d3d57351 100644 --- a/cpukit/posix/src/mqueueopen.c +++ b/cpukit/posix/src/mqueueopen.c @@ -2,7 +2,7 @@ * @file * * @brief Creates a new POSIX Message Queue or Opens an Existing Queue - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mqueuesend.c b/cpukit/posix/src/mqueuesend.c index 0d67b6d337..11016e4830 100644 --- a/cpukit/posix/src/mqueuesend.c +++ b/cpukit/posix/src/mqueuesend.c @@ -2,7 +2,7 @@ * @file * * @brief Adds Message Pointed by msg_ptr to Message Queue Reffered by mqdes - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mqueuesendsupp.c b/cpukit/posix/src/mqueuesendsupp.c index 3fbe0fb164..1f9bf63d5a 100644 --- a/cpukit/posix/src/mqueuesendsupp.c +++ b/cpukit/posix/src/mqueuesendsupp.c @@ -2,7 +2,7 @@ * @file * * @brief POSIX Message Queue and Send Support - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mqueuetimedreceive.c b/cpukit/posix/src/mqueuetimedreceive.c index 58f796160c..53b3364a8f 100644 --- a/cpukit/posix/src/mqueuetimedreceive.c +++ b/cpukit/posix/src/mqueuetimedreceive.c @@ -2,7 +2,7 @@ * @file * * @brief Receive Message from Message Queue - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mqueuetranslatereturncode.c b/cpukit/posix/src/mqueuetranslatereturncode.c index 34edf80a24..614226188d 100644 --- a/cpukit/posix/src/mqueuetranslatereturncode.c +++ b/cpukit/posix/src/mqueuetranslatereturncode.c @@ -2,7 +2,7 @@ * @file * * @brief POSIX Error Translation in Message Queue - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexattrdestroy.c b/cpukit/posix/src/mutexattrdestroy.c index 06d5c1d2fc..5573b7284f 100644 --- a/cpukit/posix/src/mutexattrdestroy.c +++ b/cpukit/posix/src/mutexattrdestroy.c @@ -2,7 +2,7 @@ * @file * * @brief Destroy Mutex Attributes Object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexattrgetprioceiling.c b/cpukit/posix/src/mutexattrgetprioceiling.c index 949fd3b32c..1ce6c692ca 100644 --- a/cpukit/posix/src/mutexattrgetprioceiling.c +++ b/cpukit/posix/src/mutexattrgetprioceiling.c @@ -2,7 +2,7 @@ * @file * * @brief Mutex Initialization Scheduling Attributes - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexattrgetprotocol.c b/cpukit/posix/src/mutexattrgetprotocol.c index 1824b3fff9..59fe109041 100644 --- a/cpukit/posix/src/mutexattrgetprotocol.c +++ b/cpukit/posix/src/mutexattrgetprotocol.c @@ -2,7 +2,7 @@ * @file * * @brief Get protocol Attribute of Mutex Attribute Obect - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexattrgetpshared.c b/cpukit/posix/src/mutexattrgetpshared.c index d32ef838b6..6ddba3a320 100644 --- a/cpukit/posix/src/mutexattrgetpshared.c +++ b/cpukit/posix/src/mutexattrgetpshared.c @@ -2,7 +2,7 @@ * @file * * @brief Obtaining process-shared Attribute Value from the Attributes Object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexattrgettype.c b/cpukit/posix/src/mutexattrgettype.c index 9137271d9d..365defc787 100644 --- a/cpukit/posix/src/mutexattrgettype.c +++ b/cpukit/posix/src/mutexattrgettype.c @@ -2,7 +2,7 @@ * @file * * @brief Function gets the Mutex Type Attribute - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexattrinit.c b/cpukit/posix/src/mutexattrinit.c index 9e1345ee6d..64f077b103 100644 --- a/cpukit/posix/src/mutexattrinit.c +++ b/cpukit/posix/src/mutexattrinit.c @@ -2,7 +2,7 @@ * @file * * @brief Mutex Initialization Attribute - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexattrsetprioceiling.c b/cpukit/posix/src/mutexattrsetprioceiling.c index 82c83cf80e..69e1f91157 100644 --- a/cpukit/posix/src/mutexattrsetprioceiling.c +++ b/cpukit/posix/src/mutexattrsetprioceiling.c @@ -2,7 +2,7 @@ * @file * * @brief Mutex Initialization Scheduling Attributes - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexattrsetprotocol.c b/cpukit/posix/src/mutexattrsetprotocol.c index fc7c1afe74..c32655025e 100644 --- a/cpukit/posix/src/mutexattrsetprotocol.c +++ b/cpukit/posix/src/mutexattrsetprotocol.c @@ -2,7 +2,7 @@ * @file * * @brief Mutex Initialization Scheduling Attributes - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexattrsetpshared.c b/cpukit/posix/src/mutexattrsetpshared.c index 87e8b52f2b..a97265f2df 100644 --- a/cpukit/posix/src/mutexattrsetpshared.c +++ b/cpukit/posix/src/mutexattrsetpshared.c @@ -2,7 +2,7 @@ * @file * * @brief Function sets Current pshared Attribute for Mutex Attributes Object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexattrsettype.c b/cpukit/posix/src/mutexattrsettype.c index 861e616ad3..024f6e6b1f 100644 --- a/cpukit/posix/src/mutexattrsettype.c +++ b/cpukit/posix/src/mutexattrsettype.c @@ -2,7 +2,7 @@ * @file * * @brief Set a Mutex Type - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexdestroy.c b/cpukit/posix/src/mutexdestroy.c index 4a9f1e964a..f733ce714c 100644 --- a/cpukit/posix/src/mutexdestroy.c +++ b/cpukit/posix/src/mutexdestroy.c @@ -2,7 +2,7 @@ * @file * * @brief Initializing and Destroying a Mutex - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexget.c b/cpukit/posix/src/mutexget.c index 44d1864118..e8b84eaf3e 100644 --- a/cpukit/posix/src/mutexget.c +++ b/cpukit/posix/src/mutexget.c @@ -2,7 +2,7 @@ * @file * * @brief Convert POSIX Mutex ID to local object pointer - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexgetprioceiling.c b/cpukit/posix/src/mutexgetprioceiling.c index 21287e2c38..8355286ebc 100644 --- a/cpukit/posix/src/mutexgetprioceiling.c +++ b/cpukit/posix/src/mutexgetprioceiling.c @@ -2,7 +2,7 @@ * @file * * @brief Returns the Current Priority Ceiling of the Mutex - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexinit.c b/cpukit/posix/src/mutexinit.c index 5ef3485ee2..979e5b84b9 100644 --- a/cpukit/posix/src/mutexinit.c +++ b/cpukit/posix/src/mutexinit.c @@ -2,7 +2,7 @@ * @file * * @brief Initialize a Mutex - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexlock.c b/cpukit/posix/src/mutexlock.c index be5e4d56df..6777048424 100644 --- a/cpukit/posix/src/mutexlock.c +++ b/cpukit/posix/src/mutexlock.c @@ -2,7 +2,7 @@ * @file * * @brief Call to function enables locking of Mutex Object referenced by mutex - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexlocksupp.c b/cpukit/posix/src/mutexlocksupp.c index 6b5d7bd92f..0a35e3c661 100644 --- a/cpukit/posix/src/mutexlocksupp.c +++ b/cpukit/posix/src/mutexlocksupp.c @@ -2,7 +2,7 @@ * @file * * @brief Support Call to function Enables Locking of Mutex Object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexsetprioceiling.c b/cpukit/posix/src/mutexsetprioceiling.c index b11c4570ab..920d6fae92 100644 --- a/cpukit/posix/src/mutexsetprioceiling.c +++ b/cpukit/posix/src/mutexsetprioceiling.c @@ -2,7 +2,7 @@ * @file * * @brief Changes the Priority Ceiling of a Mutex and Releases it - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutextimedlock.c b/cpukit/posix/src/mutextimedlock.c index 442f3c6052..e5d6019d55 100644 --- a/cpukit/posix/src/mutextimedlock.c +++ b/cpukit/posix/src/mutextimedlock.c @@ -2,7 +2,7 @@ * @file * * @brief Mutex Timed Lock - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutextrylock.c b/cpukit/posix/src/mutextrylock.c index f398dc208a..a354c8089d 100644 --- a/cpukit/posix/src/mutextrylock.c +++ b/cpukit/posix/src/mutextrylock.c @@ -2,7 +2,7 @@ * @file * * @brief Try to Lock Mutex - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/mutexunlock.c b/cpukit/posix/src/mutexunlock.c index 75eaec73c1..cfe8bdbeeb 100644 --- a/cpukit/posix/src/mutexunlock.c +++ b/cpukit/posix/src/mutexunlock.c @@ -2,7 +2,7 @@ * @file * * @brief Locking and Unlocking a Mutex - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/nanosleep.c b/cpukit/posix/src/nanosleep.c index 02abe55cec..b59b9934b0 100644 --- a/cpukit/posix/src/nanosleep.c +++ b/cpukit/posix/src/nanosleep.c @@ -2,7 +2,7 @@ * @file * * @brief Suspends Execution of calling thread until Time elaps - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pause.c b/cpukit/posix/src/pause.c index ee74f6746b..5700fe9992 100644 --- a/cpukit/posix/src/pause.c +++ b/cpukit/posix/src/pause.c @@ -2,7 +2,7 @@ * @file * * @brief Suspend Process Execution - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pbarrierdestroy.c b/cpukit/posix/src/pbarrierdestroy.c index 6b2e9d0bc9..66f701452f 100644 --- a/cpukit/posix/src/pbarrierdestroy.c +++ b/cpukit/posix/src/pbarrierdestroy.c @@ -2,7 +2,7 @@ * @file * * @brief Destroy a Barrier Object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pbarrierinit.c b/cpukit/posix/src/pbarrierinit.c index c3077cb903..edf7e7ca32 100644 --- a/cpukit/posix/src/pbarrierinit.c +++ b/cpukit/posix/src/pbarrierinit.c @@ -2,7 +2,7 @@ * @file * * @brief Call to Function Enables Reinitializing of the Barrier - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pbarriertranslatereturncode.c b/cpukit/posix/src/pbarriertranslatereturncode.c index e8a53ec459..e9552d1f7d 100644 --- a/cpukit/posix/src/pbarriertranslatereturncode.c +++ b/cpukit/posix/src/pbarriertranslatereturncode.c @@ -2,7 +2,7 @@ * @file * * @brief Function Translates POSIX Barrier Status Code - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pbarrierwait.c b/cpukit/posix/src/pbarrierwait.c index 0ad9634411..e941bf5d7f 100644 --- a/cpukit/posix/src/pbarrierwait.c +++ b/cpukit/posix/src/pbarrierwait.c @@ -2,7 +2,7 @@ * @file * * @brief Wait at a Barrier - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/prwlockdestroy.c b/cpukit/posix/src/prwlockdestroy.c index 9b644ba943..6c99abf128 100644 --- a/cpukit/posix/src/prwlockdestroy.c +++ b/cpukit/posix/src/prwlockdestroy.c @@ -2,7 +2,7 @@ * @file * * @brief Destroy a RWLock - * @ingroup POSIX + * @ingroup POSIXAPI */ /* * COPYRIGHT (c) 1989-2007. diff --git a/cpukit/posix/src/prwlockinit.c b/cpukit/posix/src/prwlockinit.c index 61825fe1d5..0ee53e84d5 100644 --- a/cpukit/posix/src/prwlockinit.c +++ b/cpukit/posix/src/prwlockinit.c @@ -2,7 +2,7 @@ * @file * * @brief Allocate resources to use the read-write lock and Initialize it - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/prwlockrdlock.c b/cpukit/posix/src/prwlockrdlock.c index 0ce4764915..24adcb451c 100644 --- a/cpukit/posix/src/prwlockrdlock.c +++ b/cpukit/posix/src/prwlockrdlock.c @@ -2,7 +2,7 @@ * @file * * @brief Obtain a Read Lock on a RWLock Instance - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/prwlocktimedrdlock.c b/cpukit/posix/src/prwlocktimedrdlock.c index 95a3fa5423..414fec3fd3 100644 --- a/cpukit/posix/src/prwlocktimedrdlock.c +++ b/cpukit/posix/src/prwlocktimedrdlock.c @@ -2,7 +2,7 @@ * @file * * @brief Attempt to Obtain a Read Lock on a RWLock Instance - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/prwlocktimedwrlock.c b/cpukit/posix/src/prwlocktimedwrlock.c index ca435373ff..84aa3a00ff 100644 --- a/cpukit/posix/src/prwlocktimedwrlock.c +++ b/cpukit/posix/src/prwlocktimedwrlock.c @@ -2,7 +2,7 @@ * @file * * @brief Function applies a Write lock to RWLock referenced by rwlock - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/prwlocktryrdlock.c b/cpukit/posix/src/prwlocktryrdlock.c index f8524e34d2..f58467743c 100644 --- a/cpukit/posix/src/prwlocktryrdlock.c +++ b/cpukit/posix/src/prwlocktryrdlock.c @@ -2,7 +2,7 @@ * @file * * @brief Attempt to Obtain a Read Lock on a RWLock Instance - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/prwlocktrywrlock.c b/cpukit/posix/src/prwlocktrywrlock.c index f8857a831b..6b51d17611 100644 --- a/cpukit/posix/src/prwlocktrywrlock.c +++ b/cpukit/posix/src/prwlocktrywrlock.c @@ -2,7 +2,7 @@ * @file * * @brief Attempt to Obtain a Write Lock on a RWLock Instance - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/prwlockunlock.c b/cpukit/posix/src/prwlockunlock.c index 79042b259d..d9c2f6fa75 100644 --- a/cpukit/posix/src/prwlockunlock.c +++ b/cpukit/posix/src/prwlockunlock.c @@ -2,7 +2,7 @@ * @file * * @brief Function Releases a lock held on RWLock object referenced by rwlock - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/prwlockwrlock.c b/cpukit/posix/src/prwlockwrlock.c index 16e5ecd6f1..672772e6e3 100644 --- a/cpukit/posix/src/prwlockwrlock.c +++ b/cpukit/posix/src/prwlockwrlock.c @@ -2,7 +2,7 @@ * @file * * @brief Obtain a Write Lock on a RWlock Instance - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/psignalclearprocesssignals.c b/cpukit/posix/src/psignalclearprocesssignals.c index 3d1d16b5aa..b16398c8cf 100644 --- a/cpukit/posix/src/psignalclearprocesssignals.c +++ b/cpukit/posix/src/psignalclearprocesssignals.c @@ -2,7 +2,7 @@ * @file * * @brief POSIX_signals clear_process_signals - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pspindestroy.c b/cpukit/posix/src/pspindestroy.c index 97745b6b77..f49fd47348 100644 --- a/cpukit/posix/src/pspindestroy.c +++ b/cpukit/posix/src/pspindestroy.c @@ -2,7 +2,7 @@ * @file * * @brief Destroy a Spinlock - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pspininit.c b/cpukit/posix/src/pspininit.c index 030bb50ae2..164cb5039f 100644 --- a/cpukit/posix/src/pspininit.c +++ b/cpukit/posix/src/pspininit.c @@ -2,7 +2,7 @@ * @file * * @brief POSIX Function Initializes a Spinlock Instance - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pspinlock.c b/cpukit/posix/src/pspinlock.c index 7f6793c1d5..3d0aed903b 100644 --- a/cpukit/posix/src/pspinlock.c +++ b/cpukit/posix/src/pspinlock.c @@ -2,7 +2,7 @@ * @file * * @brief Wait at a Spinlock - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pspintrylock.c b/cpukit/posix/src/pspintrylock.c index de89b4e579..08ace6d9da 100644 --- a/cpukit/posix/src/pspintrylock.c +++ b/cpukit/posix/src/pspintrylock.c @@ -2,7 +2,7 @@ * @file * * @brief Wait at a Spinlock - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pspinunlock.c b/cpukit/posix/src/pspinunlock.c index 67a69cbc02..8f7c5b1e96 100644 --- a/cpukit/posix/src/pspinunlock.c +++ b/cpukit/posix/src/pspinunlock.c @@ -2,7 +2,7 @@ * @file * * @brief Function Unlocks a Spin Lock Object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/psxnametoid.c b/cpukit/posix/src/psxnametoid.c index d75d5d43df..4049970e8c 100644 --- a/cpukit/posix/src/psxnametoid.c +++ b/cpukit/posix/src/psxnametoid.c @@ -2,7 +2,7 @@ * @file * * @brief POSIX Name to ID - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadatfork.c b/cpukit/posix/src/pthreadatfork.c index 558bc77555..59c358c819 100644 --- a/cpukit/posix/src/pthreadatfork.c +++ b/cpukit/posix/src/pthreadatfork.c @@ -2,7 +2,7 @@ * @file * * @brief Register Fork Handlers - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrdestroy.c b/cpukit/posix/src/pthreadattrdestroy.c index 27d58ccec7..eebda081bf 100644 --- a/cpukit/posix/src/pthreadattrdestroy.c +++ b/cpukit/posix/src/pthreadattrdestroy.c @@ -2,7 +2,7 @@ * @file * * @brief Thread Creation Attributes - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrgetdetachstate.c b/cpukit/posix/src/pthreadattrgetdetachstate.c index bd23cb7f30..fd66a6bd47 100644 --- a/cpukit/posix/src/pthreadattrgetdetachstate.c +++ b/cpukit/posix/src/pthreadattrgetdetachstate.c @@ -2,7 +2,7 @@ * @file * * @brief Function gets the detachstate Attribute in the attr Object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrgetguardsize.c b/cpukit/posix/src/pthreadattrgetguardsize.c index 81eee4f9f9..1258a3a771 100644 --- a/cpukit/posix/src/pthreadattrgetguardsize.c +++ b/cpukit/posix/src/pthreadattrgetguardsize.c @@ -2,7 +2,7 @@ * @file * * @brief Thread Creation Attributes - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrgetinheritsched.c b/cpukit/posix/src/pthreadattrgetinheritsched.c index 84f1fa560f..629519f2fe 100644 --- a/cpukit/posix/src/pthreadattrgetinheritsched.c +++ b/cpukit/posix/src/pthreadattrgetinheritsched.c @@ -2,7 +2,7 @@ * @file * * @brief Thread Creation Scheduling Attributes - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrgetschedparam.c b/cpukit/posix/src/pthreadattrgetschedparam.c index eee962f854..cf0fa82ad1 100644 --- a/cpukit/posix/src/pthreadattrgetschedparam.c +++ b/cpukit/posix/src/pthreadattrgetschedparam.c @@ -2,7 +2,7 @@ * @file * * @brief Returns Scheduling Parameter Attributes of Thread Attributes Object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrgetschedpolicy.c b/cpukit/posix/src/pthreadattrgetschedpolicy.c index 6b57e8a2ca..0db47ef6bb 100644 --- a/cpukit/posix/src/pthreadattrgetschedpolicy.c +++ b/cpukit/posix/src/pthreadattrgetschedpolicy.c @@ -2,7 +2,7 @@ * @file * * @brief Get The Schedpolicy Attribute - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrgetscope.c b/cpukit/posix/src/pthreadattrgetscope.c index ee5ed4c044..617f8fde0d 100644 --- a/cpukit/posix/src/pthreadattrgetscope.c +++ b/cpukit/posix/src/pthreadattrgetscope.c @@ -2,7 +2,7 @@ * @file * * @brief Function gets the Contentionscope Attribute in the attr object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrgetstack.c b/cpukit/posix/src/pthreadattrgetstack.c index a1254ae7a1..298383556b 100644 --- a/cpukit/posix/src/pthreadattrgetstack.c +++ b/cpukit/posix/src/pthreadattrgetstack.c @@ -2,7 +2,7 @@ * @file * * @brief Function Gets the Thread Creation Stack Attributes in the attr - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrgetstackaddr.c b/cpukit/posix/src/pthreadattrgetstackaddr.c index dfdffbd662..e169bc6ecc 100644 --- a/cpukit/posix/src/pthreadattrgetstackaddr.c +++ b/cpukit/posix/src/pthreadattrgetstackaddr.c @@ -2,7 +2,7 @@ * @file * * @brief Thread Creation Attributes - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrgetstacksize.c b/cpukit/posix/src/pthreadattrgetstacksize.c index 06854ca54b..97c0b9478e 100644 --- a/cpukit/posix/src/pthreadattrgetstacksize.c +++ b/cpukit/posix/src/pthreadattrgetstacksize.c @@ -2,7 +2,7 @@ * @file * * @brief Thread Creation Attributes - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrinit.c b/cpukit/posix/src/pthreadattrinit.c index 1e5211bfd6..dd3f222cf6 100644 --- a/cpukit/posix/src/pthreadattrinit.c +++ b/cpukit/posix/src/pthreadattrinit.c @@ -2,7 +2,7 @@ * @file * * @brief Thread Attributes Creation - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrsetdetachstate.c b/cpukit/posix/src/pthreadattrsetdetachstate.c index a76d304a43..1d5feb817a 100644 --- a/cpukit/posix/src/pthreadattrsetdetachstate.c +++ b/cpukit/posix/src/pthreadattrsetdetachstate.c @@ -2,7 +2,7 @@ * @file * * @brief Thread Creation Attributes - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrsetguardsize.c b/cpukit/posix/src/pthreadattrsetguardsize.c index 7656d4fee9..f6df5784ef 100644 --- a/cpukit/posix/src/pthreadattrsetguardsize.c +++ b/cpukit/posix/src/pthreadattrsetguardsize.c @@ -2,7 +2,7 @@ * @file * * @brief Thread Creation Attributes - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrsetinheritsched.c b/cpukit/posix/src/pthreadattrsetinheritsched.c index 2951444fcf..8f414abed3 100644 --- a/cpukit/posix/src/pthreadattrsetinheritsched.c +++ b/cpukit/posix/src/pthreadattrsetinheritsched.c @@ -2,7 +2,7 @@ * @file * * @brief Function sets the inheritsched Attribute in the attr Argument - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrsetschedparam.c b/cpukit/posix/src/pthreadattrsetschedparam.c index 65e560198f..f84ff0ec9e 100644 --- a/cpukit/posix/src/pthreadattrsetschedparam.c +++ b/cpukit/posix/src/pthreadattrsetschedparam.c @@ -2,7 +2,7 @@ * @file * * @brief Thread Creation Scheduling Parameters - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrsetschedpolicy.c b/cpukit/posix/src/pthreadattrsetschedpolicy.c index ee7fe1fce3..4b4187ef40 100644 --- a/cpukit/posix/src/pthreadattrsetschedpolicy.c +++ b/cpukit/posix/src/pthreadattrsetschedpolicy.c @@ -2,7 +2,7 @@ * @file * * @brief Sets Scheduling policy Attributes of Thread Attributes Object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrsetscope.c b/cpukit/posix/src/pthreadattrsetscope.c index d468524086..db2c931388 100644 --- a/cpukit/posix/src/pthreadattrsetscope.c +++ b/cpukit/posix/src/pthreadattrsetscope.c @@ -2,7 +2,7 @@ * @file * * @brief Function Sets the Contentionscope Attribute in the attr Object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrsetstack.c b/cpukit/posix/src/pthreadattrsetstack.c index 04231ed791..e512c160e2 100644 --- a/cpukit/posix/src/pthreadattrsetstack.c +++ b/cpukit/posix/src/pthreadattrsetstack.c @@ -2,7 +2,7 @@ * @file * * @brief Function Sets Thread Creation Stack Attributes in the attr object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrsetstackaddr.c b/cpukit/posix/src/pthreadattrsetstackaddr.c index 1696bb95ac..1ac4720c09 100644 --- a/cpukit/posix/src/pthreadattrsetstackaddr.c +++ b/cpukit/posix/src/pthreadattrsetstackaddr.c @@ -2,7 +2,7 @@ * @file * * @brief Sets the Thread Creation stackaddr Attribute in the attr Object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadattrsetstacksize.c b/cpukit/posix/src/pthreadattrsetstacksize.c index eb269e3df9..313034ce02 100644 --- a/cpukit/posix/src/pthreadattrsetstacksize.c +++ b/cpukit/posix/src/pthreadattrsetstacksize.c @@ -2,7 +2,7 @@ * @file * * @brief Sets the Thread Creation Stacksize Attribute in the attr object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadcreate.c b/cpukit/posix/src/pthreadcreate.c index 30551ac64c..9585772d17 100644 --- a/cpukit/posix/src/pthreadcreate.c +++ b/cpukit/posix/src/pthreadcreate.c @@ -2,7 +2,7 @@ * @file * * @brief Function Starts a New Thread in The Calling Process - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreaddetach.c b/cpukit/posix/src/pthreaddetach.c index 682bac8b42..824537eb8c 100644 --- a/cpukit/posix/src/pthreaddetach.c +++ b/cpukit/posix/src/pthreaddetach.c @@ -2,7 +2,7 @@ * @file * * @brief Detaching a Thread - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadequal.c b/cpukit/posix/src/pthreadequal.c index ce08b1ea88..199cc8fb9a 100644 --- a/cpukit/posix/src/pthreadequal.c +++ b/cpukit/posix/src/pthreadequal.c @@ -2,7 +2,7 @@ * @file * * @brief Compare Thread IDs - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadgetcpuclockid.c b/cpukit/posix/src/pthreadgetcpuclockid.c index 0b7e3bbd28..2d95b00684 100644 --- a/cpukit/posix/src/pthreadgetcpuclockid.c +++ b/cpukit/posix/src/pthreadgetcpuclockid.c @@ -2,7 +2,7 @@ * @file * * @brief Returns Clock ID for CPU time clock of the thread - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadgetschedparam.c b/cpukit/posix/src/pthreadgetschedparam.c index 8c78ccca52..d681f0479a 100644 --- a/cpukit/posix/src/pthreadgetschedparam.c +++ b/cpukit/posix/src/pthreadgetschedparam.c @@ -2,7 +2,7 @@ * @file * * @brief Gets Scheduling Policy and Parameters of Individual Threads - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadjoin.c b/cpukit/posix/src/pthreadjoin.c index 115f39d103..8304aa3685 100644 --- a/cpukit/posix/src/pthreadjoin.c +++ b/cpukit/posix/src/pthreadjoin.c @@ -2,7 +2,7 @@ * @file * * @brief Suspends Execution of Calling Thread until Target Thread Terminates - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadkill.c b/cpukit/posix/src/pthreadkill.c index 420aaa567f..e0f395070d 100644 --- a/cpukit/posix/src/pthreadkill.c +++ b/cpukit/posix/src/pthreadkill.c @@ -2,7 +2,7 @@ * @file * * @brief Sends a signal Asynchronously directed to a thread - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadonce.c b/cpukit/posix/src/pthreadonce.c index 651e4d0539..0700a222c7 100644 --- a/cpukit/posix/src/pthreadonce.c +++ b/cpukit/posix/src/pthreadonce.c @@ -2,7 +2,7 @@ * @file * * @brief Call to function by Thread will call init_routine with no Arguments - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadself.c b/cpukit/posix/src/pthreadself.c index 0ed68be515..de6a40955b 100644 --- a/cpukit/posix/src/pthreadself.c +++ b/cpukit/posix/src/pthreadself.c @@ -2,7 +2,7 @@ * @file * * @brief Function returns the ID of the Calling Thread - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadsetschedparam.c b/cpukit/posix/src/pthreadsetschedparam.c index d574811ae0..06216f49a1 100644 --- a/cpukit/posix/src/pthreadsetschedparam.c +++ b/cpukit/posix/src/pthreadsetschedparam.c @@ -2,7 +2,7 @@ * @file * * @brief Function sets scheduling policy and parameters of the thread - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/pthreadsigmask.c b/cpukit/posix/src/pthreadsigmask.c index 9d47e44865..3f985bfa39 100644 --- a/cpukit/posix/src/pthreadsigmask.c +++ b/cpukit/posix/src/pthreadsigmask.c @@ -2,7 +2,7 @@ * @file * * @brief Examine and/or change the calling thread's signal mask - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/ptimer.c b/cpukit/posix/src/ptimer.c index 1d5ac6245e..540fb71cef 100644 --- a/cpukit/posix/src/ptimer.c +++ b/cpukit/posix/src/ptimer.c @@ -2,7 +2,7 @@ * @file * * @brief Process Timer - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/rwlockattrdestroy.c b/cpukit/posix/src/rwlockattrdestroy.c index 102b141704..925ff35e68 100644 --- a/cpukit/posix/src/rwlockattrdestroy.c +++ b/cpukit/posix/src/rwlockattrdestroy.c @@ -2,7 +2,7 @@ * @file * * @brief Function Destroys a read-write lock Attributes object - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/rwlockattrgetpshared.c b/cpukit/posix/src/rwlockattrgetpshared.c index 233cbffa22..95e059ee87 100644 --- a/cpukit/posix/src/rwlockattrgetpshared.c +++ b/cpukit/posix/src/rwlockattrgetpshared.c @@ -2,7 +2,7 @@ * @file * * @brief Get the Process-Shared Attribute of the RWLock - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/rwlockattrinit.c b/cpukit/posix/src/rwlockattrinit.c index 381cd52b0d..2baad73c3d 100644 --- a/cpukit/posix/src/rwlockattrinit.c +++ b/cpukit/posix/src/rwlockattrinit.c @@ -2,7 +2,7 @@ * @file * * @brief Initialises a RWLock Attributes object attr with the default value - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/rwlockattrsetpshared.c b/cpukit/posix/src/rwlockattrsetpshared.c index 5a32530e1e..80f53cd7af 100644 --- a/cpukit/posix/src/rwlockattrsetpshared.c +++ b/cpukit/posix/src/rwlockattrsetpshared.c @@ -2,7 +2,7 @@ * @file * * @brief RWLock Attributes Set Process Shared - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sched_getparam.c b/cpukit/posix/src/sched_getparam.c index d9e516a8ed..8e7336080d 100644 --- a/cpukit/posix/src/sched_getparam.c +++ b/cpukit/posix/src/sched_getparam.c @@ -2,7 +2,7 @@ * @file * * @brief Set Scheduling Parameters - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sched_getprioritymax.c b/cpukit/posix/src/sched_getprioritymax.c index 5a77e258f1..ab4c2056d1 100644 --- a/cpukit/posix/src/sched_getprioritymax.c +++ b/cpukit/posix/src/sched_getprioritymax.c @@ -2,7 +2,7 @@ * @file * * @brief Returns the Appropriate Maximum for Scheduling policy - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sched_getprioritymin.c b/cpukit/posix/src/sched_getprioritymin.c index 73d892de47..d419e66431 100644 --- a/cpukit/posix/src/sched_getprioritymin.c +++ b/cpukit/posix/src/sched_getprioritymin.c @@ -2,7 +2,7 @@ * @file * * @brief Get the Minimum Priority Limit - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sched_getscheduler.c b/cpukit/posix/src/sched_getscheduler.c index 6f12cd7868..92da28f854 100644 --- a/cpukit/posix/src/sched_getscheduler.c +++ b/cpukit/posix/src/sched_getscheduler.c @@ -2,7 +2,7 @@ * @file * * @brief Function Returns Scheduling Policy of the process specified by pid - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sched_rr_get_interval.c b/cpukit/posix/src/sched_rr_get_interval.c index b73f60f229..c606bc9ef2 100644 --- a/cpukit/posix/src/sched_rr_get_interval.c +++ b/cpukit/posix/src/sched_rr_get_interval.c @@ -2,7 +2,7 @@ * @file * * @brief Limits for Scheduling Parameter - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sched_setparam.c b/cpukit/posix/src/sched_setparam.c index 8e894e0978..e291292555 100644 --- a/cpukit/posix/src/sched_setparam.c +++ b/cpukit/posix/src/sched_setparam.c @@ -2,7 +2,7 @@ * @file * * @brief Sets Scheduling Parameters Associated with Scheduling Policies - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sched_setscheduler.c b/cpukit/posix/src/sched_setscheduler.c index f9b5c3f562..fef66f2aa7 100644 --- a/cpukit/posix/src/sched_setscheduler.c +++ b/cpukit/posix/src/sched_setscheduler.c @@ -2,7 +2,7 @@ * @file * * @brief Set Scheduling Policy and Scheduling Parameters - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sched_yield.c b/cpukit/posix/src/sched_yield.c index 1aa4713a85..207cbb286a 100644 --- a/cpukit/posix/src/sched_yield.c +++ b/cpukit/posix/src/sched_yield.c @@ -2,7 +2,7 @@ * @file * * @brief Yield Processor - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/semaphore.c b/cpukit/posix/src/semaphore.c index b214a3c302..58da098501 100644 --- a/cpukit/posix/src/semaphore.c +++ b/cpukit/posix/src/semaphore.c @@ -2,7 +2,7 @@ * @file * * @brief POSIX Function Initializes Semaphore Manager - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/semaphorecreatesupp.c b/cpukit/posix/src/semaphorecreatesupp.c index 18fef72a03..026e7fafcd 100644 --- a/cpukit/posix/src/semaphorecreatesupp.c +++ b/cpukit/posix/src/semaphorecreatesupp.c @@ -2,7 +2,7 @@ * @file * * @brief Function does Actual creation and Initialization of POSIX Semaphore - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/semaphoretranslatereturncode.c b/cpukit/posix/src/semaphoretranslatereturncode.c index 2c54b9fb49..44885d6085 100644 --- a/cpukit/posix/src/semaphoretranslatereturncode.c +++ b/cpukit/posix/src/semaphoretranslatereturncode.c @@ -2,7 +2,7 @@ * @file * * @brief POSIX Semaphore Code Translation Error - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/semaphorewaitsupp.c b/cpukit/posix/src/semaphorewaitsupp.c index 5b215dad23..08a26ee16f 100644 --- a/cpukit/posix/src/semaphorewaitsupp.c +++ b/cpukit/posix/src/semaphorewaitsupp.c @@ -2,11 +2,11 @@ * @file * * @brief POSIX Semaphore Wait Support - * @ingroup POSIX_SEMAPHORES Semaphore + * @ingroup POSIXSemaphorePrivate */ /* - * COPYRIGHT (c) 1989-2008. + * COPYRIGHT (c) 1989-2012. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -32,10 +32,6 @@ #include #include -/* - * _POSIX_Semaphore_Wait_support - */ - int _POSIX_Semaphore_Wait_support( sem_t *sem, bool blocking, diff --git a/cpukit/posix/src/seminit.c b/cpukit/posix/src/seminit.c index be7056dcad..f0dcb7137f 100644 --- a/cpukit/posix/src/seminit.c +++ b/cpukit/posix/src/seminit.c @@ -2,7 +2,7 @@ * @file * * @brief Initializing of an Unnamed Semaphore - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/semopen.c b/cpukit/posix/src/semopen.c index 1ecd75105b..113c622e97 100644 --- a/cpukit/posix/src/semopen.c +++ b/cpukit/posix/src/semopen.c @@ -2,7 +2,7 @@ * @file * * @brief Function Creates New POSIX semaphore or Opens an existing Semaphore - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/setcancelstate.c b/cpukit/posix/src/setcancelstate.c index 31bef65eff..4d0699c310 100644 --- a/cpukit/posix/src/setcancelstate.c +++ b/cpukit/posix/src/setcancelstate.c @@ -2,7 +2,7 @@ * @file * * @brief Setting Cancelability State - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/setcanceltype.c b/cpukit/posix/src/setcanceltype.c index 6a82374229..115eebf638 100644 --- a/cpukit/posix/src/setcanceltype.c +++ b/cpukit/posix/src/setcanceltype.c @@ -2,7 +2,7 @@ * @file * * @brief Sets the Cancelability Type of Calling Thread to value given in type - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/setitimer.c b/cpukit/posix/src/setitimer.c index f8ab9efa56..3c84b469c7 100644 --- a/cpukit/posix/src/setitimer.c +++ b/cpukit/posix/src/setitimer.c @@ -2,7 +2,7 @@ * @file * * @brief Set the Timer - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sigaction.c b/cpukit/posix/src/sigaction.c index b2906558e0..cfcc65cec4 100644 --- a/cpukit/posix/src/sigaction.c +++ b/cpukit/posix/src/sigaction.c @@ -2,7 +2,7 @@ * @file * * @brief Allows calling process to examine action of a Specific Signal - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sigaddset.c b/cpukit/posix/src/sigaddset.c index d4e324fe5e..4ad925e563 100644 --- a/cpukit/posix/src/sigaddset.c +++ b/cpukit/posix/src/sigaddset.c @@ -2,7 +2,7 @@ * @file * * @brief Function Adds Signal from Set - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sigdelset.c b/cpukit/posix/src/sigdelset.c index 7567689ccd..0d808163c1 100644 --- a/cpukit/posix/src/sigdelset.c +++ b/cpukit/posix/src/sigdelset.c @@ -2,7 +2,7 @@ * @file * * @brief Deleted Signal from Set - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sigemptyset.c b/cpukit/posix/src/sigemptyset.c index 5cfc310ba1..270f67636f 100644 --- a/cpukit/posix/src/sigemptyset.c +++ b/cpukit/posix/src/sigemptyset.c @@ -2,7 +2,7 @@ * @file * * @brief Manipulate Signal Sets - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sigfillset.c b/cpukit/posix/src/sigfillset.c index 32b1ef15d0..fb6ca50dfa 100644 --- a/cpukit/posix/src/sigfillset.c +++ b/cpukit/posix/src/sigfillset.c @@ -2,7 +2,7 @@ * @file * * @brief Manipulate Signal Sets - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sigismember.c b/cpukit/posix/src/sigismember.c index 5591085af4..f08e9c7224 100644 --- a/cpukit/posix/src/sigismember.c +++ b/cpukit/posix/src/sigismember.c @@ -2,7 +2,7 @@ * @file * * @brief Manipulate Signal Sets - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/signal_2.c b/cpukit/posix/src/signal_2.c index 75f13d8f92..de15cf62e3 100644 --- a/cpukit/posix/src/signal_2.c +++ b/cpukit/posix/src/signal_2.c @@ -2,7 +2,7 @@ * @file * * @brief POSIX Function Installs signal Handler - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sigpending.c b/cpukit/posix/src/sigpending.c index c62d878b6b..44dbe93127 100644 --- a/cpukit/posix/src/sigpending.c +++ b/cpukit/posix/src/sigpending.c @@ -2,7 +2,7 @@ * @file * * @brief Examine Pending Signals - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sigprocmask.c b/cpukit/posix/src/sigprocmask.c index 464343bab0..b6daf81e35 100644 --- a/cpukit/posix/src/sigprocmask.c +++ b/cpukit/posix/src/sigprocmask.c @@ -2,7 +2,7 @@ * @file * * @brief Examine and Change Blocked Signals - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sigqueue.c b/cpukit/posix/src/sigqueue.c index 8b65aba0cb..99c214745e 100644 --- a/cpukit/posix/src/sigqueue.c +++ b/cpukit/posix/src/sigqueue.c @@ -2,7 +2,7 @@ * @file * * @brief Queue a Signal to a Process - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sigsuspend.c b/cpukit/posix/src/sigsuspend.c index b1f1c4cc77..c3ab2bb0a0 100644 --- a/cpukit/posix/src/sigsuspend.c +++ b/cpukit/posix/src/sigsuspend.c @@ -2,7 +2,7 @@ * @file * * @brief Replacing signal mask with *sigmask and suspending calling process - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sigtimedwait.c b/cpukit/posix/src/sigtimedwait.c index b350a2cc33..ef8bbdfd8f 100644 --- a/cpukit/posix/src/sigtimedwait.c +++ b/cpukit/posix/src/sigtimedwait.c @@ -2,7 +2,7 @@ * @file * * @brief Wait for Queued Signals - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sigwait.c b/cpukit/posix/src/sigwait.c index 24afa80602..a51fe7b2ff 100644 --- a/cpukit/posix/src/sigwait.c +++ b/cpukit/posix/src/sigwait.c @@ -2,7 +2,7 @@ * @file * * @brief Synchronously Accept a Signal - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/sysconf.c b/cpukit/posix/src/sysconf.c index fb0939fbe2..65812d34a5 100644 --- a/cpukit/posix/src/sysconf.c +++ b/cpukit/posix/src/sysconf.c @@ -2,7 +2,7 @@ * @file * * @brief Get Configurable System Variables - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/testcancel.c b/cpukit/posix/src/testcancel.c index 6228af6165..e7e08d2b73 100644 --- a/cpukit/posix/src/testcancel.c +++ b/cpukit/posix/src/testcancel.c @@ -2,7 +2,7 @@ * @file * * @brief Setting test on Cancelability State - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/timerdelete.c b/cpukit/posix/src/timerdelete.c index 473c0df3fe..f8690eb2fc 100644 --- a/cpukit/posix/src/timerdelete.c +++ b/cpukit/posix/src/timerdelete.c @@ -2,7 +2,7 @@ * @file * * @brief Deletes a POSIX Interval Timer - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/timergettime.c b/cpukit/posix/src/timergettime.c index 823989a4e4..7b9de539b6 100644 --- a/cpukit/posix/src/timergettime.c +++ b/cpukit/posix/src/timergettime.c @@ -2,7 +2,7 @@ * @file * * @brief Function Fetches State of POSIX Per-Process Timers - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/timerinserthelper.c b/cpukit/posix/src/timerinserthelper.c index a1726770d9..eddc455f57 100644 --- a/cpukit/posix/src/timerinserthelper.c +++ b/cpukit/posix/src/timerinserthelper.c @@ -2,7 +2,7 @@ * @file * * @brief Helper Routine for POSIX TIMERS - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/timersettime.c b/cpukit/posix/src/timersettime.c index 00cce57b59..7bdcad8bad 100644 --- a/cpukit/posix/src/timersettime.c +++ b/cpukit/posix/src/timersettime.c @@ -2,7 +2,7 @@ * @file * * @brief Function Arms or Disarms the Timer Identified by timerid - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/ualarm.c b/cpukit/posix/src/ualarm.c index 34ab0a41cc..e9a4bb82ae 100644 --- a/cpukit/posix/src/ualarm.c +++ b/cpukit/posix/src/ualarm.c @@ -2,7 +2,7 @@ * @file * * @brief Schedule Alarm - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/vfork.c b/cpukit/posix/src/vfork.c index 3bb0f31b83..1d9fa71cf2 100644 --- a/cpukit/posix/src/vfork.c +++ b/cpukit/posix/src/vfork.c @@ -2,7 +2,7 @@ * @file * * @brief Creates Child process Of The Calling process - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/wait.c b/cpukit/posix/src/wait.c index 8e48af71d6..da22ab7486 100644 --- a/cpukit/posix/src/wait.c +++ b/cpukit/posix/src/wait.c @@ -2,7 +2,7 @@ * @file * * @brief Wait for Process to Change State - * @ingroup POSIX + * @ingroup POSIXAPI */ /* diff --git a/cpukit/posix/src/waitpid.c b/cpukit/posix/src/waitpid.c index 03e4f7d731..3899fc427c 100644 --- a/cpukit/posix/src/waitpid.c +++ b/cpukit/posix/src/waitpid.c @@ -2,7 +2,7 @@ * @file * * @brief Wait for Process to Change State - * @ingroup POSIX + * @ingroup POSIXAPI */ /* -- cgit v1.2.3 From ff1becb6e755e866786c9fe04feeb2fabe090b36 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 10 Jan 2013 13:22:57 -0600 Subject: rfs: Doxygen group cannot have a dash in it Change rtems-rfs to rtems_rfs --- cpukit/libfs/src/rfs/rtems-rfs-bitmaps.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-block.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-buffer-bdbuf.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-buffer-devio.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-buffer.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-dir-hash.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-dir.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-file-system.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-file.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-format.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-group.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-inode.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-link.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-mutex.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-rtems-dev.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-rtems-dir.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-rtems-file.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-rtems-utils.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-rtems.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-shell.c | 2 +- cpukit/libfs/src/rfs/rtems-rfs-trace.c | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/cpukit/libfs/src/rfs/rtems-rfs-bitmaps.c b/cpukit/libfs/src/rfs/rtems-rfs-bitmaps.c index c14c69d1fe..c4050b2da8 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-bitmaps.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-bitmaps.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File Systems Bitmap Routines - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * These functions manage bit maps. A bit map consists of the map of bit * allocated in a block and a search map where a bit represents 32 actual diff --git a/cpukit/libfs/src/rfs/rtems-rfs-block.c b/cpukit/libfs/src/rfs/rtems-rfs-block.c index 4ad73b2ee3..1c6329a10a 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-block.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-block.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File Systems Block Routines - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * These functions manage blocks in the RFS file system. A block is an area of * the media and its size is set for a each specific media. The block size is diff --git a/cpukit/libfs/src/rfs/rtems-rfs-buffer-bdbuf.c b/cpukit/libfs/src/rfs/rtems-rfs-buffer-bdbuf.c index 552e5df970..57e0664046 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-buffer-bdbuf.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-buffer-bdbuf.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File Systems Buffer Routines - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * RTEMS File Systems Buffer Routines for the RTEMS libblock BD buffer cache. * diff --git a/cpukit/libfs/src/rfs/rtems-rfs-buffer-devio.c b/cpukit/libfs/src/rfs/rtems-rfs-buffer-devio.c index 6e3a02cb13..2911ca9c9c 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-buffer-devio.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-buffer-devio.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File Systems Buffer Routines - * @ingroup rtems-rfs + * @ingroup rtems_rfs */ /* diff --git a/cpukit/libfs/src/rfs/rtems-rfs-buffer.c b/cpukit/libfs/src/rfs/rtems-rfs-buffer.c index 0a7d3e42cd..7904f74297 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-buffer.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-buffer.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File Systems Buffer Routines - * @ingroup rtems-rfs + * @ingroup rtems_rfs */ /* diff --git a/cpukit/libfs/src/rfs/rtems-rfs-dir-hash.c b/cpukit/libfs/src/rfs/rtems-rfs-dir-hash.c index db8f21a8b0..a0669992d3 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-dir-hash.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-dir-hash.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File Systems Directory Hash function - * @ingroup rtems-rfs + * @ingroup rtems_rfs */ #if HAVE_CONFIG_H diff --git a/cpukit/libfs/src/rfs/rtems-rfs-dir.c b/cpukit/libfs/src/rfs/rtems-rfs-dir.c index 18de308d8e..d52bf24159 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-dir.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-dir.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File Systems Directory Routines - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * These functions manage blocks in the directory format. A directory entry is * a variable length record in the block. The entry consists of a length, hash diff --git a/cpukit/libfs/src/rfs/rtems-rfs-file-system.c b/cpukit/libfs/src/rfs/rtems-rfs-file-system.c index 10909428e4..5ab671bcc2 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-file-system.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-file-system.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File Systems Open - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * Open the file system by reading the superblock and then the group data. */ diff --git a/cpukit/libfs/src/rfs/rtems-rfs-file.c b/cpukit/libfs/src/rfs/rtems-rfs-file.c index 243a8af4b7..5d623dda26 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-file.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-file.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File Systems File Routines - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * These functions manage files. */ diff --git a/cpukit/libfs/src/rfs/rtems-rfs-format.c b/cpukit/libfs/src/rfs/rtems-rfs-format.c index 78c422c456..d445e3d7f1 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-format.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-format.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File Systems Format - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * Format the file system ready for use. */ diff --git a/cpukit/libfs/src/rfs/rtems-rfs-group.c b/cpukit/libfs/src/rfs/rtems-rfs-group.c index 4a1f4a1f78..1722c76cfc 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-group.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-group.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File Systems Group Routines - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * These functions open and close a group as well as manage bit allocations * within a group. diff --git a/cpukit/libfs/src/rfs/rtems-rfs-inode.c b/cpukit/libfs/src/rfs/rtems-rfs-inode.c index 51129e9378..35313674da 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-inode.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-inode.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File Systems Inode Routines - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * These functions manage inodes in the RFS file system. An inode is part of a * block that reside after the bitmaps in the group. diff --git a/cpukit/libfs/src/rfs/rtems-rfs-link.c b/cpukit/libfs/src/rfs/rtems-rfs-link.c index 225a37fac9..7cfb60acbb 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-link.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-link.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File Systems Link Routines - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * These functions manage links. A link is the addition of a directory entry * in a parent directory and incrementing the links count in the inode. diff --git a/cpukit/libfs/src/rfs/rtems-rfs-mutex.c b/cpukit/libfs/src/rfs/rtems-rfs-mutex.c index 7bf92f7cd5..27f36bf09f 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-mutex.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-mutex.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File System Mutex - * @ingroup rtems-rfs + * @ingroup rtems_rfs */ /* * COPYRIGHT (c) 2010 Chris Johns diff --git a/cpukit/libfs/src/rfs/rtems-rfs-rtems-dev.c b/cpukit/libfs/src/rfs/rtems-rfs-rtems-dev.c index 97d0104cdd..dbf9c165dd 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-rtems-dev.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-rtems-dev.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS RFS Device Interface - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * This file contains the set of handlers used to map operations on RFS device * nodes onto calls to the RTEMS Classic API IO Manager. diff --git a/cpukit/libfs/src/rfs/rtems-rfs-rtems-dir.c b/cpukit/libfs/src/rfs/rtems-rfs-rtems-dir.c index af35809db7..baf71555e5 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-rtems-dir.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-rtems-dir.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS RFS Directory Access Routines - * @ingroup rtems-rfs + * @ingroup rtems_rfs */ /* * COPYRIGHT (c) 2010 Chris Johns diff --git a/cpukit/libfs/src/rfs/rtems-rfs-rtems-file.c b/cpukit/libfs/src/rfs/rtems-rfs-rtems-file.c index ebcc64a5ef..b3ec0ed755 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-rtems-file.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-rtems-file.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS RFS File Handlers - * @ingroup rtems-rfs + * @ingroup rtems_rfs * * This file contains the set of handlers used to process operations on * RFS file nodes. diff --git a/cpukit/libfs/src/rfs/rtems-rfs-rtems-utils.c b/cpukit/libfs/src/rfs/rtems-rfs-rtems-utils.c index 04108fb172..d23dbf2203 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-rtems-utils.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-rtems-utils.c @@ -2,7 +2,7 @@ * @file * * @brief Set of Utility Functions to Support RTEMS RFS on RTEMS - * @ingroup rtems-rfs + * @ingroup rtems_rfs */ /* diff --git a/cpukit/libfs/src/rfs/rtems-rfs-rtems.c b/cpukit/libfs/src/rfs/rtems-rfs-rtems.c index d2aac56429..fad2993f9b 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-rtems.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-rtems.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File System Interface for RTEMS - * @ingroup rtems-rfs + * @ingroup rtems_rfs */ /* diff --git a/cpukit/libfs/src/rfs/rtems-rfs-shell.c b/cpukit/libfs/src/rfs/rtems-rfs-shell.c index 0e930a0d63..96c0c17890 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-shell.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-shell.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File Systems Shell Commands Support - * @ingroup rtems-rfs + * @ingroup rtems_rfs */ /* diff --git a/cpukit/libfs/src/rfs/rtems-rfs-trace.c b/cpukit/libfs/src/rfs/rtems-rfs-trace.c index 60a9e0c245..2be76792a2 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-trace.c +++ b/cpukit/libfs/src/rfs/rtems-rfs-trace.c @@ -2,7 +2,7 @@ * @file * * @brief RTEMS File Systems Trace Support - * @ingroup rtems-rfs + * @ingroup rtems_rfs */ /* * COPYRIGHT (c) 2010 Chris Johns -- cgit v1.2.3 From b10825cd5d954654a5e2ca2a32fec301e0d3d99a Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 10 Jan 2013 13:29:41 -0600 Subject: cpukit: Add EOL on files missing EOL at EOF --- cpukit/libfs/src/dosfs/fat.h | 2 +- cpukit/libfs/src/dosfs/fat_file.h | 2 +- cpukit/score/cpu/avr/avr/boot.h | 2 +- cpukit/score/cpu/avr/avr/common.h | 2 +- cpukit/score/cpu/avr/avr/crc16.h | 2 +- cpukit/score/cpu/avr/avr/delay.h | 2 +- cpukit/score/cpu/avr/avr/eeprom.h | 2 +- cpukit/score/cpu/avr/avr/io.h | 2 +- cpukit/score/cpu/avr/avr/io1200.h | 2 +- cpukit/score/cpu/avr/avr/io2343.h | 2 +- cpukit/score/cpu/avr/avr/io43u32x.h | 2 +- cpukit/score/cpu/avr/avr/io4433.h | 2 +- cpukit/score/cpu/avr/avr/io4434.h | 2 +- cpukit/score/cpu/avr/avr/io8535.h | 2 +- cpukit/score/cpu/avr/avr/io86r401.h | 2 +- cpukit/score/cpu/avr/avr/io90pwm2b.h | 2 +- cpukit/score/cpu/avr/avr/io90scr100.h | 2 +- cpukit/score/cpu/avr/avr/ioa6289.h | 2 +- cpukit/score/cpu/avr/avr/ioat94k.h | 2 +- cpukit/score/cpu/avr/avr/iocan32.h | 2 +- cpukit/score/cpu/avr/avr/iocanxx.h | 2 +- cpukit/score/cpu/avr/avr/iom103.h | 2 +- cpukit/score/cpu/avr/avr/iom128.h | 2 +- cpukit/score/cpu/avr/avr/iom1281.h | 2 +- cpukit/score/cpu/avr/avr/iom1284p.h | 2 +- cpukit/score/cpu/avr/avr/iom16.h | 2 +- cpukit/score/cpu/avr/avr/iom161.h | 2 +- cpukit/score/cpu/avr/avr/iom162.h | 2 +- cpukit/score/cpu/avr/avr/iom163.h | 2 +- cpukit/score/cpu/avr/avr/iom168.h | 2 +- cpukit/score/cpu/avr/avr/iom168p.h | 2 +- cpukit/score/cpu/avr/avr/iom169pa.h | 2 +- cpukit/score/cpu/avr/avr/iom16hva2.h | 2 +- cpukit/score/cpu/avr/avr/iom16hvb.h | 2 +- cpukit/score/cpu/avr/avr/iom16m1.h | 2 +- cpukit/score/cpu/avr/avr/iom16u2.h | 2 +- cpukit/score/cpu/avr/avr/iom16u4.h | 2 +- cpukit/score/cpu/avr/avr/iom32.h | 2 +- cpukit/score/cpu/avr/avr/iom323.h | 2 +- cpukit/score/cpu/avr/avr/iom324.h | 2 +- cpukit/score/cpu/avr/avr/iom3290.h | 2 +- cpukit/score/cpu/avr/avr/iom32c1.h | 2 +- cpukit/score/cpu/avr/avr/iom32m1.h | 2 +- cpukit/score/cpu/avr/avr/iom32u6.h | 2 +- cpukit/score/cpu/avr/avr/iom406.h | 2 +- cpukit/score/cpu/avr/avr/iom48.h | 2 +- cpukit/score/cpu/avr/avr/iom48p.h | 2 +- cpukit/score/cpu/avr/avr/iom644pa.h | 2 +- cpukit/score/cpu/avr/avr/iom645.h | 2 +- cpukit/score/cpu/avr/avr/iom649.h | 2 +- cpukit/score/cpu/avr/avr/iom6490.h | 2 +- cpukit/score/cpu/avr/avr/iom64hve.h | 2 +- cpukit/score/cpu/avr/avr/iom8515.h | 2 +- cpukit/score/cpu/avr/avr/iom88p.h | 2 +- cpukit/score/cpu/avr/avr/iomxx0_1.h | 2 +- cpukit/score/cpu/avr/avr/iomxx4.h | 2 +- cpukit/score/cpu/avr/avr/iomxxhva.h | 2 +- cpukit/score/cpu/avr/avr/iotn11.h | 2 +- cpukit/score/cpu/avr/avr/iotn12.h | 2 +- cpukit/score/cpu/avr/avr/iotn13.h | 2 +- cpukit/score/cpu/avr/avr/iotn15.h | 2 +- cpukit/score/cpu/avr/avr/iotn2313a.h | 2 +- cpukit/score/cpu/avr/avr/iotn24.h | 2 +- cpukit/score/cpu/avr/avr/iotn24a.h | 2 +- cpukit/score/cpu/avr/avr/iotn261a.h | 2 +- cpukit/score/cpu/avr/avr/iotn4313.h | 2 +- cpukit/score/cpu/avr/avr/iotn43u.h | 2 +- cpukit/score/cpu/avr/avr/iotn44.h | 2 +- cpukit/score/cpu/avr/avr/iotn45.h | 2 +- cpukit/score/cpu/avr/avr/iotn461a.h | 2 +- cpukit/score/cpu/avr/avr/iotn48.h | 2 +- cpukit/score/cpu/avr/avr/iotn85.h | 2 +- cpukit/score/cpu/avr/avr/iotn861a.h | 2 +- cpukit/score/cpu/avr/avr/iotn87.h | 2 +- cpukit/score/cpu/avr/avr/iotnx5.h | 2 +- cpukit/score/cpu/avr/avr/iotnx61.h | 2 +- cpukit/score/cpu/avr/avr/iousb1286.h | 2 +- cpukit/score/cpu/avr/avr/iousb1287.h | 2 +- cpukit/score/cpu/avr/avr/iousb646.h | 2 +- cpukit/score/cpu/avr/avr/iousbxx6_7.h | 2 +- cpukit/score/cpu/avr/avr/iox128a3.h | 2 +- cpukit/score/cpu/avr/avr/iox16a4.h | 2 +- cpukit/score/cpu/avr/avr/iox16d4.h | 2 +- cpukit/score/cpu/avr/avr/iox192a3.h | 2 +- cpukit/score/cpu/avr/avr/iox192d3.h | 2 +- cpukit/score/cpu/avr/avr/iox256a3b.h | 2 +- cpukit/score/cpu/avr/avr/iox32a4.h | 2 +- cpukit/score/cpu/avr/avr/iox64a1.h | 2 +- cpukit/score/cpu/avr/avr/iox64a3.h | 2 +- cpukit/score/cpu/avr/avr/iox64d3.h | 2 +- cpukit/score/cpu/avr/avr/lock.h | 2 +- cpukit/score/cpu/avr/avr/parity.h | 2 +- cpukit/score/cpu/avr/avr/power.h | 2 +- cpukit/score/cpu/avr/avr/signal.h | 2 +- cpukit/score/cpu/avr/avr/version.h | 2 +- cpukit/score/cpu/mips/rtems/mips/idtcpu.h | 2 +- cpukit/score/cpu/mips/rtems/mips/iregdef.h | 2 +- cpukit/score/cpu/mips/rtems/score/cpu.h | 2 +- cpukit/score/cpu/mips/rtems/score/mips.h | 2 +- cpukit/score/cpu/mips/rtems/score/types.h | 2 +- cpukit/score/cpu/no_cpu/rtems/asm.h | 2 +- cpukit/score/include/rtems/bspsmp.h | 2 +- cpukit/score/include/rtems/debug.h | 2 +- cpukit/score/include/rtems/score/address.h | 2 +- cpukit/score/include/rtems/score/apiext.h | 2 +- cpukit/score/include/rtems/score/apimutex.h | 2 +- cpukit/score/include/rtems/score/basedefs.h | 2 +- cpukit/score/include/rtems/score/bitfield.h | 2 +- cpukit/score/include/rtems/score/chain.h | 2 +- cpukit/score/include/rtems/score/context.h | 2 +- cpukit/score/include/rtems/score/corebarrier.h | 2 +- cpukit/score/include/rtems/score/coremsg.h | 2 +- cpukit/score/include/rtems/score/coremutex.h | 2 +- cpukit/score/include/rtems/score/corerwlock.h | 2 +- cpukit/score/include/rtems/score/coresem.h | 2 +- cpukit/score/include/rtems/score/corespinlock.h | 2 +- cpukit/score/include/rtems/score/heap.h | 2 +- cpukit/score/include/rtems/score/interr.h | 2 +- cpukit/score/include/rtems/score/isr.h | 2 +- cpukit/score/include/rtems/score/isrlevel.h | 2 +- cpukit/score/include/rtems/score/mpci.h | 2 +- cpukit/score/include/rtems/score/object.h | 2 +- cpukit/score/include/rtems/score/objectmp.h | 2 +- cpukit/score/include/rtems/score/priority.h | 2 +- cpukit/score/include/rtems/score/protectedheap.h | 2 +- cpukit/score/include/rtems/score/smplock.h | 2 +- cpukit/score/include/rtems/score/stack.h | 2 +- cpukit/score/include/rtems/score/thread.h | 2 +- cpukit/score/include/rtems/score/threadmp.h | 2 +- cpukit/score/include/rtems/score/threadq.h | 2 +- cpukit/score/include/rtems/score/threadsync.h | 2 +- cpukit/score/include/rtems/score/timespec.h | 2 +- cpukit/score/include/rtems/score/tod.h | 2 +- cpukit/score/include/rtems/score/tqdata.h | 2 +- cpukit/score/include/rtems/score/userextimpl.h | 2 +- cpukit/score/include/rtems/score/watchdog.h | 2 +- cpukit/score/include/rtems/score/wkspace.h | 2 +- cpukit/score/include/rtems/seterr.h | 2 +- cpukit/score/include/rtems/system.h | 2 +- 139 files changed, 139 insertions(+), 139 deletions(-) diff --git a/cpukit/libfs/src/dosfs/fat.h b/cpukit/libfs/src/dosfs/fat.h index ace236b50e..0219075594 100644 --- a/cpukit/libfs/src/dosfs/fat.h +++ b/cpukit/libfs/src/dosfs/fat.h @@ -559,4 +559,4 @@ fat_sync(fat_fs_info_t *fs_info); } #endif /**@}*/ -#endif /* __DOSFS_FAT_H__ */ \ No newline at end of file +#endif /* __DOSFS_FAT_H__ */ diff --git a/cpukit/libfs/src/dosfs/fat_file.h b/cpukit/libfs/src/dosfs/fat_file.h index d9753a9d5b..46bf07fca5 100644 --- a/cpukit/libfs/src/dosfs/fat_file.h +++ b/cpukit/libfs/src/dosfs/fat_file.h @@ -196,4 +196,4 @@ fat_file_mark_removed(fat_fs_info_t *fs_info, } #endif /**@}*/ -#endif /* __DOSFS_FAT_FILE_H__ */ \ No newline at end of file +#endif /* __DOSFS_FAT_FILE_H__ */ diff --git a/cpukit/score/cpu/avr/avr/boot.h b/cpukit/score/cpu/avr/avr/boot.h index 2f474e024b..863143b226 100644 --- a/cpukit/score/cpu/avr/avr/boot.h +++ b/cpukit/score/cpu/avr/avr/boot.h @@ -684,4 +684,4 @@ do { \ } while (0) /**@}*/ -#endif /* _AVR_BOOT_H_ */ \ No newline at end of file +#endif /* _AVR_BOOT_H_ */ diff --git a/cpukit/score/cpu/avr/avr/common.h b/cpukit/score/cpu/avr/avr/common.h index c44de85feb..1acfe26889 100644 --- a/cpukit/score/cpu/avr/avr/common.h +++ b/cpukit/score/cpu/avr/avr/common.h @@ -332,4 +332,4 @@ and families. #endif /**@}*/ -#endif /* _AVR_COMMON_H */ \ No newline at end of file +#endif /* _AVR_COMMON_H */ diff --git a/cpukit/score/cpu/avr/avr/crc16.h b/cpukit/score/cpu/avr/avr/crc16.h index ae510d957a..fe6dfd4346 100644 --- a/cpukit/score/cpu/avr/avr/crc16.h +++ b/cpukit/score/cpu/avr/avr/crc16.h @@ -51,4 +51,4 @@ #include /**@}*/ -#endif /* _AVR_CRC16_H_ */ \ No newline at end of file +#endif /* _AVR_CRC16_H_ */ diff --git a/cpukit/score/cpu/avr/avr/delay.h b/cpukit/score/cpu/avr/avr/delay.h index 9cf488f882..d3a05a9836 100644 --- a/cpukit/score/cpu/avr/avr/delay.h +++ b/cpukit/score/cpu/avr/avr/delay.h @@ -52,4 +52,4 @@ #include /** @} */ -#endif /* _AVR_DELAY_H_ */ \ No newline at end of file +#endif /* _AVR_DELAY_H_ */ diff --git a/cpukit/score/cpu/avr/avr/eeprom.h b/cpukit/score/cpu/avr/avr/eeprom.h index db5dda4e59..448248dc37 100644 --- a/cpukit/score/cpu/avr/avr/eeprom.h +++ b/cpukit/score/cpu/avr/avr/eeprom.h @@ -617,4 +617,4 @@ void eeprom_update_block (const void *__src, void *__dst, size_t __n); #endif /* E2END || defined(__DOXYGEN__) || defined(__COMPILING_AVR_LIBC__) */ /**@}*/ -#endif /* !_AVR_EEPROM_H_ */ \ No newline at end of file +#endif /* !_AVR_EEPROM_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io.h b/cpukit/score/cpu/avr/avr/io.h index b54575ad5a..494b40fc85 100644 --- a/cpukit/score/cpu/avr/avr/io.h +++ b/cpukit/score/cpu/avr/avr/io.h @@ -426,4 +426,4 @@ #include /** @} */ -#endif /* _AVR_IO_H_ */ \ No newline at end of file +#endif /* _AVR_IO_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io1200.h b/cpukit/score/cpu/avr/avr/io1200.h index 4dd7acc723..ae2aa17542 100644 --- a/cpukit/score/cpu/avr/avr/io1200.h +++ b/cpukit/score/cpu/avr/avr/io1200.h @@ -279,4 +279,4 @@ /**@}*/ -#endif /* _AVR_IO1200_H_ */ \ No newline at end of file +#endif /* _AVR_IO1200_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io2343.h b/cpukit/score/cpu/avr/avr/io2343.h index daac57ed83..bee4ad4fa7 100644 --- a/cpukit/score/cpu/avr/avr/io2343.h +++ b/cpukit/score/cpu/avr/avr/io2343.h @@ -218,4 +218,4 @@ /**@}*/ -#endif /* _AVR_IO2343_H_ */ \ No newline at end of file +#endif /* _AVR_IO2343_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io43u32x.h b/cpukit/score/cpu/avr/avr/io43u32x.h index 5e76a10c12..ed36ff1010 100644 --- a/cpukit/score/cpu/avr/avr/io43u32x.h +++ b/cpukit/score/cpu/avr/avr/io43u32x.h @@ -445,4 +445,4 @@ #define FLASHEND 0x0FFFF /**@}*/ -#endif /* _AVR_43USB32X_H_ */ \ No newline at end of file +#endif /* _AVR_43USB32X_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io4433.h b/cpukit/score/cpu/avr/avr/io4433.h index 3dc26fd163..62cbb00cd3 100644 --- a/cpukit/score/cpu/avr/avr/io4433.h +++ b/cpukit/score/cpu/avr/avr/io4433.h @@ -481,4 +481,4 @@ #define SIGNATURE_2 0x03 /**@}*/ -#endif /* _AVR_IO4433_H_ */ \ No newline at end of file +#endif /* _AVR_IO4433_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io4434.h b/cpukit/score/cpu/avr/avr/io4434.h index 37e1715011..72bc72680d 100644 --- a/cpukit/score/cpu/avr/avr/io4434.h +++ b/cpukit/score/cpu/avr/avr/io4434.h @@ -575,4 +575,4 @@ #define SIGNATURE_2 0x03 /**@}*/ -#endif /* _AVR_IO4434_H_ */ \ No newline at end of file +#endif /* _AVR_IO4434_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io8535.h b/cpukit/score/cpu/avr/avr/io8535.h index 156245d29b..6883a3658a 100644 --- a/cpukit/score/cpu/avr/avr/io8535.h +++ b/cpukit/score/cpu/avr/avr/io8535.h @@ -577,4 +577,4 @@ #define SIGNATURE_2 0x03 /** @} */ -#endif /* _AVR_IO8535_H_ */ \ No newline at end of file +#endif /* _AVR_IO8535_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io86r401.h b/cpukit/score/cpu/avr/avr/io86r401.h index 4baa8912a0..56f2d568f3 100644 --- a/cpukit/score/cpu/avr/avr/io86r401.h +++ b/cpukit/score/cpu/avr/avr/io86r401.h @@ -318,4 +318,4 @@ you may want to remove the leading D. #define SIGNATURE_2 0x81 /**@}*/ -#endif /* _AVR_IO86RF401_H_ */ \ No newline at end of file +#endif /* _AVR_IO86RF401_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io90pwm2b.h b/cpukit/score/cpu/avr/avr/io90pwm2b.h index f97d277cf9..538028b80a 100644 --- a/cpukit/score/cpu/avr/avr/io90pwm2b.h +++ b/cpukit/score/cpu/avr/avr/io90pwm2b.h @@ -1401,4 +1401,4 @@ /** @} */ -#endif /* _AVR_IO90PWM2B_H_ */ \ No newline at end of file +#endif /* _AVR_IO90PWM2B_H_ */ diff --git a/cpukit/score/cpu/avr/avr/io90scr100.h b/cpukit/score/cpu/avr/avr/io90scr100.h index bda0a9ba76..cb9f59247a 100644 --- a/cpukit/score/cpu/avr/avr/io90scr100.h +++ b/cpukit/score/cpu/avr/avr/io90scr100.h @@ -1705,4 +1705,4 @@ /**@}*/ -#endif /* _AVR_AT90SCR100_H_ */ \ No newline at end of file +#endif /* _AVR_AT90SCR100_H_ */ diff --git a/cpukit/score/cpu/avr/avr/ioa6289.h b/cpukit/score/cpu/avr/avr/ioa6289.h index 48c4c7764f..f6a829b065 100644 --- a/cpukit/score/cpu/avr/avr/ioa6289.h +++ b/cpukit/score/cpu/avr/avr/ioa6289.h @@ -852,4 +852,4 @@ /** @} */ -#endif /* _AVR_ATA6289_H_ */ \ No newline at end of file +#endif /* _AVR_ATA6289_H_ */ diff --git a/cpukit/score/cpu/avr/avr/ioat94k.h b/cpukit/score/cpu/avr/avr/ioat94k.h index 257e8a6303..dc0cab6890 100644 --- a/cpukit/score/cpu/avr/avr/ioat94k.h +++ b/cpukit/score/cpu/avr/avr/ioat94k.h @@ -566,4 +566,4 @@ #endif /**@}*/ -#endif /* _AVR_IOAT94K_H_ */ \ No newline at end of file +#endif /* _AVR_IOAT94K_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iocan32.h b/cpukit/score/cpu/avr/avr/iocan32.h index 099c44ffcf..d2c4f83e8b 100644 --- a/cpukit/score/cpu/avr/avr/iocan32.h +++ b/cpukit/score/cpu/avr/avr/iocan32.h @@ -106,4 +106,4 @@ /** @} */ -#endif /* _AVR_IOCAN32_H_ */ \ No newline at end of file +#endif /* _AVR_IOCAN32_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iocanxx.h b/cpukit/score/cpu/avr/avr/iocanxx.h index 7ad3b467d0..a593539cb1 100644 --- a/cpukit/score/cpu/avr/avr/iocanxx.h +++ b/cpukit/score/cpu/avr/avr/iocanxx.h @@ -1987,4 +1987,4 @@ /* End Verbatim */ /**@}*/ -#endif /* _AVR_IOCANXX_H_ */ \ No newline at end of file +#endif /* _AVR_IOCANXX_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom103.h b/cpukit/score/cpu/avr/avr/iom103.h index 654318b6fd..fb92877acb 100644 --- a/cpukit/score/cpu/avr/avr/iom103.h +++ b/cpukit/score/cpu/avr/avr/iom103.h @@ -684,4 +684,4 @@ #define SIGNATURE_2 0x01 /** @} */ -#endif /* _AVR_IOM103_H_ */ \ No newline at end of file +#endif /* _AVR_IOM103_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom128.h b/cpukit/score/cpu/avr/avr/iom128.h index 525ca5a7a9..7eeb3f57e6 100644 --- a/cpukit/score/cpu/avr/avr/iom128.h +++ b/cpukit/score/cpu/avr/avr/iom128.h @@ -1212,4 +1212,4 @@ /**@}*/ -#endif /* _AVR_IOM128_H_ */ \ No newline at end of file +#endif /* _AVR_IOM128_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom1281.h b/cpukit/score/cpu/avr/avr/iom1281.h index 41b13f1699..8b764c675e 100644 --- a/cpukit/score/cpu/avr/avr/iom1281.h +++ b/cpukit/score/cpu/avr/avr/iom1281.h @@ -103,4 +103,4 @@ #define SIGNATURE_2 0x04 /**@}*/ -#endif /* _AVR_IOM1281_H_ */ \ No newline at end of file +#endif /* _AVR_IOM1281_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom1284p.h b/cpukit/score/cpu/avr/avr/iom1284p.h index 8f08249cc0..3076de21c6 100644 --- a/cpukit/score/cpu/avr/avr/iom1284p.h +++ b/cpukit/score/cpu/avr/avr/iom1284p.h @@ -1138,4 +1138,4 @@ #define SIGNATURE_2 0x05 /**@}*/ -#endif /* _AVR_IOM1284P_H_ */ \ No newline at end of file +#endif /* _AVR_IOM1284P_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom16.h b/cpukit/score/cpu/avr/avr/iom16.h index 732e746a9f..6d6e9e3e2c 100644 --- a/cpukit/score/cpu/avr/avr/iom16.h +++ b/cpukit/score/cpu/avr/avr/iom16.h @@ -622,4 +622,4 @@ #define SIGNATURE_2 0x03 /**@}*/ -#endif /* _AVR_IOM16_H_ */ \ No newline at end of file +#endif /* _AVR_IOM16_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom161.h b/cpukit/score/cpu/avr/avr/iom161.h index a603cc8c90..af7bebeec1 100644 --- a/cpukit/score/cpu/avr/avr/iom161.h +++ b/cpukit/score/cpu/avr/avr/iom161.h @@ -682,4 +682,4 @@ /**@}*/ -#endif /* _AVR_IOM161_H_ */ \ No newline at end of file +#endif /* _AVR_IOM161_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom162.h b/cpukit/score/cpu/avr/avr/iom162.h index 98c2b464fb..d10a59aff7 100644 --- a/cpukit/score/cpu/avr/avr/iom162.h +++ b/cpukit/score/cpu/avr/avr/iom162.h @@ -961,4 +961,4 @@ /**@}*/ -#endif /* _AVR_IOM162_H_ */ \ No newline at end of file +#endif /* _AVR_IOM162_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom163.h b/cpukit/score/cpu/avr/avr/iom163.h index f476114fe4..2dabcd8d40 100644 --- a/cpukit/score/cpu/avr/avr/iom163.h +++ b/cpukit/score/cpu/avr/avr/iom163.h @@ -648,4 +648,4 @@ /**@}*/ -#endif /* _AVR_IOM163_H_ */ \ No newline at end of file +#endif /* _AVR_IOM163_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom168.h b/cpukit/score/cpu/avr/avr/iom168.h index f228906c8e..7f1dee2345 100644 --- a/cpukit/score/cpu/avr/avr/iom168.h +++ b/cpukit/score/cpu/avr/avr/iom168.h @@ -101,4 +101,4 @@ #define SIGNATURE_2 0x06 /**@}*/ -#endif /* _AVR_IOM168_H_ */ \ No newline at end of file +#endif /* _AVR_IOM168_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom168p.h b/cpukit/score/cpu/avr/avr/iom168p.h index 4567cbba77..987d489434 100644 --- a/cpukit/score/cpu/avr/avr/iom168p.h +++ b/cpukit/score/cpu/avr/avr/iom168p.h @@ -882,4 +882,4 @@ #define SIGNATURE_2 0x0B /**@}*/ -#endif /* _AVR_IOM168P_H_ */ \ No newline at end of file +#endif /* _AVR_IOM168P_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom169pa.h b/cpukit/score/cpu/avr/avr/iom169pa.h index 75f0b4f111..f9a165b5a7 100644 --- a/cpukit/score/cpu/avr/avr/iom169pa.h +++ b/cpukit/score/cpu/avr/avr/iom169pa.h @@ -1480,4 +1480,4 @@ #define ADC0_BIT 0 /** @} */ -#endif /* _AVR_ATmega169PA_H_ */ \ No newline at end of file +#endif /* _AVR_ATmega169PA_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom16hva2.h b/cpukit/score/cpu/avr/avr/iom16hva2.h index be5466032f..bca3d20d87 100644 --- a/cpukit/score/cpu/avr/avr/iom16hva2.h +++ b/cpukit/score/cpu/avr/avr/iom16hva2.h @@ -878,4 +878,4 @@ #define OC_BIT OC /**@}*/ -#endif /* _AVR_ATmega16HVA2_H_ */ \ No newline at end of file +#endif /* _AVR_ATmega16HVA2_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom16hvb.h b/cpukit/score/cpu/avr/avr/iom16hvb.h index 43cf5813ae..ad6720eb45 100644 --- a/cpukit/score/cpu/avr/avr/iom16hvb.h +++ b/cpukit/score/cpu/avr/avr/iom16hvb.h @@ -1046,4 +1046,4 @@ #define OC_BIT OC /**@}*/ -#endif /* _AVR_ATmega16HVB_H_ */ \ No newline at end of file +#endif /* _AVR_ATmega16HVB_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom16m1.h b/cpukit/score/cpu/avr/avr/iom16m1.h index c05ca789e0..4ca8f1e40c 100644 --- a/cpukit/score/cpu/avr/avr/iom16m1.h +++ b/cpukit/score/cpu/avr/avr/iom16m1.h @@ -1554,4 +1554,4 @@ #define SIGNATURE_2 0x84 /**@}*/ -#endif /* _AVR_ATmega16M1_H_ */ \ No newline at end of file +#endif /* _AVR_ATmega16M1_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom16u2.h b/cpukit/score/cpu/avr/avr/iom16u2.h index 909c80104c..bae63fa594 100644 --- a/cpukit/score/cpu/avr/avr/iom16u2.h +++ b/cpukit/score/cpu/avr/avr/iom16u2.h @@ -987,4 +987,4 @@ /**@}*/ /* Device Pin Definitions */ -#endif /* _AVR_ATmega16U2_H_ */ \ No newline at end of file +#endif /* _AVR_ATmega16U2_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom16u4.h b/cpukit/score/cpu/avr/avr/iom16u4.h index 6c145f02bb..79e577919b 100644 --- a/cpukit/score/cpu/avr/avr/iom16u4.h +++ b/cpukit/score/cpu/avr/avr/iom16u4.h @@ -1363,4 +1363,4 @@ #define SIGNATURE_2 0x88 /**@}*/ -#endif /* _AVR_ATmega16U4_H_ */ \ No newline at end of file +#endif /* _AVR_ATmega16U4_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom32.h b/cpukit/score/cpu/avr/avr/iom32.h index 11e332ec28..88465252d6 100644 --- a/cpukit/score/cpu/avr/avr/iom32.h +++ b/cpukit/score/cpu/avr/avr/iom32.h @@ -704,4 +704,4 @@ #define SIGNATURE_2 0x02 /**@}*/ -#endif /* _AVR_IOM32_H_ */ \ No newline at end of file +#endif /* _AVR_IOM32_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom323.h b/cpukit/score/cpu/avr/avr/iom323.h index 4bdb820a38..d631ab5e06 100644 --- a/cpukit/score/cpu/avr/avr/iom323.h +++ b/cpukit/score/cpu/avr/avr/iom323.h @@ -696,4 +696,4 @@ #define SIGNATURE_2 0x01 /**@}*/ -#endif /* _AVR_IOM323_H_ */ \ No newline at end of file +#endif /* _AVR_IOM323_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom324.h b/cpukit/score/cpu/avr/avr/iom324.h index 37fbce5a9e..09fbd51f66 100644 --- a/cpukit/score/cpu/avr/avr/iom324.h +++ b/cpukit/score/cpu/avr/avr/iom324.h @@ -102,4 +102,4 @@ #define SIGNATURE_2 0x08 /**@}*/ -#endif /* _AVR_IOM324_H_ */ \ No newline at end of file +#endif /* _AVR_IOM324_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom3290.h b/cpukit/score/cpu/avr/avr/iom3290.h index 9d9066fc6c..9dea54010d 100644 --- a/cpukit/score/cpu/avr/avr/iom3290.h +++ b/cpukit/score/cpu/avr/avr/iom3290.h @@ -1166,4 +1166,4 @@ #define SIGNATURE_2 0x04 /** @} */ -#endif /* _AVR_IOM3290_H_ */ \ No newline at end of file +#endif /* _AVR_IOM3290_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom32c1.h b/cpukit/score/cpu/avr/avr/iom32c1.h index ba558b80e8..fa771e478d 100644 --- a/cpukit/score/cpu/avr/avr/iom32c1.h +++ b/cpukit/score/cpu/avr/avr/iom32c1.h @@ -1305,4 +1305,4 @@ /** @} */ -#endif /* _AVR_ATmega32C1_H_ */ \ No newline at end of file +#endif /* _AVR_ATmega32C1_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom32m1.h b/cpukit/score/cpu/avr/avr/iom32m1.h index e9ba6ae60b..2b2888215d 100644 --- a/cpukit/score/cpu/avr/avr/iom32m1.h +++ b/cpukit/score/cpu/avr/avr/iom32m1.h @@ -1579,4 +1579,4 @@ /** @} */ -#endif /* _AVR_ATmega32M1_H_ */ \ No newline at end of file +#endif /* _AVR_ATmega32M1_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom32u6.h b/cpukit/score/cpu/avr/avr/iom32u6.h index 929e1c5e29..9f4211dd80 100644 --- a/cpukit/score/cpu/avr/avr/iom32u6.h +++ b/cpukit/score/cpu/avr/avr/iom32u6.h @@ -1418,4 +1418,4 @@ /**@}*/ -#endif /* _AVR_ATmega32U6_H_ */ \ No newline at end of file +#endif /* _AVR_ATmega32U6_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom406.h b/cpukit/score/cpu/avr/avr/iom406.h index fd144f0b36..b0baafd024 100644 --- a/cpukit/score/cpu/avr/avr/iom406.h +++ b/cpukit/score/cpu/avr/avr/iom406.h @@ -777,4 +777,4 @@ /**@}*/ -#endif /* _AVR_IOM406_H_ */ \ No newline at end of file +#endif /* _AVR_IOM406_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom48.h b/cpukit/score/cpu/avr/avr/iom48.h index 9a79a53c82..2840dff539 100644 --- a/cpukit/score/cpu/avr/avr/iom48.h +++ b/cpukit/score/cpu/avr/avr/iom48.h @@ -97,4 +97,4 @@ #define SIGNATURE_2 0x05 /**@}*/ -#endif /* _AVR_IOM48_H_ */ \ No newline at end of file +#endif /* _AVR_IOM48_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom48p.h b/cpukit/score/cpu/avr/avr/iom48p.h index 1a8a874d95..db48949ae3 100644 --- a/cpukit/score/cpu/avr/avr/iom48p.h +++ b/cpukit/score/cpu/avr/avr/iom48p.h @@ -876,4 +876,4 @@ /**@}*/ -#endif /* _AVR_IOM48P_H_ */ \ No newline at end of file +#endif /* _AVR_IOM48P_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom644pa.h b/cpukit/score/cpu/avr/avr/iom644pa.h index 39bdebab2a..e794e089a5 100644 --- a/cpukit/score/cpu/avr/avr/iom644pa.h +++ b/cpukit/score/cpu/avr/avr/iom644pa.h @@ -1377,4 +1377,4 @@ #define PCINT12_BIT 4 /**@}*/ -#endif /* _AVR_ATmega644PA_H_ */ \ No newline at end of file +#endif /* _AVR_ATmega644PA_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom645.h b/cpukit/score/cpu/avr/avr/iom645.h index 7eee05fc14..991ff821fd 100644 --- a/cpukit/score/cpu/avr/avr/iom645.h +++ b/cpukit/score/cpu/avr/avr/iom645.h @@ -824,4 +824,4 @@ #define SIGNATURE_2 0x05 /**@}*/ -#endif /* _AVR_IOM645_H_ */ \ No newline at end of file +#endif /* _AVR_IOM645_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom649.h b/cpukit/score/cpu/avr/avr/iom649.h index c2cad87d79..2064573933 100644 --- a/cpukit/score/cpu/avr/avr/iom649.h +++ b/cpukit/score/cpu/avr/avr/iom649.h @@ -1002,4 +1002,4 @@ #define SIGNATURE_2 0x03 /**@}*/ -#endif /* _AVR_IOM649_H_ */ \ No newline at end of file +#endif /* _AVR_IOM649_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom6490.h b/cpukit/score/cpu/avr/avr/iom6490.h index e83cb8800b..10334d7677 100644 --- a/cpukit/score/cpu/avr/avr/iom6490.h +++ b/cpukit/score/cpu/avr/avr/iom6490.h @@ -1155,4 +1155,4 @@ /**@}*/ -#endif /* _AVR_IOM6490_H_ */ \ No newline at end of file +#endif /* _AVR_IOM6490_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom64hve.h b/cpukit/score/cpu/avr/avr/iom64hve.h index ddaee6d0c3..913697de98 100644 --- a/cpukit/score/cpu/avr/avr/iom64hve.h +++ b/cpukit/score/cpu/avr/avr/iom64hve.h @@ -1027,4 +1027,4 @@ #define OC_BIT OC /**@}*/ -#endif /* _AVR_ATmega64HVE_H_ */ \ No newline at end of file +#endif /* _AVR_ATmega64HVE_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom8515.h b/cpukit/score/cpu/avr/avr/iom8515.h index f653afce92..7576f8df4e 100644 --- a/cpukit/score/cpu/avr/avr/iom8515.h +++ b/cpukit/score/cpu/avr/avr/iom8515.h @@ -644,4 +644,4 @@ #define SIGNATURE_2 0x06 /**@}*/ -#endif /* _AVR_IOM8515_H_ */ \ No newline at end of file +#endif /* _AVR_IOM8515_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iom88p.h b/cpukit/score/cpu/avr/avr/iom88p.h index 7ea5c6840a..0c98183d58 100644 --- a/cpukit/score/cpu/avr/avr/iom88p.h +++ b/cpukit/score/cpu/avr/avr/iom88p.h @@ -881,4 +881,4 @@ #define SIGNATURE_2 0x0F /**@}*/ -#endif /* _AVR_IOM88P_H_ */ \ No newline at end of file +#endif /* _AVR_IOM88P_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iomxx0_1.h b/cpukit/score/cpu/avr/avr/iomxx0_1.h index a2c8690195..2e62117ce9 100644 --- a/cpukit/score/cpu/avr/avr/iomxx0_1.h +++ b/cpukit/score/cpu/avr/avr/iomxx0_1.h @@ -1561,4 +1561,4 @@ #endif /**@}*/ -#endif /* _AVR_IOMXX0_1_H_ */ \ No newline at end of file +#endif /* _AVR_IOMXX0_1_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iomxx4.h b/cpukit/score/cpu/avr/avr/iomxx4.h index 03c1cfc39b..ff5c85c836 100644 --- a/cpukit/score/cpu/avr/avr/iomxx4.h +++ b/cpukit/score/cpu/avr/avr/iomxx4.h @@ -879,4 +879,4 @@ /** @} */ -#endif /* _AVR_IOMXX4_H_ */ \ No newline at end of file +#endif /* _AVR_IOMXX4_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iomxxhva.h b/cpukit/score/cpu/avr/avr/iomxxhva.h index bee28b2fd2..2f62e18a0b 100644 --- a/cpukit/score/cpu/avr/avr/iomxxhva.h +++ b/cpukit/score/cpu/avr/avr/iomxxhva.h @@ -531,4 +531,4 @@ #endif /**@}*/ -#endif /* _AVR_IOMXXHVA_H_ */ \ No newline at end of file +#endif /* _AVR_IOMXXHVA_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn11.h b/cpukit/score/cpu/avr/avr/iotn11.h index 8be3d48f6b..8310f560ed 100644 --- a/cpukit/score/cpu/avr/avr/iotn11.h +++ b/cpukit/score/cpu/avr/avr/iotn11.h @@ -243,4 +243,4 @@ /**@}*/ -#endif /* _AVR_IOTN11_H_ */ \ No newline at end of file +#endif /* _AVR_IOTN11_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn12.h b/cpukit/score/cpu/avr/avr/iotn12.h index d4b0521e75..5851dee68b 100644 --- a/cpukit/score/cpu/avr/avr/iotn12.h +++ b/cpukit/score/cpu/avr/avr/iotn12.h @@ -273,4 +273,4 @@ #define SIGNATURE_2 0x05 /**@}*/ -#endif /* _AVR_IOTN12_H_ */ \ No newline at end of file +#endif /* _AVR_IOTN12_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn13.h b/cpukit/score/cpu/avr/avr/iotn13.h index 0338146d9c..3f491fa914 100644 --- a/cpukit/score/cpu/avr/avr/iotn13.h +++ b/cpukit/score/cpu/avr/avr/iotn13.h @@ -373,4 +373,4 @@ /**@}*/ -#endif /* _AVR_IOTN13_H_*/ \ No newline at end of file +#endif /* _AVR_IOTN13_H_*/ diff --git a/cpukit/score/cpu/avr/avr/iotn15.h b/cpukit/score/cpu/avr/avr/iotn15.h index 1740ca6fae..dae88c0b75 100644 --- a/cpukit/score/cpu/avr/avr/iotn15.h +++ b/cpukit/score/cpu/avr/avr/iotn15.h @@ -342,4 +342,4 @@ #define SIGNATURE_2 0x06 /** @} */ -#endif /* _AVR_IOTN15_H_ */ \ No newline at end of file +#endif /* _AVR_IOTN15_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn2313a.h b/cpukit/score/cpu/avr/avr/iotn2313a.h index 0c82ce0d3e..a84e4ee3a3 100644 --- a/cpukit/score/cpu/avr/avr/iotn2313a.h +++ b/cpukit/score/cpu/avr/avr/iotn2313a.h @@ -776,4 +776,4 @@ #define SCL_BIT 7 /**@}*/ -#endif /* _AVR_ATtiny2313A_H_ */ \ No newline at end of file +#endif /* _AVR_ATtiny2313A_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn24.h b/cpukit/score/cpu/avr/avr/iotn24.h index fb60907d5f..2fc94b10da 100644 --- a/cpukit/score/cpu/avr/avr/iotn24.h +++ b/cpukit/score/cpu/avr/avr/iotn24.h @@ -98,4 +98,4 @@ /**@}*/ -#endif /* _AVR_IOTN24_H_ */ \ No newline at end of file +#endif /* _AVR_IOTN24_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn24a.h b/cpukit/score/cpu/avr/avr/iotn24a.h index 0ca2fa3c39..266bc94db8 100644 --- a/cpukit/score/cpu/avr/avr/iotn24a.h +++ b/cpukit/score/cpu/avr/avr/iotn24a.h @@ -838,4 +838,4 @@ #define PCINT5_BIT 5 /**@}*/ -#endif /* _AVR_ATtiny24A_H_ */ \ No newline at end of file +#endif /* _AVR_ATtiny24A_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn261a.h b/cpukit/score/cpu/avr/avr/iotn261a.h index aee8b49304..607642fe88 100644 --- a/cpukit/score/cpu/avr/avr/iotn261a.h +++ b/cpukit/score/cpu/avr/avr/iotn261a.h @@ -983,4 +983,4 @@ #define PA0_BIT ADC0 /**@}*/ -#endif /* _AVR_ATtiny261A_H_ */ \ No newline at end of file +#endif /* _AVR_ATtiny261A_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn4313.h b/cpukit/score/cpu/avr/avr/iotn4313.h index c9e4fb3d57..f3744853fd 100644 --- a/cpukit/score/cpu/avr/avr/iotn4313.h +++ b/cpukit/score/cpu/avr/avr/iotn4313.h @@ -776,4 +776,4 @@ #define SCL_BIT 7 /**@}*/ -#endif /* _AVR_ATtiny4313_H_ */ \ No newline at end of file +#endif /* _AVR_ATtiny4313_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn43u.h b/cpukit/score/cpu/avr/avr/iotn43u.h index 553f1e6a17..52038673ad 100644 --- a/cpukit/score/cpu/avr/avr/iotn43u.h +++ b/cpukit/score/cpu/avr/avr/iotn43u.h @@ -583,4 +583,4 @@ /**@}*/ -#endif /* _AVR_IOTN43U_H_ */ \ No newline at end of file +#endif /* _AVR_IOTN43U_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn44.h b/cpukit/score/cpu/avr/avr/iotn44.h index 6bd14a4d1f..5c41ef5484 100644 --- a/cpukit/score/cpu/avr/avr/iotn44.h +++ b/cpukit/score/cpu/avr/avr/iotn44.h @@ -98,4 +98,4 @@ #define SIGNATURE_2 0x07 /**@}*/ -#endif /* _AVR_IOTN44_H_ */ \ No newline at end of file +#endif /* _AVR_IOTN44_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn45.h b/cpukit/score/cpu/avr/avr/iotn45.h index 29a1f79457..b8351210b0 100644 --- a/cpukit/score/cpu/avr/avr/iotn45.h +++ b/cpukit/score/cpu/avr/avr/iotn45.h @@ -98,4 +98,4 @@ /**@}*/ -#endif /* _AVR_IOTN45_H_ */ \ No newline at end of file +#endif /* _AVR_IOTN45_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn461a.h b/cpukit/score/cpu/avr/avr/iotn461a.h index 0a5508efef..8aac4fbba9 100644 --- a/cpukit/score/cpu/avr/avr/iotn461a.h +++ b/cpukit/score/cpu/avr/avr/iotn461a.h @@ -983,4 +983,4 @@ #define PA0_BIT ADC0 /**@}*/ -#endif /* _AVR_ATtiny461A_H_ */ \ No newline at end of file +#endif /* _AVR_ATtiny461A_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn48.h b/cpukit/score/cpu/avr/avr/iotn48.h index 54fa7468fa..d878e98305 100644 --- a/cpukit/score/cpu/avr/avr/iotn48.h +++ b/cpukit/score/cpu/avr/avr/iotn48.h @@ -764,4 +764,4 @@ #define SIGNATURE_2 0x09 /**@}*/ -#endif /* _AVR_IOTN48_H_ */ \ No newline at end of file +#endif /* _AVR_IOTN48_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn85.h b/cpukit/score/cpu/avr/avr/iotn85.h index 72c75a5bce..37b37054a6 100644 --- a/cpukit/score/cpu/avr/avr/iotn85.h +++ b/cpukit/score/cpu/avr/avr/iotn85.h @@ -98,4 +98,4 @@ #define SIGNATURE_2 0x0B /** @} */ -#endif /* _AVR_IOTN85_H_ */ \ No newline at end of file +#endif /* _AVR_IOTN85_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn861a.h b/cpukit/score/cpu/avr/avr/iotn861a.h index 623c1d4acf..654f0959fd 100644 --- a/cpukit/score/cpu/avr/avr/iotn861a.h +++ b/cpukit/score/cpu/avr/avr/iotn861a.h @@ -983,4 +983,4 @@ #define PA0_BIT ADC0 /**@}*/ -#endif /* _AVR_ATtiny861A_H_ */ \ No newline at end of file +#endif /* _AVR_ATtiny861A_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotn87.h b/cpukit/score/cpu/avr/avr/iotn87.h index 9ef33a7e08..099d81c05f 100644 --- a/cpukit/score/cpu/avr/avr/iotn87.h +++ b/cpukit/score/cpu/avr/avr/iotn87.h @@ -853,4 +853,4 @@ #define SIGNATURE_2 0x87 /**@}*/ -#endif /* _AVR_ATtiny87_H_ */ \ No newline at end of file +#endif /* _AVR_ATtiny87_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotnx5.h b/cpukit/score/cpu/avr/avr/iotnx5.h index 7fa67ac8b8..34edf06e8b 100644 --- a/cpukit/score/cpu/avr/avr/iotnx5.h +++ b/cpukit/score/cpu/avr/avr/iotnx5.h @@ -425,4 +425,4 @@ #define _VECTORS_SIZE 30 /**@}*/ -#endif /* _AVR_IOTNX5_H_ */ \ No newline at end of file +#endif /* _AVR_IOTNX5_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iotnx61.h b/cpukit/score/cpu/avr/avr/iotnx61.h index d39949f2d1..e909369733 100644 --- a/cpukit/score/cpu/avr/avr/iotnx61.h +++ b/cpukit/score/cpu/avr/avr/iotnx61.h @@ -525,4 +525,4 @@ #define _VECTORS_SIZE 38 /** @} */ -#endif /* _AVR_IOTNx61_H_ */ \ No newline at end of file +#endif /* _AVR_IOTNx61_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iousb1286.h b/cpukit/score/cpu/avr/avr/iousb1286.h index ed480a1dac..5f9411daff 100644 --- a/cpukit/score/cpu/avr/avr/iousb1286.h +++ b/cpukit/score/cpu/avr/avr/iousb1286.h @@ -102,4 +102,4 @@ #define SIGNATURE_2 0x82 /**@}*/ -#endif /* _AVR_AT90USB1286_H_ */ \ No newline at end of file +#endif /* _AVR_AT90USB1286_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iousb1287.h b/cpukit/score/cpu/avr/avr/iousb1287.h index 8a2b704a3b..f75894bdbc 100644 --- a/cpukit/score/cpu/avr/avr/iousb1287.h +++ b/cpukit/score/cpu/avr/avr/iousb1287.h @@ -103,4 +103,4 @@ /**@}*/ -#endif /* _AVR_AT90USB1287_H_ */ \ No newline at end of file +#endif /* _AVR_AT90USB1287_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iousb646.h b/cpukit/score/cpu/avr/avr/iousb646.h index ae7c359ebc..035cbcd2bc 100644 --- a/cpukit/score/cpu/avr/avr/iousb646.h +++ b/cpukit/score/cpu/avr/avr/iousb646.h @@ -103,4 +103,4 @@ /**@}*/ -#endif /* _AVR_AT90USB646_H_ */ \ No newline at end of file +#endif /* _AVR_AT90USB646_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iousbxx6_7.h b/cpukit/score/cpu/avr/avr/iousbxx6_7.h index 8f6f279c65..c923c22c82 100644 --- a/cpukit/score/cpu/avr/avr/iousbxx6_7.h +++ b/cpukit/score/cpu/avr/avr/iousbxx6_7.h @@ -1293,4 +1293,4 @@ #endif /* __AT90USBxx7__ */ /**@}*/ -#endif /* _AVR_IOUSBXX6_7_H_ */ \ No newline at end of file +#endif /* _AVR_IOUSBXX6_7_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iox128a3.h b/cpukit/score/cpu/avr/avr/iox128a3.h index 759c97f141..e5edf62944 100644 --- a/cpukit/score/cpu/avr/avr/iox128a3.h +++ b/cpukit/score/cpu/avr/avr/iox128a3.h @@ -6897,4 +6897,4 @@ IO Module Instances. Mapped to memory. /**@}*/ -#endif /* _AVR_ATxmega128A3_H_ */ \ No newline at end of file +#endif /* _AVR_ATxmega128A3_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iox16a4.h b/cpukit/score/cpu/avr/avr/iox16a4.h index 2a6873e701..cff1d53360 100644 --- a/cpukit/score/cpu/avr/avr/iox16a4.h +++ b/cpukit/score/cpu/avr/avr/iox16a4.h @@ -6652,4 +6652,4 @@ IO Module Instances. Mapped to memory. /**@}*/ -#endif /* _AVR_ATxmega16A4_H_ */ \ No newline at end of file +#endif /* _AVR_ATxmega16A4_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iox16d4.h b/cpukit/score/cpu/avr/avr/iox16d4.h index f5a3a093b3..0bb088759c 100644 --- a/cpukit/score/cpu/avr/avr/iox16d4.h +++ b/cpukit/score/cpu/avr/avr/iox16d4.h @@ -5549,4 +5549,4 @@ IO Module Instances. Mapped to memory. /**@}*/ -#endif /* _AVR_ATxmega16D4_H_ */ \ No newline at end of file +#endif /* _AVR_ATxmega16D4_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iox192a3.h b/cpukit/score/cpu/avr/avr/iox192a3.h index a28d4c5015..e0f7c26ab2 100644 --- a/cpukit/score/cpu/avr/avr/iox192a3.h +++ b/cpukit/score/cpu/avr/avr/iox192a3.h @@ -6897,4 +6897,4 @@ IO Module Instances. Mapped to memory. /**@}*/ -#endif /* _AVR_ATxmega192A3_H_ */ \ No newline at end of file +#endif /* _AVR_ATxmega192A3_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iox192d3.h b/cpukit/score/cpu/avr/avr/iox192d3.h index a093d53aeb..e29356e3cf 100644 --- a/cpukit/score/cpu/avr/avr/iox192d3.h +++ b/cpukit/score/cpu/avr/avr/iox192d3.h @@ -5652,4 +5652,4 @@ IO Module Instances. Mapped to memory. #define SIGNATURE_2 0x49 /**@}*/ -#endif /* _AVR_ATxmega192D3_H_ */ \ No newline at end of file +#endif /* _AVR_ATxmega192D3_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iox256a3b.h b/cpukit/score/cpu/avr/avr/iox256a3b.h index f1d41dd96a..deee492cca 100644 --- a/cpukit/score/cpu/avr/avr/iox256a3b.h +++ b/cpukit/score/cpu/avr/avr/iox256a3b.h @@ -6899,4 +6899,4 @@ IO Module Instances. Mapped to memory. /**@}*/ -#endif /* _AVR_ATxmega256A3B_H_ */ \ No newline at end of file +#endif /* _AVR_ATxmega256A3B_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iox32a4.h b/cpukit/score/cpu/avr/avr/iox32a4.h index 6196180847..f0eba4ecc0 100644 --- a/cpukit/score/cpu/avr/avr/iox32a4.h +++ b/cpukit/score/cpu/avr/avr/iox32a4.h @@ -6652,4 +6652,4 @@ IO Module Instances. Mapped to memory. /**@}*/ -#endif /* _AVR_ATxmega32A4_H_ */ \ No newline at end of file +#endif /* _AVR_ATxmega32A4_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iox64a1.h b/cpukit/score/cpu/avr/avr/iox64a1.h index 35d2f7fa0f..73acf1afdc 100644 --- a/cpukit/score/cpu/avr/avr/iox64a1.h +++ b/cpukit/score/cpu/avr/avr/iox64a1.h @@ -7147,4 +7147,4 @@ IO Module Instances. Mapped to memory. /**@}*/ -#endif /* _AVR_ATxmega64A1_H_ */ \ No newline at end of file +#endif /* _AVR_ATxmega64A1_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iox64a3.h b/cpukit/score/cpu/avr/avr/iox64a3.h index 4f9a18e851..a3a73a44e9 100644 --- a/cpukit/score/cpu/avr/avr/iox64a3.h +++ b/cpukit/score/cpu/avr/avr/iox64a3.h @@ -6896,4 +6896,4 @@ IO Module Instances. Mapped to memory. #define SIGNATURE_2 0x42 /**@}*/ -#endif /* _AVR_ATxmega64A3_H_ */ \ No newline at end of file +#endif /* _AVR_ATxmega64A3_H_ */ diff --git a/cpukit/score/cpu/avr/avr/iox64d3.h b/cpukit/score/cpu/avr/avr/iox64d3.h index 6383caaaa3..5a0bdb5584 100644 --- a/cpukit/score/cpu/avr/avr/iox64d3.h +++ b/cpukit/score/cpu/avr/avr/iox64d3.h @@ -5666,4 +5666,4 @@ IO Module Instances. Mapped to memory. #define SIGNATURE_2 0x4A /**@}*/ -#endif /* _AVR_ATxmega64D3_H_ */ \ No newline at end of file +#endif /* _AVR_ATxmega64D3_H_ */ diff --git a/cpukit/score/cpu/avr/avr/lock.h b/cpukit/score/cpu/avr/avr/lock.h index ad0d74adc5..182f0f4cd8 100644 --- a/cpukit/score/cpu/avr/avr/lock.h +++ b/cpukit/score/cpu/avr/avr/lock.h @@ -240,4 +240,4 @@ #define LOCKBITS_DEFAULT (0xFF) /**@}*/ -#endif /* _AVR_LOCK_H_ */ \ No newline at end of file +#endif /* _AVR_LOCK_H_ */ diff --git a/cpukit/score/cpu/avr/avr/parity.h b/cpukit/score/cpu/avr/avr/parity.h index 228c0ccd97..97ba0654b7 100644 --- a/cpukit/score/cpu/avr/avr/parity.h +++ b/cpukit/score/cpu/avr/avr/parity.h @@ -52,4 +52,4 @@ #include /** @} */ -#endif /* _AVR_PARITY_H_ */ \ No newline at end of file +#endif /* _AVR_PARITY_H_ */ diff --git a/cpukit/score/cpu/avr/avr/power.h b/cpukit/score/cpu/avr/avr/power.h index 180f9a2e4a..b101f3bcbd 100644 --- a/cpukit/score/cpu/avr/avr/power.h +++ b/cpukit/score/cpu/avr/avr/power.h @@ -1198,4 +1198,4 @@ void clock_prescale_set(clock_div_t __x) #endif /**@}*/ -#endif /* _AVR_POWER_H_ */ \ No newline at end of file +#endif /* _AVR_POWER_H_ */ diff --git a/cpukit/score/cpu/avr/avr/signal.h b/cpukit/score/cpu/avr/avr/signal.h index 5cce9c9164..898df4acb8 100644 --- a/cpukit/score/cpu/avr/avr/signal.h +++ b/cpukit/score/cpu/avr/avr/signal.h @@ -51,4 +51,4 @@ #include /**@}*/ -#endif /* _AVR_SIGNAL_H_ */ \ No newline at end of file +#endif /* _AVR_SIGNAL_H_ */ diff --git a/cpukit/score/cpu/avr/avr/version.h b/cpukit/score/cpu/avr/avr/version.h index b5abcb9a7a..7af5025921 100644 --- a/cpukit/score/cpu/avr/avr/version.h +++ b/cpukit/score/cpu/avr/avr/version.h @@ -97,4 +97,4 @@ #define __AVR_LIBC_REVISION__ 8 /**@}*/ -#endif /* _AVR_VERSION_H_ */ \ No newline at end of file +#endif /* _AVR_VERSION_H_ */ diff --git a/cpukit/score/cpu/mips/rtems/mips/idtcpu.h b/cpukit/score/cpu/mips/rtems/mips/idtcpu.h index 746129e116..927bbec133 100644 --- a/cpukit/score/cpu/mips/rtems/mips/idtcpu.h +++ b/cpukit/score/cpu/mips/rtems/mips/idtcpu.h @@ -705,4 +705,4 @@ #endif /**@}*/ -#endif /* _RTEMS_MIPS_IDTCPU_H */ \ No newline at end of file +#endif /* _RTEMS_MIPS_IDTCPU_H */ diff --git a/cpukit/score/cpu/mips/rtems/mips/iregdef.h b/cpukit/score/cpu/mips/rtems/mips/iregdef.h index 0dc9de7acc..5d41074184 100644 --- a/cpukit/score/cpu/mips/rtems/mips/iregdef.h +++ b/cpukit/score/cpu/mips/rtems/mips/iregdef.h @@ -334,4 +334,4 @@ #endif /**@}*/ -#endif /* _RTEMS_MIPS_IREGDEF_H */ \ No newline at end of file +#endif /* _RTEMS_MIPS_IREGDEF_H */ diff --git a/cpukit/score/cpu/mips/rtems/score/cpu.h b/cpukit/score/cpu/mips/rtems/score/cpu.h index 64686ffb25..b4d040e72b 100644 --- a/cpukit/score/cpu/mips/rtems/score/cpu.h +++ b/cpukit/score/cpu/mips/rtems/score/cpu.h @@ -1181,4 +1181,4 @@ static inline uint32_t CPU_swap_u32( #endif /**@}*/ -#endif \ No newline at end of file +#endif diff --git a/cpukit/score/cpu/mips/rtems/score/mips.h b/cpukit/score/cpu/mips/rtems/score/mips.h index e9b03c059b..8348501e30 100644 --- a/cpukit/score/cpu/mips/rtems/score/mips.h +++ b/cpukit/score/cpu/mips/rtems/score/mips.h @@ -296,4 +296,4 @@ extern "C" { /**@}*/ #endif /* _RTEMS_SCORE_MIPS_H */ -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/cpu/mips/rtems/score/types.h b/cpukit/score/cpu/mips/rtems/score/types.h index 5885402daf..f935389271 100644 --- a/cpukit/score/cpu/mips/rtems/score/types.h +++ b/cpukit/score/cpu/mips/rtems/score/types.h @@ -51,4 +51,4 @@ typedef void ( *mips_isr_entry )( void ); #endif /* !ASM */ /**@}*/ -#endif \ No newline at end of file +#endif diff --git a/cpukit/score/cpu/no_cpu/rtems/asm.h b/cpukit/score/cpu/no_cpu/rtems/asm.h index ee6d2644b1..926e3964e5 100644 --- a/cpukit/score/cpu/no_cpu/rtems/asm.h +++ b/cpukit/score/cpu/no_cpu/rtems/asm.h @@ -130,4 +130,4 @@ #define EXTERN(sym) .globl SYM (sym) /**@}*/ -#endif \ No newline at end of file +#endif diff --git a/cpukit/score/include/rtems/bspsmp.h b/cpukit/score/include/rtems/bspsmp.h index dc747e00d2..d0681ca8f2 100644 --- a/cpukit/score/include/rtems/bspsmp.h +++ b/cpukit/score/include/rtems/bspsmp.h @@ -194,4 +194,4 @@ void bsp_smp_wait_for( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/debug.h b/cpukit/score/include/rtems/debug.h index 435a541946..3abec5f22a 100644 --- a/cpukit/score/include/rtems/debug.h +++ b/cpukit/score/include/rtems/debug.h @@ -88,4 +88,4 @@ bool rtems_debug_is_enabled( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/address.h b/cpukit/score/include/rtems/score/address.h index 299d3d270f..85658b55b0 100644 --- a/cpukit/score/include/rtems/score/address.h +++ b/cpukit/score/include/rtems/score/address.h @@ -42,4 +42,4 @@ extern "C" { /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/apiext.h b/cpukit/score/include/rtems/score/apiext.h index 3a14ad4399..54b8049241 100644 --- a/cpukit/score/include/rtems/score/apiext.h +++ b/cpukit/score/include/rtems/score/apiext.h @@ -180,4 +180,4 @@ static inline void _API_extensions_Run_post_switch( Thread_Control *executing ) /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/apimutex.h b/cpukit/score/include/rtems/score/apimutex.h index cb2b8e51ac..4d44f5e3e8 100644 --- a/cpukit/score/include/rtems/score/apimutex.h +++ b/cpukit/score/include/rtems/score/apimutex.h @@ -135,4 +135,4 @@ SCORE_EXTERN API_Mutex_Control *_RTEMS_Allocator_Mutex; #endif #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/basedefs.h b/cpukit/score/include/rtems/score/basedefs.h index 8796e79d3a..d6b5e24e64 100644 --- a/cpukit/score/include/rtems/score/basedefs.h +++ b/cpukit/score/include/rtems/score/basedefs.h @@ -198,4 +198,4 @@ /**@}*/ -#endif /* _RTEMS_BASEDEFS_H */ \ No newline at end of file +#endif /* _RTEMS_BASEDEFS_H */ diff --git a/cpukit/score/include/rtems/score/bitfield.h b/cpukit/score/include/rtems/score/bitfield.h index d73857c9b0..caa289adf0 100644 --- a/cpukit/score/include/rtems/score/bitfield.h +++ b/cpukit/score/include/rtems/score/bitfield.h @@ -107,4 +107,4 @@ const unsigned char __log2table[256] = { /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/chain.h b/cpukit/score/include/rtems/score/chain.h index 51241abaea..ea9f95d87c 100644 --- a/cpukit/score/include/rtems/score/chain.h +++ b/cpukit/score/include/rtems/score/chain.h @@ -277,4 +277,4 @@ size_t _Chain_Node_count_unprotected( const Chain_Control *chain ); /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/context.h b/cpukit/score/include/rtems/score/context.h index bd184a9fb9..02bcf156dd 100644 --- a/cpukit/score/include/rtems/score/context.h +++ b/cpukit/score/include/rtems/score/context.h @@ -179,4 +179,4 @@ extern "C" { /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/corebarrier.h b/cpukit/score/include/rtems/score/corebarrier.h index cab782ce29..1f7c826b79 100644 --- a/cpukit/score/include/rtems/score/corebarrier.h +++ b/cpukit/score/include/rtems/score/corebarrier.h @@ -207,4 +207,4 @@ uint32_t _CORE_barrier_Release( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/coremsg.h b/cpukit/score/include/rtems/score/coremsg.h index c88a32643b..7363060c13 100644 --- a/cpukit/score/include/rtems/score/coremsg.h +++ b/cpukit/score/include/rtems/score/coremsg.h @@ -505,4 +505,4 @@ void _CORE_message_queue_Insert_message( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/coremutex.h b/cpukit/score/include/rtems/score/coremutex.h index 2839d6bf33..69babb9b09 100644 --- a/cpukit/score/include/rtems/score/coremutex.h +++ b/cpukit/score/include/rtems/score/coremutex.h @@ -481,4 +481,4 @@ void _CORE_mutex_Flush( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/corerwlock.h b/cpukit/score/include/rtems/score/corerwlock.h index 2279a75bfe..8281abb9eb 100644 --- a/cpukit/score/include/rtems/score/corerwlock.h +++ b/cpukit/score/include/rtems/score/corerwlock.h @@ -243,4 +243,4 @@ void _CORE_RWLock_Timeout( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/coresem.h b/cpukit/score/include/rtems/score/coresem.h index 77a7d3e25f..3bb8773430 100644 --- a/cpukit/score/include/rtems/score/coresem.h +++ b/cpukit/score/include/rtems/score/coresem.h @@ -225,4 +225,4 @@ void _CORE_semaphore_Flush( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/corespinlock.h b/cpukit/score/include/rtems/score/corespinlock.h index ac910a5e7a..5a5b68168a 100644 --- a/cpukit/score/include/rtems/score/corespinlock.h +++ b/cpukit/score/include/rtems/score/corespinlock.h @@ -168,4 +168,4 @@ CORE_spinlock_Status _CORE_spinlock_Release( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/heap.h b/cpukit/score/include/rtems/score/heap.h index cd54db7e27..0af9798f4f 100644 --- a/cpukit/score/include/rtems/score/heap.h +++ b/cpukit/score/include/rtems/score/heap.h @@ -786,4 +786,4 @@ Heap_Block *_Heap_Block_allocate( #endif #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/interr.h b/cpukit/score/include/rtems/score/interr.h index 5a23013a75..2580c72253 100644 --- a/cpukit/score/include/rtems/score/interr.h +++ b/cpukit/score/include/rtems/score/interr.h @@ -216,4 +216,4 @@ void _Internal_error_Occurred( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/isr.h b/cpukit/score/include/rtems/score/isr.h index b58f8a4cff..aecdfeea5e 100644 --- a/cpukit/score/include/rtems/score/isr.h +++ b/cpukit/score/include/rtems/score/isr.h @@ -381,4 +381,4 @@ void _ISR_Dispatch( void ); /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/isrlevel.h b/cpukit/score/include/rtems/score/isrlevel.h index 0bd9de09c0..e3146e4ef3 100644 --- a/cpukit/score/include/rtems/score/isrlevel.h +++ b/cpukit/score/include/rtems/score/isrlevel.h @@ -43,4 +43,4 @@ typedef uint32_t ISR_Level; #ifdef __cplusplus } #endif -#endif \ No newline at end of file +#endif diff --git a/cpukit/score/include/rtems/score/mpci.h b/cpukit/score/include/rtems/score/mpci.h index 7a8cdd70b9..16f6d36b20 100644 --- a/cpukit/score/include/rtems/score/mpci.h +++ b/cpukit/score/include/rtems/score/mpci.h @@ -432,4 +432,4 @@ MPCI_Internal_packet *_MPCI_Internal_packets_Get_packet ( void ); /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/object.h b/cpukit/score/include/rtems/score/object.h index 6361730900..d6b8f48d35 100644 --- a/cpukit/score/include/rtems/score/object.h +++ b/cpukit/score/include/rtems/score/object.h @@ -896,4 +896,4 @@ Objects_Maximum _Objects_Active_count( /**@}*/ /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/objectmp.h b/cpukit/score/include/rtems/score/objectmp.h index d6f2fba4b3..1ef15b3c72 100644 --- a/cpukit/score/include/rtems/score/objectmp.h +++ b/cpukit/score/include/rtems/score/objectmp.h @@ -200,4 +200,4 @@ SCORE_EXTERN Chain_Control _Objects_MP_Inactive_global_objects; /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/priority.h b/cpukit/score/include/rtems/score/priority.h index bc137b2fc4..091351720c 100644 --- a/cpukit/score/include/rtems/score/priority.h +++ b/cpukit/score/include/rtems/score/priority.h @@ -84,4 +84,4 @@ extern uint8_t rtems_maximum_priority; /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/protectedheap.h b/cpukit/score/include/rtems/score/protectedheap.h index 90b935033f..3fe614379c 100644 --- a/cpukit/score/include/rtems/score/protectedheap.h +++ b/cpukit/score/include/rtems/score/protectedheap.h @@ -169,4 +169,4 @@ uintptr_t _Protected_heap_Get_size( Heap_Control *heap ); #endif #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/smplock.h b/cpukit/score/include/rtems/score/smplock.h index 1f1c992628..6db8a43418 100644 --- a/cpukit/score/include/rtems/score/smplock.h +++ b/cpukit/score/include/rtems/score/smplock.h @@ -146,4 +146,4 @@ void _SMP_lock_spinlock_nested_Release( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/stack.h b/cpukit/score/include/rtems/score/stack.h index cae784602a..9aa90425c4 100644 --- a/cpukit/score/include/rtems/score/stack.h +++ b/cpukit/score/include/rtems/score/stack.h @@ -68,4 +68,4 @@ extern uint32_t rtems_minimum_stack_size; /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/thread.h b/cpukit/score/include/rtems/score/thread.h index 5b0ecd90ba..f9f2317ea6 100644 --- a/cpukit/score/include/rtems/score/thread.h +++ b/cpukit/score/include/rtems/score/thread.h @@ -968,4 +968,4 @@ void _Thread_blocking_operation_Cancel( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/threadmp.h b/cpukit/score/include/rtems/score/threadmp.h index 945b9c1969..6c9788fe28 100644 --- a/cpukit/score/include/rtems/score/threadmp.h +++ b/cpukit/score/include/rtems/score/threadmp.h @@ -94,4 +94,4 @@ SCORE_EXTERN Chain_Control _Thread_MP_Inactive_proxies; /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/threadq.h b/cpukit/score/include/rtems/score/threadq.h index 494fe01f58..c004d2d8ea 100644 --- a/cpukit/score/include/rtems/score/threadq.h +++ b/cpukit/score/include/rtems/score/threadq.h @@ -378,4 +378,4 @@ void _Thread_queue_Process_timeout( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/threadsync.h b/cpukit/score/include/rtems/score/threadsync.h index 3d045948fe..a740302f7e 100644 --- a/cpukit/score/include/rtems/score/threadsync.h +++ b/cpukit/score/include/rtems/score/threadsync.h @@ -57,4 +57,4 @@ typedef enum { /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/timespec.h b/cpukit/score/include/rtems/score/timespec.h index 04f066baa7..99424f92dc 100644 --- a/cpukit/score/include/rtems/score/timespec.h +++ b/cpukit/score/include/rtems/score/timespec.h @@ -256,4 +256,4 @@ void _Timespec_Divide( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/tod.h b/cpukit/score/include/rtems/score/tod.h index 6213e51da5..cfbd00ba52 100644 --- a/cpukit/score/include/rtems/score/tod.h +++ b/cpukit/score/include/rtems/score/tod.h @@ -324,4 +324,4 @@ uint32_t TOD_TICKS_PER_SECOND_method(void); /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/tqdata.h b/cpukit/score/include/rtems/score/tqdata.h index a4816d700e..c556d3ffe8 100644 --- a/cpukit/score/include/rtems/score/tqdata.h +++ b/cpukit/score/include/rtems/score/tqdata.h @@ -115,4 +115,4 @@ typedef struct { /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/userextimpl.h b/cpukit/score/include/rtems/score/userextimpl.h index 4eaa137bf7..c3b02c7f44 100644 --- a/cpukit/score/include/rtems/score/userextimpl.h +++ b/cpukit/score/include/rtems/score/userextimpl.h @@ -250,4 +250,4 @@ static inline void _User_extensions_Fatal( #endif #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/watchdog.h b/cpukit/score/include/rtems/score/watchdog.h index 387208c1b9..6dd0b5d0ce 100644 --- a/cpukit/score/include/rtems/score/watchdog.h +++ b/cpukit/score/include/rtems/score/watchdog.h @@ -351,4 +351,4 @@ uint32_t _Watchdog_Nanoseconds_since_tick_default_handler( void ); /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/score/wkspace.h b/cpukit/score/include/rtems/score/wkspace.h index bccb88eda9..91059f734f 100644 --- a/cpukit/score/include/rtems/score/wkspace.h +++ b/cpukit/score/include/rtems/score/wkspace.h @@ -128,4 +128,4 @@ char *_Workspace_String_duplicate( /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/seterr.h b/cpukit/score/include/rtems/seterr.h index 49830191d5..f0e5b7ca6d 100644 --- a/cpukit/score/include/rtems/seterr.h +++ b/cpukit/score/include/rtems/seterr.h @@ -53,4 +53,4 @@ /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ diff --git a/cpukit/score/include/rtems/system.h b/cpukit/score/include/rtems/system.h index 0d719dba3d..0100b72b84 100644 --- a/cpukit/score/include/rtems/system.h +++ b/cpukit/score/include/rtems/system.h @@ -63,4 +63,4 @@ extern const char _Copyright_Notice[]; /**@}*/ #endif -/* end of include file */ \ No newline at end of file +/* end of include file */ -- cgit v1.2.3 From b697bc6a44a4a41f3025b833847adf96f6052bdd Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 10 Jan 2013 15:06:42 -0600 Subject: cpukit: Use Consistent Beginning of Doxygen Group Notation This is the result of a sed script which converts all uses of @{ into a consistent form. --- cpukit/include/rtems/irq-extension.h | 3 +-- cpukit/include/rtems/status-checks.h | 12 ++++------ cpukit/include/rtems/userenv.h | 3 +-- cpukit/libblock/include/rtems/bdbuf.h | 3 +-- cpukit/libblock/include/rtems/bdpart.h | 6 ++--- cpukit/libblock/include/rtems/blkdev.h | 12 ++++------ cpukit/libblock/include/rtems/diskdevs.h | 12 ++++------ cpukit/libblock/include/rtems/flashdisk.h | 3 +-- cpukit/libblock/include/rtems/media.h | 14 ++++------- cpukit/libblock/include/rtems/ramdisk.h | 8 +++---- cpukit/libblock/include/rtems/sparse-disk.h | 2 +- cpukit/libcsupport/include/rtc.h | 3 +-- cpukit/libcsupport/include/rtems/libcsupport.h | 2 +- cpukit/libcsupport/include/rtems/libio.h | 27 ++++++++-------------- cpukit/libcsupport/include/rtems/libio_.h | 2 +- cpukit/libcsupport/include/sys/termios.h | 2 +- cpukit/libcsupport/src/lstat.c | 2 +- cpukit/libfs/src/dosfs/dosfs.h | 2 +- cpukit/libi2c/libi2c.h | 2 +- cpukit/libmisc/fsmount/fsmount.h | 2 +- cpukit/libnetworking/rtems/ftpfs.h | 3 +-- cpukit/posix/include/aio.h | 2 +- cpukit/posix/include/mqueue.h | 2 +- cpukit/posix/include/rtems/posix/barrier.h | 2 +- cpukit/posix/include/rtems/posix/cond.h | 2 +- cpukit/posix/include/rtems/posix/key.h | 2 +- cpukit/posix/include/rtems/posix/mqueue.h | 2 +- cpukit/posix/include/rtems/posix/mutex.h | 2 +- cpukit/posix/include/rtems/posix/posixapi.h | 2 +- cpukit/posix/include/rtems/posix/priority.h | 2 +- cpukit/posix/include/rtems/posix/psignalimpl.h | 2 +- cpukit/posix/include/rtems/posix/pthread.h | 2 +- cpukit/posix/include/rtems/posix/ptimer.h | 2 +- cpukit/posix/include/rtems/posix/rwlock.h | 2 +- cpukit/posix/include/rtems/posix/spinlock.h | 2 +- cpukit/posix/include/rtems/posix/threadsup.h | 2 +- cpukit/posix/include/rtems/posix/time.h | 2 +- cpukit/rtems/include/rtems/rtems/event.h | 6 ++--- cpukit/rtems/include/rtems/rtems/support.h | 6 ++--- cpukit/rtems/include/rtems/rtems/types.h | 3 +-- cpukit/rtems/inline/rtems/rtems/region.inl | 2 +- cpukit/rtems/inline/rtems/rtems/support.inl | 3 +-- cpukit/sapi/include/rtems/chain.h | 6 ++--- cpukit/sapi/include/rtems/extension.h | 3 +-- cpukit/sapi/include/rtems/fatal.h | 3 +-- cpukit/sapi/include/rtems/io.h | 5 ++-- cpukit/sapi/inline/rtems/chain.inl | 3 +-- cpukit/sapi/inline/rtems/timespec.inl | 3 +-- cpukit/score/cpu/arm/rtems/asm.h | 3 +-- cpukit/score/cpu/arm/rtems/score/arm.h | 3 +-- cpukit/score/cpu/arm/rtems/score/cpu.h | 15 ++++-------- cpukit/score/cpu/arm/rtems/score/types.h | 3 +-- cpukit/score/cpu/avr/avr/delay.h | 2 +- cpukit/score/cpu/avr/avr/io.h | 2 +- cpukit/score/cpu/avr/avr/io2333.h | 6 ++--- cpukit/score/cpu/avr/avr/io43u35x.h | 6 ++--- cpukit/score/cpu/avr/avr/io4414.h | 2 +- cpukit/score/cpu/avr/avr/io76c711.h | 2 +- cpukit/score/cpu/avr/avr/io8534.h | 2 +- cpukit/score/cpu/avr/avr/io8535.h | 2 +- cpukit/score/cpu/avr/avr/io90pwm1.h | 2 +- cpukit/score/cpu/avr/avr/io90pwm216.h | 2 +- cpukit/score/cpu/avr/avr/io90pwm2b.h | 2 +- cpukit/score/cpu/avr/avr/io90pwm3b.h | 2 +- cpukit/score/cpu/avr/avr/io90pwm81.h | 2 +- cpukit/score/cpu/avr/avr/io90pwmx.h | 2 +- cpukit/score/cpu/avr/avr/ioa6289.h | 2 +- cpukit/score/cpu/avr/avr/iocan32.h | 2 +- cpukit/score/cpu/avr/avr/iom103.h | 2 +- cpukit/score/cpu/avr/avr/iom1280.h | 2 +- cpukit/score/cpu/avr/avr/iom164.h | 2 +- cpukit/score/cpu/avr/avr/iom165.h | 2 +- cpukit/score/cpu/avr/avr/iom169.h | 2 +- cpukit/score/cpu/avr/avr/iom169p.h | 2 +- cpukit/score/cpu/avr/avr/iom169pa.h | 2 +- cpukit/score/cpu/avr/avr/iom16a.h | 14 +++++------ cpukit/score/cpu/avr/avr/iom16hva.h | 2 +- cpukit/score/cpu/avr/avr/iom2560.h | 8 +++---- cpukit/score/cpu/avr/avr/iom325.h | 2 +- cpukit/score/cpu/avr/avr/iom3250.h | 12 +++++----- cpukit/score/cpu/avr/avr/iom328p.h | 2 +- cpukit/score/cpu/avr/avr/iom329.h | 12 +++++----- cpukit/score/cpu/avr/avr/iom3290.h | 2 +- cpukit/score/cpu/avr/avr/iom32c1.h | 2 +- cpukit/score/cpu/avr/avr/iom32m1.h | 2 +- cpukit/score/cpu/avr/avr/iom32u2.h | 10 ++++---- cpukit/score/cpu/avr/avr/iom32u4.h | 2 +- cpukit/score/cpu/avr/avr/iom640.h | 2 +- cpukit/score/cpu/avr/avr/iom644.h | 2 +- cpukit/score/cpu/avr/avr/iom644p.h | 8 +++---- cpukit/score/cpu/avr/avr/iom6450.h | 2 +- cpukit/score/cpu/avr/avr/iom64c1.h | 2 +- cpukit/score/cpu/avr/avr/iom64m1.h | 12 +++++----- cpukit/score/cpu/avr/avr/iom8.h | 2 +- cpukit/score/cpu/avr/avr/iom8535.h | 12 +++++----- cpukit/score/cpu/avr/avr/iom88.h | 2 +- cpukit/score/cpu/avr/avr/iom8hva.h | 2 +- cpukit/score/cpu/avr/avr/iom8u2.h | 2 +- cpukit/score/cpu/avr/avr/iomx8.h | 4 ++-- cpukit/score/cpu/avr/avr/iomxx4.h | 2 +- cpukit/score/cpu/avr/avr/iotn13a.h | 12 +++++----- cpukit/score/cpu/avr/avr/iotn15.h | 2 +- cpukit/score/cpu/avr/avr/iotn167.h | 2 +- cpukit/score/cpu/avr/avr/iotn2313.h | 2 +- cpukit/score/cpu/avr/avr/iotn26.h | 2 +- cpukit/score/cpu/avr/avr/iotn261.h | 2 +- cpukit/score/cpu/avr/avr/iotn28.h | 2 +- cpukit/score/cpu/avr/avr/iotn461.h | 2 +- cpukit/score/cpu/avr/avr/iotn85.h | 2 +- cpukit/score/cpu/avr/avr/iotn861.h | 8 +++---- cpukit/score/cpu/avr/avr/iotn88.h | 2 +- cpukit/score/cpu/avr/avr/iotnx4.h | 4 ++-- cpukit/score/cpu/avr/avr/iotnx61.h | 2 +- cpukit/score/cpu/avr/avr/iousb162.h | 8 +++---- cpukit/score/cpu/avr/avr/iousb647.h | 2 +- cpukit/score/cpu/avr/avr/iousb82.h | 2 +- cpukit/score/cpu/avr/avr/iousbxx2.h | 2 +- cpukit/score/cpu/avr/avr/iox128a1.h | 18 +++++++-------- cpukit/score/cpu/avr/avr/iox256d3.h | 2 +- cpukit/score/cpu/avr/avr/iox32d4.h | 2 +- cpukit/score/cpu/avr/avr/parity.h | 2 +- cpukit/score/cpu/avr/avr/pgmspace.h | 2 +- cpukit/score/cpu/avr/avr/sfr_defs.h | 9 +++----- cpukit/score/cpu/avr/avr/sleep.h | 2 +- cpukit/score/cpu/bfin/rtems/score/cpu.h | 17 +++++--------- cpukit/score/cpu/i386/rtems/score/interrupts.h | 2 +- cpukit/score/cpu/lm32/rtems/score/cpu.h | 20 ++++++---------- cpukit/score/cpu/m32c/rtems/score/cpu.h | 8 +++---- cpukit/score/cpu/m32r/rtems/score/cpu.h | 17 +++++--------- cpukit/score/cpu/no_cpu/rtems/score/cpu.h | 8 +++---- cpukit/score/cpu/sparc/rtems/score/cpu.h | 3 +-- cpukit/score/cpu/v850/rtems/score/cpu.h | 17 +++++--------- cpukit/score/include/rtems/score/apimutex.h | 6 ++--- cpukit/score/include/rtems/score/heap.h | 3 +-- cpukit/score/include/rtems/score/protectedheap.h | 2 +- cpukit/score/include/rtems/score/sysstate.h | 3 +-- cpukit/score/include/rtems/score/userext.h | 3 +-- cpukit/score/include/rtems/score/userextimpl.h | 9 +++----- cpukit/score/inline/rtems/score/address.inl | 3 +-- cpukit/score/inline/rtems/score/chain.inl | 3 +-- cpukit/score/inline/rtems/score/corebarrier.inl | 3 +-- cpukit/score/inline/rtems/score/coremsg.inl | 3 +-- cpukit/score/inline/rtems/score/coremutex.inl | 3 +-- cpukit/score/inline/rtems/score/corerwlock.inl | 3 +-- cpukit/score/inline/rtems/score/coresem.inl | 3 +-- cpukit/score/inline/rtems/score/corespinlock.inl | 3 +-- cpukit/score/inline/rtems/score/heap.inl | 3 +-- cpukit/score/inline/rtems/score/isr.inl | 3 +-- cpukit/score/inline/rtems/score/mppkt.inl | 3 +-- cpukit/score/inline/rtems/score/objectmp.inl | 3 +-- cpukit/score/inline/rtems/score/priority.inl | 3 +-- cpukit/score/inline/rtems/score/prioritybitmap.inl | 3 +-- cpukit/score/inline/rtems/score/rbtree.inl | 3 +-- cpukit/score/inline/rtems/score/scheduler.inl | 3 +-- .../score/inline/rtems/score/schedulerpriority.inl | 3 +-- .../score/inline/rtems/score/schedulersimple.inl | 3 +-- cpukit/score/inline/rtems/score/stack.inl | 3 +-- cpukit/score/inline/rtems/score/states.inl | 5 ++-- cpukit/score/inline/rtems/score/sysstate.inl | 3 +-- cpukit/score/inline/rtems/score/thread.inl | 3 +-- cpukit/score/inline/rtems/score/threadmp.inl | 3 +-- cpukit/score/inline/rtems/score/threadq.inl | 3 +-- cpukit/score/inline/rtems/score/tod.inl | 3 +-- cpukit/score/inline/rtems/score/tqdata.inl | 3 +-- 164 files changed, 290 insertions(+), 405 deletions(-) diff --git a/cpukit/include/rtems/irq-extension.h b/cpukit/include/rtems/irq-extension.h index 644091bb37..ff2c6daff4 100644 --- a/cpukit/include/rtems/irq-extension.h +++ b/cpukit/include/rtems/irq-extension.h @@ -38,9 +38,8 @@ extern "C" { * In addition to the Classic API interrupt handler with a handle are * supported. You can also install multiple shared handler for one interrupt * vector. - * - * @{ */ +/**@{**/ /** * @brief Makes the interrupt handler unique. Prevents other handler from diff --git a/cpukit/include/rtems/status-checks.h b/cpukit/include/rtems/status-checks.h index 631c9f40fa..a1e2698e14 100644 --- a/cpukit/include/rtems/status-checks.h +++ b/cpukit/include/rtems/status-checks.h @@ -29,15 +29,13 @@ extern "C" { /** * @defgroup rtems_status_checks Status Checks - * - * @{ */ +/**@{**/ /** * @name Print Macros - * - * @{ */ +/**@{**/ /** * @brief General purpose debug print macro. @@ -142,9 +140,8 @@ extern "C" { /** * @name Check Macros - * - * @{ */ +/**@{**/ /** * @brief Prints message @a msg and returns with status code @a sc if the status @@ -248,9 +245,8 @@ extern "C" { /** * @name Cleanup Macros - * - * @{ */ +/**@{**/ /** * @brief Prints message @a msg and jumps to @a label if the status code @a sc diff --git a/cpukit/include/rtems/userenv.h b/cpukit/include/rtems/userenv.h index 53ec42dcf6..edbef204bd 100644 --- a/cpukit/include/rtems/userenv.h +++ b/cpukit/include/rtems/userenv.h @@ -40,9 +40,8 @@ extern "C" { * @ingroup LibIO * * @brief Provides a POSIX like user environment for tasks. - * - * @{ */ +/**@{**/ #ifndef LOGIN_NAME_MAX #ifdef _POSIX_LOGIN_NAME_MAX diff --git a/cpukit/libblock/include/rtems/bdbuf.h b/cpukit/libblock/include/rtems/bdbuf.h index 197c20dfcf..cde32d7c4c 100644 --- a/cpukit/libblock/include/rtems/bdbuf.h +++ b/cpukit/libblock/include/rtems/bdbuf.h @@ -171,9 +171,8 @@ extern "C" { * issue with this design. The reallocation of a group may forced recently * accessed buffers out of the cache when they should not. The design should be * change to have groups on a LRU list if they have no buffers in use. - * - * @{ */ +/**@{**/ /** * @brief State of a buffer of the cache. diff --git a/cpukit/libblock/include/rtems/bdpart.h b/cpukit/libblock/include/rtems/bdpart.h index 566864d423..c3141e6eda 100644 --- a/cpukit/libblock/include/rtems/bdpart.h +++ b/cpukit/libblock/include/rtems/bdpart.h @@ -79,15 +79,13 @@ extern "C" { * - Extended Boot Record * - Cylinder Head Sector * - Partition Types - * - * @{ */ +/**@{**/ /** * @name MBR Partition Types and Flags - * - * @{ */ +/**@{**/ #define RTEMS_BDPART_MBR_EMPTY 0x0U diff --git a/cpukit/libblock/include/rtems/blkdev.h b/cpukit/libblock/include/rtems/blkdev.h index fb2dcd4f00..f934871412 100644 --- a/cpukit/libblock/include/rtems/blkdev.h +++ b/cpukit/libblock/include/rtems/blkdev.h @@ -36,9 +36,8 @@ extern "C" { * control. This call puts IO @ref rtems_blkdev_request "requests" to the block * device for asynchronous processing. When a driver executes a request, it * invokes the request done callback function to finish the request. - * - * @{ */ +/**@{**/ /** * @brief Block device request type. @@ -175,9 +174,8 @@ static inline void rtems_blkdev_request_done( /** * @name IO Control Request Codes - * - * @{ */ +/**@{**/ #define RTEMS_BLKIO_REQUEST _IOWR('B', 1, rtems_blkdev_request) #define RTEMS_BLKIO_GETMEDIABLKSIZE _IOR('B', 2, uint32_t) @@ -253,9 +251,8 @@ static inline int rtems_disk_fd_reset_device_stats(int fd) /** * @name Block Device Driver Capabilities - * - * @{ */ +/**@{**/ /** * @brief Only consecutive multi-sector buffer requests are supported. @@ -369,9 +366,8 @@ void rtems_blkstats( * @ingroup rtems_blkdev * * Generic disk device operations for standard RTEMS IO drivers. - * - * @{ */ +/**@{**/ /** * The device driver interface conventions suppose that a driver may contain an diff --git a/cpukit/libblock/include/rtems/diskdevs.h b/cpukit/libblock/include/rtems/diskdevs.h index ece629abbf..3940c5710d 100644 --- a/cpukit/libblock/include/rtems/diskdevs.h +++ b/cpukit/libblock/include/rtems/diskdevs.h @@ -37,9 +37,8 @@ typedef struct rtems_disk_device rtems_disk_device; * contain a subset of consecutive disk blocks. The logical disks are used to * represent the partitions of a disk. The disk devices are accessed via the * @ref rtems_bdbuf "block device buffer module". - * - * @{ */ +/**@{**/ /** * @brief Block device block index type. @@ -276,9 +275,8 @@ struct rtems_disk_device { /** * @name Disk Device Data - * - * @{ */ +/**@{**/ static inline dev_t rtems_disk_get_device_identifier( const rtems_disk_device *dd @@ -340,9 +338,8 @@ static inline rtems_blkdev_bnum rtems_disk_get_block_count( /** * @name Disk Device Maintainance - * - * @{ */ +/**@{**/ /** * @brief Creates a physical disk with device identifier @a dev. @@ -443,9 +440,8 @@ rtems_status_code rtems_disk_release(rtems_disk_device *dd); /** * @name Disk Management - * - * @{ */ +/**@{**/ /** * @brief Initializes the disk device management. diff --git a/cpukit/libblock/include/rtems/flashdisk.h b/cpukit/libblock/include/rtems/flashdisk.h index 4dcdabe059..5e4f6a8169 100644 --- a/cpukit/libblock/include/rtems/flashdisk.h +++ b/cpukit/libblock/include/rtems/flashdisk.h @@ -118,9 +118,8 @@ * } * close (fd); * @endcode - * - * @{ */ +/**@{**/ /** * @brief The base name of the flash disks. diff --git a/cpukit/libblock/include/rtems/media.h b/cpukit/libblock/include/rtems/media.h index 038357c16d..d1132224f7 100644 --- a/cpukit/libblock/include/rtems/media.h +++ b/cpukit/libblock/include/rtems/media.h @@ -40,8 +40,8 @@ extern "C" { * actions. For example a disk attach will lead to inspection of the partition * table and mounted file systems. Clients can register listeners to react to * events. - * @{ */ +/**@{**/ #define RTEMS_MEDIA_MOUNT_BASE "/media" @@ -312,9 +312,8 @@ typedef rtems_status_code (*rtems_media_worker)( /** * @name Base - * - * @{ */ +/**@{**/ /** * @brief Initializes the media manager. @@ -377,9 +376,8 @@ rtems_status_code rtems_media_post_event( /** * @name Server - * - * @{ */ +/**@{**/ /** * @brief Initializes the media manager and media server. @@ -452,9 +450,8 @@ static inline rtems_status_code rtems_media_server_disk_detach( /** * @name Path Construction - * - * @{ */ +/**@{**/ /** * @brief Creates a new path as "prefix/name-major". @@ -490,9 +487,8 @@ char *rtems_media_append_minor( /** * @name Support - * - * @{ */ +/**@{**/ /** * @brief Returns the device identifier for the device located at diff --git a/cpukit/libblock/include/rtems/ramdisk.h b/cpukit/libblock/include/rtems/ramdisk.h index aaa940b7c4..727efddbe8 100644 --- a/cpukit/libblock/include/rtems/ramdisk.h +++ b/cpukit/libblock/include/rtems/ramdisk.h @@ -25,14 +25,13 @@ extern "C" { * * @ingroup rtems_blkdev * - * @{ */ +/**@{**/ /** * @name Static Configuration - * - * @{ */ +/**@{**/ /** * @brief RAM disk configuration table entry. @@ -95,9 +94,8 @@ rtems_device_driver ramdisk_initialize( /** * @name Runtime Configuration - * - * @{ */ +/**@{**/ /** * @brief RAM disk descriptor. diff --git a/cpukit/libblock/include/rtems/sparse-disk.h b/cpukit/libblock/include/rtems/sparse-disk.h index 3dc806b407..3f2e41c01a 100644 --- a/cpukit/libblock/include/rtems/sparse-disk.h +++ b/cpukit/libblock/include/rtems/sparse-disk.h @@ -37,8 +37,8 @@ extern "C" { * * @ingroup rtems_blkdev * - * @{ */ +/**@{**/ typedef struct { rtems_blkdev_bnum block; diff --git a/cpukit/libcsupport/include/rtc.h b/cpukit/libcsupport/include/rtc.h index 29ef4cdd18..36965ce194 100644 --- a/cpukit/libcsupport/include/rtc.h +++ b/cpukit/libcsupport/include/rtc.h @@ -29,9 +29,8 @@ extern "C" { * * This driver interface provides support to read and set the real-time clock * and to initialize the time of day for the system. - * - * @{ */ +/**@{**/ /** * Device file name path. diff --git a/cpukit/libcsupport/include/rtems/libcsupport.h b/cpukit/libcsupport/include/rtems/libcsupport.h index 46a1ec45b9..582e16b4bc 100644 --- a/cpukit/libcsupport/include/rtems/libcsupport.h +++ b/cpukit/libcsupport/include/rtems/libcsupport.h @@ -34,8 +34,8 @@ extern "C" { * * @brief RTEMS Specific Support for the Standard C Library * - * @{ */ +/**@{**/ extern void malloc_dump(void); diff --git a/cpukit/libcsupport/include/rtems/libio.h b/cpukit/libcsupport/include/rtems/libio.h index e7d34b63a9..51e25c98c7 100644 --- a/cpukit/libcsupport/include/rtems/libio.h +++ b/cpukit/libcsupport/include/rtems/libio.h @@ -47,9 +47,8 @@ extern "C" { * @ingroup LibIO * * @brief File system operations. - * - * @{ */ +/**@{**/ /** * @brief File system node types. @@ -749,9 +748,8 @@ int rtems_filesystem_default_statvfs( * @ingroup LibIO * * @brief File system node handler. - * - * @{ */ +/**@{**/ /** * @brief Opens a node. @@ -1143,9 +1141,8 @@ int rtems_filesystem_default_fcntl( * system call behavior under RTEMS. Initially this supported only * IO to devices but has since been enhanced to support networking * and support for mounted file systems. - * - * @{ */ +/**@{**/ typedef off_t rtems_off64_t __attribute__((deprecated)); @@ -1240,9 +1237,8 @@ typedef struct { /** * @name Flag Values - * - * @{ */ +/**@{**/ #define LIBIO_FLAGS_NO_DELAY 0x0001U /* return immediately if no data */ #define LIBIO_FLAGS_READ 0x0002U /* reading */ @@ -1264,9 +1260,8 @@ void rtems_libio_init(void); /** * @name External I/O Handlers - * - * @{ */ +/**@{**/ typedef int (*rtems_libio_open_t)( const char *pathname, @@ -1306,9 +1301,8 @@ typedef off_t (*rtems_libio_lseek_t)( /** * @name Permission Macros - * - * @{ */ +/**@{**/ /* * The following macros are used to build up the permissions sets @@ -1422,15 +1416,13 @@ extern int rtems_mkdir(const char *path, mode_t mode); * @ingroup LibIO * * @brief File system types and mount. - * - * @{ */ +/**@{**/ /** * @name File System Types - * - * @{ */ +/**@{**/ #define RTEMS_FILESYSTEM_TYPE_IMFS "imfs" #define RTEMS_FILESYSTEM_TYPE_MINIIMFS "mimfs" @@ -1701,9 +1693,8 @@ extern const rtems_filesystem_mount_configuration * @ingroup LibIO * * @brief Termios - * - * @{ */ +/**@{**/ typedef struct rtems_termios_callbacks { int (*firstOpen)(int major, int minor, void *arg); diff --git a/cpukit/libcsupport/include/rtems/libio_.h b/cpukit/libcsupport/include/rtems/libio_.h index 4a2d0f4c1a..1f7f654da4 100644 --- a/cpukit/libcsupport/include/rtems/libio_.h +++ b/cpukit/libcsupport/include/rtems/libio_.h @@ -36,8 +36,8 @@ extern "C" { * * @brief Internal IO library API and implementation. * - * @{ */ +/**@{**/ #define RTEMS_FILESYSTEM_SYMLOOP_MAX 32 diff --git a/cpukit/libcsupport/include/sys/termios.h b/cpukit/libcsupport/include/sys/termios.h index 5b96814af1..93c3a25ad7 100644 --- a/cpukit/libcsupport/include/sys/termios.h +++ b/cpukit/libcsupport/include/sys/termios.h @@ -31,8 +31,8 @@ extern "C" { * * @brief POSIX Termios Implementation * - * @{ */ +/**@{**/ typedef unsigned char cc_t; typedef unsigned int speed_t; diff --git a/cpukit/libcsupport/src/lstat.c b/cpukit/libcsupport/src/lstat.c index abdc0465cd..66a333d294 100644 --- a/cpukit/libcsupport/src/lstat.c +++ b/cpukit/libcsupport/src/lstat.c @@ -26,4 +26,4 @@ /** * BSD 4.3 and SVR4 - Get File Status - */ \ No newline at end of file + */ diff --git a/cpukit/libfs/src/dosfs/dosfs.h b/cpukit/libfs/src/dosfs/dosfs.h index 79560bb373..211fc2d3f2 100644 --- a/cpukit/libfs/src/dosfs/dosfs.h +++ b/cpukit/libfs/src/dosfs/dosfs.h @@ -33,8 +33,8 @@ int rtems_dosfs_initialize(rtems_filesystem_mount_table_entry_t *mt_entry, * * @ingroup FileSystemTypesAndMount * - * @{ */ +/**@{**/ #define MSDOS_FMT_INFO_LEVEL_NONE (0) #define MSDOS_FMT_INFO_LEVEL_INFO (1) diff --git a/cpukit/libi2c/libi2c.h b/cpukit/libi2c/libi2c.h index 8c2f072da2..14327465e2 100644 --- a/cpukit/libi2c/libi2c.h +++ b/cpukit/libi2c/libi2c.h @@ -67,8 +67,8 @@ extern "C" { * * @brief I2C library. * - * @{ */ +/**@{**/ /* Simple I2C driver API */ diff --git a/cpukit/libmisc/fsmount/fsmount.h b/cpukit/libmisc/fsmount/fsmount.h index b824774142..70c0594ea0 100644 --- a/cpukit/libmisc/fsmount/fsmount.h +++ b/cpukit/libmisc/fsmount/fsmount.h @@ -64,8 +64,8 @@ extern "C" { * * @ingroup FileSystemTypesAndMount * - * @{ */ +/**@{**/ /** * File system mount report and abort condition flags. diff --git a/cpukit/libnetworking/rtems/ftpfs.h b/cpukit/libnetworking/rtems/ftpfs.h index 8b1de3ca10..28ce55caf4 100644 --- a/cpukit/libnetworking/rtems/ftpfs.h +++ b/cpukit/libnetworking/rtems/ftpfs.h @@ -70,9 +70,8 @@ extern "C" { * * For the data transfer passive (= default) and active (= fallback) mode are * supported. - * - * @{ */ +/**@{**/ /** * @brief Well-known port number for FTP control connection. diff --git a/cpukit/posix/include/aio.h b/cpukit/posix/include/aio.h index f43e088930..8896fa168e 100644 --- a/cpukit/posix/include/aio.h +++ b/cpukit/posix/include/aio.h @@ -32,8 +32,8 @@ extern "C" { * * @brief POSIX Asynchronous Input and Output * - * @{ */ +/**@{**/ #if defined(_POSIX_ASYNCHRONOUS_IO) diff --git a/cpukit/posix/include/mqueue.h b/cpukit/posix/include/mqueue.h index 2c228544de..34a60657a7 100644 --- a/cpukit/posix/include/mqueue.h +++ b/cpukit/posix/include/mqueue.h @@ -45,8 +45,8 @@ * * @ingroup POSIXAPI * - * @{ */ +/**@{**/ #ifdef __cplusplus extern "C" { diff --git a/cpukit/posix/include/rtems/posix/barrier.h b/cpukit/posix/include/rtems/posix/barrier.h index 41a297e13e..73c63f7162 100644 --- a/cpukit/posix/include/rtems/posix/barrier.h +++ b/cpukit/posix/include/rtems/posix/barrier.h @@ -33,8 +33,8 @@ * This encapsulates functionality which implements the RTEMS API * Barrier Manager. * - * @{ */ +/**@{**/ #ifdef __cplusplus extern "C" { diff --git a/cpukit/posix/include/rtems/posix/cond.h b/cpukit/posix/include/rtems/posix/cond.h index 2bd02604c0..8ff34e0ce6 100644 --- a/cpukit/posix/include/rtems/posix/cond.h +++ b/cpukit/posix/include/rtems/posix/cond.h @@ -24,8 +24,8 @@ * * @ingroup POSIXAPI * - * @{ */ +/**@{**/ #ifdef __cplusplus extern "C" { #endif diff --git a/cpukit/posix/include/rtems/posix/key.h b/cpukit/posix/include/rtems/posix/key.h index bd92a01316..0bb1dbe6a8 100644 --- a/cpukit/posix/include/rtems/posix/key.h +++ b/cpukit/posix/include/rtems/posix/key.h @@ -26,8 +26,8 @@ * * @ingroup POSIXAPI * - * @{ */ +/**@{**/ #ifdef __cplusplus extern "C" { diff --git a/cpukit/posix/include/rtems/posix/mqueue.h b/cpukit/posix/include/rtems/posix/mqueue.h index 1b24098170..d6f370cbf8 100644 --- a/cpukit/posix/include/rtems/posix/mqueue.h +++ b/cpukit/posix/include/rtems/posix/mqueue.h @@ -42,8 +42,8 @@ * * @ingroup POSIXAPI * - * @{ */ +/**@{**/ #ifdef __cplusplus extern "C" { #endif diff --git a/cpukit/posix/include/rtems/posix/mutex.h b/cpukit/posix/include/rtems/posix/mutex.h index a84ed7ec77..f228644377 100644 --- a/cpukit/posix/include/rtems/posix/mutex.h +++ b/cpukit/posix/include/rtems/posix/mutex.h @@ -30,8 +30,8 @@ extern "C" { * * @brief Private Support Information for POSIX Mutex * - * @{ */ +/**@{**/ #include #include diff --git a/cpukit/posix/include/rtems/posix/posixapi.h b/cpukit/posix/include/rtems/posix/posixapi.h index 7092d1eddf..6ae5dfabfd 100644 --- a/cpukit/posix/include/rtems/posix/posixapi.h +++ b/cpukit/posix/include/rtems/posix/posixapi.h @@ -27,8 +27,8 @@ * * RTEMS POSIX API definitions and modules. * - * @{ */ +/**@{**/ /** * @brief Initialize POSIX API. diff --git a/cpukit/posix/include/rtems/posix/priority.h b/cpukit/posix/include/rtems/posix/priority.h index cf47ed0677..e9ee2f900b 100644 --- a/cpukit/posix/include/rtems/posix/priority.h +++ b/cpukit/posix/include/rtems/posix/priority.h @@ -26,8 +26,8 @@ * * @brief Interface to the POSIX Priority Implementation * - * @{ */ +/**@{**/ #include diff --git a/cpukit/posix/include/rtems/posix/psignalimpl.h b/cpukit/posix/include/rtems/posix/psignalimpl.h index 6db7948840..481a7ea57e 100644 --- a/cpukit/posix/include/rtems/posix/psignalimpl.h +++ b/cpukit/posix/include/rtems/posix/psignalimpl.h @@ -25,8 +25,8 @@ * * @brief Internal Information about POSIX Signals * - * @{ */ +/**@{**/ #include #include diff --git a/cpukit/posix/include/rtems/posix/pthread.h b/cpukit/posix/include/rtems/posix/pthread.h index 7037adc672..5250b70d0f 100644 --- a/cpukit/posix/include/rtems/posix/pthread.h +++ b/cpukit/posix/include/rtems/posix/pthread.h @@ -34,8 +34,8 @@ extern "C" { * * @brief Private Support Information for POSIX Threads * - * @{ */ +/**@{**/ /** * The following sets the minimum stack size for POSIX threads. diff --git a/cpukit/posix/include/rtems/posix/ptimer.h b/cpukit/posix/include/rtems/posix/ptimer.h index 9f6122ad04..e06b1e9449 100644 --- a/cpukit/posix/include/rtems/posix/ptimer.h +++ b/cpukit/posix/include/rtems/posix/ptimer.h @@ -27,8 +27,8 @@ * * @ingroup POSIXAPI * - * @{ */ +/**@{**/ #ifdef __cplusplus extern "C" { #endif diff --git a/cpukit/posix/include/rtems/posix/rwlock.h b/cpukit/posix/include/rtems/posix/rwlock.h index 0dbd268aa3..0cfd20dad8 100644 --- a/cpukit/posix/include/rtems/posix/rwlock.h +++ b/cpukit/posix/include/rtems/posix/rwlock.h @@ -36,8 +36,8 @@ extern "C" { * * @brief Constants and Structures Associated with the POSIX RWLock Manager * - * @{ */ +/**@{**/ #include #include diff --git a/cpukit/posix/include/rtems/posix/spinlock.h b/cpukit/posix/include/rtems/posix/spinlock.h index c8af7fa03b..34b04ebbc9 100644 --- a/cpukit/posix/include/rtems/posix/spinlock.h +++ b/cpukit/posix/include/rtems/posix/spinlock.h @@ -36,8 +36,8 @@ extern "C" { * * @brief Constants and Structures Associated with the POSIX Spinlock Manager * - * @{ */ +/**@{**/ #include #include diff --git a/cpukit/posix/include/rtems/posix/threadsup.h b/cpukit/posix/include/rtems/posix/threadsup.h index 72fa1d35af..80f64dc2a8 100644 --- a/cpukit/posix/include/rtems/posix/threadsup.h +++ b/cpukit/posix/include/rtems/posix/threadsup.h @@ -27,8 +27,8 @@ * * @ingroup POSIXAPI * - * @{ */ +/**@{**/ #ifdef __cplusplus extern "C" { #endif diff --git a/cpukit/posix/include/rtems/posix/time.h b/cpukit/posix/include/rtems/posix/time.h index f5e55a55be..735082e074 100644 --- a/cpukit/posix/include/rtems/posix/time.h +++ b/cpukit/posix/include/rtems/posix/time.h @@ -26,8 +26,8 @@ * * @ingroup POSIXAPI * - * @{ */ +/**@{**/ /** * @brief Absolute timeout conversion results. diff --git a/cpukit/rtems/include/rtems/rtems/event.h b/cpukit/rtems/include/rtems/rtems/event.h index b1599a88a2..6a27c91aee 100644 --- a/cpukit/rtems/include/rtems/rtems/event.h +++ b/cpukit/rtems/include/rtems/rtems/event.h @@ -223,9 +223,8 @@ rtems_status_code rtems_event_receive ( * The event @ref RTEMS_EVENT_SYSTEM_TRANSIENT is used for transient usage. * See also @ref ClassicEventTransient. This event may be used by every entity * that fulfils its usage pattern. - * - * @{ */ +/**@{**/ /** * @brief Reserved system event for network SBWAIT usage. @@ -367,9 +366,8 @@ rtems_status_code rtems_event_system_receive( * assert(req.work_done); * } * @endcode - * - * @{ */ +/**@{**/ /** * @brief See rtems_event_system_send(). diff --git a/cpukit/rtems/include/rtems/rtems/support.h b/cpukit/rtems/include/rtems/rtems/support.h index 75f5069767..c9fbbdc480 100644 --- a/cpukit/rtems/include/rtems/rtems/support.h +++ b/cpukit/rtems/include/rtems/rtems/support.h @@ -26,9 +26,8 @@ extern "C" { /** * @addtogroup ClassicRTEMS - * - * @{ */ +/**@{**/ /** * @brief Returns the number of micro seconds for the milli seconds value @a _ms. @@ -57,9 +56,8 @@ extern "C" { * @ingroup ClassicRTEMS * * Workspace definitions. - * - * @{ */ +/**@{**/ /** * @brief Gets Workspace Information diff --git a/cpukit/rtems/include/rtems/rtems/types.h b/cpukit/rtems/include/rtems/rtems/types.h index e70441a1fe..f9861aab8e 100644 --- a/cpukit/rtems/include/rtems/rtems/types.h +++ b/cpukit/rtems/include/rtems/rtems/types.h @@ -40,9 +40,8 @@ extern "C" { /** * @addtogroup ClassicRTEMS - * - * @{ */ +/**@{**/ #ifdef RTEMS_DEPRECATED_TYPES /** diff --git a/cpukit/rtems/inline/rtems/rtems/region.inl b/cpukit/rtems/inline/rtems/rtems/region.inl index d63ad1c109..30e482cdc0 100644 --- a/cpukit/rtems/inline/rtems/rtems/region.inl +++ b/cpukit/rtems/inline/rtems/rtems/region.inl @@ -1,7 +1,7 @@ /** * @file rtems/rtems/region.inl * - * @defgroup ClassicRegion + * @addtogroup ClassicRegion * * @ingroup ClassicRTEMS * @brief Macro Implementation from Region Manager diff --git a/cpukit/rtems/inline/rtems/rtems/support.inl b/cpukit/rtems/inline/rtems/rtems/support.inl index 117f9a9f0f..a302c45c0b 100644 --- a/cpukit/rtems/inline/rtems/rtems/support.inl +++ b/cpukit/rtems/inline/rtems/rtems/support.inl @@ -23,9 +23,8 @@ /** * @addtogroup ClassicRTEMS - * - * @{ */ +/**@{**/ /** * @brief Returns @c true if the name is valid, and @c false otherwise. diff --git a/cpukit/sapi/include/rtems/chain.h b/cpukit/sapi/include/rtems/chain.h index e1644acd14..41b3154a11 100644 --- a/cpukit/sapi/include/rtems/chain.h +++ b/cpukit/sapi/include/rtems/chain.h @@ -32,9 +32,8 @@ extern "C" { * @ingroup ClassicRTEMS * * @brief Chain API - * - * @{ */ +/**@{**/ typedef Chain_Node rtems_chain_node; @@ -58,9 +57,8 @@ typedef Chain_Control rtems_chain_control; /** * @addtogroup ClassicChains - * - * @{ */ +/**@{**/ /** * @brief Appends the @a node to the @a chain and sends the @a events to the diff --git a/cpukit/sapi/include/rtems/extension.h b/cpukit/sapi/include/rtems/extension.h index d57646ca9e..d4f7fde532 100644 --- a/cpukit/sapi/include/rtems/extension.h +++ b/cpukit/sapi/include/rtems/extension.h @@ -170,9 +170,8 @@ typedef User_extensions_routine * will operate correctly even if they utilize the C Library because the C * Library's task delete extension is invoked after that of the other * extensions. - * - * @{ */ +/**@{**/ typedef User_extensions_thread_create_extension rtems_task_create_extension; typedef User_extensions_thread_delete_extension rtems_task_delete_extension; diff --git a/cpukit/sapi/include/rtems/fatal.h b/cpukit/sapi/include/rtems/fatal.h index 7ef9f71ba6..66236462d8 100644 --- a/cpukit/sapi/include/rtems/fatal.h +++ b/cpukit/sapi/include/rtems/fatal.h @@ -30,9 +30,8 @@ extern "C" { * * @brief The Fatal Manager provides functions for fatal system states and or * irrecoverable errors. - * - * @{ */ +/**@{**/ /** * @brief Exception frame. diff --git a/cpukit/sapi/include/rtems/io.h b/cpukit/sapi/include/rtems/io.h index 6901d84039..e598ca3ffc 100644 --- a/cpukit/sapi/include/rtems/io.h +++ b/cpukit/sapi/include/rtems/io.h @@ -34,8 +34,8 @@ extern "C" { * * @ingroup ClassicRTEMS * - * @{ */ +/**@{**/ typedef uint32_t rtems_device_major_number; @@ -60,9 +60,8 @@ typedef struct { /** * @name Device Driver Maintainance - * - * @{ */ +/**@{**/ /** * @brief Returns @c RTEMS_IO_ERROR. diff --git a/cpukit/sapi/inline/rtems/chain.inl b/cpukit/sapi/inline/rtems/chain.inl index bf98f98777..3fa03769ea 100644 --- a/cpukit/sapi/inline/rtems/chain.inl +++ b/cpukit/sapi/inline/rtems/chain.inl @@ -26,9 +26,8 @@ /** * @addtogroup ClassicChains - * - * @{ */ +/**@{**/ /** * @brief Initialize a chain Header. diff --git a/cpukit/sapi/inline/rtems/timespec.inl b/cpukit/sapi/inline/rtems/timespec.inl index 659c39fd35..d8fc5f69fb 100644 --- a/cpukit/sapi/inline/rtems/timespec.inl +++ b/cpukit/sapi/inline/rtems/timespec.inl @@ -24,9 +24,8 @@ /** * @addtogroup TimespecAPI Timespec - * - * @{ */ +/**@{**/ /** * @brief Is timespec valid diff --git a/cpukit/score/cpu/arm/rtems/asm.h b/cpukit/score/cpu/arm/rtems/asm.h index affb2e8f50..e0009285da 100644 --- a/cpukit/score/cpu/arm/rtems/asm.h +++ b/cpukit/score/cpu/arm/rtems/asm.h @@ -50,9 +50,8 @@ * @ingroup ScoreCPU * * @brief ARM Assembler Support - * - * @{ */ +/**@{**/ /* * Recent versions of GNU cpp define variables which indicate the diff --git a/cpukit/score/cpu/arm/rtems/score/arm.h b/cpukit/score/cpu/arm/rtems/score/arm.h index 96652fa5f3..8f8c837b41 100644 --- a/cpukit/score/cpu/arm/rtems/score/arm.h +++ b/cpukit/score/cpu/arm/rtems/score/arm.h @@ -26,9 +26,8 @@ extern "C" { /** * @addtogroup ScoreCPU - * - * @{ */ +/**@{**/ /* * This file contains the information required to build diff --git a/cpukit/score/cpu/arm/rtems/score/cpu.h b/cpukit/score/cpu/arm/rtems/score/cpu.h index 18938443ef..bbcded682c 100644 --- a/cpukit/score/cpu/arm/rtems/score/cpu.h +++ b/cpukit/score/cpu/arm/rtems/score/cpu.h @@ -40,9 +40,8 @@ * @ingroup ScoreCPU * * @brief ARM specific support. - * - * @{ */ +/**@{**/ #ifdef __thumb__ #define ARM_SWITCH_REGISTERS uint32_t arm_switch_reg @@ -60,9 +59,8 @@ /** * @name Program Status Register - * - * @{ */ +/**@{**/ #define ARM_PSR_N (1 << 31) #define ARM_PSR_Z (1 << 30) @@ -95,9 +93,8 @@ /** * @addtogroup ScoreCPU - * - * @{ */ +/**@{**/ /* If someone uses THUMB we assume she wants minimal code size */ #ifdef __thumb__ @@ -225,9 +222,8 @@ extern "C" { /** * @addtogroup ScoreCPU - * - * @{ */ +/**@{**/ typedef struct { #if defined(ARM_MULTILIB_ARCH_V4) @@ -480,9 +476,8 @@ static inline uint16_t CPU_swap_u16( uint16_t value ) /** * @addtogroup ScoreCPUARM - * - * @{ */ +/**@{**/ #if defined(ARM_MULTILIB_ARCH_V4) diff --git a/cpukit/score/cpu/arm/rtems/score/types.h b/cpukit/score/cpu/arm/rtems/score/types.h index 8b4b7f95e2..8e7195304b 100644 --- a/cpukit/score/cpu/arm/rtems/score/types.h +++ b/cpukit/score/cpu/arm/rtems/score/types.h @@ -30,9 +30,8 @@ extern "C" { /** * @addtogroup ScoreCPU - * - * @{ */ +/**@{**/ /* * This section defines the basic types for this processor. diff --git a/cpukit/score/cpu/avr/avr/delay.h b/cpukit/score/cpu/avr/avr/delay.h index d3a05a9836..ad9db108eb 100644 --- a/cpukit/score/cpu/avr/avr/delay.h +++ b/cpukit/score/cpu/avr/avr/delay.h @@ -45,8 +45,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ #warning "This file has been moved to ." #include diff --git a/cpukit/score/cpu/avr/avr/io.h b/cpukit/score/cpu/avr/avr/io.h index 494b40fc85..22ac57d84f 100644 --- a/cpukit/score/cpu/avr/avr/io.h +++ b/cpukit/score/cpu/avr/avr/io.h @@ -101,8 +101,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ #include diff --git a/cpukit/score/cpu/avr/avr/io2333.h b/cpukit/score/cpu/avr/avr/io2333.h index 5c25ccc09f..63c7fab337 100644 --- a/cpukit/score/cpu/avr/avr/io2333.h +++ b/cpukit/score/cpu/avr/avr/io2333.h @@ -49,8 +49,8 @@ /** * @name I/O Registers * - * @{ */ +/**@{**/ /* UART Baud Rate Register high */ #define UBRRH _SFR_IO8(0x03) @@ -179,8 +179,8 @@ /** * @name Interrupt Vectors * - * @{ */ +/**@{**/ /* External Interrupt 0 */ #define INT0_vect _VECTOR(1) #define SIG_INTERRUPT0 _VECTOR(1) @@ -445,8 +445,8 @@ /** * @name Constants * - * @{ */ +/**@{**/ #define RAMEND 0xDF /*Last On-Chip SRAM location*/ #define XRAMEND RAMEND #define E2END 0x7F diff --git a/cpukit/score/cpu/avr/avr/io43u35x.h b/cpukit/score/cpu/avr/avr/io43u35x.h index 21b0d9ff23..66a06d867a 100644 --- a/cpukit/score/cpu/avr/avr/io43u35x.h +++ b/cpukit/score/cpu/avr/avr/io43u35x.h @@ -49,8 +49,8 @@ /** * @name I/O Registers * - * @{ */ +/**@{**/ /* ADC Data Register */ #ifndef __ASSEMBLER__ #define ADC _SFR_IO16(0x02) @@ -187,8 +187,8 @@ /** * @name Interrupt Vectors * - * @{ */ +/**@{**/ #define SIG_INTERRUPT0 _VECTOR(1) /* suspend/resume */ #define SIG_INTERRUPT1 _VECTOR(2) #define SIG_TIMER1_CAPT1 _VECTOR(3) @@ -429,8 +429,8 @@ /** * @name Constants * - * @{ */ +/**@{**/ #define RAMEND 0x045F /*Last On-Chip SRAM Location*/ #define XRAMEND RAMEND #define E2END 0x0000 diff --git a/cpukit/score/cpu/avr/avr/io4414.h b/cpukit/score/cpu/avr/avr/io4414.h index 94460a426e..96c400030d 100644 --- a/cpukit/score/cpu/avr/avr/io4414.h +++ b/cpukit/score/cpu/avr/avr/io4414.h @@ -59,8 +59,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* I/O registers */ diff --git a/cpukit/score/cpu/avr/avr/io76c711.h b/cpukit/score/cpu/avr/avr/io76c711.h index f4690761f8..e0c68e2267 100644 --- a/cpukit/score/cpu/avr/avr/io76c711.h +++ b/cpukit/score/cpu/avr/avr/io76c711.h @@ -59,8 +59,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* I/O registers */ diff --git a/cpukit/score/cpu/avr/avr/io8534.h b/cpukit/score/cpu/avr/avr/io8534.h index 10e20b34ed..c873a71430 100644 --- a/cpukit/score/cpu/avr/avr/io8534.h +++ b/cpukit/score/cpu/avr/avr/io8534.h @@ -59,8 +59,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* I/O registers */ diff --git a/cpukit/score/cpu/avr/avr/io8535.h b/cpukit/score/cpu/avr/avr/io8535.h index 6883a3658a..cf31f00c32 100644 --- a/cpukit/score/cpu/avr/avr/io8535.h +++ b/cpukit/score/cpu/avr/avr/io8535.h @@ -56,8 +56,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* I/O registers */ diff --git a/cpukit/score/cpu/avr/avr/io90pwm1.h b/cpukit/score/cpu/avr/avr/io90pwm1.h index d893fd9090..6c3aad03a5 100644 --- a/cpukit/score/cpu/avr/avr/io90pwm1.h +++ b/cpukit/score/cpu/avr/avr/io90pwm1.h @@ -60,8 +60,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* I/O registers */ diff --git a/cpukit/score/cpu/avr/avr/io90pwm216.h b/cpukit/score/cpu/avr/avr/io90pwm216.h index 7a53cf0645..c6befa4081 100644 --- a/cpukit/score/cpu/avr/avr/io90pwm216.h +++ b/cpukit/score/cpu/avr/avr/io90pwm216.h @@ -59,8 +59,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* I/O registers */ diff --git a/cpukit/score/cpu/avr/avr/io90pwm2b.h b/cpukit/score/cpu/avr/avr/io90pwm2b.h index 538028b80a..22d0c1c379 100644 --- a/cpukit/score/cpu/avr/avr/io90pwm2b.h +++ b/cpukit/score/cpu/avr/avr/io90pwm2b.h @@ -57,8 +57,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Registers and associated bit numbers */ diff --git a/cpukit/score/cpu/avr/avr/io90pwm3b.h b/cpukit/score/cpu/avr/avr/io90pwm3b.h index 7885ec9fb5..5b1a7537cb 100644 --- a/cpukit/score/cpu/avr/avr/io90pwm3b.h +++ b/cpukit/score/cpu/avr/avr/io90pwm3b.h @@ -61,8 +61,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Registers and associated bit numbers */ diff --git a/cpukit/score/cpu/avr/avr/io90pwm81.h b/cpukit/score/cpu/avr/avr/io90pwm81.h index 753c94e008..b2faea85f6 100644 --- a/cpukit/score/cpu/avr/avr/io90pwm81.h +++ b/cpukit/score/cpu/avr/avr/io90pwm81.h @@ -56,8 +56,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ #ifndef _AVR_AT90PWM81_H_ #define _AVR_AT90PWM81_H_ 1 diff --git a/cpukit/score/cpu/avr/avr/io90pwmx.h b/cpukit/score/cpu/avr/avr/io90pwmx.h index 1367424563..b66b65c541 100644 --- a/cpukit/score/cpu/avr/avr/io90pwmx.h +++ b/cpukit/score/cpu/avr/avr/io90pwmx.h @@ -59,8 +59,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* I/O registers */ diff --git a/cpukit/score/cpu/avr/avr/ioa6289.h b/cpukit/score/cpu/avr/avr/ioa6289.h index f6a829b065..d51e3a965a 100644 --- a/cpukit/score/cpu/avr/avr/ioa6289.h +++ b/cpukit/score/cpu/avr/avr/ioa6289.h @@ -57,8 +57,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Registers and associated bit numbers. */ diff --git a/cpukit/score/cpu/avr/avr/iocan32.h b/cpukit/score/cpu/avr/avr/iocan32.h index d2c4f83e8b..512b45d7b5 100644 --- a/cpukit/score/cpu/avr/avr/iocan32.h +++ b/cpukit/score/cpu/avr/avr/iocan32.h @@ -46,8 +46,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ #include diff --git a/cpukit/score/cpu/avr/avr/iom103.h b/cpukit/score/cpu/avr/avr/iom103.h index fb92877acb..6ca791b100 100644 --- a/cpukit/score/cpu/avr/avr/iom103.h +++ b/cpukit/score/cpu/avr/avr/iom103.h @@ -56,8 +56,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* I/O registers */ diff --git a/cpukit/score/cpu/avr/avr/iom1280.h b/cpukit/score/cpu/avr/avr/iom1280.h index 933e7098a3..a6aff362b8 100644 --- a/cpukit/score/cpu/avr/avr/iom1280.h +++ b/cpukit/score/cpu/avr/avr/iom1280.h @@ -47,8 +47,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Constants */ #define SPM_PAGESIZE 256 diff --git a/cpukit/score/cpu/avr/avr/iom164.h b/cpukit/score/cpu/avr/avr/iom164.h index f9607d8963..160663da88 100644 --- a/cpukit/score/cpu/avr/avr/iom164.h +++ b/cpukit/score/cpu/avr/avr/iom164.h @@ -47,8 +47,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Constants */ #define SPM_PAGESIZE 128 diff --git a/cpukit/score/cpu/avr/avr/iom165.h b/cpukit/score/cpu/avr/avr/iom165.h index f165d6b45c..72cbc39fec 100644 --- a/cpukit/score/cpu/avr/avr/iom165.h +++ b/cpukit/score/cpu/avr/avr/iom165.h @@ -59,8 +59,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Registers and associated bit numbers */ diff --git a/cpukit/score/cpu/avr/avr/iom169.h b/cpukit/score/cpu/avr/avr/iom169.h index d99eaa8bd1..64910dd115 100644 --- a/cpukit/score/cpu/avr/avr/iom169.h +++ b/cpukit/score/cpu/avr/avr/iom169.h @@ -63,8 +63,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* I/O registers */ diff --git a/cpukit/score/cpu/avr/avr/iom169p.h b/cpukit/score/cpu/avr/avr/iom169p.h index 66427ce88c..3d7995a3f5 100644 --- a/cpukit/score/cpu/avr/avr/iom169p.h +++ b/cpukit/score/cpu/avr/avr/iom169p.h @@ -62,8 +62,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* I/O registers */ diff --git a/cpukit/score/cpu/avr/avr/iom169pa.h b/cpukit/score/cpu/avr/avr/iom169pa.h index f9a165b5a7..4f457db5dd 100644 --- a/cpukit/score/cpu/avr/avr/iom169pa.h +++ b/cpukit/score/cpu/avr/avr/iom169pa.h @@ -53,8 +53,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ #ifndef _AVR_ATmega169PA_H_ #define _AVR_ATmega169PA_H_ 1 diff --git a/cpukit/score/cpu/avr/avr/iom16a.h b/cpukit/score/cpu/avr/avr/iom16a.h index 155b1e84cc..ddfb220b99 100644 --- a/cpukit/score/cpu/avr/avr/iom16a.h +++ b/cpukit/score/cpu/avr/avr/iom16a.h @@ -50,8 +50,8 @@ /** * @name Registers and Associated Bit Numbers * - * @{ */ +/**@{**/ #define TWBR _SFR_IO8(0x00) #define TWBR0 0 #define TWBR1 1 @@ -661,8 +661,8 @@ /** * @name Interrupt Vectors * - * @{ */ +/**@{**/ /* Vector 0 is the reset vector */ #define INT0_vect_num 1 #define INT0_vect _VECTOR(1) /* External Interrupt Request 0 */ @@ -714,8 +714,8 @@ /** * @name Constants * - * @{ */ +/**@{**/ #define SPM_PAGESIZE (128) #define RAMSTART (0x60) #define RAMSIZE (1024) @@ -731,8 +731,8 @@ /** * @name Fuses * - * @{ */ +/**@{**/ #define FUSE_MEMORY_SIZE 2 /* Low Fuse Byte */ @@ -765,8 +765,8 @@ /** * @name Lock Bits * - * @{ */ +/**@{**/ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST @@ -775,8 +775,8 @@ /** * @name Signature * - * @{ */ +/**@{**/ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x03 @@ -785,8 +785,8 @@ /** * @name Device Pin Definitions * - * @{ */ +/**@{**/ #define MOSI_DDR DDRB #define MOSI_PORT PORTB #define MOSI_PIN PINB diff --git a/cpukit/score/cpu/avr/avr/iom16hva.h b/cpukit/score/cpu/avr/avr/iom16hva.h index 3c5c2f54fe..7dcad90e37 100644 --- a/cpukit/score/cpu/avr/avr/iom16hva.h +++ b/cpukit/score/cpu/avr/avr/iom16hva.h @@ -47,8 +47,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Constants */ #define SPM_PAGESIZE 128 diff --git a/cpukit/score/cpu/avr/avr/iom2560.h b/cpukit/score/cpu/avr/avr/iom2560.h index 9105167cd4..461f93611f 100644 --- a/cpukit/score/cpu/avr/avr/iom2560.h +++ b/cpukit/score/cpu/avr/avr/iom2560.h @@ -39,8 +39,8 @@ /** * @name Constants * - * @{ */ +/**@{**/ #define SPM_PAGESIZE 256 #define RAMEND 0x21FF #define XRAMEND 0xFFFF @@ -52,8 +52,8 @@ /** * @name Fuses * - * @{ */ +/**@{**/ #define FUSE_MEMORY_SIZE 3 /* Low Fuse Byte */ @@ -89,8 +89,8 @@ /** * @name Lock Bits * - * @{ */ +/**@{**/ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST @@ -99,8 +99,8 @@ /** * @name Signature * - * @{ */ +/**@{**/ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x98 #define SIGNATURE_2 0x01 diff --git a/cpukit/score/cpu/avr/avr/iom325.h b/cpukit/score/cpu/avr/avr/iom325.h index 2427c95154..7d4f582aaf 100644 --- a/cpukit/score/cpu/avr/avr/iom325.h +++ b/cpukit/score/cpu/avr/avr/iom325.h @@ -59,8 +59,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Registers and associated bit numbers */ diff --git a/cpukit/score/cpu/avr/avr/iom3250.h b/cpukit/score/cpu/avr/avr/iom3250.h index 83721e52da..6c3cb35a0f 100644 --- a/cpukit/score/cpu/avr/avr/iom3250.h +++ b/cpukit/score/cpu/avr/avr/iom3250.h @@ -49,8 +49,8 @@ /** * @name Registers and Associated Bit Numbers * - * @{ */ +/**@{**/ #define PINA _SFR_IO8(0x00) #define PINA7 7 #define PINA6 6 @@ -762,8 +762,8 @@ /** * @name Interrupt Vectors * - * @{ */ +/**@{**/ /* Vector 0 is the reset vector */ /* External Interrupt Request 0 */ #define INT0_vect _VECTOR(1) @@ -866,8 +866,8 @@ /** * @name Constants * - * @{ */ +/**@{**/ #define SPM_PAGESIZE 128 #define RAMEND 0x8FF #define XRAMEND RAMEND @@ -879,8 +879,8 @@ /** * @name Fuses * - * @{ */ +/**@{**/ #define FUSE_MEMORY_SIZE 3 /* Low Fuse Byte */ @@ -916,8 +916,8 @@ /** * @name Lock Bits * - * @{ */ +/**@{**/ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST @@ -926,8 +926,8 @@ /** * @name Signature * - * @{ */ +/**@{**/ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x95 #define SIGNATURE_2 0x06 diff --git a/cpukit/score/cpu/avr/avr/iom328p.h b/cpukit/score/cpu/avr/avr/iom328p.h index 9436f4aaf2..b2bb6b58bf 100644 --- a/cpukit/score/cpu/avr/avr/iom328p.h +++ b/cpukit/score/cpu/avr/avr/iom328p.h @@ -61,8 +61,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Registers and associated bit numbers */ diff --git a/cpukit/score/cpu/avr/avr/iom329.h b/cpukit/score/cpu/avr/avr/iom329.h index 6ce3417db0..a7b5efdfd1 100644 --- a/cpukit/score/cpu/avr/avr/iom329.h +++ b/cpukit/score/cpu/avr/avr/iom329.h @@ -49,8 +49,8 @@ /** * @name Registers and Associated Bit Numbers * - * @{ */ +/**@{**/ #define PINA _SFR_IO8(0x00) #define PINA7 7 #define PINA6 6 @@ -863,8 +863,8 @@ /** * @name Interrupt Vectors * - * @{ */ +/**@{**/ /* Vector 0 is the reset vector */ /* External Interrupt Request 0 */ #define INT0_vect _VECTOR(1) @@ -960,8 +960,8 @@ /** * @name Constants * - * @{ */ +/**@{**/ #define SPM_PAGESIZE 128 #define RAMEND 0x8FF #define XRAMEND RAMEND @@ -973,8 +973,8 @@ /** * @name Fuses * - * @{ */ +/**@{**/ #define FUSE_MEMORY_SIZE 3 /* Low Fuse Byte */ @@ -1011,8 +1011,8 @@ /** * @name Lock Bits * - * @{ */ +/**@{**/ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST @@ -1021,8 +1021,8 @@ /** * @name Signature * - * @{ */ +/**@{**/ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x95 #define SIGNATURE_2 0x03 diff --git a/cpukit/score/cpu/avr/avr/iom3290.h b/cpukit/score/cpu/avr/avr/iom3290.h index 9dea54010d..f349821f77 100644 --- a/cpukit/score/cpu/avr/avr/iom3290.h +++ b/cpukit/score/cpu/avr/avr/iom3290.h @@ -57,8 +57,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Registers and associated bit numbers */ diff --git a/cpukit/score/cpu/avr/avr/iom32c1.h b/cpukit/score/cpu/avr/avr/iom32c1.h index fa771e478d..a0d4017026 100644 --- a/cpukit/score/cpu/avr/avr/iom32c1.h +++ b/cpukit/score/cpu/avr/avr/iom32c1.h @@ -57,8 +57,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Registers and associated bit numbers. */ diff --git a/cpukit/score/cpu/avr/avr/iom32m1.h b/cpukit/score/cpu/avr/avr/iom32m1.h index 2b2888215d..f8bf88396e 100644 --- a/cpukit/score/cpu/avr/avr/iom32m1.h +++ b/cpukit/score/cpu/avr/avr/iom32m1.h @@ -57,8 +57,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Registers and associated bit numbers. */ diff --git a/cpukit/score/cpu/avr/avr/iom32u2.h b/cpukit/score/cpu/avr/avr/iom32u2.h index ed960b31d1..10e835e6ed 100644 --- a/cpukit/score/cpu/avr/avr/iom32u2.h +++ b/cpukit/score/cpu/avr/avr/iom32u2.h @@ -50,8 +50,8 @@ /** * @name Registers and Associated Bit Numbers * - * @{ */ +/**@{**/ #define PINB _SFR_IO8(0x03) #define PINB0 0 #define PINB1 1 @@ -858,8 +858,8 @@ /** * @name Interrupt Vectors * - * @{ */ +/**@{**/ /* Vector 0 is the reset vector */ #define INT0_vect_num 1 #define INT0_vect _VECTOR(1) /* External Interrupt Request 0 */ @@ -944,8 +944,8 @@ /** * @name Fuses * - * @{ */ +/**@{**/ #define FUSE_MEMORY_SIZE 3 /* Low Fuse Byte */ @@ -987,8 +987,8 @@ /** * @name Lock Bits * - * @{ */ +/**@{**/ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST @@ -997,8 +997,8 @@ /** * @name Signature * - * @{ */ +/**@{**/ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x95 #define SIGNATURE_2 0x8A diff --git a/cpukit/score/cpu/avr/avr/iom32u4.h b/cpukit/score/cpu/avr/avr/iom32u4.h index 53d4d05ad0..263d40f9b2 100644 --- a/cpukit/score/cpu/avr/avr/iom32u4.h +++ b/cpukit/score/cpu/avr/avr/iom32u4.h @@ -61,8 +61,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Registers and associated bit numbers */ diff --git a/cpukit/score/cpu/avr/avr/iom640.h b/cpukit/score/cpu/avr/avr/iom640.h index 33559fc21f..d542d2eed5 100644 --- a/cpukit/score/cpu/avr/avr/iom640.h +++ b/cpukit/score/cpu/avr/avr/iom640.h @@ -44,8 +44,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ #include diff --git a/cpukit/score/cpu/avr/avr/iom644.h b/cpukit/score/cpu/avr/avr/iom644.h index 5c9f113d8e..dcfab293ef 100644 --- a/cpukit/score/cpu/avr/avr/iom644.h +++ b/cpukit/score/cpu/avr/avr/iom644.h @@ -47,8 +47,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Constants */ #define SPM_PAGESIZE 256 diff --git a/cpukit/score/cpu/avr/avr/iom644p.h b/cpukit/score/cpu/avr/avr/iom644p.h index b1182bbc37..5c42b09c6d 100644 --- a/cpukit/score/cpu/avr/avr/iom644p.h +++ b/cpukit/score/cpu/avr/avr/iom644p.h @@ -39,8 +39,8 @@ /** * @name Constants * - * @{ */ +/**@{**/ #define SPM_PAGESIZE 256 #define RAMEND 0x10FF #define XRAMEND RAMEND @@ -52,8 +52,8 @@ /** * @name Fuses * - * @{ */ +/**@{**/ #define FUSE_MEMORY_SIZE 3 /* Low Fuse Byte */ @@ -89,8 +89,8 @@ /** * @name Lock Bits * - * @{ */ +/**@{**/ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST @@ -99,8 +99,8 @@ /** * @name Signature * - * @{ */ +/**@{**/ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x96 #define SIGNATURE_2 0x0A diff --git a/cpukit/score/cpu/avr/avr/iom6450.h b/cpukit/score/cpu/avr/avr/iom6450.h index 0a114297d9..fa2203e527 100644 --- a/cpukit/score/cpu/avr/avr/iom6450.h +++ b/cpukit/score/cpu/avr/avr/iom6450.h @@ -59,8 +59,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Registers and associated bit numbers */ diff --git a/cpukit/score/cpu/avr/avr/iom64c1.h b/cpukit/score/cpu/avr/avr/iom64c1.h index 5d2ef5d42e..5895fe9857 100644 --- a/cpukit/score/cpu/avr/avr/iom64c1.h +++ b/cpukit/score/cpu/avr/avr/iom64c1.h @@ -60,8 +60,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Registers and associated bit numbers. */ diff --git a/cpukit/score/cpu/avr/avr/iom64m1.h b/cpukit/score/cpu/avr/avr/iom64m1.h index f6cf122e86..492e524185 100644 --- a/cpukit/score/cpu/avr/avr/iom64m1.h +++ b/cpukit/score/cpu/avr/avr/iom64m1.h @@ -51,8 +51,8 @@ /** * @name Registers and Associated Bit Numbers * - * @{ */ +/**@{**/ #define PINB _SFR_IO8(0x03) #define PINB0 0 #define PINB1 1 @@ -1423,8 +1423,8 @@ /** * @name Interrupt Vectors * - * @{ */ +/**@{**/ /* Vector 0 is the reset vector */ #define ANACOMP0_vect_num 1 #define ANACOMP0_vect _VECTOR(1) /* Analog Comparator 0 */ @@ -1498,8 +1498,8 @@ /** * @name Constants * - * @{ */ +/**@{**/ #define SPM_PAGESIZE (256) #define RAMSTART (0x0100) #define RAMSIZE (4096) @@ -1515,8 +1515,8 @@ /** * @name Fuses * - * @{ */ +/**@{**/ #define FUSE_MEMORY_SIZE 3 /* Low Fuse Byte */ @@ -1560,8 +1560,8 @@ /** * @name Lock Bits * - * @{ */ +/**@{**/ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST @@ -1570,8 +1570,8 @@ /** * @name Signature * - * @{ */ +/**@{**/ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x96 #define SIGNATURE_2 0x84 diff --git a/cpukit/score/cpu/avr/avr/iom8.h b/cpukit/score/cpu/avr/avr/iom8.h index c43ac86c3e..c918b43dfb 100644 --- a/cpukit/score/cpu/avr/avr/iom8.h +++ b/cpukit/score/cpu/avr/avr/iom8.h @@ -59,8 +59,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* I/O registers */ diff --git a/cpukit/score/cpu/avr/avr/iom8535.h b/cpukit/score/cpu/avr/avr/iom8535.h index 03c9a00241..061a0fce6b 100644 --- a/cpukit/score/cpu/avr/avr/iom8535.h +++ b/cpukit/score/cpu/avr/avr/iom8535.h @@ -49,8 +49,8 @@ /** * @name I/O Registers * - * @{ */ +/**@{**/ /* TWI stands for "Two Wire Interface" or "TWI Was I2C(tm)" */ #define TWBR _SFR_IO8(0x00) #define TWSR _SFR_IO8(0x01) @@ -235,8 +235,8 @@ /** * @name Interrupt Vectors * - * @{ */ +/**@{**/ /* External Interrupt 0 */ #define INT0_vect _VECTOR(1) #define SIG_INTERRUPT0 _VECTOR(1) @@ -673,8 +673,8 @@ /** * @name Constants * - * @{ */ +/**@{**/ #define SPM_PAGESIZE 64 #define RAMEND 0x25F /* Last On-Chip SRAM Location */ #define XRAMEND RAMEND @@ -686,8 +686,8 @@ /** * @name Fuses * - * @{ */ +/**@{**/ #define FUSE_MEMORY_SIZE 2 /* Low Fuse Byte */ @@ -717,8 +717,8 @@ /** * @name Lock Bits * - * @{ */ +/**@{**/ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST @@ -727,8 +727,8 @@ /** * @name Signature * - * @{ */ +/**@{**/ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x93 #define SIGNATURE_2 0x08 diff --git a/cpukit/score/cpu/avr/avr/iom88.h b/cpukit/score/cpu/avr/avr/iom88.h index 60ef3d2cae..f3e5e64c45 100644 --- a/cpukit/score/cpu/avr/avr/iom88.h +++ b/cpukit/score/cpu/avr/avr/iom88.h @@ -43,8 +43,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ #include diff --git a/cpukit/score/cpu/avr/avr/iom8hva.h b/cpukit/score/cpu/avr/avr/iom8hva.h index a0649b6d84..fc36eabb25 100644 --- a/cpukit/score/cpu/avr/avr/iom8hva.h +++ b/cpukit/score/cpu/avr/avr/iom8hva.h @@ -47,8 +47,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Constants */ #define SPM_PAGESIZE 128 diff --git a/cpukit/score/cpu/avr/avr/iom8u2.h b/cpukit/score/cpu/avr/avr/iom8u2.h index 1c480233db..c3ee0ba211 100644 --- a/cpukit/score/cpu/avr/avr/iom8u2.h +++ b/cpukit/score/cpu/avr/avr/iom8u2.h @@ -60,8 +60,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Registers and associated bit numbers. */ diff --git a/cpukit/score/cpu/avr/avr/iomx8.h b/cpukit/score/cpu/avr/avr/iomx8.h index 477ea0a747..f145d9d27d 100644 --- a/cpukit/score/cpu/avr/avr/iomx8.h +++ b/cpukit/score/cpu/avr/avr/iomx8.h @@ -49,8 +49,8 @@ /** * @name I/O Registers * - * @{ */ +/**@{**/ /* Port B */ #define PINB _SFR_IO8 (0x03) @@ -628,8 +628,8 @@ /** * @name Interrupt Vectors * - * @{ */ +/**@{**/ /* External Interrupt Request 0 */ #define INT0_vect _VECTOR(1) #define SIG_INTERRUPT0 _VECTOR(1) diff --git a/cpukit/score/cpu/avr/avr/iomxx4.h b/cpukit/score/cpu/avr/avr/iomxx4.h index ff5c85c836..9dd64d875d 100644 --- a/cpukit/score/cpu/avr/avr/iomxx4.h +++ b/cpukit/score/cpu/avr/avr/iomxx4.h @@ -46,8 +46,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ #ifndef _AVR_IO_H_ # error "Include instead of this file." diff --git a/cpukit/score/cpu/avr/avr/iotn13a.h b/cpukit/score/cpu/avr/avr/iotn13a.h index b97348153b..689f4032d6 100644 --- a/cpukit/score/cpu/avr/avr/iotn13a.h +++ b/cpukit/score/cpu/avr/avr/iotn13a.h @@ -50,8 +50,8 @@ /** * @name Registers and Associated Bit Numbers * - * @{ */ +/**@{**/ #define ADCSRB _SFR_IO8(0x03) #define ADTS0 0 #define ADTS1 1 @@ -313,8 +313,8 @@ /** * @name Interrupt Vectors * - * @{ */ +/**@{**/ /* Vector 0 is the reset vector */ #define INT0_vect_num 1 #define INT0_vect _VECTOR(1) /* External Interrupt 0 */ @@ -342,8 +342,8 @@ /** * @name Constants * - * @{ */ +/**@{**/ #define SPM_PAGESIZE (32) #define RAMSTART (0x60) #define RAMSIZE (64) @@ -359,8 +359,8 @@ /** * @name Fuses * - * @{ */ +/**@{**/ #define FUSE_MEMORY_SIZE 2 /* Low Fuse Byte */ @@ -390,16 +390,16 @@ /** * @name Lock Bits * - * @{ */ +/**@{**/ #define __LOCK_BITS_EXIST /** @} */ /** * @name Signature * - * @{ */ +/**@{**/ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x90 #define SIGNATURE_2 0x07 diff --git a/cpukit/score/cpu/avr/avr/iotn15.h b/cpukit/score/cpu/avr/avr/iotn15.h index dae88c0b75..3e7ac81487 100644 --- a/cpukit/score/cpu/avr/avr/iotn15.h +++ b/cpukit/score/cpu/avr/avr/iotn15.h @@ -46,8 +46,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ #ifndef _AVR_IO_H_ # error "Include instead of this file." diff --git a/cpukit/score/cpu/avr/avr/iotn167.h b/cpukit/score/cpu/avr/avr/iotn167.h index a98e17d4ba..53202b33a2 100644 --- a/cpukit/score/cpu/avr/avr/iotn167.h +++ b/cpukit/score/cpu/avr/avr/iotn167.h @@ -61,8 +61,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Registers and associated bit numbers */ diff --git a/cpukit/score/cpu/avr/avr/iotn2313.h b/cpukit/score/cpu/avr/avr/iotn2313.h index 7a2885fde9..21a00522a3 100644 --- a/cpukit/score/cpu/avr/avr/iotn2313.h +++ b/cpukit/score/cpu/avr/avr/iotn2313.h @@ -84,8 +84,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* I/O registers */ diff --git a/cpukit/score/cpu/avr/avr/iotn26.h b/cpukit/score/cpu/avr/avr/iotn26.h index 8722055de9..7fcf2a3b59 100644 --- a/cpukit/score/cpu/avr/avr/iotn26.h +++ b/cpukit/score/cpu/avr/avr/iotn26.h @@ -59,8 +59,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Registers and associated bit numbers */ diff --git a/cpukit/score/cpu/avr/avr/iotn261.h b/cpukit/score/cpu/avr/avr/iotn261.h index 9b91b7b0e0..129e595a34 100644 --- a/cpukit/score/cpu/avr/avr/iotn261.h +++ b/cpukit/score/cpu/avr/avr/iotn261.h @@ -45,8 +45,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ #include diff --git a/cpukit/score/cpu/avr/avr/iotn28.h b/cpukit/score/cpu/avr/avr/iotn28.h index e20985eb43..28a68e5ca2 100644 --- a/cpukit/score/cpu/avr/avr/iotn28.h +++ b/cpukit/score/cpu/avr/avr/iotn28.h @@ -63,8 +63,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* I/O registers */ diff --git a/cpukit/score/cpu/avr/avr/iotn461.h b/cpukit/score/cpu/avr/avr/iotn461.h index 2fd1457673..0b14646486 100644 --- a/cpukit/score/cpu/avr/avr/iotn461.h +++ b/cpukit/score/cpu/avr/avr/iotn461.h @@ -47,8 +47,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Constants */ #define SPM_PAGESIZE 64 diff --git a/cpukit/score/cpu/avr/avr/iotn85.h b/cpukit/score/cpu/avr/avr/iotn85.h index 37b37054a6..2fa4d3f0b1 100644 --- a/cpukit/score/cpu/avr/avr/iotn85.h +++ b/cpukit/score/cpu/avr/avr/iotn85.h @@ -44,8 +44,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ #include diff --git a/cpukit/score/cpu/avr/avr/iotn861.h b/cpukit/score/cpu/avr/avr/iotn861.h index 115110d14a..54c86570c0 100644 --- a/cpukit/score/cpu/avr/avr/iotn861.h +++ b/cpukit/score/cpu/avr/avr/iotn861.h @@ -39,8 +39,8 @@ /** * @name Constants * - * @{ */ +/**@{**/ #define SPM_PAGESIZE 64 #define RAMEND 0x25F #define XRAMEND RAMEND @@ -52,8 +52,8 @@ /** * @name Fuses * - * @{ */ +/**@{**/ #define FUSE_MEMORY_SIZE 3 /* Low Fuse Byte */ @@ -87,16 +87,16 @@ /** * @name Lock Bits * - * @{ */ +/**@{**/ #define __LOCK_BITS_EXIST /** @} */ /** * @name Signature * - * @{ */ +/**@{**/ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x93 #define SIGNATURE_2 0x0D diff --git a/cpukit/score/cpu/avr/avr/iotn88.h b/cpukit/score/cpu/avr/avr/iotn88.h index afae9efa10..829d13f283 100644 --- a/cpukit/score/cpu/avr/avr/iotn88.h +++ b/cpukit/score/cpu/avr/avr/iotn88.h @@ -57,8 +57,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ #ifndef _AVR_IOTN88_H_ #define _AVR_IOTN88_H_ 1 diff --git a/cpukit/score/cpu/avr/avr/iotnx4.h b/cpukit/score/cpu/avr/avr/iotnx4.h index 9d40770ad1..8bb310ba13 100644 --- a/cpukit/score/cpu/avr/avr/iotnx4.h +++ b/cpukit/score/cpu/avr/avr/iotnx4.h @@ -49,8 +49,8 @@ /** * @name I/O Registers * - * @{ */ +/**@{**/ #define PRR _SFR_IO8 (0x00) #define PRTIM1 3 #define PRTIM0 2 @@ -386,8 +386,8 @@ /** * @name Interrupt Vectors * - * @{ */ +/**@{**/ /* Interrupt vector 0 is the reset vector. */ /* External Interrupt Request 0 */ #define INT0_vect _VECTOR(1) diff --git a/cpukit/score/cpu/avr/avr/iotnx61.h b/cpukit/score/cpu/avr/avr/iotnx61.h index e909369733..58cba5c493 100644 --- a/cpukit/score/cpu/avr/avr/iotnx61.h +++ b/cpukit/score/cpu/avr/avr/iotnx61.h @@ -56,8 +56,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Registers and associated bit numbers */ diff --git a/cpukit/score/cpu/avr/avr/iousb162.h b/cpukit/score/cpu/avr/avr/iousb162.h index 1350e42631..89709a7279 100644 --- a/cpukit/score/cpu/avr/avr/iousb162.h +++ b/cpukit/score/cpu/avr/avr/iousb162.h @@ -39,8 +39,8 @@ /** * @name Constants * - * @{ */ +/**@{**/ #define SPM_PAGESIZE 128 #define RAMEND 0x2FF #define XRAMEND RAMEND @@ -52,8 +52,8 @@ /** * @name Fuses * - * @{ */ +/**@{**/ #define FUSE_MEMORY_SIZE 3 /* Low Fuse Byte */ @@ -89,8 +89,8 @@ /** * @name Lock Bits * - * @{ */ +/**@{**/ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_BITS_0_EXIST #define __BOOT_LOCK_BITS_1_EXIST @@ -99,8 +99,8 @@ /** * @name Signature * - * @{ */ +/**@{**/ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x94 #define SIGNATURE_2 0x82 diff --git a/cpukit/score/cpu/avr/avr/iousb647.h b/cpukit/score/cpu/avr/avr/iousb647.h index b4e05a9d0a..2e1288accb 100644 --- a/cpukit/score/cpu/avr/avr/iousb647.h +++ b/cpukit/score/cpu/avr/avr/iousb647.h @@ -47,8 +47,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Constants */ #define SPM_PAGESIZE 256 diff --git a/cpukit/score/cpu/avr/avr/iousb82.h b/cpukit/score/cpu/avr/avr/iousb82.h index 94232af473..2d66bd5d70 100644 --- a/cpukit/score/cpu/avr/avr/iousb82.h +++ b/cpukit/score/cpu/avr/avr/iousb82.h @@ -47,8 +47,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Constants */ #define SPM_PAGESIZE 128 diff --git a/cpukit/score/cpu/avr/avr/iousbxx2.h b/cpukit/score/cpu/avr/avr/iousbxx2.h index 5b39243869..3dcbc76262 100644 --- a/cpukit/score/cpu/avr/avr/iousbxx2.h +++ b/cpukit/score/cpu/avr/avr/iousbxx2.h @@ -46,8 +46,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ #ifndef _AVR_IO_H_ # error "Include instead of this file." diff --git a/cpukit/score/cpu/avr/avr/iox128a1.h b/cpukit/score/cpu/avr/avr/iox128a1.h index 2d017816eb..4ce4c47e64 100644 --- a/cpukit/score/cpu/avr/avr/iox128a1.h +++ b/cpukit/score/cpu/avr/avr/iox128a1.h @@ -120,8 +120,8 @@ typedef volatile uint32_t register32_t; /** * @name IO Module Structures * - * @{ */ +/**@{**/ /* -------------------------------------------------------------------------- @@ -2646,8 +2646,8 @@ typedef enum AES_INTLVL_enum /** * @name IO Module Instances. Mapped to Memory * - * @{ */ +/**@{**/ #define GPIO (*(GPIO_t *) 0x0000) /* General Purpose IO Registers */ #define VPORT0 (*(VPORT_t *) 0x0010) /* Virtual Port 0 */ #define VPORT1 (*(VPORT_t *) 0x0014) /* Virtual Port 1 */ @@ -2736,8 +2736,8 @@ typedef enum AES_INTLVL_enum /** * @name Flattened Fully Qualified IO Register Names * - * @{ */ +/**@{**/ /* GPIO - General Purpose IO Registers */ #define GPIO_GPIO0 _SFR_MEM8(0x0000) @@ -3760,8 +3760,8 @@ typedef enum AES_INTLVL_enum /** * @name Bitfield Definitions * - * @{ */ +/**@{**/ /* XOCD - On-Chip Debug System */ /* OCD.OCDR1 bit masks and bit positions */ #define OCD_OCDRD_bm 0x01 /* OCDR Dirty bit mask. */ @@ -7043,8 +7043,8 @@ typedef enum AES_INTLVL_enum /** * @name Interrupt Vector Definitions * - * @{ */ +/**@{**/ /* Vector 0 is the reset vector */ /* OSC interrupt vectors */ @@ -7398,8 +7398,8 @@ typedef enum AES_INTLVL_enum /** * @name Constants * - * @{ */ +/**@{**/ #define PROGMEM_START (0x0000) #define PROGMEM_SIZE (139264) #define PROGMEM_PAGE_SIZE (512) @@ -7493,8 +7493,8 @@ typedef enum AES_INTLVL_enum /** * @name Fuses * - * @{ */ +/**@{**/ #define FUSE_MEMORY_SIZE 6 /* Fuse Byte 0 */ @@ -7561,8 +7561,8 @@ typedef enum AES_INTLVL_enum /** * @name Lock Bits * - * @{ */ +/**@{**/ #define __LOCK_BITS_EXIST #define __BOOT_LOCK_APPLICATION_TABLE_BITS_EXIST #define __BOOT_LOCK_APPLICATION_BITS_EXIST @@ -7572,8 +7572,8 @@ typedef enum AES_INTLVL_enum /** * @name Signature * - * @{ */ +/**@{**/ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x97 #define SIGNATURE_2 0x4C diff --git a/cpukit/score/cpu/avr/avr/iox256d3.h b/cpukit/score/cpu/avr/avr/iox256d3.h index e1a2815265..a49879811d 100644 --- a/cpukit/score/cpu/avr/avr/iox256d3.h +++ b/cpukit/score/cpu/avr/avr/iox256d3.h @@ -57,8 +57,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Ungrouped common registers */ #define GPIOR0 _SFR_MEM8(0x0000) /* General Purpose IO Register 0 */ diff --git a/cpukit/score/cpu/avr/avr/iox32d4.h b/cpukit/score/cpu/avr/avr/iox32d4.h index 0e01175ea6..248e32cadf 100644 --- a/cpukit/score/cpu/avr/avr/iox32d4.h +++ b/cpukit/score/cpu/avr/avr/iox32d4.h @@ -59,8 +59,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ /* Ungrouped common registers */ diff --git a/cpukit/score/cpu/avr/avr/parity.h b/cpukit/score/cpu/avr/avr/parity.h index 97ba0654b7..e01148e7dd 100644 --- a/cpukit/score/cpu/avr/avr/parity.h +++ b/cpukit/score/cpu/avr/avr/parity.h @@ -45,8 +45,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ #warning "This file has been moved to ." #include diff --git a/cpukit/score/cpu/avr/avr/pgmspace.h b/cpukit/score/cpu/avr/avr/pgmspace.h index 1077bb5ba6..42010168b1 100644 --- a/cpukit/score/cpu/avr/avr/pgmspace.h +++ b/cpukit/score/cpu/avr/avr/pgmspace.h @@ -77,8 +77,8 @@ * * @ingroup avr * - * @{ */ +/**@{**/ #define __need_size_t #include diff --git a/cpukit/score/cpu/avr/avr/sfr_defs.h b/cpukit/score/cpu/avr/avr/sfr_defs.h index c2ebe6931b..2b8392689a 100644 --- a/cpukit/score/cpu/avr/avr/sfr_defs.h +++ b/cpukit/score/cpu/avr/avr/sfr_defs.h @@ -121,9 +121,8 @@ * __SFR_OFFSET are supported - the @c _SFR_ADDR(SPMCR) macro can be * used to get the address of the @c SPMCR register (0x57 or 0x68 depending on * device). - * - * @{ */ +/**@{**/ #ifdef __ASSEMBLER__ #define _SFR_ASM_COMPAT 1 @@ -203,9 +202,8 @@ /** * @name Bit Manipulation - * - * @{ */ +/**@{**/ /** * @code #include @endcode @@ -229,9 +227,8 @@ /** * @name IO Register Bit Manipulation - * - * @{ */ +/**@{**/ /** * @code #include @endcode diff --git a/cpukit/score/cpu/avr/avr/sleep.h b/cpukit/score/cpu/avr/avr/sleep.h index 655c1e3e14..9a2556c85c 100644 --- a/cpukit/score/cpu/avr/avr/sleep.h +++ b/cpukit/score/cpu/avr/avr/sleep.h @@ -134,8 +134,8 @@ * sei(); * @endcode * - * @{ */ +/**@{**/ /* diff --git a/cpukit/score/cpu/bfin/rtems/score/cpu.h b/cpukit/score/cpu/bfin/rtems/score/cpu.h index 425fc68fa7..1b265276ba 100644 --- a/cpukit/score/cpu/bfin/rtems/score/cpu.h +++ b/cpukit/score/cpu/bfin/rtems/score/cpu.h @@ -363,8 +363,8 @@ extern "C" { * * This group assists in issues related to processor endianness. * - * @{ */ +/**@{**/ /** * Define what is required to specify how the network to host conversion @@ -460,9 +460,8 @@ extern "C" { * Port Specific Information: * * XXX document implementation including references if appropriate - * - * @{ */ +/**@{**/ #ifndef ASM @@ -547,9 +546,8 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; * Port Specific Information: * * XXX document implementation including references if appropriate - * - * @{ */ +/**@{**/ /* * Nothing prevents the porter from declaring more CPU specific variables. @@ -700,9 +698,8 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; /** * @addtogroup CPUInterrupt - * - * @{ */ +/**@{**/ /** * Support routine to initialize the RTEMS vector table after it is allocated. @@ -939,9 +936,8 @@ void _CPU_Context_Initialize( * * This set of routines are used to implement fast searches for * the most important ready task. - * - * @{ */ +/**@{**/ /** * This definition is set to TRUE if the port uses the generic bitfield @@ -1149,9 +1145,8 @@ void *_CPU_Thread_Idle_body( uintptr_t ignored ); /** * @addtogroup CPUContext - * - * @{ */ +/**@{**/ /** * This routine switches from the run context to the heir context. diff --git a/cpukit/score/cpu/i386/rtems/score/interrupts.h b/cpukit/score/cpu/i386/rtems/score/interrupts.h index 4787bcb663..bed6330781 100644 --- a/cpukit/score/cpu/i386/rtems/score/interrupts.h +++ b/cpukit/score/cpu/i386/rtems/score/interrupts.h @@ -31,8 +31,8 @@ typedef int (*rtems_raw_irq_is_enabled) (const struct __rtems_raw_irq_connect_d /** * @name Interrupt Level Macros * - * @{ */ +/**@{**/ #define i386_disable_interrupts( _level ) \ { \ diff --git a/cpukit/score/cpu/lm32/rtems/score/cpu.h b/cpukit/score/cpu/lm32/rtems/score/cpu.h index 865b19f523..1f8a370700 100644 --- a/cpukit/score/cpu/lm32/rtems/score/cpu.h +++ b/cpukit/score/cpu/lm32/rtems/score/cpu.h @@ -344,8 +344,8 @@ extern "C" { * * This group assists in issues related to processor endianness. * - * @{ */ +/**@{**/ /** * Define what is required to specify how the network to host conversion @@ -441,9 +441,8 @@ extern "C" { * Port Specific Information: * * XXX document implementation including references if appropriate - * - * @{ */ +/**@{**/ /** * This defines the minimal set of integer and processor state registers @@ -546,9 +545,8 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; * Port Specific Information: * * XXX document implementation including references if appropriate - * - * @{ */ +/**@{**/ /* * Nothing prevents the porter from declaring more CPU specific variables. @@ -693,9 +691,8 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; /** * @addtogroup CPUInterrupt - * - * @{ */ +/**@{**/ /** * Support routine to initialize the RTEMS vector table after it is allocated. @@ -925,9 +922,8 @@ extern char _gp[]; * * This set of routines are used to implement fast searches for * the most important ready task. - * - * @{ */ +/**@{**/ /** * This definition is set to TRUE if the port uses the generic bitfield @@ -1071,9 +1067,8 @@ void _CPU_Initialize(void); /** * @addtogroup CPUInterrupt - * - * @{ */ +/**@{**/ /** * This routine installs a "raw" interrupt handler directly into the @@ -1154,9 +1149,8 @@ void _CPU_Context_switch( /** * @addtogroup CPUContext - * - * @{ */ +/**@{**/ /** * This routine is generally used only to restart self in an diff --git a/cpukit/score/cpu/m32c/rtems/score/cpu.h b/cpukit/score/cpu/m32c/rtems/score/cpu.h index d09d0aff1c..8d9acc37f3 100644 --- a/cpukit/score/cpu/m32c/rtems/score/cpu.h +++ b/cpukit/score/cpu/m32c/rtems/score/cpu.h @@ -366,8 +366,8 @@ extern "C" { * * This group assists in issues related to processor endianness. * - * @{ */ +/**@{**/ /** * Define what is required to specify how the network to host conversion @@ -464,8 +464,8 @@ extern "C" { * Port Specific Information: * * XXX document implementation including references if appropriate - * @{ */ +/**@{**/ /** * @ingroup Management @@ -529,8 +529,8 @@ typedef struct { * * XXX document implementation including references if appropriate * - * @{ */ +/**@{**/ /* * Nothing prevents the porter from declaring more CPU specific variables. @@ -911,8 +911,8 @@ void _CPU_Context_Restart_self( * * This set of routines are used to implement fast searches for * the most important ready task. - * @{ */ +/**@{**/ /** * This definition is set to TRUE if the port uses the generic bitfield diff --git a/cpukit/score/cpu/m32r/rtems/score/cpu.h b/cpukit/score/cpu/m32r/rtems/score/cpu.h index cb4ebe7ae9..8c8a9c1c30 100644 --- a/cpukit/score/cpu/m32r/rtems/score/cpu.h +++ b/cpukit/score/cpu/m32r/rtems/score/cpu.h @@ -360,8 +360,8 @@ extern "C" { * * This group assists in issues related to processor endianness. * - * @{ */ +/**@{**/ /** * Define what is required to specify how the network to host conversion @@ -457,9 +457,8 @@ extern "C" { * Port Specific Information: * * XXX document implementation including references if appropriate - * - * @{ */ +/**@{**/ /** * This defines the minimal set of integer and processor state registers @@ -552,9 +551,8 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; * Port Specific Information: * * XXX document implementation including references if appropriate - * - * @{ */ +/**@{**/ /* * Nothing prevents the porter from declaring more CPU specific variables. @@ -700,9 +698,8 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context; /** * @addtogroup CPUInterrupt - * - * @{ */ +/**@{**/ /** * Support routine to initialize the RTEMS vector table after it is allocated. @@ -932,9 +929,8 @@ void _CPU_Context_Restart_self( * * This set of routines are used to implement fast searches for * the most important ready task. - * - * @{ */ +/**@{**/ /** * This definition is set to TRUE if the port uses the generic bitfield @@ -1145,9 +1141,8 @@ void _CPU_Context_switch( /** * @addtogroup CPUContext - * - * @{ */ +/**@{**/ /** * This routine is generally used only to restart self in an diff --git a/cpukit/score/cpu/no_cpu/rtems/score/cpu.h b/cpukit/score/cpu/no_cpu/rtems/score/cpu.h index 87dd232021..8c4a61bbb4 100644 --- a/cpukit/score/cpu/no_cpu/rtems/score/cpu.h +++ b/cpukit/score/cpu/no_cpu/rtems/score/cpu.h @@ -389,8 +389,8 @@ extern "C" { * be an improvement on the PowerPC and SPARC. The struct timespec * and the executables with int64 not inlined are about the same size. * - * @{ */ +/**@{**/ /** * Selects the timestamp implementation using struct timespec. @@ -426,8 +426,8 @@ extern "C" { * * This group assists in issues related to processor endianness. * - * @{ */ +/**@{**/ /** * Define what is required to specify how the network to host conversion @@ -525,8 +525,8 @@ extern "C" { * * XXX document implementation including references if appropriate * - * @{ */ +/**@{**/ /** * @ingroup Management @@ -1013,8 +1013,8 @@ uint32_t _CPU_ISR_Get_level( void ); * This set of routines are used to implement fast searches for * the most important ready task. * - * @{ */ +/**@{**/ /** * This definition is set to TRUE if the port uses the generic bitfield diff --git a/cpukit/score/cpu/sparc/rtems/score/cpu.h b/cpukit/score/cpu/sparc/rtems/score/cpu.h index 327b06254c..610235568b 100644 --- a/cpukit/score/cpu/sparc/rtems/score/cpu.h +++ b/cpukit/score/cpu/sparc/rtems/score/cpu.h @@ -371,9 +371,8 @@ typedef struct { * of the CPU state in the context area. The ET (enable trap) bit and * the CWP (current window pointer) fields of the PSR are considered * system wide resources and are not maintained on a per-thread basis. - * - * @{ */ +/**@{**/ #ifndef ASM /** diff --git a/cpukit/score/cpu/v850/rtems/score/cpu.h b/cpukit/score/cpu/v850/rtems/score/cpu.h index 0e3f8eebab..c0b6f9e2ca 100644 --- a/cpukit/score/cpu/v850/rtems/score/cpu.h +++ b/cpukit/score/cpu/v850/rtems/score/cpu.h @@ -348,8 +348,8 @@ extern "C" { * * This group assists in issues related to processor endianness. * - * @{ */ +/**@{**/ /** * Define what is required to specify how the network to host conversion @@ -436,9 +436,8 @@ extern "C" { * * On the v850, this port saves special registers and those that are * callee saved. - * - * @{ */ +/**@{**/ /** * This defines the minimal set of integer and processor state registers @@ -514,9 +513,8 @@ typedef struct { * Port Specific Information: * * XXX document implementation including references if appropriate - * - * @{ */ +/**@{**/ /** * @ingroup CPUContext @@ -660,9 +658,8 @@ typedef struct { /** * @addtogroup CPUInterrupt - * - * @{ */ +/**@{**/ /** * Disable all interrupts for an RTEMS critical section. The previous @@ -901,9 +898,8 @@ void _CPU_Context_Initialize( * * This set of routines are used to implement fast searches for * the most important ready task. - * - * @{ */ +/**@{**/ /** * This definition is set to TRUE if the port uses the generic bitfield @@ -1058,9 +1054,8 @@ void _CPU_Initialize(void); /** * @addtogroup CPUContext - * - * @{ */ +/**@{**/ /** * This routine switches from the run context to the heir context. diff --git a/cpukit/score/include/rtems/score/apimutex.h b/cpukit/score/include/rtems/score/apimutex.h index 4d44f5e3e8..a9351003fc 100644 --- a/cpukit/score/include/rtems/score/apimutex.h +++ b/cpukit/score/include/rtems/score/apimutex.h @@ -28,9 +28,8 @@ extern "C" { * @ingroup Score * * @brief Provides routines to ensure mutual exclusion on API level. - * - * @{ */ +/**@{**/ #include #include @@ -100,9 +99,8 @@ void _API_Mutex_Unlock( API_Mutex_Control *mutex ); * When the APIs all use this for allocation and deallocation protection, then * this possibly should be renamed and moved to a higher level in the * hierarchy. - * - * @{ */ +/**@{**/ /** * @brief Memory allocation mutex. diff --git a/cpukit/score/include/rtems/score/heap.h b/cpukit/score/include/rtems/score/heap.h index 0af9798f4f..80b3fd2404 100644 --- a/cpukit/score/include/rtems/score/heap.h +++ b/cpukit/score/include/rtems/score/heap.h @@ -126,9 +126,8 @@ extern "C" { * block indicates that the previous block is used, this ensures that the * last block appears as used for the _Heap_Is_used() and _Heap_Is_free() * functions. - * - * @{ */ +/**@{**/ typedef struct Heap_Control Heap_Control; diff --git a/cpukit/score/include/rtems/score/protectedheap.h b/cpukit/score/include/rtems/score/protectedheap.h index 3fe614379c..29ee62dbfb 100644 --- a/cpukit/score/include/rtems/score/protectedheap.h +++ b/cpukit/score/include/rtems/score/protectedheap.h @@ -34,8 +34,8 @@ extern "C" { * * The @ref ScoreAllocatorMutex is used to protect the heap accesses. * - * @{ */ +/**@{**/ /** * @brief See _Heap_Initialize(). diff --git a/cpukit/score/include/rtems/score/sysstate.h b/cpukit/score/include/rtems/score/sysstate.h index 9223820bf9..7d3d6aed59 100644 --- a/cpukit/score/include/rtems/score/sysstate.h +++ b/cpukit/score/include/rtems/score/sysstate.h @@ -30,9 +30,8 @@ extern "C" { * @ingroup Score * * @brief Management of the internal system state of RTEMS. - * - * @{ */ +/**@{**/ /** * @brief System states. diff --git a/cpukit/score/include/rtems/score/userext.h b/cpukit/score/include/rtems/score/userext.h index 078c3deec8..bf76c35e39 100644 --- a/cpukit/score/include/rtems/score/userext.h +++ b/cpukit/score/include/rtems/score/userext.h @@ -36,9 +36,8 @@ typedef void User_extensions_routine RTEMS_COMPILER_DEPRECATED_ATTRIBUTE; * @brief The User Extension Handler provides invocation of application * dependent routines at critical points in the life of each thread and the * system as a whole. - * - * @{ */ +/**@{**/ /** * @brief Task create extension. diff --git a/cpukit/score/include/rtems/score/userextimpl.h b/cpukit/score/include/rtems/score/userextimpl.h index c3b02c7f44..6ecdcc579a 100644 --- a/cpukit/score/include/rtems/score/userextimpl.h +++ b/cpukit/score/include/rtems/score/userextimpl.h @@ -30,9 +30,8 @@ extern "C" { * @ingroup Score * * @addtogroup ScoreUserExt - * - * @{ */ +/**@{**/ /** * @brief List of active extensions. @@ -46,9 +45,8 @@ extern Chain_Control _User_extensions_Switches_list; /** * @name Extension Maintainance - * - * @{ */ +/**@{**/ void _User_extensions_Handler_initialization( void ); @@ -158,9 +156,8 @@ void _User_extensions_Iterate( /** * @name Extension Callout Dispatcher - * - * @{ */ +/**@{**/ static inline bool _User_extensions_Thread_create( Thread_Control *created ) { diff --git a/cpukit/score/inline/rtems/score/address.inl b/cpukit/score/inline/rtems/score/address.inl index ba42fec92e..17bcd0a016 100644 --- a/cpukit/score/inline/rtems/score/address.inl +++ b/cpukit/score/inline/rtems/score/address.inl @@ -27,9 +27,8 @@ /** * @addtogroup ScoreAddress - * - * @{ */ +/**@{**/ /** * @brief Add offset to an address. diff --git a/cpukit/score/inline/rtems/score/chain.inl b/cpukit/score/inline/rtems/score/chain.inl index d122415e66..7290d6ecac 100644 --- a/cpukit/score/inline/rtems/score/chain.inl +++ b/cpukit/score/inline/rtems/score/chain.inl @@ -24,9 +24,8 @@ /** * @addtogroup ScoreChain - * - * @{ */ +/**@{**/ /** * @brief Set off chain. diff --git a/cpukit/score/inline/rtems/score/corebarrier.inl b/cpukit/score/inline/rtems/score/corebarrier.inl index 5c41179de4..72ad670a70 100644 --- a/cpukit/score/inline/rtems/score/corebarrier.inl +++ b/cpukit/score/inline/rtems/score/corebarrier.inl @@ -25,9 +25,8 @@ /** * @addtogroup ScoreBarrier - * - * @{ */ +/**@{**/ #include #include diff --git a/cpukit/score/inline/rtems/score/coremsg.inl b/cpukit/score/inline/rtems/score/coremsg.inl index 2db8c971bd..986fc3f6a4 100644 --- a/cpukit/score/inline/rtems/score/coremsg.inl +++ b/cpukit/score/inline/rtems/score/coremsg.inl @@ -25,9 +25,8 @@ /** * @addtogroup ScoreMessageQueue - * - * @{ */ +/**@{**/ #include /* needed for memcpy */ diff --git a/cpukit/score/inline/rtems/score/coremutex.inl b/cpukit/score/inline/rtems/score/coremutex.inl index d0266a0a42..f41a4de0b8 100644 --- a/cpukit/score/inline/rtems/score/coremutex.inl +++ b/cpukit/score/inline/rtems/score/coremutex.inl @@ -25,9 +25,8 @@ /** * @addtogroup ScoreMutex - * - * @{ */ +/**@{**/ /** * @brief Is mutex locked. diff --git a/cpukit/score/inline/rtems/score/corerwlock.inl b/cpukit/score/inline/rtems/score/corerwlock.inl index c9d499b5c9..d1be4b2589 100644 --- a/cpukit/score/inline/rtems/score/corerwlock.inl +++ b/cpukit/score/inline/rtems/score/corerwlock.inl @@ -25,9 +25,8 @@ /** * @addtogroup ScoreRWLock - * - * @{ */ +/**@{**/ #include #include diff --git a/cpukit/score/inline/rtems/score/coresem.inl b/cpukit/score/inline/rtems/score/coresem.inl index 91f4aa17f1..69a7b2627d 100644 --- a/cpukit/score/inline/rtems/score/coresem.inl +++ b/cpukit/score/inline/rtems/score/coresem.inl @@ -25,9 +25,8 @@ /** * @addtogroup ScoreSemaphore - * - * @{ */ +/**@{**/ #include #include diff --git a/cpukit/score/inline/rtems/score/corespinlock.inl b/cpukit/score/inline/rtems/score/corespinlock.inl index 28f4fc75bc..76f5c4446a 100644 --- a/cpukit/score/inline/rtems/score/corespinlock.inl +++ b/cpukit/score/inline/rtems/score/corespinlock.inl @@ -25,9 +25,8 @@ /** * @addtogroup ScoreSpinlock - * - * @{ */ +/**@{**/ /** * This method is used to initialize core spinlock attributes. diff --git a/cpukit/score/inline/rtems/score/heap.inl b/cpukit/score/inline/rtems/score/heap.inl index 7850f7a920..4a346bdf21 100644 --- a/cpukit/score/inline/rtems/score/heap.inl +++ b/cpukit/score/inline/rtems/score/heap.inl @@ -24,9 +24,8 @@ /** * @addtogroup ScoreHeap - * - * @{ */ +/**@{**/ RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Free_list_head( Heap_Control *heap ) { diff --git a/cpukit/score/inline/rtems/score/isr.inl b/cpukit/score/inline/rtems/score/isr.inl index fb450e4a11..c46c585f55 100644 --- a/cpukit/score/inline/rtems/score/isr.inl +++ b/cpukit/score/inline/rtems/score/isr.inl @@ -25,9 +25,8 @@ /** * @addtogroup ScoreISR - * - * @{ */ +/**@{**/ #if (CPU_SIMPLE_VECTORED_INTERRUPTS == TRUE) /** diff --git a/cpukit/score/inline/rtems/score/mppkt.inl b/cpukit/score/inline/rtems/score/mppkt.inl index 2e681cdfff..0f9c6b2fcd 100644 --- a/cpukit/score/inline/rtems/score/mppkt.inl +++ b/cpukit/score/inline/rtems/score/mppkt.inl @@ -25,9 +25,8 @@ /** * @addtogroup ScoreMPPacket - * - * @{ */ +/**@{**/ /** * This function returns true if the the_packet_class is valid, diff --git a/cpukit/score/inline/rtems/score/objectmp.inl b/cpukit/score/inline/rtems/score/objectmp.inl index 48e59d0a15..e6734cf352 100644 --- a/cpukit/score/inline/rtems/score/objectmp.inl +++ b/cpukit/score/inline/rtems/score/objectmp.inl @@ -25,9 +25,8 @@ /** * @addtogroup ScoreObjectMP - * - * @{ */ +/**@{**/ /** * This function allocates a Global Object control block. diff --git a/cpukit/score/inline/rtems/score/priority.inl b/cpukit/score/inline/rtems/score/priority.inl index 7059682bf1..5c7c6b3402 100644 --- a/cpukit/score/inline/rtems/score/priority.inl +++ b/cpukit/score/inline/rtems/score/priority.inl @@ -25,9 +25,8 @@ /** * @addtogroup ScorePriority - * - * @{ */ +/**@{**/ /** * This function returns true if the_priority if valid for a diff --git a/cpukit/score/inline/rtems/score/prioritybitmap.inl b/cpukit/score/inline/rtems/score/prioritybitmap.inl index 01fa32686e..70844fa0e3 100644 --- a/cpukit/score/inline/rtems/score/prioritybitmap.inl +++ b/cpukit/score/inline/rtems/score/prioritybitmap.inl @@ -25,9 +25,8 @@ /** * @addtogroup ScorePriority - * - * @{ */ +/**@{**/ #include diff --git a/cpukit/score/inline/rtems/score/rbtree.inl b/cpukit/score/inline/rtems/score/rbtree.inl index dfa8c265fa..7bbb9c6af0 100644 --- a/cpukit/score/inline/rtems/score/rbtree.inl +++ b/cpukit/score/inline/rtems/score/rbtree.inl @@ -28,9 +28,8 @@ /** * @addtogroup ScoreRBTree - * - * @{ */ +/**@{**/ /** * @brief Get the direction opposite to @a the_dir. diff --git a/cpukit/score/inline/rtems/score/scheduler.inl b/cpukit/score/inline/rtems/score/scheduler.inl index fcb9f19e88..20460d1540 100644 --- a/cpukit/score/inline/rtems/score/scheduler.inl +++ b/cpukit/score/inline/rtems/score/scheduler.inl @@ -25,9 +25,8 @@ /** * @addtogroup ScoreScheduler - * - * @{ */ +/**@{**/ /** * The preferred method to add a new scheduler is to define the jump table diff --git a/cpukit/score/inline/rtems/score/schedulerpriority.inl b/cpukit/score/inline/rtems/score/schedulerpriority.inl index 1209340169..4655f9501f 100644 --- a/cpukit/score/inline/rtems/score/schedulerpriority.inl +++ b/cpukit/score/inline/rtems/score/schedulerpriority.inl @@ -28,9 +28,8 @@ /** * @addtogroup ScoreScheduler - * - * @{ */ +/**@{**/ /** * @brief Ready queue initialization. diff --git a/cpukit/score/inline/rtems/score/schedulersimple.inl b/cpukit/score/inline/rtems/score/schedulersimple.inl index 4c6e27d355..e67fc3cd84 100644 --- a/cpukit/score/inline/rtems/score/schedulersimple.inl +++ b/cpukit/score/inline/rtems/score/schedulersimple.inl @@ -27,9 +27,8 @@ /** * @addtogroup ScoreScheduler - * - * @{ */ +/**@{**/ /** * This routine puts @a the_thread on to the ready queue. diff --git a/cpukit/score/inline/rtems/score/stack.inl b/cpukit/score/inline/rtems/score/stack.inl index 697263bdea..7cb73eef9e 100644 --- a/cpukit/score/inline/rtems/score/stack.inl +++ b/cpukit/score/inline/rtems/score/stack.inl @@ -27,9 +27,8 @@ /** * @addtogroup ScoreStack - * - * @{ */ +/**@{**/ /** * This routine initializes the_stack record to indicate that diff --git a/cpukit/score/inline/rtems/score/states.inl b/cpukit/score/inline/rtems/score/states.inl index 7add9a32d6..8d335c9475 100644 --- a/cpukit/score/inline/rtems/score/states.inl +++ b/cpukit/score/inline/rtems/score/states.inl @@ -8,7 +8,7 @@ */ /* - * COPYRIGHT (c) 1989-2009. + * COPYRIGHT (c) 1989-2012. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -27,9 +27,8 @@ /** * @addtogroup ScoreStates - * - * @{ */ +/**@{**/ /** * This function sets the given states_to_set into the current_state diff --git a/cpukit/score/inline/rtems/score/sysstate.inl b/cpukit/score/inline/rtems/score/sysstate.inl index 69d372410a..3fa534ce17 100644 --- a/cpukit/score/inline/rtems/score/sysstate.inl +++ b/cpukit/score/inline/rtems/score/sysstate.inl @@ -22,9 +22,8 @@ /** * @addtogroup ScoreSysState - * - * @{ */ +/**@{**/ RTEMS_INLINE_ROUTINE void _System_state_Set ( System_state_Codes state diff --git a/cpukit/score/inline/rtems/score/thread.inl b/cpukit/score/inline/rtems/score/thread.inl index 8309f42261..681cfcc3df 100644 --- a/cpukit/score/inline/rtems/score/thread.inl +++ b/cpukit/score/inline/rtems/score/thread.inl @@ -28,9 +28,8 @@ /** * @addtogroup ScoreThread - * - * @{ */ +/**@{**/ #if defined(RTEMS_SMP) diff --git a/cpukit/score/inline/rtems/score/threadmp.inl b/cpukit/score/inline/rtems/score/threadmp.inl index 31af372715..85088d1b73 100644 --- a/cpukit/score/inline/rtems/score/threadmp.inl +++ b/cpukit/score/inline/rtems/score/threadmp.inl @@ -27,9 +27,8 @@ /** * @addtogroup ScoreThreadMP - * - * @{ */ +/**@{**/ /** * This function returns true if the thread in question is the diff --git a/cpukit/score/inline/rtems/score/threadq.inl b/cpukit/score/inline/rtems/score/threadq.inl index e7c6aa5aed..d64638908a 100644 --- a/cpukit/score/inline/rtems/score/threadq.inl +++ b/cpukit/score/inline/rtems/score/threadq.inl @@ -27,9 +27,8 @@ /** * @addtogroup ScoreThreadQ - * - * @{ */ +/**@{**/ /** @} */ diff --git a/cpukit/score/inline/rtems/score/tod.inl b/cpukit/score/inline/rtems/score/tod.inl index 39849cbb07..89b2634d95 100644 --- a/cpukit/score/inline/rtems/score/tod.inl +++ b/cpukit/score/inline/rtems/score/tod.inl @@ -29,9 +29,8 @@ /** * @addtogroup ScoreTOD - * - * @{ */ +/**@{**/ /** * This routine deactivates updating of the current time of day. diff --git a/cpukit/score/inline/rtems/score/tqdata.inl b/cpukit/score/inline/rtems/score/tqdata.inl index b676eb06ef..c5b85d2786 100644 --- a/cpukit/score/inline/rtems/score/tqdata.inl +++ b/cpukit/score/inline/rtems/score/tqdata.inl @@ -25,9 +25,8 @@ /** * @addtogroup ScoreThreadQ - * - * @{ */ +/**@{**/ /** * This function returns the index of the priority chain on which -- cgit v1.2.3 From 0c2f1e3345a9ec0c8be3dc2bde4c3490afb6a3d2 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 10 Jan 2013 16:31:52 -0600 Subject: devfs: Doxygen Warning Removal and Cleanup --- cpukit/libfs/src/devfs/devfs.h | 97 ++++++++++++++++++++++++------------------ 1 file changed, 56 insertions(+), 41 deletions(-) diff --git a/cpukit/libfs/src/devfs/devfs.h b/cpukit/libfs/src/devfs/devfs.h index fbeb13bca5..850a892a36 100644 --- a/cpukit/libfs/src/devfs/devfs.h +++ b/cpukit/libfs/src/devfs/devfs.h @@ -1,7 +1,7 @@ /** * @file * -* @brief 'device-only' File System Support +* @brief Device Only File System * * This include file contains all constants and structures associated * with the 'device-only' filesystem. @@ -25,6 +25,12 @@ extern "C" { #endif +/** + * @brief Per Device Node Control Structure + * + * This structure is instanced per device node and contains all information + * used by this file system implementation to manage that device node. + */ typedef struct { /** This member points to device name which is not a null-terminated string */ const char *name; @@ -40,23 +46,27 @@ typedef struct { typedef struct { devFS_node *nodes; - size_t count; + size_t count; } devFS_data; /** * The following defines the device-only filesystem operating * operations. */ - extern const rtems_filesystem_operations_table devFS_ops; /** * The following defines the device-only filesystem operating * handlers. */ - extern const rtems_filesystem_file_handlers_r devFS_file_handlers; +/** + * @brief Obtain Immutable Pointer to Immutable File System Data + * + * This methods returns the immutable file system specific information + * associated with this file. + */ static inline const devFS_data *devFS_get_data( const rtems_filesystem_location_info_t *loc ) @@ -65,7 +75,7 @@ static inline const devFS_data *devFS_get_data( } /** - * @brief Evaluate Patch + * @brief Evaluate Path */ extern void devFS_eval_path( rtems_filesystem_eval_path_context_t *ctx @@ -73,14 +83,16 @@ extern void devFS_eval_path( /** * @brief Maps Open Operation to rtems_io_open + * * This handler maps open operation to rtems_io_open. + * * @param iop This is the RTEMS's internal representation of file. * @param pathname a null-terminated string that starts with /dev. - * @param flag access flags + * @param oflag access flags * @param mode access mode + * * @retval the same as open */ - extern int devFS_open( rtems_libio_t *iop, const char *pathname, @@ -93,107 +105,110 @@ extern int devFS_open( * @brief Maps Close Operation to rtems_io_close * * This handler maps close operation to rtems_io_close. + * * @param iop This is the RTEMS's internal representation of file + * * @retval the same as close */ - - extern int devFS_close( rtems_libio_t *iop ); - /** * @brief Maps Read Operation to rtems_io_read + * * This handler maps read operation to rtems_io_read. + * * @param iop This is the RTEMS's internal representation of file * @param buffer memory location to store read data * @param count how many bytes to read + * * @retval On successful, this routine returns total bytes read. On error * it returns -1 and errno is set to proper value. */ - extern ssize_t devFS_read( rtems_libio_t *iop, void *buffer, size_t count ); - /** * @brief Writes Operation to rtems_io_write + * * This handler maps write operation to rtems_io_write. + * * @param iop This is the RTEMS's internal representation of file * @param buffer data to be written * @param count how many bytes to write + * * @retval On successful, this routine returns total bytes written. On error * it returns -1 and errno is set to proper value. */ - extern ssize_t devFS_write( rtems_libio_t *iop, const void *buffer, size_t count ); - /** * @brief Maps ioctl Operation to rtems_io_ioctl + * * This handler maps ioctl operation to rtems_io_ioctl. + * * @param iop This is the RTEMS's internal representation of file * @param command io control command * @param buffer io control parameters + * * @retval On successful, this routine returns total bytes written. On error * it returns -1 and errno is set to proper value. */ - extern int devFS_ioctl( rtems_libio_t *iop, ioctl_command_t command, void *buffer ); - - - /** * @brief Gets the Device File Information * - * This handler gets the device file information. This routine only set the following member of struct stat: - * st_dev : device number - * st_mode: device file creation mode, only two mode are accepted: - * S_IFCHR: character device file - * S_IFBLK: block device file + * This handler gets the device file information. This routine only + * set the following member of struct stat: + * + * - st_dev: device number + * - st_mode: device file creation mode, only two mode are accepted: + * + S_IFCHR: character device file + * + S_IFBLK: block device file + * * @param loc contains filesystem access information * @param buf buffer to hold the device file's information + * * @retval On successful, this routine returns 0. On error * it returns -1 and errno is set to proper value. */ - extern int devFS_stat( const rtems_filesystem_location_info_t *loc, - struct stat *buf + struct stat *buf ); - - /** * @brief Invoked upon Determination of a Node Type + * * This routine is invoked upon determination of a node type. * Since this is a device-only filesystem, so there is only * one node type in the system. * * @param loc contains filesytem access information, this * parameter is ignored + * * @retval always returns RTEMS_FILESYSTEM_DEVICE */ - extern rtems_filesystem_node_types_t devFS_node_type( const rtems_filesystem_location_info_t*loc ); /** * @brief Creates an item in the main device table. + * * This routine is invoked upon registration of a new device * file. It is responsible for creating a item in the main * device table. This routine searches the device table in @@ -202,18 +217,17 @@ extern rtems_filesystem_node_types_t devFS_node_type( * * @see rtems_filesystem_mknod_t. */ - extern int devFS_mknod( const rtems_filesystem_location_info_t *parentloc, - const char *name, - size_t namelen, - mode_t mode, - dev_t dev + const char *name, + size_t namelen, + mode_t mode, + dev_t dev ); - /** * @brief Creates the Main Device Table + * * This routine is invoked upon rtems filesystem initialization. * It is responsible for creating the main device table, * initializing it to a known state, and set device file operation @@ -221,17 +235,16 @@ extern int devFS_mknod( * * @param mt_entry The filesystem mount table entry. * @param data Filesystem specific data. + * * @retval upon success, this routine returns 0; otherwise it returns * -1 and errno is set to proper value. The only error is when malloc * failed, and errno is set to NOMEM. */ - extern int devFS_initialize( rtems_filesystem_mount_table_entry_t *mt_entry, const void *data ); - /** * @brief Retrieves and Prints all the Device Registered in System * @@ -239,16 +252,18 @@ extern int devFS_initialize( * prints out their detail information. For example, on one system, * devFS_show will print out following message: * - * /dev/console 0 0 - * /dev/clock 1 0 - * /dev/tty0 0 0 - * /flash 2 0 + * @code + * /dev/console 0 0 + * /dev/clock 1 0 + * /dev/tty0 0 0 + * /flash 2 0 + * @end code * * This routine is intended for debugging, and can be used by shell * program to provide user with the system information. */ - extern void devFS_Show(void); + /** @} */ #ifdef __cplusplus } -- cgit v1.2.3 From e858f7049c6407648e624cb43a1819237541fd84 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 10 Jan 2013 17:06:06 -0600 Subject: cpukit: Fix many Doxygen warnings --- cpukit/libfs/src/devfs/devfs.h | 3 +-- cpukit/libmisc/mouse/serial_mouse.h | 12 ++++++------ cpukit/rtems/include/rtems/rtems/clock.h | 10 ++++++---- cpukit/rtems/include/rtems/rtems/ratemon.h | 2 +- cpukit/rtems/include/rtems/rtems/region.h | 2 +- cpukit/rtems/include/rtems/rtems/sem.h | 2 +- cpukit/sapi/inline/rtems/timespec.inl | 17 ++++++++--------- cpukit/score/include/rtems/score/apimutex.h | 2 +- cpukit/score/include/rtems/score/chain.h | 2 +- cpukit/score/include/rtems/score/coremsg.h | 11 +++++++---- cpukit/score/include/rtems/score/isr.h | 4 ++-- cpukit/score/include/rtems/score/rbtree.h | 7 +++---- cpukit/score/include/rtems/score/thread.h | 8 +------- cpukit/score/include/rtems/score/threadq.h | 14 ++++++++++++-- cpukit/score/include/rtems/score/timespec.h | 4 ++-- cpukit/score/include/rtems/score/tod.h | 7 ++++--- cpukit/score/inline/rtems/score/rbtree.inl | 16 ++++++++-------- cpukit/score/inline/rtems/score/states.inl | 2 +- 18 files changed, 66 insertions(+), 59 deletions(-) diff --git a/cpukit/libfs/src/devfs/devfs.h b/cpukit/libfs/src/devfs/devfs.h index 850a892a36..0213e072f9 100644 --- a/cpukit/libfs/src/devfs/devfs.h +++ b/cpukit/libfs/src/devfs/devfs.h @@ -264,10 +264,9 @@ extern int devFS_initialize( */ extern void devFS_Show(void); -/** @} */ #ifdef __cplusplus } #endif - +/** @} */ #endif diff --git a/cpukit/libmisc/mouse/serial_mouse.h b/cpukit/libmisc/mouse/serial_mouse.h index e4f0ee4491..307587fd7e 100644 --- a/cpukit/libmisc/mouse/serial_mouse.h +++ b/cpukit/libmisc/mouse/serial_mouse.h @@ -49,7 +49,7 @@ extern "C" { * * @param[in] major is the mouse device major number * @param[in] minor is the mouse device minor number - * @param[in] arguments points to device driver arguments + * @param[in] arg points to device driver arguments */ rtems_device_driver serial_mouse_initialize( rtems_device_major_number major, @@ -65,7 +65,7 @@ rtems_device_driver serial_mouse_initialize( * * @param[in] major is the mouse device major number * @param[in] minor is the mouse device minor number - * @param[in] arguments points to device driver arguments + * @param[in] arg points to device driver arguments */ rtems_device_driver serial_mouse_open( rtems_device_major_number major, @@ -81,7 +81,7 @@ rtems_device_driver serial_mouse_open( * * @param[in] major is the mouse device major number * @param[in] minor is the mouse device minor number - * @param[in] arguments points to device driver arguments + * @param[in] arg points to device driver arguments */ rtems_device_driver serial_mouse_close( rtems_device_major_number major, @@ -97,7 +97,7 @@ rtems_device_driver serial_mouse_close( * * @param[in] major is the mouse device major number * @param[in] minor is the mouse device minor number - * @param[in] arguments points to device driver arguments + * @param[in] arg points to device driver arguments */ rtems_device_driver serial_mouse_read( rtems_device_major_number major, @@ -113,7 +113,7 @@ rtems_device_driver serial_mouse_read( * * @param[in] major is the mouse device major number * @param[in] minor is the mouse device minor number - * @param[in] arguments points to device driver arguments + * @param[in] arg points to device driver arguments */ rtems_device_driver serial_mouse_write( rtems_device_major_number major, @@ -129,7 +129,7 @@ rtems_device_driver serial_mouse_write( * * @param[in] major is the mouse device major number * @param[in] minor is the mouse device minor number - * @param[in] arguments points to device driver arguments + * @param[in] arg points to device driver arguments */ rtems_device_driver serial_mouse_control( rtems_device_major_number major, diff --git a/cpukit/rtems/include/rtems/rtems/clock.h b/cpukit/rtems/include/rtems/rtems/clock.h index c5355230f9..3254b59dc1 100644 --- a/cpukit/rtems/include/rtems/rtems/clock.h +++ b/cpukit/rtems/include/rtems/rtems/clock.h @@ -230,10 +230,8 @@ rtems_status_code rtems_clock_set_nanoseconds_extension( * * @retval This method returns RTEMS_SUCCESSFUL if there was not an * error. Otherwise, a status code is returned indicating the - * source of the error. If successful, the uptime will be + * source of the error. If successful, the @a uptime will be * filled in. - * - * Clock Manager - get uptime */ rtems_status_code rtems_clock_get_uptime( struct timespec *uptime @@ -242,7 +240,11 @@ rtems_status_code rtems_clock_get_uptime( /** * @brief Gets the System Uptime in the Struct Timeval Format * - * @param[out] Returns the system uptime. Pointer must not be NULL. + * @param[out] uptime is a pointer to a struct timeval structure. + * + * @retval This methods returns the system uptime. + * + * @note Pointer must not be NULL. */ void rtems_clock_get_uptime_timeval( struct timeval *uptime ); diff --git a/cpukit/rtems/include/rtems/rtems/ratemon.h b/cpukit/rtems/include/rtems/rtems/ratemon.h index 91b84e3a26..634889aeeb 100644 --- a/cpukit/rtems/include/rtems/rtems/ratemon.h +++ b/cpukit/rtems/include/rtems/rtems/ratemon.h @@ -434,7 +434,7 @@ void rtems_rate_monotonic_report_statistics( void ); * result is set to indicate the current state of the period. * * @param[in] id is the rate monotonic id - * @param[in] lenght is the length of period (in ticks) + * @param[in] length is the length of period (in ticks) * * @retval RTEMS_SUCCESSFUL if successful or error code if unsuccessful */ diff --git a/cpukit/rtems/include/rtems/rtems/region.h b/cpukit/rtems/include/rtems/rtems/region.h index 17519a5791..a99a497b8d 100644 --- a/cpukit/rtems/include/rtems/rtems/region.h +++ b/cpukit/rtems/include/rtems/rtems/region.h @@ -306,7 +306,7 @@ rtems_status_code rtems_region_return_segment( * satisfied. * * @param[in] id is the region id - * @param[in] segmet is the pointer to segment address + * @param[in] segment is the pointer to segment address * @param[in] size is the new required size * @retval RTEMS_SUCCESSFUL if operation successful, RTEMS_UNSATISFIED if the * the segment can't be resized in place or any other code at failure diff --git a/cpukit/rtems/include/rtems/rtems/sem.h b/cpukit/rtems/include/rtems/rtems/sem.h index 4442b1d68c..dafd1eac0d 100644 --- a/cpukit/rtems/include/rtems/rtems/sem.h +++ b/cpukit/rtems/include/rtems/rtems/sem.h @@ -271,7 +271,7 @@ rtems_status_code _Semaphore_Translate_core_mutex_return_code ( * This function returns a RTEMS status code based on the semaphore * status code specified. * - * @param[in] status is the semaphore status code to translate + * @param[in] the_mutex_status is the semaphore status code to translate * * @retval translated RTEMS status code */ diff --git a/cpukit/sapi/inline/rtems/timespec.inl b/cpukit/sapi/inline/rtems/timespec.inl index d8fc5f69fb..31d445c45d 100644 --- a/cpukit/sapi/inline/rtems/timespec.inl +++ b/cpukit/sapi/inline/rtems/timespec.inl @@ -52,8 +52,8 @@ RTEMS_INLINE_ROUTINE bool rtems_timespec_is_valid( * @param[in] lhs is the left hand side timespec * @param[in] rhs is the right hand side timespec * - * @retval true @a lhs is less than @a rhr. - * @retval false @a lhs is not less than @a rhr. + * @retval true @a lhs is less than @a rhs. + * @retval false @a lhs is not less than @a rhs. * */ RTEMS_INLINE_ROUTINE bool rtems_timespec_less_than( @@ -250,17 +250,16 @@ RTEMS_INLINE_ROUTINE uint32_t rtems_timespec_get_nanoseconds( return _Timespec_Get_nanoseconds( _time ); } - /** * @brief Timespec greater than operator. * * This method is the greater than operator for timespecs. * - * @param[in] lhs is the left hand side timespec - * @param[in] rhs is the right hand side timespec + * @param[in] _lhs is the left hand side timespec + * @param[in] _rhs is the right hand side timespec * - * @retval true @a lhs is greater than @a rhr. - * @retval false @a lhs is not greater than @a rhr. + * @retval true @a _lhs is greater than @a _rhs. + * @retval false @a _lhs is not greater than @a _rhs. */ RTEMS_INLINE_ROUTINE bool rtems_timespec_greater_than( const struct timespec *_lhs, @@ -277,8 +276,8 @@ RTEMS_INLINE_ROUTINE bool rtems_timespec_greater_than( * @param[in] lhs is the left hand side timespec * @param[in] rhs is the right hand side timespec * - * @retval true @a lhs is equal to @a rhr. - * @retval false @a lhs is not equal to @a rhr. + * @retval true @a lhs is equal to @a rhs. + * @retval false @a lhs is not equal to @a rhs. */ RTEMS_INLINE_ROUTINE bool rtems_timespec_equal_to( const struct timespec *lhs, diff --git a/cpukit/score/include/rtems/score/apimutex.h b/cpukit/score/include/rtems/score/apimutex.h index a9351003fc..60c21ad29c 100644 --- a/cpukit/score/include/rtems/score/apimutex.h +++ b/cpukit/score/include/rtems/score/apimutex.h @@ -61,7 +61,7 @@ SCORE_EXTERN Objects_Information _API_Mutex_Information; * The value @a maximum_mutexes is the maximum number of API mutexes that may * exist at any time. * - * @param[in] Maximum_mutexex is the maximum number of API mutexes. + * @param[in] maximum_mutexes is the maximum number of API mutexes. */ void _API_Mutex_Initialization( uint32_t maximum_mutexes ); diff --git a/cpukit/score/include/rtems/score/chain.h b/cpukit/score/include/rtems/score/chain.h index ea9f95d87c..4b2a449823 100644 --- a/cpukit/score/include/rtems/score/chain.h +++ b/cpukit/score/include/rtems/score/chain.h @@ -165,7 +165,7 @@ Chain_Node *_Chain_Get( * * @param[in] after_node is the pointer to the node in chain to be * inserted after - * @param[in] node is the pointer to the node to be inserted + * @param[in] the_node is the pointer to the node to be inserted * * @note It disables interrupts to ensure the atomicity * of the insert operation. diff --git a/cpukit/score/include/rtems/score/coremsg.h b/cpukit/score/include/rtems/score/coremsg.h index 7363060c13..d022391182 100644 --- a/cpukit/score/include/rtems/score/coremsg.h +++ b/cpukit/score/include/rtems/score/coremsg.h @@ -450,15 +450,18 @@ CORE_message_queue_Status _CORE_message_queue_Submit( * It is used when unblocking a remote thread. * @param[in] buffer is the starting address of the message buffer to * to be filled in with a message - * @param[in] size is the size of the @a buffer and indicates the maximum - * size message that the caller can receive. + * @param[in] size_p is a pointer to the size of the @a buffer and + * indicates the maximum size message that the caller can receive. * @param[in] wait indicates whether the calling thread is willing to block * if the message queue is empty. * @param[in] timeout is the maximum number of clock ticks that the calling * thread is willing to block if the message queue is empty. * - * @retval indication of the successful completion or reason for failure - * @note Returns message priority via return are in TCB. + * @retval indication of the successful completion or reason for failure. + * On success, the location pointed to @a size_p will contain the + * size of the received message. + * + * @note Returns message priority via return area in TCB. * * - INTERRUPT LATENCY: * + available diff --git a/cpukit/score/include/rtems/score/isr.h b/cpukit/score/include/rtems/score/isr.h index aecdfeea5e..58d4fbc952 100644 --- a/cpukit/score/include/rtems/score/isr.h +++ b/cpukit/score/include/rtems/score/isr.h @@ -117,7 +117,7 @@ void _ISR_Handler_initialization ( void ); * LEVEL. It is used at the end of a critical section of code to * enable interrupts so they can be processed again. * - * @param[in] level contains the interrupt level mask level + * @param[in] _level contains the interrupt level mask level * previously returned by @ref _ISR_Disable_on_this_core. */ #define _ISR_Enable_on_this_core( _level ) \ @@ -142,7 +142,7 @@ void _ISR_Handler_initialization ( void ); * must be selected with care to ensure that the critical section * properly protects itself. * - * @param[in] level contains the interrupt level mask level + * @param[in] _level contains the interrupt level mask level * previously returned by @ref _ISR_Disable_on_this_core. */ #define _ISR_Flash_on_this_core( _level ) \ diff --git a/cpukit/score/include/rtems/score/rbtree.h b/cpukit/score/include/rtems/score/rbtree.h index 7b86d29304..55b5c55720 100644 --- a/cpukit/score/include/rtems/score/rbtree.h +++ b/cpukit/score/include/rtems/score/rbtree.h @@ -262,12 +262,11 @@ RBTree_Node *_RBTree_Find( /** * @brief Find the control structure of the tree containing the given node. * - * This function returns a pointer called @a return_header to the control structure of the tree - * containing @a the_node, if it exists, and @a NULL if not. + * This function returns a pointer called @a return_header to the + * control structure of the tree containing @a the_node, if it exists, + * and @a NULL if not. * * @param[in] the_node is the pointer to the rbtree node. - * @param[out] return_header is the pointer to control header of rbtree. - * @param[out] NULL is returned if there is no control header available. * * -INTERRUPT LATENCY: * + single case diff --git a/cpukit/score/include/rtems/score/thread.h b/cpukit/score/include/rtems/score/thread.h index f9f2317ea6..248be62c95 100644 --- a/cpukit/score/include/rtems/score/thread.h +++ b/cpukit/score/include/rtems/score/thread.h @@ -758,17 +758,11 @@ void _Thread_Load_environment( * which must be performed immediately before and after the user's * thread executes are found here. * - * NOTE: - * - * On entry, it is assumed all interrupts are blocked and that this + * @note On entry, it is assumed all interrupts are blocked and that this * routine needs to set the initial isr level. This may or may not * actually be needed by the context switch routine and as a result * interrupts may already be at there proper level. Either way, * setting the initial isr level properly here is safe. - * - * @param[in]: NONE - * - * @param[out]: NONE */ void _Thread_Handler( void ); diff --git a/cpukit/score/include/rtems/score/threadq.h b/cpukit/score/include/rtems/score/threadq.h index c004d2d8ea..1be336993c 100644 --- a/cpukit/score/include/rtems/score/threadq.h +++ b/cpukit/score/include/rtems/score/threadq.h @@ -165,6 +165,12 @@ Thread_Control *_Thread_queue_First( * * This routine unblocks all threads blocked on the_thread_queue * and cancels any associated timeouts. + * + * @param[in] the_thread_queue is the pointer to a threadq header + * @param[in] remote_extract_callout points to a method to invoke to + * invoke when a remote thread is unblocked + * @param[in] status is the status which will be returned to + * all unblocked threads */ void _Thread_queue_Flush( Thread_queue_Control *the_thread_queue, @@ -180,7 +186,7 @@ void _Thread_queue_Flush( * threads which block on the_thread_queue is state. * * @param[in] the_thread_queue is the pointer to a threadq header - * @param[in] discipline is the queueing discipline + * @param[in] the_discipline is the queueing discipline * @param[in] state is the state of waiting threads * @param[in] timeout_status is the return on a timeout */ @@ -218,7 +224,11 @@ Thread_Control *_Thread_queue_Dequeue_priority( * priority discipline. * * @param[in] the_thread_queue is the pointer to threadq - * @param[in] thread is the thread to insert + * @param[in] the_thread is the thread to insert + * @param[in] level_p is a pointer to an interrupt level to be returned + * + * @retval This methods returns an indication of the blocking state as + * well as filling in *@ level_p with the previous interrupt level. * * - INTERRUPT LATENCY: * + forward less than diff --git a/cpukit/score/include/rtems/score/timespec.h b/cpukit/score/include/rtems/score/timespec.h index 99424f92dc..e72ccb2b72 100644 --- a/cpukit/score/include/rtems/score/timespec.h +++ b/cpukit/score/include/rtems/score/timespec.h @@ -123,8 +123,8 @@ bool _Timespec_Less_than( * * This method is the greater than operator for timespecs. * - * @param[in] lhs is the left hand side timespec - * @param[in] rhs is the right hand side timespec + * @param[in] _lhs is the left hand side timespec + * @param[in] _rhs is the right hand side timespec * * @retval This method returns true if @a lhs is greater than the @a rhs and * false otherwise. diff --git a/cpukit/score/include/rtems/score/tod.h b/cpukit/score/include/rtems/score/tod.h index cfbd00ba52..df73f95970 100644 --- a/cpukit/score/include/rtems/score/tod.h +++ b/cpukit/score/include/rtems/score/tod.h @@ -205,10 +205,11 @@ static inline void _TOD_Set( * * This function invokes the nanoseconds extension. * - * @param[out] snapshot The snapshot. - * @param[in] source The clock. + * @param[out] snapshot points to an area that will contain the current + * TOD plus the BSP nanoseconds since last tick adjustment + * @param[in] clock contains the current TOD * - * @retval The snapshot. + * @retval @a snapshot */ Timestamp_Control *_TOD_Get_with_nanoseconds( Timestamp_Control *snapshot, diff --git a/cpukit/score/inline/rtems/score/rbtree.inl b/cpukit/score/inline/rtems/score/rbtree.inl index 7bbb9c6af0..8b4234de57 100644 --- a/cpukit/score/inline/rtems/score/rbtree.inl +++ b/cpukit/score/inline/rtems/score/rbtree.inl @@ -65,7 +65,9 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_node_off_rbtree( const RBTree_Node *node ) { - return (node->parent == NULL) && (node->child[RBT_LEFT] == NULL) && (node->child[RBT_RIGHT] == NULL); + return (node->parent == NULL) && + (node->child[RBT_LEFT] == NULL) && + (node->child[RBT_RIGHT] == NULL); } /** @@ -255,7 +257,8 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Has_only_one_node( ) { if(!the_rbtree) return false; /* TODO: expected behavior? */ - return (the_rbtree->root->child[RBT_LEFT] == NULL && the_rbtree->root->child[RBT_RIGHT] == NULL); + return (the_rbtree->root->child[RBT_LEFT] == NULL && + the_rbtree->root->child[RBT_RIGHT] == NULL); } /** @@ -385,11 +388,10 @@ RTEMS_INLINE_ROUTINE bool _RBTree_Is_lesser( /** * @brief Returns the predecessor of a node. * - * @param[in] rbtree is the red-black tree. * @param[in] node is the node. * - * @retval NULL The predecessor does not exist. - * @retval otherwise The predecessor node. + * @retval NULL The predecessor does not exist. Otherwise it returns + * the predecessor node. */ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Predecessor_unprotected( const RBTree_Node *node @@ -413,11 +415,9 @@ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Predecessor( /** * @brief Returns the successor of a node. * - * @param[in] rbtree is the red-black tree. * @param[in] node is the node. * - * @retval NULL The successor does not exist. - * @retval otherwise The successor node. + * @retval NULL The successor does not exist. Otherwise the successor node. */ RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Successor_unprotected( const RBTree_Node *node diff --git a/cpukit/score/inline/rtems/score/states.inl b/cpukit/score/inline/rtems/score/states.inl index 8d335c9475..5dfdc4230a 100644 --- a/cpukit/score/inline/rtems/score/states.inl +++ b/cpukit/score/inline/rtems/score/states.inl @@ -51,7 +51,7 @@ RTEMS_INLINE_ROUTINE States_Control _States_Set ( * This function clears the given states_to_clear into the current_state * passed in. The result is returned to the user in current_state. * - * @param[in] states_to_set is the state bits to clean + * @param[in] states_to_clear is the state bits to clean * @param[in] current_state is the state set to remove them from * * @return This method returns the updated states value. -- cgit v1.2.3 From b1d10212009ceb2cc5c093f8a9990b95d47a713f Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 11 Jan 2013 09:27:50 +0100 Subject: bsp/lpc32xx: Bypass the IrDA modem for UART6 --- c/src/lib/libbsp/arm/lpc32xx/console/console-config.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/c/src/lib/libbsp/arm/lpc32xx/console/console-config.c b/c/src/lib/libbsp/arm/lpc32xx/console/console-config.c index 738f5d86de..1134bf118b 100644 --- a/c/src/lib/libbsp/arm/lpc32xx/console/console-config.c +++ b/c/src/lib/libbsp/arm/lpc32xx/console/console-config.c @@ -45,7 +45,7 @@ static void lpc32xx_uart_set_register(uintptr_t addr, uint8_t i, uint8_t val) #ifdef LPC32XX_UART_3_BAUD static bool lpc32xx_uart_probe_3(int minor) { - LPC32XX_UARTCLK_CTRL |= 1U << 0; + LPC32XX_UARTCLK_CTRL |= BSP_BIT32(0); LPC32XX_U3CLK = LPC32XX_CONFIG_U3CLK; LPC32XX_UART_CLKMODE = BSP_FLD32SET(LPC32XX_UART_CLKMODE, 0x2, 4, 5); @@ -64,7 +64,7 @@ static void lpc32xx_uart_set_register(uintptr_t addr, uint8_t i, uint8_t val) */ gpio->p2_mux_set = BSP_BIT32(2); - LPC32XX_UARTCLK_CTRL |= 1U << 1; + LPC32XX_UARTCLK_CTRL |= BSP_BIT32(1); LPC32XX_U4CLK = LPC32XX_CONFIG_U4CLK; LPC32XX_UART_CLKMODE = BSP_FLD32SET(LPC32XX_UART_CLKMODE, 0x2, 6, 7); @@ -75,7 +75,10 @@ static void lpc32xx_uart_set_register(uintptr_t addr, uint8_t i, uint8_t val) #ifdef LPC32XX_UART_6_BAUD static bool lpc32xx_uart_probe_6(int minor) { - LPC32XX_UARTCLK_CTRL |= 1U << 3; + /* Bypass the IrDA modulator/demodulator */ + LPC32XX_UART_CTRL |= BSP_BIT32(5); + + LPC32XX_UARTCLK_CTRL |= BSP_BIT32(3); LPC32XX_U6CLK = LPC32XX_CONFIG_U6CLK; LPC32XX_UART_CLKMODE = BSP_FLD32SET(LPC32XX_UART_CLKMODE, 0x2, 10, 11); -- cgit v1.2.3 From 86d06a6132258af7f1c77a94521172513c380478 Mon Sep 17 00:00:00 2001 From: Jennifer Averett Date: Fri, 11 Jan 2013 14:12:54 -0600 Subject: Added more condition variable timing tests. --- testsuites/psxtmtests/psxtmtests_plan.csv | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/testsuites/psxtmtests/psxtmtests_plan.csv b/testsuites/psxtmtests/psxtmtests_plan.csv index 12018650c4..ff0e0aeb21 100644 --- a/testsuites/psxtmtests/psxtmtests_plan.csv +++ b/testsuites/psxtmtests/psxtmtests_plan.csv @@ -21,8 +21,10 @@ "pthread_cond_broadcast - no threads waiting","psxtmcond05","psxtmtest_single", "pthread_cond_broadcast - threads waiting, no preempt","psxtmcond06","psxtmtest_unblocking_nopreempt", "pthread_cond_broadcast - threads waiting, preempt","psxtmcond07","psxtmtest_unblocking_preempt", -"pthread_cond_wait - blocks","psxtmcond08","psxtmtest_blocking", -"pthread_cond_timedwait - blocks","psxtmcond09","psxtmtest_blocking", + +"pthread_cond_wait - blocks (mutex+condvar pattern)","psxtmcond08","psxtmtest_blocking", +"pthread_cond_timedwait(&time) - blocks (mutex+condvar pattern)","psxtmcond09","psxtmtest_blocking", +"pthread_cond_timedwait(&time) - time in past error","psxtmcond10","psxtmtest_blocking", ,,, "pthread_create - no preempt","psxtmthread01","psxtmtest_single","Yes" "pthread_create - preempt","psxtmthread02","psxtmtest_single", -- cgit v1.2.3 From bcefae2ea3a655ce46bb55ed58e9fc9848c65660 Mon Sep 17 00:00:00 2001 From: Christopher Kerl Date: Fri, 11 Jan 2013 14:15:24 -0600 Subject: Create POSIX Timing Test psxtmcond03 --- testsuites/psxtmtests/Makefile.am | 1 + testsuites/psxtmtests/configure.ac | 1 + testsuites/psxtmtests/psxtmcond03/Makefile.am | 27 ++++++ testsuites/psxtmtests/psxtmcond03/init.c | 104 ++++++++++++++++++++++ testsuites/psxtmtests/psxtmcond03/psxtmcond03.doc | 11 +++ 5 files changed, 144 insertions(+) create mode 100644 testsuites/psxtmtests/psxtmcond03/Makefile.am create mode 100644 testsuites/psxtmtests/psxtmcond03/init.c create mode 100644 testsuites/psxtmtests/psxtmcond03/psxtmcond03.doc diff --git a/testsuites/psxtmtests/Makefile.am b/testsuites/psxtmtests/Makefile.am index b7353b8c64..db10965756 100644 --- a/testsuites/psxtmtests/Makefile.am +++ b/testsuites/psxtmtests/Makefile.am @@ -8,6 +8,7 @@ SUBDIRS += psxtmbarrier02 SUBDIRS += psxtmbarrier03 SUBDIRS += psxtmcond01 SUBDIRS += psxtmcond02 +SUBDIRS += psxtmcond03 SUBDIRS += psxtmcond05 SUBDIRS += psxtmkey01 SUBDIRS += psxtmkey02 diff --git a/testsuites/psxtmtests/configure.ac b/testsuites/psxtmtests/configure.ac index 29e5909a8c..1972b8457d 100644 --- a/testsuites/psxtmtests/configure.ac +++ b/testsuites/psxtmtests/configure.ac @@ -82,6 +82,7 @@ psxtmbarrier02/Makefile psxtmbarrier03/Makefile psxtmcond01/Makefile psxtmcond02/Makefile +psxtmcond03/Makefile psxtmcond05/Makefile psxtmkey01/Makefile psxtmkey02/Makefile diff --git a/testsuites/psxtmtests/psxtmcond03/Makefile.am b/testsuites/psxtmtests/psxtmcond03/Makefile.am new file mode 100644 index 0000000000..5c09759ac8 --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond03/Makefile.am @@ -0,0 +1,27 @@ +MANAGERS = all + +rtems_tests_PROGRAMS = psxtmcond03 +psxtmcond03_SOURCES = init.c +psxtmcond03_SOURCES += ../../tmtests/include/timesys.h +psxtmcond03_SOURCES += ../../support/src/tmtests_empty_function.c +psxtmcond03_SOURCES += ../../support/src/tmtests_support.c + +dist_rtems_tests_DATA = psxtmcond03.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +OPERATION_COUNT = @OPERATION_COUNT@ +AM_CPPFLAGS += -I$(top_srcdir)/../tmtests/include +AM_CPPFLAGS += -DOPERATION_COUNT=$(OPERATION_COUNT) +AM_CPPFLAGS += -I$(top_srcdir)/../support/include + +LINK_OBJS = $(psxtmcond03_OBJECTS) $(psxtmcond03_LDADD) +LINK_LIBS = $(psxtmcond03_LDLIBS) + +psxtmcond03$(EXEEXT): $(psxtmcond03_OBJECTS) $(psxtmcond03_DEPENDENCIES) + @rm -f psxtmcond03$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/psxtmtests/psxtmcond03/init.c b/testsuites/psxtmtests/psxtmcond03/init.c new file mode 100644 index 0000000000..4c1b9ad6d3 --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond03/init.c @@ -0,0 +1,104 @@ +/* + * COPYRIGHT (c) 1989-2012. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include +#include "test_support.h" +#include +#include +#include + +/* forward declarations to avoid warnings */ +void *POSIX_Init(void *argument); +void *Blocker(void *argument); + +pthread_mutex_t MutexID; +pthread_cond_t CondID; + +void *Blocker( + void *argument +) +{ + pthread_cond_wait(&CondID,&MutexID); + /* should never return */ + rtems_test_assert( FALSE ); + + return NULL; +} + +void *POSIX_Init( + void *argument +) +{ + int status; + pthread_t threadId; + long end_time; + + puts( "\n\n*** POSIX TIME TEST PSXTMCOND03 ***" ); + + status = pthread_create( &threadId, NULL, Blocker, NULL ); + rtems_test_assert( status == 0 ); + + status = pthread_mutex_init(&MutexID, NULL); + rtems_test_assert( status == 0 ); + + status = pthread_cond_init(&CondID, NULL); /* Create condition variable */ + rtems_test_assert( status == 0 ); + + /* + * Ensure the mutex is unavailable so the other threads block. + */ + status = pthread_mutex_lock(&MutexID); + rtems_test_assert( status == 0 ); + + /* + * Let the other thread start so the thread startup overhead, + * is accounted for. When we return, we can start the benchmark. + */ + sched_yield(); + /* let other thread run */ + + benchmark_timer_initialize(); + status = pthread_cond_signal(&CondID); + end_time = benchmark_timer_read(); + rtems_test_assert( status == 0 ); + + put_time( + "pthread_cond_signal - thread waiting, no preempt", + end_time, + 1, + 0, + 0 + ); + + puts( "*** END OF POSIX TIME TEST PSXTMCOND03 ***" ); + rtems_test_exit( 0 ); + + return NULL; +} + +/* configuration information */ + +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER + +#define CONFIGURE_MAXIMUM_POSIX_THREADS 2 +#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 2 +#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 2 +#define CONFIGURE_POSIX_INIT_THREAD_TABLE + +#define CONFIGURE_INIT + +#include + /* end of file */ diff --git a/testsuites/psxtmtests/psxtmcond03/psxtmcond03.doc b/testsuites/psxtmtests/psxtmcond03/psxtmcond03.doc new file mode 100644 index 0000000000..865fc07091 --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond03/psxtmcond03.doc @@ -0,0 +1,11 @@ +# COPYRIGHT (c) 1989-2011. +# On-Line Applications Research Corporation (OAR). +# +# The license and distribution terms for this file may be +# found in the file LICENSE in this distribution or at +# http://www.rtems.com/license/LICENSE. +# + +This test benchmarks the following operations: + ++ -- cgit v1.2.3 From 72f3b051653087be62a4e7fedc7c7efc4c08913c Mon Sep 17 00:00:00 2001 From: Christopher Kerl Date: Fri, 11 Jan 2013 14:33:37 -0600 Subject: Create POSIX Timing Test psxtmcond09 Modifications were made to this submission allow the same init.c file to be ran by three tests that were very similar using posix pthread_cond_timedwait and pthread_cond_wait. --- testsuites/psxtmtests/Makefile.am | 3 + testsuites/psxtmtests/configure.ac | 3 + testsuites/psxtmtests/psxtmcond08/Makefile.am | 28 ++++ testsuites/psxtmtests/psxtmcond08/init.c | 178 ++++++++++++++++++++++ testsuites/psxtmtests/psxtmcond08/psxtmcond08.doc | 11 ++ testsuites/psxtmtests/psxtmcond09/Makefile.am | 28 ++++ testsuites/psxtmtests/psxtmcond09/psxtmcond09.doc | 11 ++ testsuites/psxtmtests/psxtmcond10/Makefile.am | 28 ++++ testsuites/psxtmtests/psxtmcond10/psxtmcond10.doc | 0 9 files changed, 290 insertions(+) create mode 100644 testsuites/psxtmtests/psxtmcond08/Makefile.am create mode 100644 testsuites/psxtmtests/psxtmcond08/init.c create mode 100644 testsuites/psxtmtests/psxtmcond08/psxtmcond08.doc create mode 100644 testsuites/psxtmtests/psxtmcond09/Makefile.am create mode 100644 testsuites/psxtmtests/psxtmcond09/psxtmcond09.doc create mode 100644 testsuites/psxtmtests/psxtmcond10/Makefile.am create mode 100644 testsuites/psxtmtests/psxtmcond10/psxtmcond10.doc diff --git a/testsuites/psxtmtests/Makefile.am b/testsuites/psxtmtests/Makefile.am index db10965756..3530eaffe2 100644 --- a/testsuites/psxtmtests/Makefile.am +++ b/testsuites/psxtmtests/Makefile.am @@ -10,6 +10,9 @@ SUBDIRS += psxtmcond01 SUBDIRS += psxtmcond02 SUBDIRS += psxtmcond03 SUBDIRS += psxtmcond05 +SUBDIRS += psxtmcond08 +SUBDIRS += psxtmcond09 +SUBDIRS += psxtmcond10 SUBDIRS += psxtmkey01 SUBDIRS += psxtmkey02 SUBDIRS += psxtmmq01 diff --git a/testsuites/psxtmtests/configure.ac b/testsuites/psxtmtests/configure.ac index 1972b8457d..ab01acba0d 100644 --- a/testsuites/psxtmtests/configure.ac +++ b/testsuites/psxtmtests/configure.ac @@ -84,6 +84,9 @@ psxtmcond01/Makefile psxtmcond02/Makefile psxtmcond03/Makefile psxtmcond05/Makefile +psxtmcond08/Makefile +psxtmcond09/Makefile +psxtmcond10/Makefile psxtmkey01/Makefile psxtmkey02/Makefile psxtmmq01/Makefile diff --git a/testsuites/psxtmtests/psxtmcond08/Makefile.am b/testsuites/psxtmtests/psxtmcond08/Makefile.am new file mode 100644 index 0000000000..6207972fa9 --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond08/Makefile.am @@ -0,0 +1,28 @@ +MANAGERS = all + +rtems_tests_PROGRAMS = psxtmcond08 +psxtmcond08_SOURCES = init.c +psxtmcond08_SOURCES += ../../tmtests/include/timesys.h +psxtmcond08_SOURCES += ../../support/src/tmtests_empty_function.c +psxtmcond08_SOURCES += ../../support/src/tmtests_support.c + +dist_rtems_tests_DATA = psxtmcond08.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +OPERATION_COUNT = @OPERATION_COUNT@ +AM_CPPFLAGS += -I$(top_srcdir)/../tmtests/include +AM_CPPFLAGS += -DOPERATION_COUNT=$(OPERATION_COUNT) +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -DUSE_WAIT + +LINK_OBJS = $(psxtmcond08_OBJECTS) $(psxtmcond08_LDADD) +LINK_LIBS = $(psxtmcond08_LDLIBS) + +psxtmcond08$(EXEEXT): $(psxtmcond08_OBJECTS) $(psxtmcond08_DEPENDENCIES) + @rm -f psxtmcond08$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/psxtmtests/psxtmcond08/init.c b/testsuites/psxtmtests/psxtmcond08/init.c new file mode 100644 index 0000000000..af970361b3 --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond08/init.c @@ -0,0 +1,178 @@ +/* + * COPYRIGHT (c) 1989-2012. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#if defined(USE_WAIT) + #define TEST_NUMBER "08" + #define TEST_CASE "pthread_cond_wait - blocking" +#elif defined(USE_TIMEDWAIT_WITH_VALUE) + #define TEST_NUMBER "09" + #define TEST_CASE "pthread_cond_timedwait - blocking" +#elif defined(USE_TIMEDWAIT_WAIT_VALUE_IN_PAST) + #define TEST_NUMBER "10" + #define TEST_CASE "pthread_cond_timedwait - time in past error" +#else + #error "How am I being compiled?" +#endif + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include +#include +#include +#include +#include "test_support.h" + +#include + +/* forward declarations to avoid warnings */ +void *POSIX_Init(void *argument); +void *Middle(void *argument); +void *Low(void *argument); + +pthread_cond_t CondID; +pthread_mutex_t MutexID; +struct timespec sleepTime; + +void *Low( + void *argument +) +{ + long end_time; + + end_time = benchmark_timer_read(); + + put_time( + TEST_CASE, + end_time, + OPERATION_COUNT, + 0, + 0 + ); + + puts( "*** END OF POSIX TIME TEST PSXTMCOND" TEST_NUMBER " ***" ); + + rtems_test_exit( 0 ); + return NULL; +} + +void *Middle( + void *argument +) +{ + int rc; + + + rc = pthread_mutex_lock(&MutexID); + rtems_test_assert( rc == 0 ); + + /* block and switch to another task here */ + + #if defined(USE_WAIT) + rc = pthread_cond_wait( &CondID, &MutexID ); + rtems_test_assert( rc == 0 ); + + #elif defined(USE_TIMEDWAIT_WITH_VALUE) + + rc = pthread_cond_timedwait( &CondID, &MutexID, &sleepTime ); + rtems_test_assert( rc == 0 ); + + #elif defined(USE_TIMEDWAIT_WAIT_VALUE_IN_PAST) + { + long end_time; + + /* override sleepTime with something obviously in the past */ + sleepTime.tv_sec = 0; + sleepTime.tv_nsec = 5; + + /* this does all the work of timedwait but immediately returns */ + rc = pthread_cond_timedwait( &CondID, &MutexID, &sleepTime ); + end_time = benchmark_timer_read(); + rtems_test_assert(rc == ETIMEDOUT); + } + #endif + + pthread_mutex_unlock(&MutexID); + #if defined(USE_TIMEDWAIT_WAIT_VALUE_IN_PAST) + /* + * In this case, unlock does not switch to another thread. so we need + * to explicitly yield. If we do not yield, then we will measure the + * time required to do an implicit pthread_exit() which is undesirable + * from a measurement viewpoint. + */ + sched_yield(); + #endif + return NULL; +} + +void *POSIX_Init( + void *argument +) +{ + int i; + int status; + pthread_t threadId; + int rc; + struct timeval tp; + + puts( "\n\n*** POSIX TIME TEST PSXTMCOND" TEST_NUMBER " ***" ); + + rc = gettimeofday(&tp, NULL); + rtems_test_assert( rc == 0 ); + + /* Convert from timeval to timespec */ + sleepTime.tv_sec = tp.tv_sec; + sleepTime.tv_nsec = tp.tv_usec * 1000; + sleepTime.tv_nsec += 1; + + rc = pthread_cond_init(&CondID, NULL); + rtems_test_assert( rc == 0 ); + + rc = pthread_mutex_init(&MutexID, NULL); + rtems_test_assert( rc == 0 ); + + rc = pthread_mutex_lock(&MutexID); + rtems_test_assert( rc == 0 ); + + for ( i=0 ; i < OPERATION_COUNT - 1 ; i++ ) { + status = pthread_create( &threadId, NULL, Middle, NULL ); + rtems_test_assert( !status ); + } + + status = pthread_create( &threadId, NULL, Low, NULL ); + rtems_test_assert( !status ); + + /* start the timer and switch through all the other tasks */ + benchmark_timer_initialize(); + + rc = pthread_mutex_unlock(&MutexID); + rtems_test_assert( rc == 0 ); + + /* Should never return. */ + return NULL; +} + +/* configuration information */ + +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER + +#define CONFIGURE_MAXIMUM_POSIX_THREADS OPERATION_COUNT + 2 +#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 2 +#define CONFIGURE_POSIX_INIT_THREAD_TABLE +#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 2 +#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 2 + +#define CONFIGURE_INIT + +#include + /* end of file */ diff --git a/testsuites/psxtmtests/psxtmcond08/psxtmcond08.doc b/testsuites/psxtmtests/psxtmcond08/psxtmcond08.doc new file mode 100644 index 0000000000..865fc07091 --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond08/psxtmcond08.doc @@ -0,0 +1,11 @@ +# COPYRIGHT (c) 1989-2011. +# On-Line Applications Research Corporation (OAR). +# +# The license and distribution terms for this file may be +# found in the file LICENSE in this distribution or at +# http://www.rtems.com/license/LICENSE. +# + +This test benchmarks the following operations: + ++ diff --git a/testsuites/psxtmtests/psxtmcond09/Makefile.am b/testsuites/psxtmtests/psxtmcond09/Makefile.am new file mode 100644 index 0000000000..c5b4eddd0d --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond09/Makefile.am @@ -0,0 +1,28 @@ +MANAGERS = all + +rtems_tests_PROGRAMS = psxtmcond09 +psxtmcond09_SOURCES = ../psxtmcond08/init.c +psxtmcond09_SOURCES += ../../tmtests/include/timesys.h +psxtmcond09_SOURCES += ../../support/src/tmtests_empty_function.c +psxtmcond09_SOURCES += ../../support/src/tmtests_support.c + +dist_rtems_tests_DATA = psxtmcond09.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +OPERATION_COUNT = @OPERATION_COUNT@ +AM_CPPFLAGS += -I$(top_srcdir)/../tmtests/include +AM_CPPFLAGS += -DOPERATION_COUNT=$(OPERATION_COUNT) +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -DUSE_TIMEDWAIT_WITH_VALUE + +LINK_OBJS = $(psxtmcond09_OBJECTS) $(psxtmcond09_LDADD) +LINK_LIBS = $(psxtmcond09_LDLIBS) + +psxtmcond09$(EXEEXT): $(psxtmcond09_OBJECTS) $(psxtmcond09_DEPENDENCIES) + @rm -f psxtmcond09$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/psxtmtests/psxtmcond09/psxtmcond09.doc b/testsuites/psxtmtests/psxtmcond09/psxtmcond09.doc new file mode 100644 index 0000000000..865fc07091 --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond09/psxtmcond09.doc @@ -0,0 +1,11 @@ +# COPYRIGHT (c) 1989-2011. +# On-Line Applications Research Corporation (OAR). +# +# The license and distribution terms for this file may be +# found in the file LICENSE in this distribution or at +# http://www.rtems.com/license/LICENSE. +# + +This test benchmarks the following operations: + ++ diff --git a/testsuites/psxtmtests/psxtmcond10/Makefile.am b/testsuites/psxtmtests/psxtmcond10/Makefile.am new file mode 100644 index 0000000000..19222c8d5c --- /dev/null +++ b/testsuites/psxtmtests/psxtmcond10/Makefile.am @@ -0,0 +1,28 @@ +MANAGERS = all + +rtems_tests_PROGRAMS = psxtmcond10 +psxtmcond10_SOURCES = ../psxtmcond08/init.c +psxtmcond10_SOURCES += ../../tmtests/include/timesys.h +psxtmcond10_SOURCES += ../../support/src/tmtests_empty_function.c +psxtmcond10_SOURCES += ../../support/src/tmtests_support.c + +dist_rtems_tests_DATA = psxtmcond10.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +OPERATION_COUNT = @OPERATION_COUNT@ +AM_CPPFLAGS += -I$(top_srcdir)/../tmtests/include +AM_CPPFLAGS += -DOPERATION_COUNT=$(OPERATION_COUNT) +AM_CPPFLAGS += -I$(top_srcdir)/../support/include +AM_CPPFLAGS += -DUSE_TIMEDWAIT_WAIT_VALUE_IN_PAST + +LINK_OBJS = $(psxtmcond10_OBJECTS) $(psxtmcond10_LDADD) +LINK_LIBS = $(psxtmcond10_LDLIBS) + +psxtmcond10$(EXEEXT): $(psxtmcond10_OBJECTS) $(psxtmcond10_DEPENDENCIES) + @rm -f psxtmcond10$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/psxtmtests/psxtmcond10/psxtmcond10.doc b/testsuites/psxtmtests/psxtmcond10/psxtmcond10.doc new file mode 100644 index 0000000000..e69de29bb2 -- cgit v1.2.3 From f7351e4ea59d0bbdba656b9afcb44d6ba316e518 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 14 Jan 2013 08:16:04 +0100 Subject: bsp/virtex5: Fix define location --- c/src/lib/libbsp/powerpc/virtex5/include/irq.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/c/src/lib/libbsp/powerpc/virtex5/include/irq.h b/c/src/lib/libbsp/powerpc/virtex5/include/irq.h index a87562fdd2..3d343281cf 100644 --- a/c/src/lib/libbsp/powerpc/virtex5/include/irq.h +++ b/c/src/lib/libbsp/powerpc/virtex5/include/irq.h @@ -69,12 +69,11 @@ extern "C" { extern rtems_irq_connect_data *BSP_rtems_irq_tbl; void BSP_rtems_irq_mngt_init(unsigned cpuId); -#ifdef __cplusplus -} - #define BSP_DEC BSP_PIT #define BSP_DECREMENTER BSP_PIT +#ifdef __cplusplus +} #endif #endif /* ASM */ -- cgit v1.2.3 From 0cce75e6960df9e53183be459b51ee7bef0ce4cc Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 14 Jan 2013 09:54:21 +0100 Subject: NIOS2: Fix register restore sequence in epilogue This fix is critical. The previous implementation leads to system corruption. --- cpukit/score/cpu/nios2/nios2-eic-il-low-level.S | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cpukit/score/cpu/nios2/nios2-eic-il-low-level.S b/cpukit/score/cpu/nios2/nios2-eic-il-low-level.S index 42da434da6..f214f4ddef 100644 --- a/cpukit/score/cpu/nios2/nios2-eic-il-low-level.S +++ b/cpukit/score/cpu/nios2/nios2-eic-il-low-level.S @@ -160,7 +160,6 @@ do_thread_dispatch: ldw r10, FRAME_OFFSET_R10(sp) ldw r11, FRAME_OFFSET_R11(sp) ldw r12, FRAME_OFFSET_R12(sp) - ldw r13, FRAME_OFFSET_R13(sp) /* * Disable interrupts. @@ -180,15 +179,16 @@ do_thread_dispatch: wrctl status, r15 /* Load thread dispatch necessary */ - ldb r12, %gprel(_Per_CPU_Information + PER_CPU_DISPATCH_NEEDED)(gp) + ldb r13, %gprel(_Per_CPU_Information + PER_CPU_DISPATCH_NEEDED)(gp) /* Is thread dispatch necessary? */ - bne r12, zero, enable_interrupts_before_thread_dispatch + bne r13, zero, enable_interrupts_before_thread_dispatch /* Enable Nios II specific thread dispatch */ stw zero, %gprel(_Nios2_Thread_dispatch_disabled)(gp) /* Restore remaining volatile register */ + ldw r13, FRAME_OFFSET_R13(sp) ldw r14, FRAME_OFFSET_R14(sp) ldw r15, FRAME_OFFSET_R15(sp) -- cgit v1.2.3 From e214280bd70895b8ce7dbe0df0280990d4445002 Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Mon, 14 Jan 2013 09:53:36 -0600 Subject: Generating .scn (Screen Shots) #7 --- testsuites/psxtests/psxbarrier01/psxtmbarrier01.scn | 5 +++++ testsuites/psxtmtests/psxtmbarrier02/psxtmbarrier02.scn | 3 +++ testsuites/psxtmtests/psxtmbarrier03/psxtmbarrier03.scn | 3 +++ testsuites/psxtmtests/psxtmkey01/psxtmkey01.scn | 4 ++++ testsuites/psxtmtests/psxtmkey02/psxtmkey02.scn | 5 +++++ testsuites/psxtmtests/psxtmmq01/psxtmmq01.scn | 12 ++++++++++++ 6 files changed, 32 insertions(+) create mode 100644 testsuites/psxtests/psxbarrier01/psxtmbarrier01.scn create mode 100644 testsuites/psxtmtests/psxtmbarrier02/psxtmbarrier02.scn create mode 100644 testsuites/psxtmtests/psxtmbarrier03/psxtmbarrier03.scn create mode 100644 testsuites/psxtmtests/psxtmkey01/psxtmkey01.scn create mode 100644 testsuites/psxtmtests/psxtmkey02/psxtmkey02.scn create mode 100644 testsuites/psxtmtests/psxtmmq01/psxtmmq01.scn diff --git a/testsuites/psxtests/psxbarrier01/psxtmbarrier01.scn b/testsuites/psxtests/psxbarrier01/psxtmbarrier01.scn new file mode 100644 index 0000000000..cbae9a718c --- /dev/null +++ b/testsuites/psxtests/psxbarrier01/psxtmbarrier01.scn @@ -0,0 +1,5 @@ +*** POSIX TIME TEST PSXTMBARRIER 01 *** +pthread_barrier_init 20 +pthread_barrier_destroy 21 +*** END OF POSIX TIME TEST PSXTMBARRIER 01 *** + diff --git a/testsuites/psxtmtests/psxtmbarrier02/psxtmbarrier02.scn b/testsuites/psxtmtests/psxtmbarrier02/psxtmbarrier02.scn new file mode 100644 index 0000000000..09b010d387 --- /dev/null +++ b/testsuites/psxtmtests/psxtmbarrier02/psxtmbarrier02.scn @@ -0,0 +1,3 @@ +*** POSIX TIME PSXTMBARRIER 02 *** +pthread_barrier_wait – blocking 95 +*** END OF POSIX TIME PSXTMBARRIER 02 *** diff --git a/testsuites/psxtmtests/psxtmbarrier03/psxtmbarrier03.scn b/testsuites/psxtmtests/psxtmbarrier03/psxtmbarrier03.scn new file mode 100644 index 0000000000..f1b1d8921d --- /dev/null +++ b/testsuites/psxtmtests/psxtmbarrier03/psxtmbarrier03.scn @@ -0,0 +1,3 @@ +*** POSIX TIME TEST PSXTMBARRIER 03 *** +pthread_barrier_wait – releasing, no preempt 50 +*** END OF POSIX TIME TEST PSXTMBARRIER 03 *** diff --git a/testsuites/psxtmtests/psxtmkey01/psxtmkey01.scn b/testsuites/psxtmtests/psxtmkey01/psxtmkey01.scn new file mode 100644 index 0000000000..24f5841cbb --- /dev/null +++ b/testsuites/psxtmtests/psxtmkey01/psxtmkey01.scn @@ -0,0 +1,4 @@ +*** POSIX TIME TEST PSXTMKEY01 *** +pthread_key_create 86 +pthread_key_delete 79 +*** END OF POSIX TIME TEST PSXTMKEY01 *** diff --git a/testsuites/psxtmtests/psxtmkey02/psxtmkey02.scn b/testsuites/psxtmtests/psxtmkey02/psxtmkey02.scn new file mode 100644 index 0000000000..a81aa96eef --- /dev/null +++ b/testsuites/psxtmtests/psxtmkey02/psxtmkey02.scn @@ -0,0 +1,5 @@ +*** POSIX TIME TEST PSXTMKEY02 *** +pthread_getspecific 11 +pthread_setspecific 11 +pthread_getspecific 11 +*** END OF POSIX TIME TEST PSXTMKEY02 *** diff --git a/testsuites/psxtmtests/psxtmmq01/psxtmmq01.scn b/testsuites/psxtmtests/psxtmmq01/psxtmmq01.scn new file mode 100644 index 0000000000..585a0b7b9c --- /dev/null +++ b/testsuites/psxtmtests/psxtmmq01/psxtmmq01.scn @@ -0,0 +1,12 @@ +*** POSIX TIME TEST PSXTMMQ01 *** +mq_open (first open) 106 +mq_send - no threads waiting 44 +mq_open (second open) 38 +mq_receive - available 41 +mq_unlink 46 +mq_timedsend - no threads waiting 92 +mq_timedreceive - available 91 +mq_notify 13 +mq_close (close of second) 21 +mq_close (close of first) 21 +*** END OF POSIX TIME TEST PSXTMMQ01 *** -- cgit v1.2.3 From 408a16edb5d8f6ed849e5ddcb158b7b35bec536f Mon Sep 17 00:00:00 2001 From: Christopher Kerl Date: Mon, 14 Jan 2013 10:12:14 -0600 Subject: Create POSIX Timing Test psxtmthread02 Minor modifications were made to the student version to clearify methods and to clean up test output. --- testsuites/psxtmtests/Makefile.am | 1 + testsuites/psxtmtests/configure.ac | 1 + testsuites/psxtmtests/psxtmthread02/Makefile.am | 27 ++++++++ testsuites/psxtmtests/psxtmthread02/init.c | 80 ++++++++++++++++++++++ .../psxtmtests/psxtmthread02/psxtmthread02.doc | 11 +++ 5 files changed, 120 insertions(+) create mode 100644 testsuites/psxtmtests/psxtmthread02/Makefile.am create mode 100644 testsuites/psxtmtests/psxtmthread02/init.c create mode 100644 testsuites/psxtmtests/psxtmthread02/psxtmthread02.doc diff --git a/testsuites/psxtmtests/Makefile.am b/testsuites/psxtmtests/Makefile.am index 3530eaffe2..be21fa286b 100644 --- a/testsuites/psxtmtests/Makefile.am +++ b/testsuites/psxtmtests/Makefile.am @@ -40,6 +40,7 @@ SUBDIRS += psxtmsem05 SUBDIRS += psxtmsleep01 SUBDIRS += psxtmsleep02 SUBDIRS += psxtmthread01 +SUBDIRS += psxtmthread02 SUBDIRS += psxtmthread03 endif diff --git a/testsuites/psxtmtests/configure.ac b/testsuites/psxtmtests/configure.ac index ab01acba0d..9eedb89fa1 100644 --- a/testsuites/psxtmtests/configure.ac +++ b/testsuites/psxtmtests/configure.ac @@ -114,6 +114,7 @@ psxtmsem05/Makefile psxtmsleep01/Makefile psxtmsleep02/Makefile psxtmthread01/Makefile +psxtmthread02/Makefile psxtmthread03/Makefile ]) AC_OUTPUT diff --git a/testsuites/psxtmtests/psxtmthread02/Makefile.am b/testsuites/psxtmtests/psxtmthread02/Makefile.am new file mode 100644 index 0000000000..c39e2c0aa5 --- /dev/null +++ b/testsuites/psxtmtests/psxtmthread02/Makefile.am @@ -0,0 +1,27 @@ +MANAGERS = all + +rtems_tests_PROGRAMS = psxtmthread02 +psxtmthread02_SOURCES = init.c +psxtmthread02_SOURCES += ../../tmtests/include/timesys.h +psxtmthread02_SOURCES += ../../support/src/tmtests_empty_function.c +psxtmthread02_SOURCES += ../../support/src/tmtests_support.c + +dist_rtems_tests_DATA = psxtmthread02.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +OPERATION_COUNT = @OPERATION_COUNT@ +AM_CPPFLAGS += -I$(top_srcdir)/../tmtests/include +AM_CPPFLAGS += -DOPERATION_COUNT=$(OPERATION_COUNT) +AM_CPPFLAGS += -I$(top_srcdir)/../support/include + +LINK_OBJS = $(psxtmthread02_OBJECTS) $(psxtmthread02_LDADD) +LINK_LIBS = $(psxtmthread02_LDLIBS) + +psxtmthread02$(EXEEXT): $(psxtmthread02_OBJECTS) $(psxtmthread02_DEPENDENCIES) + @rm -f psxtmthread02$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/psxtmtests/psxtmthread02/init.c b/testsuites/psxtmtests/psxtmthread02/init.c new file mode 100644 index 0000000000..41fb17f462 --- /dev/null +++ b/testsuites/psxtmtests/psxtmthread02/init.c @@ -0,0 +1,80 @@ +/* + * COPYRIGHT (c) 1989-2012. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include +#include "test_support.h" + +/* forward declarations to avoid warnings */ +void *POSIX_Init(void *argument); +void benchmark_pthread_create(void); +void thread(void *argument); + +void benchmark_pthread_create(void) +{ + long end_time; + int status; + pthread_t thread_ID; + + benchmark_timer_initialize(); + + status = pthread_create(&thread_ID, NULL, thread, NULL); + rtems_test_assert( status == 0 ); + + end_time = benchmark_timer_read(); + + rtems_test_assert( status == 0 ); + + put_time( + "pthread_create - preempt", + end_time, + 1, /* Only executed once */ + 0, + 0 + ); + +} + +void thread( + void *argument +) +{ + //Empty thread used in pthread_create(). +} + +void *POSIX_Init( + void *argument +) +{ + + puts( "\n\n*** POSIX TIME TEST PSXTMTHREAD02 ***" ); + + benchmark_pthread_create(); + + puts( "*** END OF POSIX TIME TEST PSXTMTHREAD02 ***" ); + rtems_test_exit(0); +} + +/* configuration information */ + +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER + +#define CONFIGURE_MAXIMUM_POSIX_THREADS 2 +#define CONFIGURE_POSIX_INIT_THREAD_TABLE + +#define CONFIGURE_INIT + +#include +/* end of file */ diff --git a/testsuites/psxtmtests/psxtmthread02/psxtmthread02.doc b/testsuites/psxtmtests/psxtmthread02/psxtmthread02.doc new file mode 100644 index 0000000000..865fc07091 --- /dev/null +++ b/testsuites/psxtmtests/psxtmthread02/psxtmthread02.doc @@ -0,0 +1,11 @@ +# COPYRIGHT (c) 1989-2011. +# On-Line Applications Research Corporation (OAR). +# +# The license and distribution terms for this file may be +# found in the file LICENSE in this distribution or at +# http://www.rtems.com/license/LICENSE. +# + +This test benchmarks the following operations: + ++ -- cgit v1.2.3 From 79060eb60839b570470d3a739d6dd3b4f6511768 Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Tue, 15 Jan 2013 10:03:55 -0600 Subject: psxtmtests: Generating .scn (Screen Shots) #8 --- testsuites/psxtmtests/psxtmmutex01/psxtmmutex01.scn | 4 ++++ testsuites/psxtmtests/psxtmmutex02/psxtmmutex02.scn | 3 +++ testsuites/psxtmtests/psxtmmutex03/psxtmmutex03.scn | 9 +++++++++ testsuites/psxtmtests/psxtmmutex04/psxtmmutex04.scn | 3 +++ testsuites/psxtmtests/psxtmmutex05/psxtmmutex05.scn | 3 +++ testsuites/psxtmtests/psxtmmutex06/psxtmmutex06.scn | 3 +++ testsuites/psxtmtests/psxtmmutex07/psxtmmutex07.scn | 5 +++++ 7 files changed, 30 insertions(+) create mode 100644 testsuites/psxtmtests/psxtmmutex01/psxtmmutex01.scn create mode 100644 testsuites/psxtmtests/psxtmmutex02/psxtmmutex02.scn create mode 100644 testsuites/psxtmtests/psxtmmutex03/psxtmmutex03.scn create mode 100644 testsuites/psxtmtests/psxtmmutex04/psxtmmutex04.scn create mode 100644 testsuites/psxtmtests/psxtmmutex05/psxtmmutex05.scn create mode 100644 testsuites/psxtmtests/psxtmmutex06/psxtmmutex06.scn create mode 100644 testsuites/psxtmtests/psxtmmutex07/psxtmmutex07.scn diff --git a/testsuites/psxtmtests/psxtmmutex01/psxtmmutex01.scn b/testsuites/psxtmtests/psxtmmutex01/psxtmmutex01.scn new file mode 100644 index 0000000000..a1b10c7ae7 --- /dev/null +++ b/testsuites/psxtmtests/psxtmmutex01/psxtmmutex01.scn @@ -0,0 +1,4 @@ +*** POSIX TIME TEST PSXTMMUTEX01 *** +pthread_mutex_init 28 +pthread_mutex_destroy 32 +*** END OF POSIX TIME TEST PSXTMMUTEX01 *** diff --git a/testsuites/psxtmtests/psxtmmutex02/psxtmmutex02.scn b/testsuites/psxtmtests/psxtmmutex02/psxtmmutex02.scn new file mode 100644 index 0000000000..2f4dada073 --- /dev/null +++ b/testsuites/psxtmtests/psxtmmutex02/psxtmmutex02.scn @@ -0,0 +1,3 @@ +*** POSIX TIME TEST PSXTMMUTEX02 *** +pthread_mutex_lock - unavailable, block 98 +*** END OF POSIX TIME TEST PSXTMMUTEX02 *** diff --git a/testsuites/psxtmtests/psxtmmutex03/psxtmmutex03.scn b/testsuites/psxtmtests/psxtmmutex03/psxtmmutex03.scn new file mode 100644 index 0000000000..7892cea985 --- /dev/null +++ b/testsuites/psxtmtests/psxtmmutex03/psxtmmutex03.scn @@ -0,0 +1,9 @@ +*** POSIX TIME TEST PSXTMMUTEX03 *** +pthread_mutex_lock - available 12 +pthread_mutex_unlock - no threads waiting 26 +pthread_mutex_trylock - available 12 +pthread_mutex_trylock - not available 12 +pthread_mutex_unlock - no threads waiting 27 +pthread_mutex_timedlock - available 14 +pthread_mutex_unlock - no threads waiting 26 +*** END OF POSIX TIME TEST PSXTMMUTEX03 *** diff --git a/testsuites/psxtmtests/psxtmmutex04/psxtmmutex04.scn b/testsuites/psxtmtests/psxtmmutex04/psxtmmutex04.scn new file mode 100644 index 0000000000..279bf0e4cd --- /dev/null +++ b/testsuites/psxtmtests/psxtmmutex04/psxtmmutex04.scn @@ -0,0 +1,3 @@ +*** POSIX TIME TEST PSXTMMUTEX04 *** +pthread_mutex_timedlock - not available, block 98 +*** END OF POSIX TIME TEST PSXTMMUTEX04 *** diff --git a/testsuites/psxtmtests/psxtmmutex05/psxtmmutex05.scn b/testsuites/psxtmtests/psxtmmutex05/psxtmmutex05.scn new file mode 100644 index 0000000000..89ad03dbe0 --- /dev/null +++ b/testsuites/psxtmtests/psxtmmutex05/psxtmmutex05.scn @@ -0,0 +1,3 @@ +*** POSIX TIME TEST PSXTMMUTEX05 *** +pthread_mutex_unlock - unblocking, no preemption 37 +*** END OF POSIX TIME TEST PSXTMMUTEX05 *** diff --git a/testsuites/psxtmtests/psxtmmutex06/psxtmmutex06.scn b/testsuites/psxtmtests/psxtmmutex06/psxtmmutex06.scn new file mode 100644 index 0000000000..214bf5a0fe --- /dev/null +++ b/testsuites/psxtmtests/psxtmmutex06/psxtmmutex06.scn @@ -0,0 +1,3 @@ +*** POSIX TIME TEST PSXTMMUTEX02 *** +pthread_mutex_unlock - unblocking, preempt 96 +*** END OF POSIX TIME TEST PSXTMMUTEX07 *** diff --git a/testsuites/psxtmtests/psxtmmutex07/psxtmmutex07.scn b/testsuites/psxtmtests/psxtmmutex07/psxtmmutex07.scn new file mode 100644 index 0000000000..cbf46ac8b6 --- /dev/null +++ b/testsuites/psxtmtests/psxtmmutex07/psxtmmutex07.scn @@ -0,0 +1,5 @@ +*** POSIX TIME TEST PSXTMMUTEX07 *** +pthread_mutex_getprioceiling 11 +pthread_mutex_setprioceiling 40 +pthread_mutex_getprioceiling 12 +*** END OF POSIX TIME TEST PSXTMMUTEX07 *** -- cgit v1.2.3 From 99d11970b6d1a4c7a41d160ac835b63cfac1a049 Mon Sep 17 00:00:00 2001 From: Alex Ivanov Date: Tue, 15 Jan 2013 13:46:56 -0600 Subject: fstests: Generating .scn (Screen Shots) #4 --- testsuites/fstests/mimfs_fslink/mimfs_fslink.scn | 10 +++ .../fstests/mimfs_fspatheval/mimfs_fspatheval.scn | 76 ++++++++++++++++++++++ .../mimfs_fspermission-interupted.scn | 47 +++++++++++++ testsuites/fstests/mimfs_fsrdwr/mimfs_fsrdwr.scn | 21 ++++++ .../fstests/mimfs_fssymlink/mimfs_fssymlink.scn | 31 +++++++++ testsuites/fstests/mimfs_fstime/mimfs_fstime.scn | 7 ++ 6 files changed, 192 insertions(+) create mode 100644 testsuites/fstests/mimfs_fslink/mimfs_fslink.scn create mode 100644 testsuites/fstests/mimfs_fspatheval/mimfs_fspatheval.scn create mode 100644 testsuites/fstests/mimfs_fspermission/mimfs_fspermission-interupted.scn create mode 100644 testsuites/fstests/mimfs_fsrdwr/mimfs_fsrdwr.scn create mode 100644 testsuites/fstests/mimfs_fssymlink/mimfs_fssymlink.scn create mode 100644 testsuites/fstests/mimfs_fstime/mimfs_fstime.scn diff --git a/testsuites/fstests/mimfs_fslink/mimfs_fslink.scn b/testsuites/fstests/mimfs_fslink/mimfs_fslink.scn new file mode 100644 index 0000000000..d0a6f1e395 --- /dev/null +++ b/testsuites/fstests/mimfs_fslink/mimfs_fslink.scn @@ -0,0 +1,10 @@ +*** FILE SYSTEM TEST ( MOUNTED IMFS ) *** +Initializing filesystem MOUNTED IMFS + + +*** LINK TEST *** +link creates hardlinks +test if the stat is the same +chmod and chown +unlink then stat the file +*** END OF LINK TEST *** diff --git a/testsuites/fstests/mimfs_fspatheval/mimfs_fspatheval.scn b/testsuites/fstests/mimfs_fspatheval/mimfs_fspatheval.scn new file mode 100644 index 0000000000..c81e4950aa --- /dev/null +++ b/testsuites/fstests/mimfs_fspatheval/mimfs_fspatheval.scn @@ -0,0 +1,76 @@ +*** FILE SYSTEM TEST ( MOUNTED IMFS ) *** +Initializing filesystem MOUNTED IMFS + + +*** PATH EVALUATION TEST *** +Making directory /test1/ +Making directory tets2 +Making directory ///test3 +Making directory test4//// +Making directory ../../test5 +Making directory /test1/../test6 +Making directory ./test7/ +Making directory .././test8 +Making directory test8/./../test9 +Making directory ///test9/../test10 + +Making directory !#$%&()-@^_`{}~' +Making directory 0_1_A +Making directory aaa bbb +Making directory ccc....ddd +Making directory fff + +Removing directory test10 +Removing directory test9 +Removing directory test8 +Removing directory test7 +Removing directory test6 +Removing directory test5 +Removing directory test4 +Removing directory test3 +Removing directory tets2 +Removing directory test1 + +Removing directory fff +Removing directory ccc....ddd +Removing directory aaa bbb +Removing directory 0_1_A +Removing directory !#$%&()-@^_`{}~' + +Create file /test1 +Create file tets2 +Create file ///test3 +Create file test4 +Create file ../../test5 +Create file /../test6 +Create file ./test7 +Create file .././test8 +Create file /./../test9 +Create file //../test10 + +Create file !#$%&()-@^_`{}~' +Create file 0_1_A +Create file aaa bbb +Create file ccc....ddd +Create file fff + +Removing file test10 +Removing file test9 +Removing file test8 +Removing file test7 +Removing file test6 +Removing file test5 +Removing file test4 +Removing file test3 +Removing file tets2 +Removing file test1 + +Removing file fff +Removing file ccc....ddd +Removing file aaa bbb +Removing file 0_1_A +Removing file !#$%&()-@^_`{}~' + +mkdir /tmp/a/b +cd /tmp +*** END OF PATH EVALUATION TEST *** diff --git a/testsuites/fstests/mimfs_fspermission/mimfs_fspermission-interupted.scn b/testsuites/fstests/mimfs_fspermission/mimfs_fspermission-interupted.scn new file mode 100644 index 0000000000..e425aa7b07 --- /dev/null +++ b/testsuites/fstests/mimfs_fspermission/mimfs_fspermission-interupted.scn @@ -0,0 +1,47 @@ +*** FILE SYSTEM TEST ( MOUNTED IMFS ) *** +Initializing filesystem MOUNTED IMFS + + +*** PERMISSION TEST *** +The previous cmask is 022 +The file mode of file01 is 755 +The file mode of file02 is 755 +The file mode of dir01 is 755 +The previous cmask is 321 +The file mode of file01 is 456 +The file mode of file02 is 456 +The file mode of dir01 is 456 +The file mode of file01 is 777 +The file mode of file02 is 240 +The file mode of dir01 is 340 +Testing open with arguments: "file02,O_RDONLY" EXPECT "EACCES" +PASS +Testing open with arguments: "file02,O_RDWR" EXPECT "EACCES" +PASS +Change euid and check +Testing open with arguments: "file02,O_WRONLY" EXPECT "EACCES" +PASS +Testing open with arguments: "file02,O_RDWR" EXPECT "EACCES" +PASS +Testing creat with arguments: "path,mode" EXPECT "EACCES" +PASS +Testing rename with arguments: "path,\"test\"" EXPECT "EACCES" +PASS +Testing truncate with arguments: "path,0" EXPECT "EACCES" +PASS +Testing link with arguments: "path,\"test\"" EXPECT "EACCES" +PASS +Testing unlink with arguments: "path" EXPECT "EACCES" +PASS +Change egid and check +Testing open with arguments: "file02,O_WRONLY" EXPECT "EACCES" +PASS +Testing open with arguments: "file02,O_RDONLY" EXPECT "EACCES" +PASS +Testing open with arguments: "file02,O_RDWR" EXPECT "EACCES" +PASS +Testing creat with arguments: "path,mode" EXPECT "EACCES" +PASS +The directory file mode is 777 +The directory file mode is 321 +*** END OF PERMISSION TEST *** diff --git a/testsuites/fstests/mimfs_fsrdwr/mimfs_fsrdwr.scn b/testsuites/fstests/mimfs_fsrdwr/mimfs_fsrdwr.scn new file mode 100644 index 0000000000..37ea03cfa6 --- /dev/null +++ b/testsuites/fstests/mimfs_fsrdwr/mimfs_fsrdwr.scn @@ -0,0 +1,21 @@ +*** FILE SYSTEM TEST ( MOUNTED IMFS ) *** +Initializing filesystem MOUNTED IMFS +test case: read_write_test +test case: lseek_test +Create a new file +Writing 2430 bytes to file +Successfully wrote 2430 +Check the current position +2431 +test case: truncate_test03 +test case: truncate_to_zero +test case: block_read_and_write +test case: block_rw_case_0 +test case: block_rw_case_1 +test case: block_rw_case_2 +test case: block_rw_case_3 +test case: block_rw_case_4 + + +Shutting down filesystem MOUNTED IMFS +*** END OF FILE SYSTEM TEST ( MOUNTED IMFS ) *** diff --git a/testsuites/fstests/mimfs_fssymlink/mimfs_fssymlink.scn b/testsuites/fstests/mimfs_fssymlink/mimfs_fssymlink.scn new file mode 100644 index 0000000000..c18037dacf --- /dev/null +++ b/testsuites/fstests/mimfs_fssymlink/mimfs_fssymlink.scn @@ -0,0 +1,31 @@ +*** FILE SYSTEM TEST ( MOUNTED IMFS ) *** +Initializing filesystem MOUNTED IMFS + + +*** SYMLINK TEST *** +Create a file named file +Create a symlink named symlink to file +call readlink +file +Unlink the file +call readlink +Create a dir named file +Create a symlink named symlink to file +call readlink +rmdir the dir +symlink loop erro test +Testing creat with arguments: "path,mode" EXPECT "ELOOP" +PASS +Testing open with arguments: "path,O_CREAT|O_WRONLY,mode" EXPECT "ELOOP" +PASS +Testing truncate with arguments: "path,0" EXPECT "ELOOP" +PASS +Testing rename with arguments: "path,file04" EXPECT "ELOOP" +FAIL ../../../../../../../rtems/c/src/../../testsuites/fstests/mimfs_fssymlink/../fssymlink/test.c: 151 +Testing unlink with arguments: "path" EXPECT "ELOOP" +PASS +Testing mkdir with arguments: "path,mode" EXPECT "ELOOP" +PASS +Testing rmdir with arguments: "path" EXPECT "ELOOP" +PASS +*** END OF SYMLINK TEST *** diff --git a/testsuites/fstests/mimfs_fstime/mimfs_fstime.scn b/testsuites/fstests/mimfs_fstime/mimfs_fstime.scn new file mode 100644 index 0000000000..74a503935b --- /dev/null +++ b/testsuites/fstests/mimfs_fstime/mimfs_fstime.scn @@ -0,0 +1,7 @@ +*** FILE SYSTEM TEST ( MOUNTED IMFS ) *** +Initializing filesystem MOUNTED IMFS + + +*** TIME TEST *** +Sleep a few seconds +*** END OF TIME TEST *** -- cgit v1.2.3 From 7f7b09ca2e79a4773e0189a44d5708dfb91772d2 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 18 Jan 2013 09:48:38 +0100 Subject: bsp/gen83xx: Disable caches in bsp_restart() --- .../libbsp/powerpc/gen83xx/startup/bsprestart.c | 24 +++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/c/src/lib/libbsp/powerpc/gen83xx/startup/bsprestart.c b/c/src/lib/libbsp/powerpc/gen83xx/startup/bsprestart.c index c09547872c..4e27c4e6c0 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/startup/bsprestart.c +++ b/c/src/lib/libbsp/powerpc/gen83xx/startup/bsprestart.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2008-2013 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Obere Lagerstr. 30 @@ -13,12 +13,34 @@ */ #include +#include + +#include void bsp_restart(void *addr) { rtems_interrupt_level level; void (*start)(void) = addr; + #ifdef HAS_UBOOT + const void *mem_begin = (const void *) bsp_uboot_board_info.bi_memstart; + size_t mem_size = bsp_uboot_board_info.bi_memsize; + #else /* HAS_UBOOT */ + const void *mem_begin = bsp_ram_start; + size_t mem_size = (size_t) bsp_ram_size; + #endif /* HAS_UBOOT */ + uint32_t hid0; rtems_interrupt_disable(level); + + hid0 = PPC_SPECIAL_PURPOSE_REGISTER(HID0); + + if ((hid0 & HID0_DCE) != 0) { + rtems_cache_flush_multiple_data_lines(mem_begin, mem_size); + } + + hid0 &= ~(HID0_DCE | HID0_ICE); + + PPC_SET_SPECIAL_PURPOSE_REGISTER(HID0, hid0); + (*start)(); } -- cgit v1.2.3 From bb679b31119f59a0c27609f606967b4ba326dae4 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 23 Jan 2013 13:09:18 -0600 Subject: Move and to non-networking directory These two header files were installed from libnetworking even when networking was disabled. This patch moves them to a non-networking location and updates uio.h to match the FreeBSD 8.x source being used for the USB stack and TCP/IP stack upgrade. - cpukit/include/memory.h Move from cpukit/libnetworking/memory.h. No changes - cpukit/include/sys/uio.h Move from cpukit/libnetworking/sys/uio.h. Replace with FreeBSD 8.x version. - cpukit/include/sys/_iovec.h New. FreeBSD 8.x file supporting . - cpukit/Makefile.am Reflect movement of and . - cpukit/preinstall.am Regenerate - cpukit/libnetworking/nfs/bootp_subr.c Eliminate use of uio_procp field no longer in FreeBSD structure. This field was set and never read so eliminating the set has no impact. --- cpukit/Makefile.am | 5 +- cpukit/include/memory.h | 7 ++ cpukit/include/sys/_iovec.h | 58 ++++++++++++++++ cpukit/include/sys/uio.h | 124 ++++++++++++++++++++++++++++++++++ cpukit/libnetworking/memory.h | 7 -- cpukit/libnetworking/nfs/bootp_subr.c | 4 ++ cpukit/libnetworking/sys/uio.h | 99 --------------------------- cpukit/preinstall.am | 8 ++- 8 files changed, 202 insertions(+), 110 deletions(-) create mode 100644 cpukit/include/memory.h create mode 100644 cpukit/include/sys/_iovec.h create mode 100644 cpukit/include/sys/uio.h delete mode 100644 cpukit/libnetworking/memory.h delete mode 100644 cpukit/libnetworking/sys/uio.h diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am index 5b11e7e6f6..fb8cd53f78 100644 --- a/cpukit/Makefile.am +++ b/cpukit/Makefile.am @@ -42,7 +42,7 @@ if NEWLIB include_sysdir = $(includedir)/sys include_sys_HEADERS = -include_HEADERS += libnetworking/memory.h +include_HEADERS += include/memory.h include_HEADERS += libmd/md4.h include_HEADERS += libmd/md5.h @@ -55,7 +55,8 @@ include_sys_HEADERS += libcsupport/include/sys/ttycom.h include_sys_HEADERS += libcsupport/include/sys/termios.h include_sys_HEADERS += libcsupport/include/sys/utsname.h -include_sys_HEADERS += libnetworking/sys/uio.h +include_sys_HEADERS += include/sys/uio.h +include_sys_HEADERS += include/sys/_iovec.h include_sys_HEADERS += include/sys/priority.h if LIBNETWORKING diff --git a/cpukit/include/memory.h b/cpukit/include/memory.h new file mode 100644 index 0000000000..99fdb5e1e4 --- /dev/null +++ b/cpukit/include/memory.h @@ -0,0 +1,7 @@ +/** + * @file memory.h + * + * Dummy include file for FreeBSD routines + */ + +#include diff --git a/cpukit/include/sys/_iovec.h b/cpukit/include/sys/_iovec.h new file mode 100644 index 0000000000..a6ca68361b --- /dev/null +++ b/cpukit/include/sys/_iovec.h @@ -0,0 +1,58 @@ +/*- + * Copyright (c) 1982, 1986, 1993, 1994 + * The Regents of the University of California. All rights reserved. + * + * 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. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. + * + * @(#)uio.h 8.5 (Berkeley) 2/22/94 + * $FreeBSD$ + */ + +#ifndef _SYS__IOVEC_HH_ +#define _SYS__IOVEC_HH_ + +#include + +#ifndef _SIZE_T_DECLARED +typedef __size_t size_t; +#define _SIZE_T_DECLARED +#endif + +#ifdef __rtems__ +#ifndef __IOVEC_DEFINED +#define __IOVEC_DEFINED +struct iovec { + void *iov_base; /* Base address. */ + size_t iov_len; /* Length. */ +}; +#endif /* __IOVEC_DEFINED */ +#else +struct iovec { + void *iov_base; /* Base address. */ + size_t iov_len; /* Length. */ +}; +#endif /* rtems */ + +#endif /* !_SYS__IOVEC_HH_ */ diff --git a/cpukit/include/sys/uio.h b/cpukit/include/sys/uio.h new file mode 100644 index 0000000000..56956f0150 --- /dev/null +++ b/cpukit/include/sys/uio.h @@ -0,0 +1,124 @@ +/*- + * Copyright (c) 1982, 1986, 1993, 1994 + * The Regents of the University of California. All rights reserved. + * + * 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. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. + * + * @(#)uio.h 8.5 (Berkeley) 2/22/94 + * $FreeBSD$ + */ + +#ifndef _SYS_UIO_HH_ +#define _SYS_UIO_HH_ + +#include +#ifdef __rtems__ +#include +#endif /* __rtems__ */ +#include +#include + +#ifndef __rtems__ +#ifndef _SSIZE_T_DECLARED +typedef __ssize_t ssize_t; +#define _SSIZE_T_DECLARED +#endif + +#ifndef _OFF_T_DECLARED +typedef __off_t off_t; +#define _OFF_T_DECLARED +#endif +#endif /* !__rtems__ */ + +#if __BSD_VISIBLE +enum uio_rw { UIO_READ, UIO_WRITE }; + +/* Segment flag values. */ +enum uio_seg { + UIO_USERSPACE, /* from user data space */ + UIO_SYSSPACE, /* from system space */ + UIO_NOCOPY /* don't copy, already in object */ +}; +#endif + +#ifdef _KERNEL + +struct uio { + struct iovec *uio_iov; /* scatter/gather list */ + int uio_iovcnt; /* length of scatter/gather list */ + off_t uio_offset; /* offset in target object */ + ssize_t uio_resid; /* remaining bytes to process */ + enum uio_seg uio_segflg; /* address space */ + enum uio_rw uio_rw; /* operation */ + struct thread *uio_td; /* owner */ +}; + +/* + * Limits + * + * N.B.: UIO_MAXIOV must be no less than IOV_MAX from + * which in turn must be no less than _XOPEN_IOV_MAX from . If + * we ever make this tunable (probably pointless), then IOV_MAX should be + * removed from and applications would be expected to use + * sysconf(3) to find out the correct value, or else assume the worst + * (_XOPEN_IOV_MAX). Perhaps UIO_MAXIOV should be simply defined as + * IOV_MAX. + */ +#define UIO_MAXIOV 1024 /* max 1K of iov's */ + +struct vm_object; +struct vm_page; + +struct uio *cloneuio(struct uio *uiop); +int copyinfrom(const void * __restrict src, void * __restrict dst, + size_t len, int seg); +int copyiniov(struct iovec *iovp, u_int iovcnt, struct iovec **iov, + int error); +int copyinstrfrom(const void * __restrict src, void * __restrict dst, + size_t len, size_t * __restrict copied, int seg); +int copyinuio(struct iovec *iovp, u_int iovcnt, struct uio **uiop); +void uio_yield(void); +int uiomove(void *cp, int n, struct uio *uio); +int uiomove_frombuf(void *buf, int buflen, struct uio *uio); +#ifndef __rtems__ +int uiomove_fromphys(struct vm_page *ma[], vm_offset_t offset, int n, + struct uio *uio); +#endif /* !__rtems__ */ +int uiomoveco(void *cp, int n, struct uio *uio, int disposable); + +#else /* !_KERNEL */ + +__BEGIN_DECLS +ssize_t readv(int, const struct iovec *, int); +ssize_t writev(int, const struct iovec *, int); +#if __BSD_VISIBLE +ssize_t preadv(int, const struct iovec *, int, off_t); +ssize_t pwritev(int, const struct iovec *, int, off_t); +#endif +__END_DECLS + +#endif /* _KERNEL */ + +#endif /* !_SYS_UIO_HH_ */ diff --git a/cpukit/libnetworking/memory.h b/cpukit/libnetworking/memory.h deleted file mode 100644 index ee8bd4089e..0000000000 --- a/cpukit/libnetworking/memory.h +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @file - * - * @brief Dummy Include File for FreeBSD Routines - */ - -#include diff --git a/cpukit/libnetworking/nfs/bootp_subr.c b/cpukit/libnetworking/nfs/bootp_subr.c index 0645b89431..911e322879 100644 --- a/cpukit/libnetworking/nfs/bootp_subr.c +++ b/cpukit/libnetworking/nfs/bootp_subr.c @@ -380,7 +380,9 @@ bootpc_call( auio.uio_rw = UIO_WRITE; auio.uio_offset = 0; auio.uio_resid = sizeof(*call); +#ifndef __rtems__ auio.uio_procp = procp; +#endif error = sosend(so, nam, &auio, NULL, NULL, 0); if (error) { printf("bootpc_call: sosend: %d\n", error); @@ -414,7 +416,9 @@ bootpc_call( auio.uio_rw = UIO_READ; auio.uio_offset = 0; auio.uio_resid = sizeof(*reply); +#ifndef __rtems__ auio.uio_procp = procp; +#endif rcvflg = 0; error = soreceive(so, NULL, &auio, NULL, NULL, &rcvflg); diff --git a/cpukit/libnetworking/sys/uio.h b/cpukit/libnetworking/sys/uio.h deleted file mode 100644 index 71e09a2792..0000000000 --- a/cpukit/libnetworking/sys/uio.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright (c) 1982, 1986, 1993, 1994 - * The Regents of the University of California. All rights reserved. - * - * 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. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. - * - * @(#)uio.h 8.5 (Berkeley) 2/22/94 - * $FreeBSD: src/sys/sys/uio.h,v 1.40 2006/11/29 19:08:45 alfred Exp $ - */ - - -#ifndef _SYS_UIO_H_ -#define _SYS_UIO_H_ - -#include -#include - -/* - * POSIX compliant iovec definition - */ -struct iovec { - void *iov_base; /* pointer to data to be written */ - size_t iov_len; /* length of this data block */ -}; - -#if __BSD_VISIBLE -enum uio_rw { UIO_READ, UIO_WRITE }; - -/* Segment flag values. */ -enum uio_seg { - UIO_USERSPACE, /* from user data space */ - UIO_SYSSPACE, /* from system space */ - UIO_NOCOPY /* don't copy, already in object */ -}; -#endif - -#ifdef _KERNEL - -struct uio { - struct iovec *uio_iov; /* scatter/gather list */ - int uio_iovcnt; /* length of scatter/gather list */ - off_t uio_offset; /* offset in target object */ - ssize_t uio_resid; /* remaining bytes to process */ - enum uio_seg uio_segflg; /* address space */ - enum uio_rw uio_rw; /* operation */ -#if !defined(__rtems__) - struct thread *uio_td; /* owner */ -#else - struct proc *uio_procp; -#endif /* !__rtems__ */ -}; - -/* - * Limits - * - * N.B.: UIO_MAXIOV must be no less than IOV_MAX from - * which in turn must be no less than _XOPEN_IOV_MAX from . If - * we ever make this tunable (probably pointless), then IOV_MAX should be - * removed from and applications would be expected to use - * sysconf(3) to find out the correct value, or else assume the worst - * (_XOPEN_IOV_MAX). Perhaps UIO_MAXIOV should be simply defined as - * IOV_MAX. - */ -#define UIO_MAXIOV 1024 /* max 1K of iov's */ - -int uiomove(void *cp, int n, struct uio *uio); - -#else /* !_KERNEL */ - -__BEGIN_DECLS -ssize_t readv(int, const struct iovec *, int); -ssize_t writev(int, const struct iovec *, int); -__END_DECLS - -#endif /* _KERNEL */ - -#endif /* !_SYS_UIO_H_ */ diff --git a/cpukit/preinstall.am b/cpukit/preinstall.am index 26b90ecc75..d1e1f87804 100644 --- a/cpukit/preinstall.am +++ b/cpukit/preinstall.am @@ -43,7 +43,7 @@ $(PROJECT_INCLUDE)/sys/$(dirstamp): @: > $(PROJECT_INCLUDE)/sys/$(dirstamp) PREINSTALL_DIRS += $(PROJECT_INCLUDE)/sys/$(dirstamp) -$(PROJECT_INCLUDE)/memory.h: libnetworking/memory.h $(PROJECT_INCLUDE)/$(dirstamp) +$(PROJECT_INCLUDE)/memory.h: include/memory.h $(PROJECT_INCLUDE)/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/memory.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/memory.h @@ -87,10 +87,14 @@ $(PROJECT_INCLUDE)/sys/utsname.h: libcsupport/include/sys/utsname.h $(PROJECT_IN $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/sys/utsname.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/sys/utsname.h -$(PROJECT_INCLUDE)/sys/uio.h: libnetworking/sys/uio.h $(PROJECT_INCLUDE)/sys/$(dirstamp) +$(PROJECT_INCLUDE)/sys/uio.h: include/sys/uio.h $(PROJECT_INCLUDE)/sys/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/sys/uio.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/sys/uio.h +$(PROJECT_INCLUDE)/sys/_iovec.h: include/sys/_iovec.h $(PROJECT_INCLUDE)/sys/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/sys/_iovec.h +PREINSTALL_FILES += $(PROJECT_INCLUDE)/sys/_iovec.h + $(PROJECT_INCLUDE)/sys/priority.h: include/sys/priority.h $(PROJECT_INCLUDE)/sys/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/sys/priority.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/sys/priority.h -- cgit v1.2.3 From 967278fd958b3137aa988ac523631c8b06eeaa20 Mon Sep 17 00:00:00 2001 From: Ric Claus Date: Tue, 22 Jan 2013 16:16:37 -0800 Subject: Fixed virtex4,5 BSP compile time warnings --- c/src/lib/libbsp/powerpc/virtex4/include/irq.h | 2 ++ c/src/lib/libbsp/powerpc/virtex4/irq/irq_init.c | 2 +- c/src/lib/libbsp/powerpc/virtex4/startup/bspstart.c | 4 ++-- c/src/lib/libbsp/powerpc/virtex5/include/irq.h | 2 ++ c/src/lib/libbsp/powerpc/virtex5/irq/irq_init.c | 4 ++-- c/src/lib/libbsp/powerpc/virtex5/startup/bspstart.c | 4 ++-- 6 files changed, 11 insertions(+), 7 deletions(-) diff --git a/c/src/lib/libbsp/powerpc/virtex4/include/irq.h b/c/src/lib/libbsp/powerpc/virtex4/include/irq.h index 50d3b4c880..d5c2c5cd5c 100644 --- a/c/src/lib/libbsp/powerpc/virtex4/include/irq.h +++ b/c/src/lib/libbsp/powerpc/virtex4/include/irq.h @@ -67,6 +67,8 @@ extern "C" { } rtems_irq_symbolic_name; extern rtems_irq_connect_data *BSP_rtems_irq_tbl; + void BSP_irqexc_on_fnc(const rtems_irq_connect_data *conn_data); + void BSP_irqexc_off_fnc(const rtems_irq_connect_data *unused); void BSP_rtems_irq_mngt_init(unsigned cpuId); #ifdef __cplusplus diff --git a/c/src/lib/libbsp/powerpc/virtex4/irq/irq_init.c b/c/src/lib/libbsp/powerpc/virtex4/irq/irq_init.c index ba22c0275a..ce20ba9692 100644 --- a/c/src/lib/libbsp/powerpc/virtex4/irq/irq_init.c +++ b/c/src/lib/libbsp/powerpc/virtex4/irq/irq_init.c @@ -91,7 +91,7 @@ void BSP_irqexc_off_fnc(const rtems_irq_connect_data *unused) /*********************************************************** * High level IRQ handler called from shared_raw_irq_code_entry */ -int C_dispatch_irq_handler (BSP_Exception_frame *frame, unsigned int excNum) +static int C_dispatch_irq_handler (BSP_Exception_frame *frame, unsigned int excNum) { /* * Handle interrupt diff --git a/c/src/lib/libbsp/powerpc/virtex4/startup/bspstart.c b/c/src/lib/libbsp/powerpc/virtex4/startup/bspstart.c index 73c2f847ed..6469979938 100644 --- a/c/src/lib/libbsp/powerpc/virtex4/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/virtex4/startup/bspstart.c @@ -139,7 +139,7 @@ void BSP_ask_for_reset(void) void BSP_panic(char *s) { - rtems_interrupt_level level; + __attribute__((unused)) rtems_interrupt_level level; rtems_interrupt_disable(level); @@ -151,7 +151,7 @@ void BSP_panic(char *s) void _BSP_Fatal_error(unsigned int v) { - rtems_interrupt_level level; + __attribute__((unused)) rtems_interrupt_level level; rtems_interrupt_disable(level); diff --git a/c/src/lib/libbsp/powerpc/virtex5/include/irq.h b/c/src/lib/libbsp/powerpc/virtex5/include/irq.h index 3d343281cf..007e414455 100644 --- a/c/src/lib/libbsp/powerpc/virtex5/include/irq.h +++ b/c/src/lib/libbsp/powerpc/virtex5/include/irq.h @@ -67,6 +67,8 @@ extern "C" { } rtems_irq_symbolic_name; extern rtems_irq_connect_data *BSP_rtems_irq_tbl; + void BSP_irqexc_on_fnc(const rtems_irq_connect_data *conn_data); + void BSP_irqexc_off_fnc(const rtems_irq_connect_data *unused); void BSP_rtems_irq_mngt_init(unsigned cpuId); #define BSP_DEC BSP_PIT diff --git a/c/src/lib/libbsp/powerpc/virtex5/irq/irq_init.c b/c/src/lib/libbsp/powerpc/virtex5/irq/irq_init.c index 70965128a6..122a9e2317 100644 --- a/c/src/lib/libbsp/powerpc/virtex5/irq/irq_init.c +++ b/c/src/lib/libbsp/powerpc/virtex5/irq/irq_init.c @@ -90,7 +90,7 @@ void BSP_irqexc_off_fnc(const rtems_irq_connect_data *unused) SPR_RW(BOOKE_TSR) -int C_dispatch_dec_handler (BSP_Exception_frame *frame, unsigned int excNum) +static int C_dispatch_dec_handler (BSP_Exception_frame *frame, unsigned int excNum) { /* Acknowledge the interrupt */ _write_BOOKE_TSR( BOOKE_TSR_DIS ); @@ -105,7 +105,7 @@ int C_dispatch_dec_handler (BSP_Exception_frame *frame, unsigned int excNum) /*********************************************************** * High level IRQ handler called from shared_raw_irq_code_entry */ -int C_dispatch_irq_handler (BSP_Exception_frame *frame, unsigned int excNum) +static int C_dispatch_irq_handler (BSP_Exception_frame *frame, unsigned int excNum) { /* * Handle interrupt diff --git a/c/src/lib/libbsp/powerpc/virtex5/startup/bspstart.c b/c/src/lib/libbsp/powerpc/virtex5/startup/bspstart.c index 4aa89f7bdf..a05016f0bb 100644 --- a/c/src/lib/libbsp/powerpc/virtex5/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/virtex5/startup/bspstart.c @@ -152,7 +152,7 @@ void BSP_ask_for_reset(void) void BSP_panic(char *s) { - rtems_interrupt_level level; + __attribute__((unused)) rtems_interrupt_level level; rtems_interrupt_disable(level); @@ -164,7 +164,7 @@ void BSP_panic(char *s) void _BSP_Fatal_error(unsigned int v) { - rtems_interrupt_level level; + __attribute__((unused)) rtems_interrupt_level level; rtems_interrupt_disable(level); -- cgit v1.2.3 From 565d8daad54c42ef28da849ff6dcec0a6b009e09 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Sun, 27 Jan 2013 13:05:13 +0100 Subject: testsuites: Use rtems_fatal_source_description() --- testsuites/psxtests/psxfatal_support/init.c | 13 ++----------- testsuites/psxtests/psxfatal_support/system.h | 2 +- testsuites/sptests/spfatal_support/init.c | 14 ++------------ testsuites/sptests/spfatal_support/system.h | 4 +--- 4 files changed, 6 insertions(+), 27 deletions(-) diff --git a/testsuites/psxtests/psxfatal_support/init.c b/testsuites/psxtests/psxfatal_support/init.c index ee1e33e708..06c90a730d 100644 --- a/testsuites/psxtests/psxfatal_support/init.c +++ b/testsuites/psxtests/psxfatal_support/init.c @@ -34,12 +34,6 @@ void *POSIX_Init( rtems_test_exit(0); } -char *Sources[] = { - "INTERNAL_ERROR_CORE", - "INTERNAL_ERROR_RTEMS_API", - "INTERNAL_ERROR_POSIX_API", -}; - char *Errors_Rtems[] = { "RTEMS_SUCCESSFUL", /* successful completion */ "RTEMS_TASK_EXITTED", /* returned from a task */ @@ -84,12 +78,9 @@ void Put_Error( uint32_t source, uint32_t error ) } } -void Put_Source( uint32_t source ) +void Put_Source( rtems_fatal_source source ) { - if ( source > INTERNAL_ERROR_POSIX_API ) - printk("Unknown Source (%d)", source); - else - printk( Sources[ source ] ); + printk( "%s", rtems_fatal_source_description( source ) ); } diff --git a/testsuites/psxtests/psxfatal_support/system.h b/testsuites/psxtests/psxfatal_support/system.h index d791b19a89..42934745e6 100644 --- a/testsuites/psxtests/psxfatal_support/system.h +++ b/testsuites/psxtests/psxfatal_support/system.h @@ -24,7 +24,7 @@ /* functions */ void force_error(void); -void Put_Source(uint32_t source); +void Put_Source( rtems_fatal_source source ); void Put_Error( uint32_t source, diff --git a/testsuites/sptests/spfatal_support/init.c b/testsuites/sptests/spfatal_support/init.c index 5554e88762..4ed74357a5 100644 --- a/testsuites/sptests/spfatal_support/init.c +++ b/testsuites/sptests/spfatal_support/init.c @@ -34,13 +34,6 @@ rtems_task Init( rtems_test_exit(0); } -char *Sources[] = { - "INTERNAL_ERROR_CORE", - "INTERNAL_ERROR_RTEMS_API", - "INTERNAL_ERROR_POSIX_API", -}; - - char *Errors_Rtems[] = { "RTEMS_SUCCESSFUL", /* successful completion */ "RTEMS_TASK_EXITTED", /* returned from a task */ @@ -82,12 +75,9 @@ void Put_Error( uint32_t source, uint32_t error ) } } -void Put_Source( uint32_t source ) +void Put_Source( rtems_fatal_source source ) { - if ( source > INTERNAL_ERROR_POSIX_API ) - printk("Unknown Source (%d)", source); - else - printk( Sources[ source ] ); + printk( "%s", rtems_fatal_source_description( source ) ); } diff --git a/testsuites/sptests/spfatal_support/system.h b/testsuites/sptests/spfatal_support/system.h index 2be14593de..4126c65cc8 100644 --- a/testsuites/sptests/spfatal_support/system.h +++ b/testsuites/sptests/spfatal_support/system.h @@ -35,9 +35,7 @@ void Put_Error( uint32_t error ); -void Put_Source( - uint32_t source -); +void Put_Source( rtems_fatal_source source ); void force_error(void); -- cgit v1.2.3 From 33bd2efbb2da8b1e8bd298417505e17ba1d191e5 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Sun, 27 Jan 2013 13:46:40 +0100 Subject: testsuites: Fix prototypes --- testsuites/libtests/stackchk/init.c | 6 +++++- testsuites/libtests/stackchk/system.h | 6 +++++- testsuites/psxtests/psxfatal_support/init.c | 7 +++---- testsuites/psxtests/psxfatal_support/system.h | 6 +++--- testsuites/sptests/spfatal_support/init.c | 7 +++---- testsuites/sptests/spfatal_support/system.h | 6 +++--- 6 files changed, 22 insertions(+), 16 deletions(-) diff --git a/testsuites/libtests/stackchk/init.c b/testsuites/libtests/stackchk/init.c index 1551eecb37..772b039592 100644 --- a/testsuites/libtests/stackchk/init.c +++ b/testsuites/libtests/stackchk/init.c @@ -86,7 +86,11 @@ rtems_task Init( directive_failed( status, "rtems_task_delete of RTEMS_SELF" ); } -void Fatal_extension( uint32_t source, bool is_internal, uint32_t error ) +void Fatal_extension( + rtems_fatal_source source, + bool is_internal, + rtems_fatal_code error +) { if ( source != RTEMS_FATAL_SOURCE_STACK_CHECKER ) { printk( "unexpected fatal source\n" ); diff --git a/testsuites/libtests/stackchk/system.h b/testsuites/libtests/stackchk/system.h index 95babb8a0c..16b623ae2d 100644 --- a/testsuites/libtests/stackchk/system.h +++ b/testsuites/libtests/stackchk/system.h @@ -41,7 +41,11 @@ void blow_stack( void ); #define CONFIGURE_STACK_CHECKER_ENABLED -void Fatal_extension( uint32_t source, bool is_internal, uint32_t error ); +void Fatal_extension( + rtems_fatal_source source, + bool is_internal, + rtems_fatal_code error +); #define CONFIGURE_INITIAL_EXTENSIONS \ { NULL, NULL, NULL, NULL, NULL, NULL, NULL, Fatal_extension } diff --git a/testsuites/psxtests/psxfatal_support/init.c b/testsuites/psxtests/psxfatal_support/init.c index 06c90a730d..93645e61ca 100644 --- a/testsuites/psxtests/psxfatal_support/init.c +++ b/testsuites/psxtests/psxfatal_support/init.c @@ -83,11 +83,10 @@ void Put_Source( rtems_fatal_source source ) printk( "%s", rtems_fatal_source_description( source ) ); } - void Fatal_extension( - uint32_t source, - bool is_internal, - uint32_t error + rtems_fatal_source source, + bool is_internal, + rtems_fatal_code error ) { print_test_begin_message(); diff --git a/testsuites/psxtests/psxfatal_support/system.h b/testsuites/psxtests/psxfatal_support/system.h index 42934745e6..e7ba4b12f7 100644 --- a/testsuites/psxtests/psxfatal_support/system.h +++ b/testsuites/psxtests/psxfatal_support/system.h @@ -36,9 +36,9 @@ void *POSIX_Init( ); void Fatal_extension( - uint32_t source, - bool is_internal, - uint32_t error + rtems_fatal_source source, + bool is_internal, + rtems_fatal_code error ); /* need prototypes */ diff --git a/testsuites/sptests/spfatal_support/init.c b/testsuites/sptests/spfatal_support/init.c index 4ed74357a5..eb7a167361 100644 --- a/testsuites/sptests/spfatal_support/init.c +++ b/testsuites/sptests/spfatal_support/init.c @@ -80,11 +80,10 @@ void Put_Source( rtems_fatal_source source ) printk( "%s", rtems_fatal_source_description( source ) ); } - void Fatal_extension( - uint32_t source, - bool is_internal, - uint32_t error + rtems_fatal_source source, + bool is_internal, + rtems_fatal_code error ) { print_test_begin_message(); diff --git a/testsuites/sptests/spfatal_support/system.h b/testsuites/sptests/spfatal_support/system.h index 4126c65cc8..69f917f972 100644 --- a/testsuites/sptests/spfatal_support/system.h +++ b/testsuites/sptests/spfatal_support/system.h @@ -25,9 +25,9 @@ rtems_task Init( ); void Fatal_extension( - uint32_t source, - bool is_internal, - uint32_t error + rtems_fatal_source source, + bool is_internal, + rtems_fatal_code error ); void Put_Error( -- cgit v1.2.3 From 4dafa52b6d1531708ed8b770a5111517f15ccd4e Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 28 Jan 2013 12:38:55 +0100 Subject: bsp/mpc55xx: Fix MMU configuration for RSM6 --- c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c index f1b321221e..787a85ada4 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c @@ -118,6 +118,8 @@ const struct MMU_tag mpc55xx_start_config_mmu [] = { MPC55XX_MMU_TAG_INITIALIZER(8, 0x00080000, MPC55XX_MMU_512K, 1, 0, 1, 0), MPC55XX_MMU_TAG_INITIALIZER(9, 0x00100000, MPC55XX_MMU_1M, 1, 0, 1, 0), MPC55XX_MMU_TAG_INITIALIZER(10, 0x00200000, MPC55XX_MMU_2M, 1, 0, 1, 0), + /* External MRAM 4M */ + MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, MPC55XX_MMU_4M, 0, 1, 1, 0), /* Internal SRAM 256k */ MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_256K, 0, 1, 1, 0), MPC55XX_MMU_TAG_INITIALIZER(11, 0x40020000, MPC55XX_MMU_64K, 0, 1, 1, 0), @@ -125,13 +127,11 @@ const struct MMU_tag mpc55xx_start_config_mmu [] = { MPC55XX_MMU_TAG_INITIALIZER(13, 0x40038000, MPC55XX_MMU_16K, 0, 1, 1, 0), /* Used as cache-inhibited area (ADC, DSPI queues) */ MPC55XX_MMU_TAG_INITIALIZER(14, 0x4003c000, MPC55XX_MMU_16K, 0, 1, 1, 1), - /* External MRAM 4M */ - MPC55XX_MMU_TAG_INITIALIZER(15, 0x20000000, MPC55XX_MMU_4M, 0, 1, 1, 0), /* External FPGA */ - MPC55XX_MMU_TAG_INITIALIZER(16, 0x21000000, MPC55XX_MMU_8M, 0, 1, 1, 1), + MPC55XX_MMU_TAG_INITIALIZER(15, 0x21000000, MPC55XX_MMU_8M, 0, 1, 1, 1), #if defined(MPC55XX_BOARD_MPC5674F_RSM6_KOMA) /* External Ethernet controller */ - MPC55XX_MMU_TAG_INITIALIZER(18, 0x23000000, MPC55XX_MMU_1K, 0, 1, 1, 1), + MPC55XX_MMU_TAG_INITIALIZER(17, 0x23000000, MPC55XX_MMU_1K, 0, 1, 1, 1), #endif #else /* Used as cache-inhibited area (ADC, DSPI queues) */ -- cgit v1.2.3 From 036788d57b24ef22337825eb027aced3e31151c9 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 11 Jan 2013 14:41:00 +0100 Subject: bsps/powerpc: Add option for write-through cache --- c/src/lib/libcpu/powerpc/mpc55xx/include/regs-mmu.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/c/src/lib/libcpu/powerpc/mpc55xx/include/regs-mmu.h b/c/src/lib/libcpu/powerpc/mpc55xx/include/regs-mmu.h index 16612e670b..aaddeec228 100644 --- a/c/src/lib/libcpu/powerpc/mpc55xx/include/regs-mmu.h +++ b/c/src/lib/libcpu/powerpc/mpc55xx/include/regs-mmu.h @@ -157,7 +157,8 @@ extern "C" { .VALID = 1, .IPROT = 1, .TID = 0, .TS = 0, .TSIZE = (size) } \ }, \ .MAS2 = { .B = { \ - .EPN = (addr) >> 10, .VLE = 0, .W = 0, .I = (io), .M = 0, .G = (io), .E = 0 } \ + .EPN = (addr) >> 10, .VLE = 0, \ + .W = (io) == 2, .I = (io) == 1, .M = 0, .G = (io) == 1, .E = 0 } \ }, \ .MAS3 = { .B = { \ .RPN = (addr) >> 10, .U0 = 0, .U1 = 0, .U2 = 0, .U3 = 0, .UX = 0, \ -- cgit v1.2.3 From c934a10dba246ef00390dbe64b75a966344dcf6b Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 11 Jan 2013 14:41:53 +0100 Subject: bsp/mpc55xx: Add BSP_DATA_CACHE_USE_WRITE_THROUGH --- c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac | 5 +++++ c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c | 6 +++++- c/src/lib/libbsp/powerpc/shared/src/memcpy.c | 4 +++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac b/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac index e691b364d8..63f6a9187d 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac @@ -32,6 +32,11 @@ RTEMS_BSPOPTS_SET_INSTRUCTION_CACHE_ENABLED([gwlcfm],[]) RTEMS_BSPOPTS_SET_INSTRUCTION_CACHE_ENABLED([*],[1]) RTEMS_BSPOPTS_HELP_INSTRUCTION_CACHE_ENABLED +RTEMS_BSPOPTS_SET([BSP_DATA_CACHE_USE_WRITE_THROUGH],[mpc5674f_ecu508*],[1]) +RTEMS_BSPOPTS_SET([BSP_DATA_CACHE_USE_WRITE_THROUGH],[*],[]) +RTEMS_BSPOPTS_HELP([BSP_DATA_CACHE_USE_WRITE_THROUGH], +[use write-through for data cache]) + RTEMS_BSPOPTS_SET([PPC_EXC_CONFIG_USE_FIXED_HANDLER],[*],[1]) RTEMS_BSPOPTS_HELP([PPC_EXC_CONFIG_USE_FIXED_HANDLER], [use fixed high-level exception handler]) diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c index 787a85ada4..6289530987 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c @@ -85,7 +85,11 @@ const struct MMU_tag mpc55xx_start_config_mmu [] = { MPC55XX_MMU_TAG_INITIALIZER(9, 0x00100000, MPC55XX_MMU_1M, 1, 0, 1, 0), MPC55XX_MMU_TAG_INITIALIZER(10, 0x00200000, MPC55XX_MMU_2M, 1, 0, 1, 0), /* External SRAM 2M */ - MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, MPC55XX_MMU_2M, 0, 1, 1, 0), + #ifndef BSP_DATA_CACHE_USE_WRITE_THROUGH + MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, MPC55XX_MMU_2M, 0, 1, 1, 0), + #else + MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, MPC55XX_MMU_2M, 0, 1, 1, 2), + #endif /* Internal SRAM 256k */ MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_256K, 0, 1, 1, 0), MPC55XX_MMU_TAG_INITIALIZER(11, 0x40020000, MPC55XX_MMU_64K, 0, 1, 1, 0), diff --git a/c/src/lib/libbsp/powerpc/shared/src/memcpy.c b/c/src/lib/libbsp/powerpc/shared/src/memcpy.c index e4ac29221c..9df0ffecea 100644 --- a/c/src/lib/libbsp/powerpc/shared/src/memcpy.c +++ b/c/src/lib/libbsp/powerpc/shared/src/memcpy.c @@ -15,7 +15,9 @@ #include #include -#if BSP_DATA_CACHE_ENABLED && PPC_CACHE_ALIGNMENT == 32 +#if BSP_DATA_CACHE_ENABLED \ + && PPC_CACHE_ALIGNMENT == 32 \ + && !defined(BSP_DATA_CACHE_USE_WRITE_THROUGH) #include #include -- cgit v1.2.3 From b63c8f9b50c45d33e12a3776cbf03e498b2a6b99 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 28 Jan 2013 10:23:28 +0100 Subject: ftpfs: Fix SIZE command handling It is invalid to issue a SIZE command once a data transfer is in progress. For reads we issue the SIZE command before the RETR command and get a snapshot of the file size. For writes the file size is initialized to zero and incremented for each write chunk. --- cpukit/libnetworking/lib/ftpfs.c | 174 ++++++++++++++++++++---------------- testsuites/libtests/ftp01/ftp01.scn | 4 + testsuites/libtests/ftp01/init.c | 26 +++++- 3 files changed, 124 insertions(+), 80 deletions(-) diff --git a/cpukit/libnetworking/lib/ftpfs.c b/cpukit/libnetworking/lib/ftpfs.c index 6ce25435c5..784ff48601 100644 --- a/cpukit/libnetworking/lib/ftpfs.c +++ b/cpukit/libnetworking/lib/ftpfs.c @@ -64,6 +64,8 @@ * Connection entry for each open file stream. */ typedef struct { + off_t file_size; + /** * Control connection socket. */ @@ -931,6 +933,93 @@ static int rtems_ftpfs_open_data_connection_passive( return 0; } +typedef enum { + RTEMS_FTPFS_SIZE_START = 0, + RTEMS_FTPFS_SIZE_SPACE, + RTEMS_FTPFS_SIZE_NUMBER, + RTEMS_FTPFS_SIZE_NL +} rtems_ftpfs_size_state; + +typedef struct { + rtems_ftpfs_size_state state; + size_t index; + off_t size; +} rtems_ftpfs_size_entry; + +static void rtems_ftpfs_size_parser( + const char* buf, + size_t len, + void *arg +) +{ + rtems_ftpfs_size_entry *se = arg; + size_t i = 0; + + for (i = 0; se->size >= 0 && i < len; ++i, ++se->index) { + int c = buf [i]; + + switch (se->state) { + case RTEMS_FTPFS_SIZE_START: + if (se->index == 2) { + se->state = RTEMS_FTPFS_SIZE_SPACE; + } + break; + case RTEMS_FTPFS_SIZE_SPACE: + if (c == ' ') { + se->state = RTEMS_FTPFS_SIZE_NUMBER; + } else { + se->size = -1; + } + break; + case RTEMS_FTPFS_SIZE_NUMBER: + if (isdigit(c)) { + se->size = 10 * se->size + c - '0'; + } else if (c == '\r') { + se->state = RTEMS_FTPFS_SIZE_NL; + } else { + se->size = -1; + } + break; + case RTEMS_FTPFS_SIZE_NL: + if (c != '\n') { + se->size = -1; + } + break; + default: + se->size = -1; + break; + } + } +} + +static void rtems_ftpfs_get_file_size(rtems_ftpfs_entry *e, bool verbose) +{ + if (e->file_size < 0) { + if (e->write) { + e->file_size = 0; + } else { + rtems_ftpfs_size_entry se; + rtems_ftpfs_reply reply = RTEMS_FTPFS_REPLY_ERROR; + + memset(&se, 0, sizeof(se)); + + reply = rtems_ftpfs_send_command_with_parser( + e, + "SIZE ", + e->filename, + rtems_ftpfs_size_parser, + &se, + verbose + ); + if (reply == RTEMS_FTPFS_REPLY_2 && se.size >= 0) { + e->file_size = se.size; + } else { + e->file_size = 0; + } + } + } +} + static int rtems_ftpfs_open( rtems_libio_t *iop, const char *path, @@ -954,6 +1043,10 @@ static int rtems_ftpfs_open( eno = ENOTSUP; } + if (eno == 0) { + rtems_ftpfs_get_file_size(e, verbose); + } + if (eno == 0) { const char *file_command = e->write ? "STOR " : "RETR "; @@ -1052,6 +1145,8 @@ static ssize_t rtems_ftpfs_write( out += rv; todo -= (size_t) rv; + + e->file_size += rv; } return (ssize_t) (count - todo); @@ -1119,6 +1214,7 @@ static void rtems_ftpfs_eval_path( e->ino = me->ino; rtems_libio_unlock(); + e->file_size = -1; e->ctrl_socket = -1; eno = rtems_ftpfs_open_ctrl_connection( @@ -1238,65 +1334,6 @@ static int rtems_ftpfs_ioctl( return 0; } -typedef enum { - RTEMS_FTPFS_SIZE_START = 0, - RTEMS_FTPFS_SIZE_SPACE, - RTEMS_FTPFS_SIZE_NUMBER, - RTEMS_FTPFS_SIZE_NL -} rtems_ftpfs_size_state; - -typedef struct { - rtems_ftpfs_size_state state; - size_t index; - off_t size; -} rtems_ftpfs_size_entry; - -static void rtems_ftpfs_size_parser( - const char* buf, - size_t len, - void *arg -) -{ - rtems_ftpfs_size_entry *se = arg; - size_t i = 0; - - for (i = 0; se->size >= 0 && i < len; ++i, ++se->index) { - int c = buf [i]; - - switch (se->state) { - case RTEMS_FTPFS_SIZE_START: - if (se->index == 2) { - se->state = RTEMS_FTPFS_SIZE_SPACE; - } - break; - case RTEMS_FTPFS_SIZE_SPACE: - if (c == ' ') { - se->state = RTEMS_FTPFS_SIZE_NUMBER; - } else { - se->size = -1; - } - break; - case RTEMS_FTPFS_SIZE_NUMBER: - if (isdigit(c)) { - se->size = 10 * se->size + c - '0'; - } else if (c == '\r') { - se->state = RTEMS_FTPFS_SIZE_NL; - } else { - se->size = -1; - } - break; - case RTEMS_FTPFS_SIZE_NL: - if (c != '\n') { - se->size = -1; - } - break; - default: - se->size = -1; - break; - } - } -} - /* * The stat() support is intended only for the cp shell command. Each request * will return that we have a regular file with read, write and execute @@ -1319,24 +1356,9 @@ static int rtems_ftpfs_fstat( if (e->do_size_command) { const rtems_ftpfs_mount_entry *me = loc->mt_entry->fs_info; - rtems_ftpfs_size_entry se; - rtems_ftpfs_reply reply = RTEMS_FTPFS_REPLY_ERROR; - memset(&se, 0, sizeof(se)); - - reply = rtems_ftpfs_send_command_with_parser( - e, - "SIZE ", - e->filename, - rtems_ftpfs_size_parser, - &se, - me->verbose - ); - if (reply == RTEMS_FTPFS_REPLY_2 && se.size >= 0) { - st->st_size = se.size; - } else { - eno = EIO; - } + rtems_ftpfs_get_file_size(e, me->verbose); + st->st_size = e->file_size; } else { e->do_size_command = true; } diff --git a/testsuites/libtests/ftp01/ftp01.scn b/testsuites/libtests/ftp01/ftp01.scn index a3292961c8..a27da4b698 100644 --- a/testsuites/libtests/ftp01/ftp01.scn +++ b/testsuites/libtests/ftp01/ftp01.scn @@ -17,6 +17,8 @@ USER anonymous 230 User logged in. TYPE I 200 Type set to I. +SIZE a.txt +213 1102 PASV 227 Entering passive mode (127,0,0,1,4,4). RETR a.txt @@ -41,6 +43,8 @@ USER anonymous 230 User logged in. TYPE I 200 Type set to I. +SIZE b.txt +213 1102 PASV 227 Entering passive mode (127,0,0,1,4,10). RETR b.txt diff --git a/testsuites/libtests/ftp01/init.c b/testsuites/libtests/ftp01/init.c index 354c0f045a..369aebe92a 100644 --- a/testsuites/libtests/ftp01/init.c +++ b/testsuites/libtests/ftp01/init.c @@ -104,7 +104,7 @@ static void change_self_priority(void) rtems_test_assert(sc == RTEMS_SUCCESSFUL); } -static void create_file(const char *path) +static void create_file(const char *path, const void *begin, size_t size) { int rv = 0; int fd = open(path, O_WRONLY); @@ -112,8 +112,8 @@ static void create_file(const char *path) rtems_test_assert(fd >= 0); - n = write(fd, &content [0], sizeof(content)); - rtems_test_assert(n == (ssize_t) sizeof(content)); + n = write(fd, begin, size); + rtems_test_assert(n == (ssize_t) size); rv = close(fd); rtems_test_assert(rv == 0); @@ -126,15 +126,33 @@ static void copy_file(const char *src_path, const char *dest_path) int out = open(dest_path, O_WRONLY); ssize_t n_in = 0; char buf [64]; + struct stat st_in; + struct stat st_out; + + memset(&st_in, 0xff, sizeof(st_in)); + memset(&st_out, 0xff, sizeof(st_out)); rtems_test_assert(in >= 0); rtems_test_assert(out >= 0); + rv = fstat(out, &st_out); + rtems_test_assert(rv == 0); + + rtems_test_assert(st_out.st_size == 0); + while ((n_in = read(in, buf, sizeof(buf))) > 0) { ssize_t n_out = write(out, buf, (size_t) n_in); rtems_test_assert(n_out == n_in); } + rv = fstat(out, &st_out); + rtems_test_assert(rv == 0); + + rv = fstat(in, &st_in); + rtems_test_assert(rv == 0); + + rtems_test_assert(st_in.st_size == st_out.st_size); + rv = close(out); rtems_test_assert(rv == 0); @@ -189,7 +207,7 @@ static void test(void) initialize_ftpfs(); change_self_priority(); - create_file(file_a); + create_file(file_a, &content [0], sizeof(content)); copy_file(file_a, file_b); check_file(file_b); check_file_size(file_a, sizeof(content)); -- cgit v1.2.3 From 1b937c6994b16334cbec599be77c3f3917e18c8c Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 29 Jan 2013 14:12:20 +0100 Subject: ftpd: Check the root and current directory change Only continue the session if the root and current directory change was successful, otherwise the FTP server may access restricted file system areas. --- cpukit/ftpd/ftpd.c | 48 ++++++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/cpukit/ftpd/ftpd.c b/cpukit/ftpd/ftpd.c index 8ffd878d2d..3b77b3bf33 100644 --- a/cpukit/ftpd/ftpd.c +++ b/cpukit/ftpd/ftpd.c @@ -1914,39 +1914,49 @@ session(rtems_task_argument arg) while(1) { rtems_event_set set; + int rv; rtems_event_receive(FTPD_RTEMS_EVENT, RTEMS_EVENT_ANY, RTEMS_NO_TIMEOUT, &set); chroot_made = chroot_made || chroot(ftpd_root) == 0; - errno = 0; + rv = chroot_made ? chdir("/") : -1; - send_reply(info, 220, FTPD_SERVER_MESSAGE); + errno = 0; - while (1) + if (rv == 0) { - char buf[FTPD_BUFSIZE]; - char *cmd, *opts, *args; + send_reply(info, 220, FTPD_SERVER_MESSAGE); - if (fgets(buf, FTPD_BUFSIZE, info->ctrl_fp) == NULL) + while (1) { - syslog(LOG_INFO, "ftpd: Connection aborted."); - break; - } + char buf[FTPD_BUFSIZE]; + char *cmd, *opts, *args; - split_command(buf, &cmd, &opts, &args); + if (fgets(buf, FTPD_BUFSIZE, info->ctrl_fp) == NULL) + { + syslog(LOG_INFO, "ftpd: Connection aborted."); + break; + } - if (!strcmp("QUIT", cmd)) - { - send_reply(info, 221, "Goodbye."); - break; - } - else - { - exec_command(info, cmd, args); + split_command(buf, &cmd, &opts, &args); + + if (!strcmp("QUIT", cmd)) + { + send_reply(info, 221, "Goodbye."); + break; + } + else + { + exec_command(info, cmd, args); + } } } + else + { + send_reply(info, 421, "Service not available, closing control connection."); + } /* Close connection and put ourselves back into the task pool. */ close_data_socket(info); @@ -1954,8 +1964,6 @@ session(rtems_task_argument arg) free(info->user); free(info->pass); task_pool_release(info); - - chdir("/"); } } -- cgit v1.2.3 From eefeefdd0ec31e90e7805b38c5d0fcafc0edd8f3 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 30 Jan 2013 10:31:40 +0100 Subject: dosfs: Always release the buffers Release the buffers also if this is not the last reference to the file object since otherwise we may hold modified data indefinitely. --- cpukit/libfs/src/dosfs/fat_file.c | 45 ++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/cpukit/libfs/src/dosfs/fat_file.c b/cpukit/libfs/src/dosfs/fat_file.c index 3e2d60967c..7f05447187 100644 --- a/cpukit/libfs/src/dosfs/fat_file.c +++ b/cpukit/libfs/src/dosfs/fat_file.c @@ -191,45 +191,46 @@ fat_file_close( ) { int rc = RC_OK; - uint32_t key = 0; /* * if links_num field of fat-file descriptor is greater than 1 - * decrement the count of links and return + * decrement only the count of links */ if (fat_fd->links_num > 1) { fat_fd->links_num--; - return rc; } - - key = fat_construct_key(fs_info, &fat_fd->dir_pos.sname); - - if (fat_fd->flags & FAT_FILE_REMOVED) + else { - rc = fat_file_truncate(fs_info, fat_fd, 0); - if ( rc != RC_OK ) - return rc; + uint32_t key = fat_construct_key(fs_info, &fat_fd->dir_pos.sname); - _hash_delete(fs_info->rhash, key, fat_fd->ino, fat_fd); + if (fat_fd->flags & FAT_FILE_REMOVED) + { + rc = fat_file_truncate(fs_info, fat_fd, 0); + if (rc == RC_OK) + { + _hash_delete(fs_info->rhash, key, fat_fd->ino, fat_fd); - if ( fat_ino_is_unique(fs_info, fat_fd->ino) ) - fat_free_unique_ino(fs_info, fat_fd->ino); + if (fat_ino_is_unique(fs_info, fat_fd->ino)) + fat_free_unique_ino(fs_info, fat_fd->ino); - free(fat_fd); - } - else - { - if (fat_ino_is_unique(fs_info, fat_fd->ino)) - { - fat_fd->links_num = 0; + free(fat_fd); + } } else { - _hash_delete(fs_info->vhash, key, fat_fd->ino, fat_fd); - free(fat_fd); + if (fat_ino_is_unique(fs_info, fat_fd->ino)) + { + fat_fd->links_num = 0; + } + else + { + _hash_delete(fs_info->vhash, key, fat_fd->ino, fat_fd); + free(fat_fd); + } } } + /* * flush any modified "cached" buffer back to disk */ -- cgit v1.2.3 From 524cdbbccd7fabaee28948ec5501552c82e38035 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 30 Jan 2013 16:58:21 +0100 Subject: fstests: Use designated initializers --- testsuites/fstests/mdosfs_support/fs_support.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/testsuites/fstests/mdosfs_support/fs_support.c b/testsuites/fstests/mdosfs_support/fs_support.c index 62370c9a9b..7d3cf833c3 100644 --- a/testsuites/fstests/mdosfs_support/fs_support.c +++ b/testsuites/fstests/mdosfs_support/fs_support.c @@ -25,16 +25,16 @@ #define BLOCK_SIZE 512 -msdos_format_request_param_t rqdata = { - OEMName: "RTEMS", - VolLabel: "RTEMSDisk", - sectors_per_cluster: 2, - fat_num: 0, - files_per_root_dir: 0, - media: 0, - quick_format: FALSE, - skip_alignment: 0, - info_level: 0 +static const msdos_format_request_param_t rqdata = { + .OEMName = "RTEMS", + .VolLabel = "RTEMSDisk", + .sectors_per_cluster = 2, + .fat_num = 0, + .files_per_root_dir = 0, + .media = 0, + .quick_format = false, + .skip_alignment = 0, + .info_level = 0 }; void test_initialize_filesystem(void) -- cgit v1.2.3 From 399afaf5ba96fc8f5feb9b0eb41a0b07324bd334 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 30 Jan 2013 16:59:49 +0100 Subject: fstests: Perform a quick format --- testsuites/fstests/mdosfs_support/fs_support.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuites/fstests/mdosfs_support/fs_support.c b/testsuites/fstests/mdosfs_support/fs_support.c index 7d3cf833c3..0cf71ec3d2 100644 --- a/testsuites/fstests/mdosfs_support/fs_support.c +++ b/testsuites/fstests/mdosfs_support/fs_support.c @@ -32,7 +32,7 @@ static const msdos_format_request_param_t rqdata = { .fat_num = 0, .files_per_root_dir = 0, .media = 0, - .quick_format = false, + .quick_format = true, .skip_alignment = 0, .info_level = 0 }; -- cgit v1.2.3 From 334222f042504d871191f7ae286689215110262a Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 30 Jan 2013 17:00:22 +0100 Subject: fstests: Initialize swapout task --- testsuites/fstests/support/ramdisk_support.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/testsuites/fstests/support/ramdisk_support.c b/testsuites/fstests/support/ramdisk_support.c index 339c63a6cb..17dbb67820 100644 --- a/testsuites/fstests/support/ramdisk_support.c +++ b/testsuites/fstests/support/ramdisk_support.c @@ -11,6 +11,9 @@ #include "config.h" #endif +#include +#include + #include #include #include @@ -25,6 +28,20 @@ dev_t dev = 0; +static void initialize_swapout_task(void) +{ + int fd = open(RAMDISK_PATH, O_RDONLY); + int rv = 0; + + rtems_test_assert(fd >= 0); + + rv = rtems_disk_fd_sync(fd); + rtems_test_assert(rv == 0); + + rv = close(fd); + rtems_test_assert(rv == 0); +} + void init_ramdisk (void) { @@ -36,6 +53,8 @@ init_ramdisk (void) false, RAMDISK_PATH, &dev); rtems_test_assert (rc == 0); + + initialize_swapout_task(); } void -- cgit v1.2.3 From 065441d80f4671f067c7e08941e1f41256128b4d Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 30 Jan 2013 17:01:07 +0100 Subject: fstests: Use global environment and clean up This releases all resources acquired by the chroot(). --- testsuites/fstests/support/fstest_support.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/testsuites/fstests/support/fstest_support.c b/testsuites/fstests/support/fstest_support.c index 51f19c1105..cbd832687a 100644 --- a/testsuites/fstests/support/fstest_support.c +++ b/testsuites/fstests/support/fstest_support.c @@ -16,11 +16,12 @@ #include #include #include -#include /* exit */ +#include #include #include -#include "rtems.h" +#include +#include #include "fstest_support.h" #include "fs_config.h" @@ -31,7 +32,17 @@ /* Break out of a chroot() environment in C */ static void break_out_of_chroot(void) { - chroot("/"); + int rv; + struct stat st; + + rtems_libio_use_global_env(); + + /* Perform deferred global location releases */ + rv = stat(".", &st); + rtems_test_assert(rv == 0); + + /* Perform deferred memory frees */ + free(malloc(1)); } /* -- cgit v1.2.3 From 2e0177d8d844a2e77588efb9c43701f1318ef14d Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 30 Jan 2013 17:03:38 +0100 Subject: fstests: Check resources used by FAT file system --- testsuites/fstests/mdosfs_support/fs_support.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/testsuites/fstests/mdosfs_support/fs_support.c b/testsuites/fstests/mdosfs_support/fs_support.c index 0cf71ec3d2..27882b8216 100644 --- a/testsuites/fstests/mdosfs_support/fs_support.c +++ b/testsuites/fstests/mdosfs_support/fs_support.c @@ -18,6 +18,7 @@ #include #include +#include #include "ramdisk_support.h" #include "fstest.h" @@ -37,6 +38,8 @@ static const msdos_format_request_param_t rqdata = { .info_level = 0 }; +static rtems_resource_snapshot before_mount; + void test_initialize_filesystem(void) { int rc=0; @@ -48,6 +51,8 @@ void test_initialize_filesystem(void) rc=msdos_format(RAMDISK_PATH,&rqdata); rtems_test_assert(rc==0); + rtems_resource_snapshot_take(&before_mount); + rc=mount(RAMDISK_PATH, BASE_FOR_TEST, "dosfs", @@ -62,6 +67,7 @@ void test_shutdown_filesystem(void) int rc=0; rc=unmount(BASE_FOR_TEST) ; rtems_test_assert(rc==0); + rtems_test_assert(rtems_resource_snapshot_check(&before_mount)); del_ramdisk(); } -- cgit v1.2.3 From 80e37434ac95f3bc1fa09bd4db4ec2f79142a74b Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 30 Jan 2013 17:21:26 +0100 Subject: fstests/fsrdwr: Free allocated memory --- testsuites/fstests/fsrdwr/init.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/testsuites/fstests/fsrdwr/init.c b/testsuites/fstests/fsrdwr/init.c index 1ab9ccbb6b..2bdaeaa197 100644 --- a/testsuites/fstests/fsrdwr/init.c +++ b/testsuites/fstests/fsrdwr/init.c @@ -291,6 +291,8 @@ truncate_test03 (void) */ status = chdir (".."); rtems_test_assert (status == 0); + + free(readbuf); } static void @@ -518,6 +520,8 @@ lseek_test (void) rtems_test_assert (status == 0); test_case_leave (); + + free(readbuf); } static void -- cgit v1.2.3