Changeset 22b3bed in rtems for cpukit/score/cpu/no_cpu


Ignore:
Timestamp:
Jan 16, 2006, 3:12:12 PM (14 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
5961b4c7
Parents:
5464eefa
Message:

2006-01-16 Joel Sherrill <joel@…>

  • rtems/asm.h, rtems/score/cpu.h, rtems/score/types.h: Part of a large patch to improve Doxygen output. As a side-effect, grammar and spelling errors were corrected, spacing errors were address, and some variable names were improved.
Location:
cpukit/score/cpu/no_cpu
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • cpukit/score/cpu/no_cpu/ChangeLog

    r5464eefa r22b3bed  
     12006-01-16      Joel Sherrill <joel@OARcorp.com>
     2
     3        * rtems/asm.h, rtems/score/cpu.h, rtems/score/types.h: Part of a large
     4        patch to improve Doxygen output. As a side-effect, grammar and
     5        spelling errors were corrected, spacing errors were address, and some
     6        variable names were improved.
     7
    182005-11-08      Ralf Corsepius <ralf.corsepius@rtems.org>
    29
  • cpukit/score/cpu/no_cpu/rtems/asm.h

    r5464eefa r22b3bed  
    2020 *  of the file is noted.  This file is:
    2121 *
    22  *  COPYRIGHT (c) 1994-1997.
     22 *  COPYRIGHT (c) 1994-2006.
    2323 *  On-Line Applications Research Corporation (OAR).
    2424 *
     
    3939#include <rtems/score/no_cpu.h>
    4040
    41 /*
     41#ifndef __USER_LABEL_PREFIX__
     42/**
    4243 *  Recent versions of GNU cpp define variables which indicate the
    4344 *  need for underscores and percents.  If not using GNU cpp or
    4445 *  the version does not support this, then you will obviously
    4546 *  have to define these as appropriate.
     47 *
     48 *  This symbol is prefixed to all C program symbols.
    4649 */
    47 
    48 #ifndef __USER_LABEL_PREFIX__
    4950#define __USER_LABEL_PREFIX__ _
    5051#endif
    5152
    5253#ifndef __REGISTER_PREFIX__
     54/**
     55 *  Recent versions of GNU cpp define variables which indicate the
     56 *  need for underscores and percents.  If not using GNU cpp or
     57 *  the version does not support this, then you will obviously
     58 *  have to define these as appropriate.
     59 *
     60 *  This symbol is prefixed to all register names.
     61 */
    5362#define __REGISTER_PREFIX__
    5463#endif
     
    5665#include <rtems/concat.h>
    5766
    58 /* Use the right prefix for global labels.  */
    59 
     67/** Use the right prefix for global labels.  */
    6068#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
    6169
    62 /* Use the right prefix for registers.  */
    63 
     70/** Use the right prefix for registers.  */
    6471#define REG(x) CONCAT1 (__REGISTER_PREFIX__, x)
    6572
     
    7582
    7683
     84/** This macro is used to denote the beginning of a code declaration. */
    7785#define BEGIN_CODE_DCL .text
     86/** This macro is used to denote the end of a code declaration. */
    7887#define END_CODE_DCL
     88/** This macro is used to denote the beginning of a data declaration section. */
    7989#define BEGIN_DATA_DCL .data
     90/** This macro is used to denote the end of a data declaration section. */
    8091#define END_DATA_DCL
     92/** This macro is used to denote the beginning of a code section. */
    8193#define BEGIN_CODE .text
     94/** This macro is used to denote the end of a code section. */
    8295#define END_CODE
     96/** This macro is used to denote the beginning of a data section. */
    8397#define BEGIN_DATA
     98/** This macro is used to denote the end of a data section. */
    8499#define END_DATA
     100/** This macro is used to denote the beginning of the
     101 *  unitialized data section.
     102 */
    85103#define BEGIN_BSS
     104/** This macro is used to denote the end of the unitialized data section.  */
    86105#define END_BSS
     106/** This macro is used to denote the end of the assembly file.  */
    87107#define END
    88108
    89 /*
    90  *  Following must be tailor for a particular flavor of the C compiler.
     109/**
     110 *  This macro is used to declare a public global symbol.
     111 *
     112 *  @note This must be tailored for a particular flavor of the C compiler.
    91113 *  They may need to put underscores in front of the symbols.
    92114 */
     115#define PUBLIC(sym) .globl SYM (sym)
    93116
    94 #define PUBLIC(sym) .globl SYM (sym)
     117/**
     118 *  This macro is used to prototype a public global symbol.
     119 *
     120 *  @note This must be tailored for a particular flavor of the C compiler.
     121 *  They may need to put underscores in front of the symbols.
     122 */
    95123#define EXTERN(sym) .globl SYM (sym)
    96124
  • cpukit/score/cpu/no_cpu/rtems/score/cpu.h

    r5464eefa r22b3bed  
    2020 */
    2121
    22 /*  COPYRIGHT (c) 1989-2004.
     22/*  COPYRIGHT (c) 1989-2006.
    2323 *  On-Line Applications Research Corporation (OAR).
    2424 *
     
    145145 *  If FALSE, then the memory is allocated during initialization.
    146146 *
    147  *  This should be TRUE is @ref CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE
    148  *  or @ref CPU_INSTALL_HARDWARE_INTERRUPT_STACK is TRUE.
     147 *  This should be TRUE is CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE.
    149148 *
    150149 *  Port Specific Information:
     
    170169 *  Does the CPU have hardware floating point?
    171170 *
    172  *  If TRUE, then the @ref RTEMS_FLOATING_POINT task attribute is supported.
    173  *  If FALSE, then the @ref RTEMS_FLOATING_POINT task attribute is ignored.
     171 *  If TRUE, then the RTEMS_FLOATING_POINT task attribute is supported.
     172 *  If FALSE, then the RTEMS_FLOATING_POINT task attribute is ignored.
    174173 *
    175174 *  If there is a FP coprocessor such as the i387 or mc68881, then
     
    210209 *  Are all tasks RTEMS_FLOATING_POINT tasks implicitly?
    211210 *
    212  *  If TRUE, then the @ref RTEMS_FLOATING_POINT task attribute is assumed.
    213  *  If FALSE, then the @ref RTEMS_FLOATING_POINT task attribute is followed.
     211 *  If TRUE, then the RTEMS_FLOATING_POINT task attribute is assumed.
     212 *  If FALSE, then the RTEMS_FLOATING_POINT task attribute is followed.
    214213 *
    215214 *  So far, the only CPUs in which this option has been used are the
     
    236235 *  Should the IDLE task have a floating point context?
    237236 *
    238  *  If TRUE, then the IDLE task is created as a @ref RTEMS_FLOATING_POINT task
     237 *  If TRUE, then the IDLE task is created as a RTEMS_FLOATING_POINT task
    239238 *  and it has a floating point context which is switched in and out.
    240239 *  If FALSE, then the IDLE task does not have a floating point context.
     
    470469 */
    471470typedef struct {
     471    /** FPU registers are listed here */
    472472    double      some_float_register;
    473473} Context_Control_fp;
     
    776776 *  level is returned in @a _isr_cookie.
    777777 *
    778  *  @param _isr_cookie (out) will contain the previous level cookie
     778 *  @param[out] _isr_cookie will contain the previous level cookie
    779779 *
    780780 *  Port Specific Information:
     
    793793 *  @a _isr_cookie is not modified.
    794794 *
    795  *  @param _isr_cookie (in) contain the previous level cookie
     795 *  @param[in] _isr_cookie contain the previous level cookie
    796796 *
    797797 *  Port Specific Information:
     
    810810 *  modified.
    811811 *
    812  *  @param _isr_cookie (in) contain the previous level cookie
     812 *  @param[in] _isr_cookie contain the previous level cookie
    813813 *
    814814 *  Port Specific Information:
     
    874874 *  undefined at task start time.
    875875 *
    876  *  @param _the_context (in) is the context structure to be initialized
    877  *  @param _stack_base (in) is the lowest physical address of this task's stack
    878  *  @param _size (in) is the size of this task's stack
    879  *  @param _isr (in) is the interrupt disable level
    880  *  @param _entry_point (in) is the thread's entry point.  This is
     876 *  @param[in] _the_context is the context structure to be initialized
     877 *  @param[in] _stack_base is the lowest physical address of this task's stack
     878 *  @param[in] _size is the size of this task's stack
     879 *  @param[in] _isr is the interrupt disable level
     880 *  @param[in] _entry_point is the thread's entry point.  This is
    881881 *         always @a _Thread_Handler
    882  *  @param _is_fp (in) is TRUE if the thread is to be a floating
     882 *  @param[in] _is_fp is TRUE if the thread is to be a floating
    883883 *        point thread.  This is typically only used on CPUs where the
    884884 *        FPU may be easily disabled by software such as on the SPARC
     
    894894  }
    895895
    896 /*
     896/**
    897897 *  This routine is responsible for somehow restarting the currently
    898898 *  executing task.  If you are lucky, then all that is necessary
    899899 *  is restoring the context.  Otherwise, there will need to be
    900900 *  a special assembly routine which does something special in this
    901  *  case.  @ref _CPU_Context_Restore should work most of the time.  It will
     901 *  case.  For many ports, simply adding a label to the restore path
     902 *  of @ref _CPU_Context_switch will work.  On other ports, it may be
     903 *  possibly to load a few arguments and jump to the restore path. It will
    902904 *  not work if restarting self conflicts with the stack frame
    903905 *  assumptions of restoring a context.
     
    924926 *  or low to high based on the whim of the CPU designers.
    925927 *
    926  *  @param _base (in) is the lowest physical address of the floating point
     928 *  @param[in] _base is the lowest physical address of the floating point
    927929 *         context area
    928  *  @param _offset (in) is the offset into the floating point area
     930 *  @param[in] _offset is the offset into the floating point area
    929931 *
    930932 *  Port Specific Information:
     
    947949 *    -# putting a "null FP status word" in the correct place in the FP context.
    948950 *
    949  *  @param _destination (in) is the floating point context area
     951 *  @param[in] _destination is the floating point context area
    950952 *
    951953 *  Port Specific Information:
     
    10611063 *      bit set
    10621064 *
    1063  *  @param _value (in) is the value to be scanned
    1064  *  @param _output (in) is the first bit set
     1065 *  @param[in] _value is the value to be scanned
     1066 *  @param[in] _output is the first bit set
    10651067 *
    10661068 *  Port Specific Information:
     
    11011103 *  for that routine.
    11021104 *
    1103  *  @param _priority (in) is the major or minor number to translate
     1105 *  @param[in] _priority is the major or minor number to translate
    11041106 *
    11051107 *  Port Specific Information:
     
    11211123 *  This routine performs CPU dependent initialization.
    11221124 *
    1123  *  @param cpu_table (in) is the CPU Dependent Configuration Table
    1124  *  @param thread_dispatch (in) is the address of @ref _Thread_Dispatch
     1125 *  @param[in] cpu_table is the CPU Dependent Configuration Table
     1126 *  @param[in] thread_dispatch is the address of @ref _Thread_Dispatch
    11251127 *
    11261128 *  Port Specific Information:
     
    11381140 *  processor's vector table.
    11391141 *
    1140  *  @param vector (in) is the vector number
    1141  *  @param new_handler (in) is the raw ISR handler to install
    1142  *  @param old_handler (in) is the previously installed ISR Handler
     1142 *  @param[in] vector is the vector number
     1143 *  @param[in] new_handler is the raw ISR handler to install
     1144 *  @param[in] old_handler is the previously installed ISR Handler
    11431145 *
    11441146 *  Port Specific Information:
     
    11561158 *  This routine installs an interrupt vector.
    11571159 *
    1158  *  @param vector (in) is the vector number
    1159  *  @param new_handler (in) is the RTEMS ISR handler to install
    1160  *  @param old_handler (in) is the previously installed ISR Handler
     1160 *  @param[in] vector is the vector number
     1161 *  @param[in] new_handler is the RTEMS ISR handler to install
     1162 *  @param[in] old_handler is the previously installed ISR Handler
    11611163 *
    11621164 *  Port Specific Information:
     
    11991201 *  This routine switches from the run context to the heir context.
    12001202 *
    1201  *  @param run (in) points to the context of the currently executing task
    1202  *  @param heir (in) points to the context of the heir task
     1203 *  @param[in] run points to the context of the currently executing task
     1204 *  @param[in] heir points to the context of the heir task
    12031205 *
    12041206 *  Port Specific Information:
     
    12161218 *  efficient manner.  It may simply be a label in @ref _CPU_Context_switch.
    12171219 *
    1218  *  @param new_context (in) points to the context to be restored.
     1220 *  @param[in] new_context points to the context to be restored.
    12191221 *
    12201222 *  @note May be unnecessary to reload some registers.
     
    12321234 *  This routine saves the floating point context passed to it.
    12331235 *
    1234  *  @param fp_context_ptr (in) is a pointer to a pointer to a floating
     1236 *  @param[in] fp_context_ptr is a pointer to a pointer to a floating
    12351237 *  point context area
    12361238 *
     
    12501252 *  This routine restores the floating point context passed to it.
    12511253 *
    1252  *  @param fp_context_ptr (in) is a pointer to a pointer to a floating
     1254 *  @param[in] fp_context_ptr is a pointer to a pointer to a floating
    12531255 *  point context area to restore
    12541256 *
     
    12791281 *  a single instruction (e.g. i486).  It is probably best to avoid
    12801282 *  an "endian swapping control bit" in the CPU.  One good reason is
    1281  *  that interrupts would probably have to be disabled to insure that
     1283 *  that interrupts would probably have to be disabled to ensure that
    12821284 *  an interrupt does not try to access the same "chunk" with the wrong
    12831285 *  endian.  Another good reason is that on some CPUs, the endian bit
     
    12851287 *  will be fetched incorrectly.
    12861288 *
    1287  *  @param value (in) is the value to be swapped
     1289 *  @param[in] value is the value to be swapped
    12881290 *  @return the value after being endian swapped
    12891291 *
     
    13111313 *  This routine swaps a 16 bir quantity.
    13121314 *
    1313  *  @param value (in) is the value to be swapped
     1315 *  @param[in] value is the value to be swapped
    13141316 *  @return the value after being endian swapped
    13151317 */
  • cpukit/score/cpu/no_cpu/rtems/score/types.h

    r5464eefa r22b3bed  
    77 *  no_cpu processor family.
    88 *
    9  *  COPYRIGHT (c) 1989-1999.
     9 *  COPYRIGHT (c) 1989-2006.
    1010 *  On-Line Applications Research Corporation (OAR).
    1111 *
     
    3232 */
    3333
    34 typedef unsigned long long unsigned64; /* unsigned 64-bit integer */
     34/** This defines an unsigned 64-bit integer. */
     35typedef unsigned long long unsigned64;
    3536
     37/** This defines the type for a priority bit map entry. */
    3638typedef uint16_t Priority_Bit_map_control;
    3739
    38 typedef signed long long signed64;     /* 64 bit signed integer */
     40/** This defines the type for a 64 bit signed integer */
     41typedef signed long long signed64;
    3942
     43/** This defines the type for a Boolean value, */
    4044typedef uint32_t boolean;     /* Boolean value   */
    4145
    42 typedef float          single_precision;     /* single precision float */
    43 typedef double         double_precision;     /* double precision float */
     46/** This defines the type for a single precision float. */
     47typedef float          single_precision;
     48/** This defines the type for a double precision float. */
     49typedef double         double_precision;
    4450
     51/** This defines the return type for an ISR entry point. */
    4552typedef void no_cpu_isr;
    46 typedef void ( *no_cpu_isr_entry )( void );
     53
     54/** This defines the prototype for an ISR entry point. */
     55typedef no_cpu_isr ( *no_cpu_isr_entry )( void );
    4756
    4857#ifdef __cplusplus
Note: See TracChangeset for help on using the changeset viewer.