Changeset 5c491aef in rtems


Ignore:
Timestamp:
Dec 20, 1995, 3:39:19 PM (24 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
c64e4ed4
Parents:
4442d21c
Message:

changes remerged after lost in disk crash -- recovered from snapshot, partially recovered working tree, etc

Files:
94 edited

Legend:

Unmodified
Added
Removed
  • c/src/exec/score/cpu/powerpc/README

    r4442d21c r5c491aef  
    991) Legal
    1010
    11 This port is written by Andrew Bray <andy@i-cubed.demon.co.uk>, and
     11This port is written by Andrew Bray <andy@i-cubed.co.uk>, and
    1212is copyright 1995 i-cubed ltd.
    1313
    14 Due to the current lack of a formal release note, this is a limited
    15 release to OAR, and other specific parties designated by OAR who
    16 are involved in porting RTEMS to the PowerPC architecture.
    17 
    18 This set of release files SHOULD (IMHO) include a cpu specific
    19 alignment exception handler.  Ours is derived from IBM sample
    20 code.  I am seeking a release from IBM for this file.  In the
    21 mean time this file is excluded (but still included in the Makefile
    22 as a place-holder).
    23 
    24 NOTE: IBM released the alignment exception handler under generous enough
    25       terms where it could be included in this distribution.
    2614
    2715
     
    7563assembler.
    7664
    77 This port contains support for the other ABIs, but this may prove to be incoplete
     65This port contains support for the other ABIs, but this may prove to be incomplete
    7866as it is untested.
    7967
     
    8169or only port.  This should wait on a true EABI version of GCC.
    8270
    83 Andrew Bray 18/8/1995
     71Andrew Bray 4/December/1995
  • c/src/exec/score/cpu/powerpc/cpu.c

    r4442d21c r5c491aef  
    22 *  PowerPC CPU Dependent Source
    33 *
    4  *  Author:     Andrew Bray <andy@i-cubed.demon.co.uk>
     4 *  Author:     Andrew Bray <andy@i-cubed.co.uk>
    55 *
    66 *  COPYRIGHT (c) 1995 by i-cubed ltd.
     
    3434#include <rtems/score/context.h>
    3535#include <rtems/score/thread.h>
    36 #include <rtems/score/wkspace.h>
    3736
    3837/*
    3938 *  These are for testing purposes.
    4039 */
    41 /*
    42 #define Testing
    43 */
     40#undef Testing
    4441
    4542#ifdef Testing
     
    10198
    10299  i = (int)&_CPU_IRQ_info;
    103   asm volatile("mtsprg3 %0" : "=r" (i) : "0" (i));
     100  asm volatile("mtspr 0x113, %0" : "=r" (i) : "0" (i)); /* SPRG 3 */
    104101
    105102  i = PPC_MSR_INITIAL & ~PPC_MSR_DISABLE_MASK;
    106   asm volatile("mtsprg2 %0" : "=r" (i) : "0" (i));
     103  asm volatile("mtspr 0x112, %0" : "=r" (i) : "0" (i)); /* SPRG 2 */
    107104
    108105#ifdef Testing
     
    113110    msr = tmp;
    114111#ifdef ppc403
    115     asm volatile ("mfevpr %0" : "=r" (tmp));
     112    asm volatile ("mfspr %0, 0x3d6" : "=r" (tmp)); /* EVPR */
    116113    evpr = tmp;
    117     asm volatile ("mfexier %0" : "=r" (tmp));
     114    asm volatile ("mfdcr %0, 0x42" : "=r" (tmp)); /* EXIER */
    118115    exier = tmp;
    119     asm volatile ("mtevpr %0" :: "r" (0));
     116    asm volatile ("mtspr 0x3d6, %0" :: "r" (0)); /* EVPR */
    120117#endif
    121118  }
     
    129126
    130127  _CPU_Table = *cpu_table;
     128}
     129
     130/*PAGE
     131 *
     132 *  _CPU_ISR_Get_level
     133 *
     134 *  COMMENTS FROM Andrew Bray <andy@i-cubed.co.uk>:
     135 *
     136 *  The PowerPC puts its interrupt enable status in the MSR register
     137 *  which also contains things like endianness control.  To be more
     138 *  awkward, the layout varies from processor to processor.  This
     139 *  is why I adopted a table approach in my interrupt handling.
     140 *  Thus the inverse process is slow, because it requires a table
     141 *  search.
     142 *
     143 *  This could fail, and return 4 (an invalid level) if the MSR has been
     144 *  set to a value not in the table.  This is also quite an expensive
     145 *  operation - I do hope its not too common.
     146 *
     147 */
     148 
     149unsigned32 _CPU_ISR_Get_level( void )
     150{
     151  unsigned32 level, msr;
     152 
     153  asm volatile("mfmsr %0" : "=r" ((msr)));
     154 
     155  msr &= PPC_MSR_DISABLE_MASK;
     156 
     157  for (level = 0; level < 4; level++)
     158    if ((_CPU_msrs[level] & PPC_MSR_DISABLE_MASK) == msr)
     159      break;
     160 
     161  return level;
    131162}
    132163
     
    164195    */
    165196
    166     _ISR_Vector_table[ vector ] =
    167        (new_handler) ? (ISR_Handler_entry) new_handler :
    168        ((_CPU_Table.spurious_handler) ?
    169           (ISR_Handler_entry) _CPU_Table.spurious_handler :
    170           (ISR_Handler_entry) ppc_spurious);
     197    _ISR_Vector_table[ vector ] = new_handler ? (ISR_Handler_entry)new_handler :
     198       _CPU_Table.spurious_handler ?
     199          (ISR_Handler_entry)_CPU_Table.spurious_handler :
     200          (ISR_Handler_entry)ppc_spurious;
    171201}
    172202
     
    197227            register int r = 0;
    198228
    199             asm volatile("mtexier %0" : "=r" ((r)) : "0" ((r)));
     229            asm volatile("mtdcr 0x42, %0" : "=r" ((r)) : "0" ((r))); /* EXIER */
    200230        }
    201231    else if (v == PPC_IRQ_PIT)
     
    203233            register int r = 0x08000000;
    204234
    205             asm volatile("mttsr %0" : "=r" ((r)) : "0" ((r)));
     235            asm volatile("mtspr 0x3d8, %0" : "=r" ((r)) : "0" ((r))); /* TSR */
    206236        }
    207237    else if (v == PPC_IRQ_FIT)
     
    209239            register int r = 0x04000000;
    210240
    211             asm volatile("mttsr %0" : "=r" ((r)) : "0" ((r)));
     241            asm volatile("mtspr 0x3d8, %0" : "=r" ((r)) : "0" ((r))); /* TSR */
    212242        }
    213243#endif
     
    223253#ifdef ppc403
    224254  tmp = evpr;
    225   asm volatile ("mtevpr %0" :: "r" (tmp));
     255  asm volatile ("mtspr 0x3d6, %0" :: "r" (tmp)); /* EVPR */
    226256  tmp = exier;
    227   asm volatile ("mtexier %0" :: "r" (tmp));
     257  asm volatile ("mtdcr 0x42, %0" :: "r" (tmp)); /* EXIER */
    228258#endif
    229259#endif
  • c/src/exec/score/cpu/powerpc/cpu.h

    r4442d21c r5c491aef  
    44 *  processor.
    55 *
    6  *  Author:     Andrew Bray <andy@i-cubed.demon.co.uk>
     6 *  Author:     Andrew Bray <andy@i-cubed.co.uk>
    77 *
    88 *  COPYRIGHT (c) 1995 by i-cubed ltd.
     
    496496
    497497EXTERN struct {
     498  unsigned32 *Nest_level;
     499  unsigned32 *Disable_level;
     500  void *Vector_table;
     501  void *Stack;
    498502#if (PPC_ABI == PPC_ABI_POWEROPEN)
    499503  unsigned32 Dispatch_r2;
     
    504508#endif
    505509#endif
    506   unsigned32 *Nest_level;
    507   unsigned32 *Disable_level;
    508   void *Vector_table;
    509   void *Stack;
    510510  boolean *Switch_necessary;
    511511  boolean *Signal;
     
    542542 */
    543543
    544 #define CPU_INTERRUPT_NUMBER_OF_VECTORS      (PPC_INTERRUPT_MAX)
     544#define CPU_INTERRUPT_NUMBER_OF_VECTORS  (PPC_INTERRUPT_MAX)
    545545#define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER  (CPU_INTERRUPT_NUMBER_OF_VECTORS - 1)
    546546
     
    571571 */
    572572
    573 #define CPU_HEAP_ALIGNMENT         (PPC_CACHE_ALIGNMENT)
     573#define CPU_HEAP_ALIGNMENT         (PPC_ALIGNMENT)
    574574
    575575/*
     
    585585 */
    586586
    587 #define CPU_PARTITION_ALIGNMENT    (PPC_CACHE_ALIGNMENT)
     587#define CPU_PARTITION_ALIGNMENT    (PPC_ALIGNMENT)
    588588
    589589/*
     
    604604 *  level is returned in _level.
    605605 */
     606
     607#define loc_string(a,b) a " (" #b ")\n"
    606608
    607609#define _CPU_ISR_Disable( _isr_cookie ) \
     
    661663        ); \
    662664  }
     665
     666unsigned32 _CPU_ISR_Get_level( void );
    663667
    664668/* end of ISR handler macros */
     
    818822 *  RTEMS guarantees that (1) will never happen so it is not a concern.
    819823 *  (2),(3), (4) are handled by the macros _CPU_Priority_mask() and
    820  *  _CPU_Priority_bits_index().  These three form a set of routines
     824 *  _CPU_Priority_Bits_index().  These three form a set of routines
    821825 *  which must logically operate together.  Bits in the _value are
    822826 *  set and cleared based on masks built by _CPU_Priority_mask().
    823827 *  The basic major and minor values calculated by _Priority_Major()
    824  *  and _Priority_Minor() are "massaged" by _CPU_Priority_bits_index()
     828 *  and _Priority_Minor() are "massaged" by _CPU_Priority_Bits_index()
    825829 *  to properly range between the values returned by the "find first bit"
    826830 *  instruction.  This makes it possible for _Priority_Get_highest() to
     
    856860 *      bit set
    857861 */
    858 
    859 #define CPU_USE_GENERIC_BITFIELD_CODE FALSE
    860 #define CPU_USE_GENERIC_BITFIELD_DATA FALSE
    861862
    862863#define _CPU_Bitfield_Find_first_bit( _value, _output ) \
  • c/src/exec/score/cpu/powerpc/cpu_asm.s

    r4442d21c r5c491aef  
    1 /*  cpu_asm.s   1.0 - 95/08/08
     1
     2/*  cpu_asm.s   1.1 - 95/12/04
    23 *
    34 *  This file contains the assembly code for the PowerPC implementation
    45 *  of RTEMS.
    56 *
    6  *  Author:     Andrew Bray <andy@i-cubed.demon.co.uk>
     7 *  Author:     Andrew Bray <andy@i-cubed.co.uk>
    78 *
    89 *  COPYRIGHT (c) 1995 by i-cubed ltd.
     
    672673
    673674/*  Individual interrupt prologues look like this:
    674  *      mtsprg{0,1} r0
    675  *      mfsprg2 r0
    676  *      mtmsr   r0
    677675 * #if (PPC_ABI == PPC_ABI_POWEROPEN || PPC_ABI == PPC_ABI_GCC27)
    678676 * #if (PPC_HAS_FPU)
     
    684682 *      stwu    r1, -(IP_END)(r1)
    685683 * #endif
    686  *      mfsprg{0,1} r0
    687684 *      stw     r0, IP_0(r1)
    688685 *
     
    701698PROC (_ISR_Handler):
    702699#define LABEL(x)        x
    703 #define MTSAVE(x)       mtsprg0 x
    704 #define MFSAVE(x)       mfsprg0 x
     700#define MTSAVE(x)       mtspr   sprg0, x
     701#define MFSAVE(x)       mfspr   x, sprg0
     702#define MTPC(x)         mtspr   srr0, x
     703#define MFPC(x)         mfspr   x, srr0
     704#define MTMSR(x)        mtspr   srr1, x
     705#define MFMSR(x)        mfspr   x, srr1
    705706        #include        "irq_stub.s"
    706707        rfi
     
    719720#undef  MTSAVE
    720721#undef  MFSAVE
     722#undef  MTPC
     723#undef  MFPC
     724#undef  MTMSR
     725#undef  MFMSR
    721726#define LABEL(x)        x##_C
    722 #define MTSAVE(x)       mtsprg1 x
    723 #define MFSAVE(x)       mfsprg1 x
     727#define MTSAVE(x)       mtspr   sprg1, x
     728#define MFSAVE(x)       mfspr   x, sprg1
     729#define MTPC(x)         mtspr   srr2, x
     730#define MFPC(x)         mfspr   x, srr2
     731#define MTMSR(x)        mtspr   srr3, x
     732#define MFMSR(x)        mfspr   x, srr3
    724733        #include        "irq_stub.s"
    725734        rfci
  • c/src/exec/score/cpu/powerpc/irq_stub.s

    r4442d21c r5c491aef  
    1 /*  irq_stub.s  1.0 - 95/08/08
     1/*  irq_stub.s  1.1 - 95/12/04
    22 *
    33 *  This file contains the interrupt handler assembly code for the PowerPC
    44 *  implementation of RTEMS.  It is #included from cpu_asm.s.
    55 *
    6  *  Author:     Andrew Bray <andy@i-cubed.demon.co.uk>
     6 *  Author:     Andrew Bray <andy@i-cubed.co.uk>
    77 *
    88 *  COPYRIGHT (c) 1995 by i-cubed ltd.
     
    4646        mfxer   r7
    4747        mflr    r8
    48         mfsrr0  r9
    49         mfsrr1  r10
     48        MFPC    (r9)
     49        MFMSR   (r10)
    5050        /* Establish addressing */
    51         mfsprg3 r11
     51        mfspr   r11, sprg3
    5252        dcbt    r0, r11
    5353        stw     r5, IP_CR(r1)
     
    7373   */
    7474        /* Switch stacks, here we must prevent ALL interrupts */
     75        mfmsr   r5
     76        mfspr   r6, sprg2
     77        mtmsr   r6
    7578        cmpwi   r30, 0
    7679        lwz     r29, Disable_level(r11)
     
    9497        addi    r31,r31,1
    9598        stw     r31, 0(r29)
     99        mtmsr   r5
    96100  /*
    97101   *  (*_ISR_Vector_table[ vector ])( vector );
     
    121125
    122126        /*      We must re-disable the interrupts */
    123         mfsprg3 r11
    124         mfsprg2 r0
     127        mfspr   r11, sprg3
     128        mfspr   r0, sprg2
    125129        mtmsr   r0
     130        lwz     r30, 0(r28)
     131        lwz     r31, 0(r29)
    126132
    127133  /*
     
    135141        stw     r31, 0(r29)
    136142        bne     LABEL (easy_exit)
     143        cmpwi   r31, 0
    137144
    138145        lwz     r30, Switch_necessary(r11)
     
    144151   */
    145152        lwz     r1,0(r1)
     153        bne     LABEL (easy_exit)
    146154        lwz     r30, 0(r30)
    147155        lwz     r31, Signal(r11)
     
    153161        cmpwi   r30, 0
    154162        lwz     r28, 0(r31)
     163        li      r6,0
    155164        bne     LABEL (switch)
    156165  /* 
     
    160169   */
    161170        cmpwi   r28, 0
    162         li      r6,0
    163171        beq     LABEL (easy_exit)
    164         stw     r6, 0(r31)
    165172
    166173  /*
     
    169176   */
    170177LABEL (switch):
     178        stw     r6, 0(r31)
     179        /* Re-enable interrupts */
     180        lwz     r0, IP_MSR(r1)
    171181#if (PPC_ABI == PPC_ABI_POWEROPEN)
    172182        lwz     r2, Dispatch_r2(r11)
     
    174184        /* R2 and R13 still hold their values from the last call */
    175185#endif
    176         bl      PROC (_Thread_Dispatch)
     186        mtmsr   r0
     187        bl      SYM (_Thread_Dispatch)
    177188        /* NOP marker for debuggers */
    178189        or      r6,r6,r6
     
    181192   */
    182193        /* Re-disable IRQs */
    183         mfsprg2 r0
     194        mfspr   r0, sprg2
    184195        mtmsr   r0
    185196  /*
     
    199210        mtxer   r7
    200211        mtlr    r8
    201         mtsrr0  r9
    202         mtsrr1  r10
     212        MTPC    (r9)
     213        MTMSR   (r10)
    203214        lwz     r0, IP_0(r1)
    204215        lwz     r2, IP_2(r1)
  • c/src/exec/score/cpu/powerpc/ppc.h

    r4442d21c r5c491aef  
    44 *  family members.
    55 *
    6  *  Author:     Andrew Bray <andy@i-cubed.demon.co.uk>
     6 *  Author:     Andrew Bray <andy@i-cubed.co.uk>
    77 *
    88 *  COPYRIGHT (c) 1995 by i-cubed ltd.
     
    9393#define PPC_MSR_0               0x00029200
    9494#define PPC_MSR_1               0x00021200
    95 #define PPC_MSR_2               0x00001000
     95#define PPC_MSR_2               0x00021000
    9696#define PPC_MSR_3               0x00000000
    9797
  • c/src/exec/score/cpu/powerpc/ppctypes.h

    r4442d21c r5c491aef  
    44 *  processor family.
    55 *
    6  *  Author:     Andrew Bray <andy@i-cubed.demon.co.uk>
     6 *  Author:     Andrew Bray <andy@i-cubed.co.uk>
    77 *
    88 *  COPYRIGHT (c) 1995 by i-cubed ltd.
  • c/src/exec/score/cpu/powerpc/rtems.s

    r4442d21c r5c491aef  
    44 *  the PowerPC implementation of RTEMS.
    55 *
    6  *  Author:     Andrew Bray <andy@i-cubed.demon.co.uk>
     6 *  Author:     Andrew Bray <andy@i-cubed.co.uk>
    77 *
    88 *  COPYRIGHT (c) 1995 by i-cubed ltd.
  • c/src/exec/score/macros/rtems/score/tod.inl

    r4442d21c r5c491aef  
    5252 */
    5353
    54 #define _TOD_Activate( ticks ) \
    55    _Watchdog_Insert_ticks( &_TOD_Seconds_watchdog, \
    56       (ticks), WATCHDOG_ACTIVATE_NOW )
     54#define _TOD_Activate( _ticks ) \
     55   _Watchdog_Insert_ticks( &_TOD_Seconds_watchdog, (_ticks) )
    5756
    5857#endif
  • c/src/exec/score/macros/rtems/score/tqdata.inl

    r4442d21c r5c491aef  
    4545  ( (_the_thread_queue)->count )
    4646
     47/*PAGE
     48 *
     49 *  _Thread_queue_Enter_critical_section
     50 *
     51 */
     52 
     53#define _Thread_queue_Enter_critical_section( _the_thread_queue ) \
     54  do { \
     55    (_the_thread_queue)->sync = TRUE; \
     56    (_the_thread_queue)->sync_state = THREAD_QUEUE_NOTHING_HAPPENED; \
     57  } while ( 0 )
     58
    4759#endif
    4860/* end of include file */
  • c/src/exec/score/macros/rtems/score/watchdog.inl

    r4442d21c r5c491aef  
    8585 */
    8686
    87 #define _Watchdog_Insert_ticks( _the_watchdog, _units, _insert_mode ) \
    88   { \
     87#define _Watchdog_Insert_ticks( _the_watchdog, _units ) \
     88  do { \
    8989    (_the_watchdog)->initial = (_units); \
    90     _Watchdog_Insert( &_Watchdog_Ticks_chain, \
    91                         (_the_watchdog), (_insert_mode) ); \
    92   }
     90    _Watchdog_Insert( &_Watchdog_Ticks_chain, (_the_watchdog) ); \
     91  } while ( 0 )
    9392
    9493/*PAGE
     
    9897 */
    9998
    100 #define _Watchdog_Insert_seconds( _the_watchdog, _units, _insert_mode ) \
    101   { \
     99#define _Watchdog_Insert_seconds( _the_watchdog, _units ) \
     100  do { \
    102101    (_the_watchdog)->initial = (_units); \
    103     _Watchdog_Insert( &_Watchdog_Seconds_chain, \
    104                         (_the_watchdog), (_insert_mode) ); \
    105   }
     102    _Watchdog_Insert( &_Watchdog_Seconds_chain, (_the_watchdog) ); \
     103  } while ( 0 )
    106104
    107105/*PAGE
     
    132130   { \
    133131     (void) _Watchdog_Remove( (_the_watchdog) ); \
    134      _Watchdog_Insert( &_Watchdog_Ticks_chain, \
    135                          (_the_watchdog), WATCHDOG_ACTIVATE_NOW ); \
     132     _Watchdog_Insert( &_Watchdog_Ticks_chain, (_the_watchdog) ); \
    136133   }
    137134
  • c/src/exec/score/macros/tod.inl

    r4442d21c r5c491aef  
    5252 */
    5353
    54 #define _TOD_Activate( ticks ) \
    55    _Watchdog_Insert_ticks( &_TOD_Seconds_watchdog, \
    56       (ticks), WATCHDOG_ACTIVATE_NOW )
     54#define _TOD_Activate( _ticks ) \
     55   _Watchdog_Insert_ticks( &_TOD_Seconds_watchdog, (_ticks) )
    5756
    5857#endif
  • c/src/exec/score/macros/tqdata.inl

    r4442d21c r5c491aef  
    4545  ( (_the_thread_queue)->count )
    4646
     47/*PAGE
     48 *
     49 *  _Thread_queue_Enter_critical_section
     50 *
     51 */
     52 
     53#define _Thread_queue_Enter_critical_section( _the_thread_queue ) \
     54  do { \
     55    (_the_thread_queue)->sync = TRUE; \
     56    (_the_thread_queue)->sync_state = THREAD_QUEUE_NOTHING_HAPPENED; \
     57  } while ( 0 )
     58
    4759#endif
    4860/* end of include file */
  • c/src/exec/score/macros/watchdog.inl

    r4442d21c r5c491aef  
    8585 */
    8686
    87 #define _Watchdog_Insert_ticks( _the_watchdog, _units, _insert_mode ) \
    88   { \
     87#define _Watchdog_Insert_ticks( _the_watchdog, _units ) \
     88  do { \
    8989    (_the_watchdog)->initial = (_units); \
    90     _Watchdog_Insert( &_Watchdog_Ticks_chain, \
    91                         (_the_watchdog), (_insert_mode) ); \
    92   }
     90    _Watchdog_Insert( &_Watchdog_Ticks_chain, (_the_watchdog) ); \
     91  } while ( 0 )
    9392
    9493/*PAGE
     
    9897 */
    9998
    100 #define _Watchdog_Insert_seconds( _the_watchdog, _units, _insert_mode ) \
    101   { \
     99#define _Watchdog_Insert_seconds( _the_watchdog, _units ) \
     100  do { \
    102101    (_the_watchdog)->initial = (_units); \
    103     _Watchdog_Insert( &_Watchdog_Seconds_chain, \
    104                         (_the_watchdog), (_insert_mode) ); \
    105   }
     102    _Watchdog_Insert( &_Watchdog_Seconds_chain, (_the_watchdog) ); \
     103  } while ( 0 )
    106104
    107105/*PAGE
     
    132130   { \
    133131     (void) _Watchdog_Remove( (_the_watchdog) ); \
    134      _Watchdog_Insert( &_Watchdog_Ticks_chain, \
    135                          (_the_watchdog), WATCHDOG_ACTIVATE_NOW ); \
     132     _Watchdog_Insert( &_Watchdog_Ticks_chain, (_the_watchdog) ); \
    136133   }
    137134
  • c/src/lib/libbsp/m68k/efi332/startup/bspstart.c

    r4442d21c r5c491aef  
    1 #define STACK_CHECKER_ON
    21/*  bsp_start()
    32 *
  • c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c

    r4442d21c r5c491aef  
    1 #define STACK_CHECKER_ON
    21/*  bsp_start()
    32 *
  • c/src/lib/libbsp/m68k/mvme162/README

    r4442d21c r5c491aef  
    2828to follow the future RTEMS versions. I will do my best to provide
    2929whatever support I can afford time-wise.
     30
     31MVME162FX and DMA on the IP bus
     32-------------------------------
     33
     34From Eric Vaitl <eric@viasat.com>:
     35
     36If you have any customers that will be using the 162FX, tell them to
     37be careful. The main difference between the 162 and the 162FX is DMA
     38on the IP bus. I spent over a month trying to write a DMA HDLC driver
     39for GreenSprings IP-MP and couldn't get it to work. I talked to some
     40people at GreenSprings, and they agreed that there really is no way to
     41get DMA to work unless you know the size of the packets in advance.
     42Once the IP2 chip DMA controller is given the character count and
     43enabled, it doesn't accept further commands until all of the
     44characters have arrived. The only way to terminate a DMA transfer
     45prematurely is by raising DMAEND* during the last read. None of the IP
     46modules that I know of are currently able to do that. GreenSprings is
     47working on the problem, but nothing is going to available for a few
     48months.
    3049
    3150Installation
  • c/src/lib/libbsp/m68k/mvme162/include/bsp.h

    r4442d21c r5c491aef  
    11/*  bsp.h
    22 *
    3  *  This include file contains all MVME162 board IO definitions.
     3 *  This include file contains all MVME162fx board IO definitions.
    44 *
    55 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
     
    166166 * because such stuff is bsp-specific (yet). The function bodies
    167167 * are in console.c
     168 *
     169 * NOTE from Eric Vaitl <evaitl@viasat.com>:
     170 *
     171 * I dropped RTEMS into a 162FX today (the MVME162-513). The 162FX has a
     172 * bug in the MC2 chip (revision 1) such that the SCC data register is
     173 * not accessible, it has to be accessed indirectly through the SCC
     174 * control register.
    168175 */
    169176
     
    191198
    192199#define ZREAD(port, n)  (ZWRITE0(port, n), (scc[port].csr))
    193 #define ZREADD(port)  (scc[port].buf)
     200#define ZREADD(port)  (scc[port].csr=0x08, scc[port].csr )
    194201
    195202#define ZWRITE(port, n, v) (ZWRITE0(port, n), ZWRITE0(port, v))
    196 #define ZWRITED(port, v)  (scc[port].buf = (unsigned char)(v))
     203#define ZWRITED(port, v)  (scc[port].csr = 0x08, \
     204                           scc[port].csr = (unsigned char)(v))
    197205/*----------------------------------------------------------------*/
    198206
  • c/src/lib/libbsp/m68k/mvme162/startup/bspclean.c

    r4442d21c r5c491aef  
    2929  extern void start( void  );
    3030
     31  page_table_teardown();
     32
    3133  lcsr->intr_ena = 0;               /* disable interrupts */
    3234  m68k_set_vbr(0xFFE00000);         /* restore 162Bug vectors */
  • c/src/lib/libbsp/m68k/mvme162/startup/bspstart.c

    r4442d21c r5c491aef  
    189189  lcsr->vector_base = (VBR0 << 28) | (VBR1 << 24);
    190190
    191   m68k_enable_caching();
     191  page_table_init();
    192192
    193193  /*
  • c/src/lib/libbsp/powerpc/papyrus/dlentry/dlentry.s

    r4442d21c r5c491aef  
    44 *  downloaded to Papyrus.
    55 *
    6  *  Author:     Andrew Bray <andy@i-cubed.demon.co.uk>
     6 *  Author:     Andrew Bray <andy@i-cubed.co.uk>
    77 *
    88 *  COPYRIGHT (c) 1995 by i-cubed ltd.
     
    224224        stw     r3, 8(r1)
    225225        stw     r3, 12(r1)
    226         .extern .main
    227         b       .main                    /* call the first C routine */
     226        .extern SYM (main)
     227        b       SYM (main)                       /* call the first C routine */
    228228
    229229/*-------------------------------------------------------------------------------
  • c/src/lib/libbsp/powerpc/papyrus/flashentry/flashentry.s

    r4442d21c r5c491aef  
    44 *  stored in Papyrus' flash ROM.
    55 *
    6  *  Author:     Andrew Bray <andy@i-cubed.demon.co.uk>
     6 *  Author:     Andrew Bray <andy@i-cubed.co.uk>
    77 *
    88 *  COPYRIGHT (c) 1995 by i-cubed ltd.
     
    231231        addis   r2,r0,0x8000
    232232        addi    r2,r2,0x0001
    233         mticcr  r2
    234         mtdccr  r2
     233
     234        mtspr   0x3fb, r2               /* ICCR */
     235        mtspr   0x3fa, r2               /* DCCR */
     236
    235237        /*-----------------------------------------------------------------------
    236238         * C_setup.
     
    244246        stw     r3, 8(r1)
    245247        stw     r3, 12(r1)
    246         .extern .main
    247         b       .main            /* call the first C routine */
     248        .extern SYM (main)
     249        b       SYM (main)            /* call the first C routine */
    248250
    249251/*-------------------------------------------------------------------------------
  • c/src/lib/libbsp/powerpc/papyrus/include/bsp.h

    r4442d21c r5c491aef  
    33 *  This include file contains all Papyrus board IO definitions.
    44 *
    5  *  Author:     Andrew Bray <andy@i-cubed.demon.co.uk>
     5 *  Author:     Andrew Bray <andy@i-cubed.co.uk>
    66 *
    77 *  COPYRIGHT (c) 1995 by i-cubed ltd.
     
    4545#include <rtems.h>
    4646#include <console.h>
     47#include <clockdrv.h>
     48#include <console.h>
     49#include <iosupp.h>
    4750
    4851/*
     
    5659#define MAX_LONG_TEST_DURATION       300 /* 5 minutes = 300 seconds */
    5760#define MAX_SHORT_TEST_DURATION      3   /* 3 seconds */
     61
    5862
    5963/*
     
    7983  { \
    8084    unsigned32 start, ticks, now; \
    81     asm volatile ("mftblo %0" : "=r" (start)); \
     85    asm volatile ("mfspr %0, 0x3dd" : "=r" (start)); /* TBLO */ \
    8286    ticks = (microseconds) * Cpu_table.clicks_per_usec; \
    8387    do \
    84       asm volatile ("mftblo %0" : "=r" (now)); \
     88      asm volatile ("mfspr %0, 0x3dd" : "=r" (now)); /* TBLO */ \
    8589    while (now - start < ticks); \
    8690  }
     91
    8792
    8893/* Constants */
     
    9095#define RAM_START 0
    9196#define RAM_END   0x00200000
     97
     98
     99/* Some useful LED debugging bits */
     100/* LED numbers are from 0-2 */
     101#define __led_base      ((volatile int *)0x7F200000)
     102
     103/* Turn a LED on */
     104#define led_on(n)       (__led_base[n] = 0)
     105
     106/* Turn a LED off */
     107#define led_off(n)      (__led_base[n] = 1)
    92108
    93109/* miscellaneous stuff assumed to exist */
     
    99115 *  Device Driver Table Entries
    100116 */
    101 
     117 
    102118/*
    103119 * NOTE: Use the standard Console driver entry
     
    107123 * NOTE: Use the standard Clock driver entry
    108124 */
    109 
     125 
    110126/*
    111127 * How many libio files we want
    112128 */
    113 
     129 
    114130#define BSP_LIBIO_MAX_FDS       20
    115131
    116132/* functions */
    117133
    118 void bsp_start( void );
     134int bsp_start(
     135  int   argc,
     136  char **argv,
     137  char **environp
     138);
     139
    119140void bsp_cleanup( void );
    120141
  • c/src/lib/libbsp/powerpc/papyrus/include/coverhd.h

    r4442d21c r5c491aef  
    2727
    2828/*
    29  *  Updated for a 25MHz Papyrus by Andrew Bray <andy@i-cubed.demon.co.uk>
     29 *  Updated for a 25MHz Papyrus by Andrew Bray <andy@i-cubed.co.uk>
    3030 *
    3131 *  Units are 100ns.
  • c/src/lib/libbsp/powerpc/papyrus/startup/bspclean.c

    r4442d21c r5c491aef  
    88 *  OUTPUT: NONE
    99 *
    10  *  Author:     Andrew Bray <andy@i-cubed.demon.co.uk>
     10 *  Author:     Andrew Bray <andy@i-cubed.co.uk>
    1111 *
    1212 *  COPYRIGHT (c) 1995 by i-cubed ltd.
  • c/src/lib/libbsp/powerpc/papyrus/startup/bspstart.c

    r4442d21c r5c491aef  
    1010 *  OUTPUT: NONE
    1111 *
    12  *  Author:     Andrew Bray <andy@i-cubed.demon.co.uk>
     12 *  Author:     Andrew Bray <andy@i-cubed.co.uk>
    1313 *
    1414 *  COPYRIGHT (c) 1995 by i-cubed ltd.
     
    167167}
    168168
    169 int main(
     169int bsp_start(
    170170  int argc,
    171171  char **argv,
     
    226226   */
    227227
    228 /*BSP_Configuration.work_space_size *= 4;*/
    229 
    230228  BSP_Configuration.work_space_start = (void *)
    231229      RAM_END - BSP_Configuration.work_space_size;
  • c/src/lib/libbsp/powerpc/papyrus/startup/setvec.c

    r4442d21c r5c491aef  
    1313 *    address of previous interrupt handler
    1414 *
    15  *  Author:     Andrew Bray <andy@i-cubed.demon.co.uk>
     15 *  Author:     Andrew Bray <andy@i-cubed.co.uk>
    1616 *
    1717 *  COPYRIGHT (c) 1995 by i-cubed ltd.
  • c/src/lib/libbsp/unix/posix/shmsupp/README

    r4442d21c r5c491aef  
     1#
     2#  $Id$
     3#
     4
     5This directory contains the SHM driver support files for
     6System V/POSIX derived UNIX flavors.
     7
     8WARNING: The interrupt support in this directory currently will
     9         only work in a homogeneous system.
  • c/src/lib/libbsp/unix/posix/shmsupp/addrconv.c

    r4442d21c r5c491aef  
     1/*  addrconv.v
     2 *
     3 *  No address range conversion is required.
     4 *
     5 *  Input parameters:
     6 *    addr    - address to convert
     7 *
     8 *  Output parameters:
     9 *    returns - converted address
     10 *
     11 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
     12 *  On-Line Applications Research Corporation (OAR).
     13 *  All rights assigned to U.S. Government, 1994.
     14 *
     15 *  This material may be reproduced by or for the U.S. Government pursuant
     16 *  to the copyright license under the clause at DFARS 252.227-7013.  This
     17 *  notice must appear in all copies of this file and its derivatives.
     18 *
     19 *  $Id$
     20 */
     21
     22#include <bsp.h>
     23#include <shm.h>
     24
     25void *Shm_Convert_address(
     26  void *addr
     27)
     28{
     29  return ( addr );
     30}
  • c/src/lib/libbsp/unix/posix/shmsupp/getcfg.c

    r4442d21c r5c491aef  
     1/*  void Shm_get_config( localnode, &shmcfg )
     2 *
     3 *  This routine initializes, if necessary, and returns a pointer
     4 *  to the Shared Memory Configuration Table for the UNIX
     5 *  simulator.
     6 *
     7 *  INPUT PARAMETERS:
     8 *    localnode - local node number
     9 *    shmcfg    - address of pointer to SHM Config Table
     10 *
     11 *  OUTPUT PARAMETERS:
     12 *    *shmcfg   - pointer to SHM Config Table
     13 *
     14 *  NOTES:  This driver is capable of supporting a practically unlimited
     15 *          number of nodes.
     16 *
     17 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
     18 *  On-Line Applications Research Corporation (OAR).
     19 *  All rights assigned to U.S. Government, 1994.
     20 *
     21 *  This material may be reproduced by or for the U.S. Government pursuant
     22 *  to the copyright license under the clause at DFARS 252.227-7013.  This
     23 *  notice must appear in all copies of this file and its derivatives.
     24 *
     25 *  $Id$
     26 */
     27
     28#include <bsp.h>
     29#include <shm.h>
     30
     31shm_config_table BSP_shm_cfgtbl;
     32
     33int              semid;
     34
     35void Shm_Cause_interrupt_unix(
     36  rtems_unsigned32 node
     37);
     38
     39void Shm_Get_configuration(
     40  rtems_unsigned32   localnode,
     41  shm_config_table **shmcfg
     42)
     43{
     44  _CPU_SHM_Init(
     45    Shm_Maximum_nodes,
     46    Shm_Is_master_node(),
     47    (void **)&BSP_shm_cfgtbl.base,
     48    (unsigned32 *)&BSP_shm_cfgtbl.length
     49  );
     50
     51  BSP_shm_cfgtbl.format       = SHM_BIG;
     52
     53  BSP_shm_cfgtbl.cause_intr   = Shm_Cause_interrupt_unix;
     54
     55#ifdef NEUTRAL_BIG
     56  BSP_shm_cfgtbl.convert      = NULL_CONVERT;
     57#else
     58  BSP_shm_cfgtbl.convert      = CPU_swap_u32;
     59#endif
     60
     61  if ( _CPU_SHM_Get_vector() ) {
     62    BSP_shm_cfgtbl.poll_intr    = INTR_MODE;
     63    BSP_shm_cfgtbl.Intr.address = (vol_u32 *) _CPU_Get_pid(); /* process id */
     64    BSP_shm_cfgtbl.Intr.value   = _CPU_SHM_Get_vector();  /* signal to send */
     65    BSP_shm_cfgtbl.Intr.length  = LONG;
     66  } else {
     67    BSP_shm_cfgtbl.poll_intr    = POLLED_MODE;
     68    BSP_shm_cfgtbl.Intr.address = NO_INTERRUPT;
     69    BSP_shm_cfgtbl.Intr.value   = NO_INTERRUPT;
     70    BSP_shm_cfgtbl.Intr.length  = NO_INTERRUPT;
     71  }
     72
     73  *shmcfg = &BSP_shm_cfgtbl;
     74}
  • c/src/lib/libbsp/unix/posix/shmsupp/intr.c

    r4442d21c r5c491aef  
     1/*  void Shm_interrupt_unix( node )
     2 *
     3 *  This routine is the shared memory driver routine which
     4 *  generates interrupts to other CPUs.
     5 *
     6 *  Input parameters:
     7 *    node          - destination of this packet (0 = broadcast)
     8 *
     9 *  Output parameters: NONE
     10 *
     11 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
     12 *  On-Line Applications Research Corporation (OAR).
     13 *  All rights assigned to U.S. Government, 1994.
     14 *
     15 *  This material may be reproduced by or for the U.S. Government pursuant
     16 *  to the copyright license under the clause at DFARS 252.227-7013.  This
     17 *  notice must appear in all copies of this file and its derivatives.
     18 *
     19 *  $Id$
     20 */
     21
     22#include <bsp.h>
     23#include <shm.h>
     24
     25void Shm_Cause_interrupt_unix(
     26  rtems_unsigned32 node
     27)
     28{
     29  Shm_Interrupt_information *intr;
     30  intr = &Shm_Interrupt_table[node];
     31 
     32  _CPU_SHM_Send_interrupt( (int) intr->address, (int) intr->value );
     33}
  • c/src/lib/libbsp/unix/posix/shmsupp/lock.c

    r4442d21c r5c491aef  
     1/*  Shared Memory Lock Routines
     2 *
     3 *  This shared memory locked queue support routine need to be
     4 *  able to lock the specified locked queue.  Interrupts are
     5 *  disabled while the queue is locked to prevent preemption
     6 *  and deadlock when two tasks poll for the same lock.
     7 *  previous level.
     8 *
     9 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
     10 *  On-Line Applications Research Corporation (OAR).
     11 *  All rights assigned to U.S. Government, 1994.
     12 *
     13 *  This material may be reproduced by or for the U.S. Government pursuant
     14 *  to the copyright license under the clause at DFARS 252.227-7013.  This
     15 *  notice must appear in all copies of this file and its derivatives.
     16 *
     17 *  $Id$
     18 */
     19
     20#include <bsp.h>
     21#include <shm.h>
     22
     23extern int      semid;
     24
     25/*
     26 *  Shm_Initialize_lock
     27 *
     28 *  Initialize the lock for the specified locked queue.
     29 */
     30
     31void Shm_Initialize_lock(
     32  Shm_Locked_queue_Control *lq_cb
     33)
     34{
     35  lq_cb->lock = lq_cb - Shm_Locked_queues;
     36}
     37
     38/*  Shm_Lock( &lq_cb )
     39 *
     40 *  This shared memory locked queue support routine locks the
     41 *  specified locked queue.  It disables interrupts to prevent
     42 *  a deadlock condition.
     43 */
     44
     45void Shm_Lock(
     46  Shm_Locked_queue_Control *lq_cb
     47)
     48{
     49  rtems_unsigned32   isr_level;
     50
     51  rtems_interrupt_disable( isr_level );
     52
     53  Shm_isrstat = isr_level;
     54
     55  _CPU_SHM_Lock( lq_cb->lock );
     56}
     57
     58/*
     59 *  Shm_Unlock
     60 *
     61 *  Unlock the lock for the specified locked queue.
     62 */
     63
     64void Shm_Unlock(
     65  Shm_Locked_queue_Control *lq_cb
     66)
     67{
     68  rtems_unsigned32   isr_level;
     69
     70  _CPU_SHM_Unlock( lq_cb->lock );
     71
     72  isr_level = Shm_isrstat;
     73  rtems_interrupt_enable( isr_level );
     74}
  • c/src/tests/mptests/mp12/system.h

    r4442d21c r5c491aef  
     1/*  system.h
     2 *
     3 *  This include file contains information that is included in every
     4 *  function in the test set.
     5 *
     6 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
     7 *  On-Line Applications Research Corporation (OAR).
     8 *  All rights assigned to U.S. Government, 1994.
     9 *
     10 *  This material may be reproduced by or for the U.S. Government pursuant
     11 *  to the copyright license under the clause at DFARS 252.227-7013.  This
     12 *  notice must appear in all copies of this file and its derivatives.
     13 *
     14 *  $Id$
     15 */
     16
     17#include <tmacros.h>
     18
     19#define PT_NAME       rtems_build_name( 'P', 'A', 'R', '\0' )
     20
     21/* functions */
     22
     23rtems_task Init(
     24  rtems_task_argument argument
     25);
     26
     27/* configuration information */
     28 
     29#define CONFIGURE_MPTEST
     30 
     31#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
     32#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
     33
     34#define CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS     1
     35#define CONFIGURE_MP_MAXIMUM_PROXIES            0
     36 
     37#if ( NODE_NUMBER == 1 )
     38#define CONFIGURE_MAXIMUM_PARTITIONS          1
     39#elif ( NODE_NUMBER == 2 )
     40#define CONFIGURE_MAXIMUM_PARTITIONS          2
     41#endif
     42
     43#include <confdefs.h>
     44
     45/* variables */
     46
     47TEST_EXTERN rtems_id   Task_id[ 4 ];     /* array of task ids */
     48TEST_EXTERN rtems_name Task_name[ 4 ];   /* array of task names */
     49
     50TEST_EXTERN rtems_id   Partition_id[ 2 ];   /* array of partition ids */
     51TEST_EXTERN rtems_name Partition_name[ 2 ]; /* array of partition names */
     52
     53/* end of include file */
  • c/src/tests/mptests/mp14/init.c

    r4442d21c r5c491aef  
    167167    Partition_task_name[ Multiprocessing_configuration.node ],
    168168    2,
    169     RTEMS_MINIMUM_STACK_SIZE,
     169    RTEMS_MINIMUM_STACK_SIZE * 2,
    170170    RTEMS_TIMESLICE,
    171171    RTEMS_GLOBAL,
  • c/src/tests/support/stubdr/close.c

    r4442d21c r5c491aef  
     1/*  Stub_close
     2 *
     3 *  This routine is the terminal driver close routine.
     4 *
     5 *  Input parameters:
     6 *    major - device major number
     7 *    minor - device minor number
     8 *    pargb - pointer to close parameter block
     9 *
     10 *  Output parameters:
     11 *    rval       - STUB_SUCCESSFUL
     12 *
     13 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
     14 *  On-Line Applications Research Corporation (OAR).
     15 *  All rights assigned to U.S. Government, 1994.
     16 *
     17 *  This material may be reproduced by or for the U.S. Government pursuant
     18 *  to the copyright license under the clause at DFARS 252.227-7013.  This
     19 *  notice must appear in all copies of this file and its derivatives.
     20 *
     21 *  $Id$
     22 */
     23
     24#include <rtems.h>
     25#include "stubdrv.h"
     26
     27rtems_device_driver Stub_close(
     28  rtems_device_major_number major,
     29  rtems_device_minor_number minor,
     30  void *pargp
     31)
     32{
     33  return STUB_SUCCESSFUL;
     34}
  • c/src/tests/support/stubdr/cntrl.c

    r4442d21c r5c491aef  
     1/*  Stub_control
     2 *
     3 *  This routine is the terminal driver control routine.
     4 *
     5 *  Input parameters:
     6 *    major - device major number
     7 *    minor - device minor number
     8 *    pargp - pointer to cntrl parameter block
     9 *
     10 *  Output parameters:
     11 *    rval       - STUB_SUCCESSFUL
     12 *
     13 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
     14 *  On-Line Applications Research Corporation (OAR).
     15 *  All rights assigned to U.S. Government, 1994.
     16 *
     17 *  This material may be reproduced by or for the U.S. Government pursuant
     18 *  to the copyright license under the clause at DFARS 252.227-7013.  This
     19 *  notice must appear in all copies of this file and its derivatives.
     20 *
     21 *  $Id$
     22 */
     23
     24#include <rtems.h>
     25#include "stubdrv.h"
     26
     27rtems_device_driver Stub_control(
     28  rtems_device_major_number major,
     29  rtems_device_minor_number minor,
     30  void *pargp
     31)
     32{
     33  return STUB_SUCCESSFUL;
     34}
  • c/src/tests/tmtests/tm01/task1.c

    r4442d21c r5c491aef  
    162162
    163163  put_time(
    164     "rtems_semaphore_obtain",
     164    "rtems_semaphore_obtain: available",
    165165    semaphore_obtain_time,
    166166    OPERATION_COUNT * OPERATION_COUNT,
     
    170170
    171171  put_time(
    172     "rtems_semaphore_obtain (RTEMS_NO_WAIT)",
     172    "rtems_semaphore_obtain: not available -- NO_WAIT",
    173173    semaphore_obtain_no_wait_time,
    174174    OPERATION_COUNT * OPERATION_COUNT,
     
    178178
    179179  put_time(
    180     "rtems_semaphore_release",
     180    "rtems_semaphore_release: no waiting tasks",
    181181    semaphore_release_time,
    182182    OPERATION_COUNT * OPERATION_COUNT * 2,
  • c/src/tests/tmtests/tm02/task1.c

    r4442d21c r5c491aef  
    147147
    148148  put_time(
    149     "rtems_semaphore_obtain (blocking)",
     149    "rtems_semaphore_obtain: not available -- caller blocks",
    150150    end_time,
    151151    OPERATION_COUNT,
  • c/src/tests/tmtests/tm03/task1.c

    r4442d21c r5c491aef  
    140140
    141141  put_time(
    142     "rtems_semaphore_release (preemptive)",
     142    "rtems_semaphore_release: task readied -- preempts caller",
    143143    end_time,
    144144    OPERATION_COUNT,
  • c/src/tests/tmtests/tm04/task1.c

    r4442d21c r5c491aef  
    9595
    9696    put_time(
    97       "rtems_task_restart (blocked, preempt)",
     97      "rtems_task_restart: blocked task -- preempts caller",
    9898      end_time,
    9999      1,
     
    114114
    115115    put_time(
    116       "rtems_task_restart (ready, preempt)",
     116      "rtems_task_restart: ready task -- preempts caller",
    117117      end_time,
    118118      1,
     
    161161
    162162  put_time(
    163     "rtems_semaphore_release (readying)",
     163    "rtems_semaphore_release: task readied -- returns to caller",
    164164    end_time,
    165165    OPERATION_COUNT,
     
    238238
    239239  put_time(
    240     "rtems_task_restart (suspended)",
     240    "rtems_task_restart: suspended task -- returns to caller",
    241241    end_time,
    242242    OPERATION_COUNT,
     
    254254
    255255  put_time(
    256     "rtems_task_delete (suspended)",
     256    "rtems_task_delete: suspended task",
    257257    end_time,
    258258    OPERATION_COUNT,
     
    282282
    283283  put_time(
    284     "rtems_task_restart (ready)",
     284    "rtems_task_restart: ready task -- returns to caller",
    285285    end_time,
    286286    OPERATION_COUNT,
     
    304304
    305305  put_time(
    306     "rtems_task_restart (blocked, no preempt)",
     306    "rtems_task_restart: blocked task -- returns to caller",
    307307    end_time,
    308308    OPERATION_COUNT,
     
    321321
    322322  put_time(
    323     "rtems_task_delete (blocked)",
     323    "rtems_task_delete: blocked task",
    324324    end_time,
    325325    OPERATION_COUNT,
  • c/src/tests/tmtests/tm05/task1.c

    r4442d21c r5c491aef  
    9191
    9292  put_time(
    93     "rtems_task_resume (causing preempt)",
     93    "rtems_task_resume: task readied -- preempts caller",
    9494    end_time,
    9595    OPERATION_COUNT,
     
    120120
    121121  put_time(
    122     "rtems_task_suspend self",
     122    "rtems_task_suspend: calling task",
    123123    end_time,
    124124    OPERATION_COUNT,
  • c/src/tests/tmtests/tm06/task1.c

    r4442d21c r5c491aef  
    8989
    9090  put_time(
    91     "rtems_task_restart self",
     91    "rtems_task_restart: calling task",
    9292    end_time,
    9393    OPERATION_COUNT,
     
    117117
    118118  put_time(
    119     "rtems_task_suspend (no preempt)",
     119    "rtems_task_suspend: returns to caller",
    120120    end_time,
    121121    OPERATION_COUNT,
     
    130130
    131131  put_time(
    132     "rtems_task_resume (no preempt)",
     132    "rtems_task_resume: task readied -- returns to caller",
    133133    end_time,
    134134    OPERATION_COUNT,
     
    143143
    144144  put_time(
    145     "rtems_task_delete (others)",
     145    "rtems_task_delete: ready task",
    146146    end_time,
    147147    OPERATION_COUNT,
  • c/src/tests/tmtests/tm07/task1.c

    r4442d21c r5c491aef  
    1515#include "system.h"
    1616
    17 rtems_id Task_id[OPERATION_COUNT+1], task_index;
     17rtems_id Task_id[ OPERATION_COUNT+1 ], task_index;
    1818
    1919rtems_task High_task(
     
    8585
    8686    put_time(
    87       "rtems_task_restart suspended/preempt",
     87      "rtems_task_restart: suspended task -- preempts caller",
    8888      end_time,
    8989      OPERATION_COUNT,
  • c/src/tests/tmtests/tm08/task1.c

    r4442d21c r5c491aef  
    9898
    9999  put_time(
    100     "rtems_task_set_priority current priority",
     100    "rtems_task_set_priority: obtain current priority",
    101101    end_time,
    102102    OPERATION_COUNT,
     
    111111
    112112  put_time(
    113     "rtems_task_set_priority no preempt",
     113    "rtems_task_set_priority: returns to caller",
    114114    end_time,
    115115    OPERATION_COUNT,
     
    128128
    129129  put_time(
    130     "rtems_task_mode (current)",
     130    "rtems_task_mode: obtain current mode",
    131131    end_time,
    132132    OPERATION_COUNT,
     
    151151
    152152  put_time(
    153     "rtems_task_mode (no reschedule)",
     153    "rtems_task_mode: no reschedule",
    154154    end_time,
    155155    OPERATION_COUNT * 2,
     
    163163
    164164  put_time(
    165     "rtems_task_mode (reschedule)",
     165    "rtems_task_mode: reschedule -- returns to caller",
    166166    end_time,
    167167    1,
     
    245245
    246246  put_time(
    247     "rtems_task_mode (preemptive)",
     247    "rtems_task_mode: reschedule -- preempts caller",
    248248    end_time,
    249249    1,
  • c/src/tests/tmtests/tm09/task1.c

    r4442d21c r5c491aef  
    185185
    186186  put_time(
    187     "rtems_message_queue_send (no tasks waiting)",
     187    "rtems_message_queue_send: no waiting tasks",
    188188    send_time,
    189189    OPERATION_COUNT * OPERATION_COUNT,
     
    193193
    194194  put_time(
    195     "rtems_message_queue_urgent (no tasks waiting)",
     195    "rtems_message_queue_urgent: no waiting tasks",
    196196    urgent_time,
    197197    OPERATION_COUNT * OPERATION_COUNT,
     
    201201
    202202  put_time(
    203     "rtems_message_queue_receive (messages available)",
     203    "rtems_message_queue_receive: available",
    204204    receive_time,
    205205    OPERATION_COUNT * OPERATION_COUNT * 2,
     
    209209
    210210  put_time(
    211     "rtems_message_queue_flush (empty queue)",
     211    "rtems_message_queue_flush: no messages flushed",
    212212    empty_flush_time,
    213213    OPERATION_COUNT,
     
    217217
    218218  put_time(
    219     "rtems_message_queue_flush (messages flushed)",
     219    "rtems_message_queue_flush: messages flushed",
    220220    flush_time,
    221221    OPERATION_COUNT,
  • c/src/tests/tmtests/tm10/task1.c

    r4442d21c r5c491aef  
    106106
    107107  put_time(
    108     "rtems_message_queue_receive (RTEMS_NO_WAIT)",
     108    "rtems_message_queue_receive: not available -- NO_WAIT",
    109109    end_time,
    110110    OPERATION_COUNT,
     
    154154
    155155  put_time(
    156     "rtems_message_queue_receive (blocking)",
     156    "rtems_message_queue_receive: not available -- caller blocks",
    157157    end_time,
    158158    OPERATION_COUNT,
  • c/src/tests/tmtests/tm11/task1.c

    r4442d21c r5c491aef  
    144144
    145145  put_time(
    146     "rtems_message_queue_send (preemptive)",
     146    "rtems_message_queue_send: task readied -- preempts caller",
    147147    end_time,
    148148    OPERATION_COUNT,
  • c/src/tests/tmtests/tm12/task1.c

    r4442d21c r5c491aef  
    120120
    121121  put_time(
    122     "rtems_message_queue_send (readying)",
     122    "rtems_message_queue_send: task readied -- returns to caller",
    123123    end_time,
    124124    OPERATION_COUNT,
  • c/src/tests/tmtests/tm13/task1.c

    r4442d21c r5c491aef  
    143143
    144144  put_time(
    145     "rtems_message_queue_urgent (preemptive)",
     145    "rtems_message_queue_urgent: task readied -- preempts caller",
    146146    end_time,
    147147    OPERATION_COUNT,
  • c/src/tests/tmtests/tm14/task1.c

    r4442d21c r5c491aef  
    120120
    121121  put_time(
    122     "rtems_message_queue_urgent (readying)",
     122    "rtems_message_queue_urgent: task readied -- returns to caller",
    123123    end_time,
    124124    OPERATION_COUNT,
  • c/src/tests/tmtests/tm15/task1.c

    r4442d21c r5c491aef  
    9999
    100100  put_time(
    101     "rtems_event_receive (current)",
     101    "rtems_event_receive: obtain current events",
    102102    end_time,
    103103    OPERATION_COUNT,
     
    120120
    121121  put_time(
    122     "rtems_event_receive (RTEMS_NO_WAIT)",
     122    "rtems_event_receive: not available -- NO_WAIT",
    123123    end_time,
    124124    OPERATION_COUNT,
     
    138138
    139139  put_time(
    140     "rtems_event_receive (blocking)",
     140    "rtems_event_receive: not available -- caller blocks",
    141141    end_time,
    142142    OPERATION_COUNT,
     
    156156
    157157  put_time(
    158     "rtems_event_send (non-blocking)",
     158    "rtems_event_send: no task readied",
    159159    end_time,
    160160    OPERATION_COUNT,
     
    173173
    174174  put_time(
    175     "rtems_event_receive (available)",
     175    "rtems_event_receive: available",
    176176    end_time,
    177177    1,
     
    186186
    187187  put_time(
    188     "rtems_event_send (readying)",
     188    "rtems_event_send: task readied -- returns to caller",
    189189    end_time,
    190190    OPERATION_COUNT,
  • c/src/tests/tmtests/tm16/task1.c

    r4442d21c r5c491aef  
    137137
    138138  put_time(
    139     "rtems_event_send (preemptive)",
     139    "rtems_event_send: task readied -- preempts caller",
    140140    end_time,
    141141    OPERATION_COUNT,
  • c/src/tests/tmtests/tm17/task1.c

    r4442d21c r5c491aef  
    116116
    117117  put_time(
    118     "rtems_task_set_priority (preemptive)",
     118    "rtems_task_set_priority: preempts caller",
    119119    end_time,
    120120    OPERATION_COUNT,
  • c/src/tests/tmtests/tm18/task1.c

    r4442d21c r5c491aef  
    101101
    102102  put_time(
    103     "rtems_task_delete self",
     103    "rtems_task_delete: calling task",
    104104    end_time,
    105105    OPERATION_COUNT,
  • c/src/tests/tmtests/tm19/task1.c

    r4442d21c r5c491aef  
    9595
    9696  put_time(
    97     "rtems_signal_send (self)",
     97    "rtems_signal_send: signal to self",
    9898    end_time,
    9999    1,
     
    102102  );
    103103
    104   puts( "SIGNAL_ENTER (non-preemptive) na" );
    105 
    106104  Timer_initialize();
    107105}
     
    112110{
    113111  rtems_status_code status;
    114 
    115   puts( "SIGNAL_ENTER (preemptive) na" );
    116112
    117113  status = rtems_task_resume( Task_id[ 3 ] );
     
    144140
    145141  put_time(
    146     "rtems_signal_send (non-preemptive)",
     142    "rtems_signal_send: returns to caller",
    147143    end_time,
    148144    1,
     
    159155
    160156  put_time(
    161     "SIGNAL_RETURN (non-preemptive)",
     157    "exit ASR overhead: returns to calling task",
    162158    end_time,
    163159    1,
     
    201197
    202198  put_time(
    203     "SIGNAL_RETURN (preemptive)",
     199    "exit ASR overhead: returns to preempting task",
    204200    end_time,
    205201    1,
  • c/src/tests/tmtests/tm20/task1.c

    r4442d21c r5c491aef  
    138138
    139139  put_time(
    140     "rtems_partition_get_buffer (available)",
     140    "rtems_partition_get_buffer: available",
    141141    end_time,
    142142    1,
     
    163163
    164164  put_time(
    165     "rtems_partition_get_buffer (not available)",
     165    "rtems_partition_get_buffer: not available",
    166166    end_time,
    167167    1,
     
    224224
    225225  put_time(
    226     "rtems_region_get_segment (available)",
     226    "rtems_region_get_segment: available",
    227227    end_time,
    228228    1,
     
    242242
    243243  put_time(
    244     "rtems_region_get_segment (RTEMS_NO_WAIT)",
     244    "rtems_region_get_segment: not available -- NO_WAIT",
    245245    end_time,
    246246    1,
     
    257257
    258258  put_time(
    259     "rtems_region_return_segment (no tasks waiting)",
     259    "rtems_region_return_segment: no waiting tasks",
    260260    end_time,
    261261    1,
     
    287287
    288288  put_time(
    289     "rtems_region_return_segment (preempt)",
     289    "rtems_region_return_segment: task readied -- preempts caller",
    290290    end_time,
    291291    1,
     
    438438
    439439  put_time(
    440     "rtems_region_get_segment (blocking)",
     440    "rtems_region_get_segment: not available -- caller blocks",
    441441    end_time,
    442442    1,
     
    455455
    456456  put_time(
    457     "rtems_region_return_segment (ready -- return)",
     457    "rtems_region_return_segment: task readied -- returns to caller",
    458458    end_time,
    459459    1,
  • c/src/tests/tmtests/tm22/task1.c

    r4442d21c r5c491aef  
    9898
    9999  put_time(
    100     "rtems_message_queue_broadcast (readying)",
     100    "rtems_message_queue_broadcast: task readied -- returns to caller",
    101101    end_time,
    102102    1,
     
    152152
    153153  put_time(
    154     "rtems_message_queue_broadcast (no waiting tasks)",
     154    "rtems_message_queue_broadcast: no waiting tasks",
    155155    end_time,
    156156    OPERATION_COUNT,
     
    172172
    173173  put_time(
    174     "rtems_message_queue_broadcast (preempt)",
     174    "rtems_message_queue_broadcast: task readied -- preempts caller",
    175175    end_time,
    176176    1,
  • c/src/tests/tmtests/tm23/task1.c

    r4442d21c r5c491aef  
    123123
    124124  put_time(
    125     "rtems_timer_fire_after (inactive)",
     125    "rtems_timer_fire_after: inactive",
    126126    end_time,
    127127    OPERATION_COUNT,
     
    136136
    137137  put_time(
    138     "rtems_timer_fire_after (active)",
     138    "rtems_timer_fire_after: active",
    139139    end_time,
    140140    OPERATION_COUNT,
     
    149149
    150150  put_time(
    151     "rtems_timer_cancel (active)",
     151    "rtems_timer_cancel: active",
    152152    end_time,
    153153    OPERATION_COUNT,
     
    163163
    164164  put_time(
    165     "rtems_timer_cancel (inactive)",
     165    "rtems_timer_cancel: inactive",
    166166    end_time,
    167167    OPERATION_COUNT,
     
    177177
    178178  put_time(
    179     "rtems_timer_reset (inactive)",
     179    "rtems_timer_reset: inactive",
    180180    end_time,
    181181    OPERATION_COUNT,
     
    190190
    191191  put_time(
    192     "rtems_timer_reset (active)",
     192    "rtems_timer_reset: active",
    193193    end_time,
    194194    OPERATION_COUNT,
     
    214214
    215215  put_time(
    216     "rtems_timer_fire_when (inactive)",
     216    "rtems_timer_fire_when: inactive",
    217217    end_time,
    218218    OPERATION_COUNT,
     
    228228
    229229  put_time(
    230     "rtems_timer_fire_when (active)",
     230    "rtems_timer_fire_when: active",
    231231    end_time,
    232232    OPERATION_COUNT,
     
    241241
    242242  put_time(
    243     "rtems_timer_delete (active)",
     243    "rtems_timer_delete: active",
    244244    end_time,
    245245    OPERATION_COUNT,
     
    266266
    267267  put_time(
    268     "rtems_timer_delete (inactive)",
     268    "rtems_timer_delete: inactive",
    269269    end_time,
    270270    OPERATION_COUNT,
  • c/src/tests/tmtests/tm24/task1.c

    r4442d21c r5c491aef  
    8686
    8787  put_time(
    88     "rtems_task_wake_after (no context switch)",
     88    "rtems_task_wake_after: yield -- returns to caller",
    8989    end_time,
    9090    OPERATION_COUNT,
     
    111111
    112112    put_time(
    113       "rtems_task_wake_after (context switch)",
     113      "rtems_task_wake_after: yields -- preempts caller",
    114114      end_time,
    115115      OPERATION_COUNT,
  • c/src/tests/tmtests/tm26/task1.c

    r4442d21c r5c491aef  
    174174 
    175175  put_time(
    176     "INTERRUPT DISABLE",
     176    "_ISR_Disable",
    177177    end_time,
    178178    1,
     
    186186 
    187187  put_time(
    188     "INTERRUPT FLASH",
     188    "_ISR_Flash",
    189189    end_time,
    190190    1,
     
    198198 
    199199  put_time(
    200     "INTERRUPT ENABLE",
     200    "_ISR_Enable",
    201201    end_time,
    202202    1,
     
    210210
    211211  put_time(
    212     "THREAD_DISABLE_DISPATCH",
     212    "_Thread_Disable_dispatch",
    213213    end_time,
    214214    1,
     
    222222
    223223  put_time(
    224     "THREAD_ENABLE_DISPATCH",
     224    "_Thread_Enable_dispatch",
    225225    end_time,
    226226    1,
     
    234234
    235235  put_time(
    236     "THREAD_SET_STATE",
     236    "_Thread_Set_state",
    237237    end_time,
    238238    1,
     
    254254
    255255  put_time(
    256     "THREAD_DISPATCH (NO FP)",
     256    "_Thread_Disptach (NO FP)",
    257257    end_time,
    258258    1,
     
    290290
    291291  put_time(
    292     "CONTEXT_SWITCH (NO FP)",
     292    "context switch: no floating point contexts",
    293293    end_time,
    294294    1,
     
    307307
    308308  put_time(
    309     "CONTEXT_SWITCH (SELF)",
     309    "context switch: self",
    310310    end_time,
    311311    1,
     
    319319
    320320  put_time(
    321     "CONTEXT_SWITCH (Initialised)",
     321    "context switch: to another task",
    322322    end_time,
    323323    1,
     
    350350
    351351  put_time(
    352     "CONTEXT_SWITCH (restore 1st FP)",
     352    "fp context switch: restore 1st FP task",
    353353    end_time,
    354354    1,
     
    377377
    378378  put_time(
    379     "CONTEXT_SWITCH (used->init FP)",
     379    "fp context switch: save idle, restore initialized",
    380380    end_time,
    381381    1,
     
    414414
    415415  put_time(
    416     "CONTEXT_SWITCH (init->init FP)",
     416    "fp context switch: save idle, restore idle",
    417417    end_time,
    418418    1,
     
    443443
    444444  put_time(
    445     "CONTEXT_SWITCH (used->used FP)",
     445    "fp context switch: save initialized, restore initialized",
    446446    end_time,
    447447    1,
     
    463463
    464464  put_time(
    465     "THREAD_RESUME",
     465    "_Thread_Resume",
    466466    end_time,
    467467    1,
     
    477477
    478478  put_time(
    479     "THREAD_UNBLOCK",
     479    "_Thread_Unblock",
    480480    end_time,
    481481    1,
     
    491491
    492492  put_time(
    493     "THREAD_READY",
     493    "_Thread_Ready",
    494494    end_time,
    495495    1,
     
    511511
    512512  put_time(
    513     "THREAD_GET",
     513    "_Thread_Get",
    514514    end_time,
    515515    OPERATION_COUNT,
     
    524524
    525525  put_time(
    526     "SEMAPHORE_GET",
     526    "_Semaphore_Get",
    527527    end_time,
    528528    OPERATION_COUNT,
     
    537537
    538538  put_time(
    539     "THREAD_GET invalid id",
     539    "_Thread_Get: invalid id",
    540540    end_time,
    541541    OPERATION_COUNT,
  • c/src/tests/tmtests/tm27/task1.c

    r4442d21c r5c491aef  
    105105
    106106  put_time(
    107     "INTERRUPT_ENTER (no preempt)",
     107    "interrupt entry overhead: returns to interrupted task",
    108108    Interrupt_enter_time,
    109109    1,
     
    113113
    114114  put_time(
    115     "INTERRUPT_RETURN (no preempt)",
     115    "interrupt exit overhead: returns to interrupted task",
    116116    Interrupt_return_time,
    117117    1,
     
    139139
    140140  put_time(
    141     "INTERRUPT_ENTER (nested interrupt)",
     141    "interrupt entry overhead: returns to nested interrupt",
    142142    Interrupt_enter_nested_time,
    143143    1,
     
    147147
    148148  put_time(
    149     "INTERRUPT_RETURN (nested interrupt)",
     149    "interrupt exit overhead: returns to nested interrupt",
    150150    Interrupt_return_nested_time,
    151151    1,
     
    194194
    195195  put_time(
    196     "INTERRUPT_ENTER (preempt)",
     196    "interrupt entry overhead: returns to preempting task",
    197197    Interrupt_enter_time,
    198198    1,
     
    202202
    203203  put_time(
    204     "INTERRUPT_RETURN (preempt)",
     204    "interrupt exit overhead: returns to preempting task",
    205205    end_time,
    206206    1,
  • c/src/tests/tmtests/tm29/task1.c

    r4442d21c r5c491aef  
    5858
    5959  put_time(
    60     "rtems_rate_monotonic_period (initial)",
     60    "rtems_rate_monotonic_period: initiate period -- returns to caller",
    6161    end_time,
    6262    1,
     
    7070
    7171  put_time(
    72     "rtems_rate_monotonic_period (STATUS)",
     72    "rtems_rate_monotonic_period: obtain status",
    7373    end_time,
    7474    1,
     
    9494
    9595  put_time(
    96     "rtems_rate_monotonic_delete (cancelled)",
     96    "rtems_rate_monotonic_delete: inactive",
    9797    end_time,
    9898    1,
     
    112112
    113113  put_time(
    114     "rtems_rate_monotonic_delete (active)",
     114    "rtems_rate_monotonic_delete: active",
    115115    end_time,
    116116    1,
     
    196196
    197197  put_time(
    198     "rtems_rate_monotonic_period (blocking)",
     198    "rtems_rate_monotonic_period: conclude periods -- caller blocks",
    199199    end_time,
    200200    OPERATION_COUNT,
  • c/src/tests/tools/generic/difftest

    r4442d21c r5c491aef  
    1 #!/bin/ksh -p
     1#!KSHELL -p
    22#
    3 # Check test results against official output in the src tree
    4 # $Id$
     3#  Check test results against official output in the src tree
     4#  $Id$
    55#
    66
  • cpukit/score/macros/rtems/score/tod.inl

    r4442d21c r5c491aef  
    5252 */
    5353
    54 #define _TOD_Activate( ticks ) \
    55    _Watchdog_Insert_ticks( &_TOD_Seconds_watchdog, \
    56       (ticks), WATCHDOG_ACTIVATE_NOW )
     54#define _TOD_Activate( _ticks ) \
     55   _Watchdog_Insert_ticks( &_TOD_Seconds_watchdog, (_ticks) )
    5756
    5857#endif
  • cpukit/score/macros/rtems/score/tqdata.inl

    r4442d21c r5c491aef  
    4545  ( (_the_thread_queue)->count )
    4646
     47/*PAGE
     48 *
     49 *  _Thread_queue_Enter_critical_section
     50 *
     51 */
     52 
     53#define _Thread_queue_Enter_critical_section( _the_thread_queue ) \
     54  do { \
     55    (_the_thread_queue)->sync = TRUE; \
     56    (_the_thread_queue)->sync_state = THREAD_QUEUE_NOTHING_HAPPENED; \
     57  } while ( 0 )
     58
    4759#endif
    4860/* end of include file */
  • cpukit/score/macros/rtems/score/watchdog.inl

    r4442d21c r5c491aef  
    8585 */
    8686
    87 #define _Watchdog_Insert_ticks( _the_watchdog, _units, _insert_mode ) \
    88   { \
     87#define _Watchdog_Insert_ticks( _the_watchdog, _units ) \
     88  do { \
    8989    (_the_watchdog)->initial = (_units); \
    90     _Watchdog_Insert( &_Watchdog_Ticks_chain, \
    91                         (_the_watchdog), (_insert_mode) ); \
    92   }
     90    _Watchdog_Insert( &_Watchdog_Ticks_chain, (_the_watchdog) ); \
     91  } while ( 0 )
    9392
    9493/*PAGE
     
    9897 */
    9998
    100 #define _Watchdog_Insert_seconds( _the_watchdog, _units, _insert_mode ) \
    101   { \
     99#define _Watchdog_Insert_seconds( _the_watchdog, _units ) \
     100  do { \
    102101    (_the_watchdog)->initial = (_units); \
    103     _Watchdog_Insert( &_Watchdog_Seconds_chain, \
    104                         (_the_watchdog), (_insert_mode) ); \
    105   }
     102    _Watchdog_Insert( &_Watchdog_Seconds_chain, (_the_watchdog) ); \
     103  } while ( 0 )
    106104
    107105/*PAGE
     
    132130   { \
    133131     (void) _Watchdog_Remove( (_the_watchdog) ); \
    134      _Watchdog_Insert( &_Watchdog_Ticks_chain, \
    135                          (_the_watchdog), WATCHDOG_ACTIVATE_NOW ); \
     132     _Watchdog_Insert( &_Watchdog_Ticks_chain, (_the_watchdog) ); \
    136133   }
    137134
  • testsuites/mptests/mp12/system.h

    r4442d21c r5c491aef  
     1/*  system.h
     2 *
     3 *  This include file contains information that is included in every
     4 *  function in the test set.
     5 *
     6 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
     7 *  On-Line Applications Research Corporation (OAR).
     8 *  All rights assigned to U.S. Government, 1994.
     9 *
     10 *  This material may be reproduced by or for the U.S. Government pursuant
     11 *  to the copyright license under the clause at DFARS 252.227-7013.  This
     12 *  notice must appear in all copies of this file and its derivatives.
     13 *
     14 *  $Id$
     15 */
     16
     17#include <tmacros.h>
     18
     19#define PT_NAME       rtems_build_name( 'P', 'A', 'R', '\0' )
     20
     21/* functions */
     22
     23rtems_task Init(
     24  rtems_task_argument argument
     25);
     26
     27/* configuration information */
     28 
     29#define CONFIGURE_MPTEST
     30 
     31#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
     32#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
     33
     34#define CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS     1
     35#define CONFIGURE_MP_MAXIMUM_PROXIES            0
     36 
     37#if ( NODE_NUMBER == 1 )
     38#define CONFIGURE_MAXIMUM_PARTITIONS          1
     39#elif ( NODE_NUMBER == 2 )
     40#define CONFIGURE_MAXIMUM_PARTITIONS          2
     41#endif
     42
     43#include <confdefs.h>
     44
     45/* variables */
     46
     47TEST_EXTERN rtems_id   Task_id[ 4 ];     /* array of task ids */
     48TEST_EXTERN rtems_name Task_name[ 4 ];   /* array of task names */
     49
     50TEST_EXTERN rtems_id   Partition_id[ 2 ];   /* array of partition ids */
     51TEST_EXTERN rtems_name Partition_name[ 2 ]; /* array of partition names */
     52
     53/* end of include file */
  • testsuites/mptests/mp14/init.c

    r4442d21c r5c491aef  
    167167    Partition_task_name[ Multiprocessing_configuration.node ],
    168168    2,
    169     RTEMS_MINIMUM_STACK_SIZE,
     169    RTEMS_MINIMUM_STACK_SIZE * 2,
    170170    RTEMS_TIMESLICE,
    171171    RTEMS_GLOBAL,
  • testsuites/tmtests/tm01/task1.c

    r4442d21c r5c491aef  
    162162
    163163  put_time(
    164     "rtems_semaphore_obtain",
     164    "rtems_semaphore_obtain: available",
    165165    semaphore_obtain_time,
    166166    OPERATION_COUNT * OPERATION_COUNT,
     
    170170
    171171  put_time(
    172     "rtems_semaphore_obtain (RTEMS_NO_WAIT)",
     172    "rtems_semaphore_obtain: not available -- NO_WAIT",
    173173    semaphore_obtain_no_wait_time,
    174174    OPERATION_COUNT * OPERATION_COUNT,
     
    178178
    179179  put_time(
    180     "rtems_semaphore_release",
     180    "rtems_semaphore_release: no waiting tasks",
    181181    semaphore_release_time,
    182182    OPERATION_COUNT * OPERATION_COUNT * 2,
  • testsuites/tmtests/tm02/task1.c

    r4442d21c r5c491aef  
    147147
    148148  put_time(
    149     "rtems_semaphore_obtain (blocking)",
     149    "rtems_semaphore_obtain: not available -- caller blocks",
    150150    end_time,
    151151    OPERATION_COUNT,
  • testsuites/tmtests/tm03/task1.c

    r4442d21c r5c491aef  
    140140
    141141  put_time(
    142     "rtems_semaphore_release (preemptive)",
     142    "rtems_semaphore_release: task readied -- preempts caller",
    143143    end_time,
    144144    OPERATION_COUNT,
  • testsuites/tmtests/tm04/task1.c

    r4442d21c r5c491aef  
    9595
    9696    put_time(
    97       "rtems_task_restart (blocked, preempt)",
     97      "rtems_task_restart: blocked task -- preempts caller",
    9898      end_time,
    9999      1,
     
    114114
    115115    put_time(
    116       "rtems_task_restart (ready, preempt)",
     116      "rtems_task_restart: ready task -- preempts caller",
    117117      end_time,
    118118      1,
     
    161161
    162162  put_time(
    163     "rtems_semaphore_release (readying)",
     163    "rtems_semaphore_release: task readied -- returns to caller",
    164164    end_time,
    165165    OPERATION_COUNT,
     
    238238
    239239  put_time(
    240     "rtems_task_restart (suspended)",
     240    "rtems_task_restart: suspended task -- returns to caller",
    241241    end_time,
    242242    OPERATION_COUNT,
     
    254254
    255255  put_time(
    256     "rtems_task_delete (suspended)",
     256    "rtems_task_delete: suspended task",
    257257    end_time,
    258258    OPERATION_COUNT,
     
    282282
    283283  put_time(
    284     "rtems_task_restart (ready)",
     284    "rtems_task_restart: ready task -- returns to caller",
    285285    end_time,
    286286    OPERATION_COUNT,
     
    304304
    305305  put_time(
    306     "rtems_task_restart (blocked, no preempt)",
     306    "rtems_task_restart: blocked task -- returns to caller",
    307307    end_time,
    308308    OPERATION_COUNT,
     
    321321
    322322  put_time(
    323     "rtems_task_delete (blocked)",
     323    "rtems_task_delete: blocked task",
    324324    end_time,
    325325    OPERATION_COUNT,
  • testsuites/tmtests/tm05/task1.c

    r4442d21c r5c491aef  
    9191
    9292  put_time(
    93     "rtems_task_resume (causing preempt)",
     93    "rtems_task_resume: task readied -- preempts caller",
    9494    end_time,
    9595    OPERATION_COUNT,
     
    120120
    121121  put_time(
    122     "rtems_task_suspend self",
     122    "rtems_task_suspend: calling task",
    123123    end_time,
    124124    OPERATION_COUNT,
  • testsuites/tmtests/tm06/task1.c

    r4442d21c r5c491aef  
    8989
    9090  put_time(
    91     "rtems_task_restart self",
     91    "rtems_task_restart: calling task",
    9292    end_time,
    9393    OPERATION_COUNT,
     
    117117
    118118  put_time(
    119     "rtems_task_suspend (no preempt)",
     119    "rtems_task_suspend: returns to caller",
    120120    end_time,
    121121    OPERATION_COUNT,
     
    130130
    131131  put_time(
    132     "rtems_task_resume (no preempt)",
     132    "rtems_task_resume: task readied -- returns to caller",
    133133    end_time,
    134134    OPERATION_COUNT,
     
    143143
    144144  put_time(
    145     "rtems_task_delete (others)",
     145    "rtems_task_delete: ready task",
    146146    end_time,
    147147    OPERATION_COUNT,
  • testsuites/tmtests/tm07/task1.c

    r4442d21c r5c491aef  
    1515#include "system.h"
    1616
    17 rtems_id Task_id[OPERATION_COUNT+1], task_index;
     17rtems_id Task_id[ OPERATION_COUNT+1 ], task_index;
    1818
    1919rtems_task High_task(
     
    8585
    8686    put_time(
    87       "rtems_task_restart suspended/preempt",
     87      "rtems_task_restart: suspended task -- preempts caller",
    8888      end_time,
    8989      OPERATION_COUNT,
  • testsuites/tmtests/tm08/task1.c

    r4442d21c r5c491aef  
    9898
    9999  put_time(
    100     "rtems_task_set_priority current priority",
     100    "rtems_task_set_priority: obtain current priority",
    101101    end_time,
    102102    OPERATION_COUNT,
     
    111111
    112112  put_time(
    113     "rtems_task_set_priority no preempt",
     113    "rtems_task_set_priority: returns to caller",
    114114    end_time,
    115115    OPERATION_COUNT,
     
    128128
    129129  put_time(
    130     "rtems_task_mode (current)",
     130    "rtems_task_mode: obtain current mode",
    131131    end_time,
    132132    OPERATION_COUNT,
     
    151151
    152152  put_time(
    153     "rtems_task_mode (no reschedule)",
     153    "rtems_task_mode: no reschedule",
    154154    end_time,
    155155    OPERATION_COUNT * 2,
     
    163163
    164164  put_time(
    165     "rtems_task_mode (reschedule)",
     165    "rtems_task_mode: reschedule -- returns to caller",
    166166    end_time,
    167167    1,
     
    245245
    246246  put_time(
    247     "rtems_task_mode (preemptive)",
     247    "rtems_task_mode: reschedule -- preempts caller",
    248248    end_time,
    249249    1,
  • testsuites/tmtests/tm09/task1.c

    r4442d21c r5c491aef  
    185185
    186186  put_time(
    187     "rtems_message_queue_send (no tasks waiting)",
     187    "rtems_message_queue_send: no waiting tasks",
    188188    send_time,
    189189    OPERATION_COUNT * OPERATION_COUNT,
     
    193193
    194194  put_time(
    195     "rtems_message_queue_urgent (no tasks waiting)",
     195    "rtems_message_queue_urgent: no waiting tasks",
    196196    urgent_time,
    197197    OPERATION_COUNT * OPERATION_COUNT,
     
    201201
    202202  put_time(
    203     "rtems_message_queue_receive (messages available)",
     203    "rtems_message_queue_receive: available",
    204204    receive_time,
    205205    OPERATION_COUNT * OPERATION_COUNT * 2,
     
    209209
    210210  put_time(
    211     "rtems_message_queue_flush (empty queue)",
     211    "rtems_message_queue_flush: no messages flushed",
    212212    empty_flush_time,
    213213    OPERATION_COUNT,
     
    217217
    218218  put_time(
    219     "rtems_message_queue_flush (messages flushed)",
     219    "rtems_message_queue_flush: messages flushed",
    220220    flush_time,
    221221    OPERATION_COUNT,
  • testsuites/tmtests/tm10/task1.c

    r4442d21c r5c491aef  
    106106
    107107  put_time(
    108     "rtems_message_queue_receive (RTEMS_NO_WAIT)",
     108    "rtems_message_queue_receive: not available -- NO_WAIT",
    109109    end_time,
    110110    OPERATION_COUNT,
     
    154154
    155155  put_time(
    156     "rtems_message_queue_receive (blocking)",
     156    "rtems_message_queue_receive: not available -- caller blocks",
    157157    end_time,
    158158    OPERATION_COUNT,
  • testsuites/tmtests/tm11/task1.c

    r4442d21c r5c491aef  
    144144
    145145  put_time(
    146     "rtems_message_queue_send (preemptive)",
     146    "rtems_message_queue_send: task readied -- preempts caller",
    147147    end_time,
    148148    OPERATION_COUNT,
  • testsuites/tmtests/tm12/task1.c

    r4442d21c r5c491aef  
    120120
    121121  put_time(
    122     "rtems_message_queue_send (readying)",
     122    "rtems_message_queue_send: task readied -- returns to caller",
    123123    end_time,
    124124    OPERATION_COUNT,
  • testsuites/tmtests/tm13/task1.c

    r4442d21c r5c491aef  
    143143
    144144  put_time(
    145     "rtems_message_queue_urgent (preemptive)",
     145    "rtems_message_queue_urgent: task readied -- preempts caller",
    146146    end_time,
    147147    OPERATION_COUNT,
  • testsuites/tmtests/tm14/task1.c

    r4442d21c r5c491aef  
    120120
    121121  put_time(
    122     "rtems_message_queue_urgent (readying)",
     122    "rtems_message_queue_urgent: task readied -- returns to caller",
    123123    end_time,
    124124    OPERATION_COUNT,
  • testsuites/tmtests/tm15/task1.c

    r4442d21c r5c491aef  
    9999
    100100  put_time(
    101     "rtems_event_receive (current)",
     101    "rtems_event_receive: obtain current events",
    102102    end_time,
    103103    OPERATION_COUNT,
     
    120120
    121121  put_time(
    122     "rtems_event_receive (RTEMS_NO_WAIT)",
     122    "rtems_event_receive: not available -- NO_WAIT",
    123123    end_time,
    124124    OPERATION_COUNT,
     
    138138
    139139  put_time(
    140     "rtems_event_receive (blocking)",
     140    "rtems_event_receive: not available -- caller blocks",
    141141    end_time,
    142142    OPERATION_COUNT,
     
    156156
    157157  put_time(
    158     "rtems_event_send (non-blocking)",
     158    "rtems_event_send: no task readied",
    159159    end_time,
    160160    OPERATION_COUNT,
     
    173173
    174174  put_time(
    175     "rtems_event_receive (available)",
     175    "rtems_event_receive: available",
    176176    end_time,
    177177    1,
     
    186186
    187187  put_time(
    188     "rtems_event_send (readying)",
     188    "rtems_event_send: task readied -- returns to caller",
    189189    end_time,
    190190    OPERATION_COUNT,
  • testsuites/tmtests/tm16/task1.c

    r4442d21c r5c491aef  
    137137
    138138  put_time(
    139     "rtems_event_send (preemptive)",
     139    "rtems_event_send: task readied -- preempts caller",
    140140    end_time,
    141141    OPERATION_COUNT,
  • testsuites/tmtests/tm17/task1.c

    r4442d21c r5c491aef  
    116116
    117117  put_time(
    118     "rtems_task_set_priority (preemptive)",
     118    "rtems_task_set_priority: preempts caller",
    119119    end_time,
    120120    OPERATION_COUNT,
  • testsuites/tmtests/tm18/task1.c

    r4442d21c r5c491aef  
    101101
    102102  put_time(
    103     "rtems_task_delete self",
     103    "rtems_task_delete: calling task",
    104104    end_time,
    105105    OPERATION_COUNT,
  • testsuites/tmtests/tm19/task1.c

    r4442d21c r5c491aef  
    9595
    9696  put_time(
    97     "rtems_signal_send (self)",
     97    "rtems_signal_send: signal to self",
    9898    end_time,
    9999    1,
     
    102102  );
    103103
    104   puts( "SIGNAL_ENTER (non-preemptive) na" );
    105 
    106104  Timer_initialize();
    107105}
     
    112110{
    113111  rtems_status_code status;
    114 
    115   puts( "SIGNAL_ENTER (preemptive) na" );
    116112
    117113  status = rtems_task_resume( Task_id[ 3 ] );
     
    144140
    145141  put_time(
    146     "rtems_signal_send (non-preemptive)",
     142    "rtems_signal_send: returns to caller",
    147143    end_time,
    148144    1,
     
    159155
    160156  put_time(
    161     "SIGNAL_RETURN (non-preemptive)",
     157    "exit ASR overhead: returns to calling task",
    162158    end_time,
    163159    1,
     
    201197
    202198  put_time(
    203     "SIGNAL_RETURN (preemptive)",
     199    "exit ASR overhead: returns to preempting task",
    204200    end_time,
    205201    1,
  • testsuites/tmtests/tm20/task1.c

    r4442d21c r5c491aef  
    138138
    139139  put_time(
    140     "rtems_partition_get_buffer (available)",
     140    "rtems_partition_get_buffer: available",
    141141    end_time,
    142142    1,
     
    163163
    164164  put_time(
    165     "rtems_partition_get_buffer (not available)",
     165    "rtems_partition_get_buffer: not available",
    166166    end_time,
    167167    1,
     
    224224
    225225  put_time(
    226     "rtems_region_get_segment (available)",
     226    "rtems_region_get_segment: available",
    227227    end_time,
    228228    1,
     
    242242
    243243  put_time(
    244     "rtems_region_get_segment (RTEMS_NO_WAIT)",
     244    "rtems_region_get_segment: not available -- NO_WAIT",
    245245    end_time,
    246246    1,
     
    257257
    258258  put_time(
    259     "rtems_region_return_segment (no tasks waiting)",
     259    "rtems_region_return_segment: no waiting tasks",
    260260    end_time,
    261261    1,
     
    287287
    288288  put_time(
    289     "rtems_region_return_segment (preempt)",
     289    "rtems_region_return_segment: task readied -- preempts caller",
    290290    end_time,
    291291    1,
     
    438438
    439439  put_time(
    440     "rtems_region_get_segment (blocking)",
     440    "rtems_region_get_segment: not available -- caller blocks",
    441441    end_time,
    442442    1,
     
    455455
    456456  put_time(
    457     "rtems_region_return_segment (ready -- return)",
     457    "rtems_region_return_segment: task readied -- returns to caller",
    458458    end_time,
    459459    1,
  • testsuites/tmtests/tm22/task1.c

    r4442d21c r5c491aef  
    9898
    9999  put_time(
    100     "rtems_message_queue_broadcast (readying)",
     100    "rtems_message_queue_broadcast: task readied -- returns to caller",
    101101    end_time,
    102102    1,
     
    152152
    153153  put_time(
    154     "rtems_message_queue_broadcast (no waiting tasks)",
     154    "rtems_message_queue_broadcast: no waiting tasks",
    155155    end_time,
    156156    OPERATION_COUNT,
     
    172172
    173173  put_time(
    174     "rtems_message_queue_broadcast (preempt)",
     174    "rtems_message_queue_broadcast: task readied -- preempts caller",
    175175    end_time,
    176176    1,
  • testsuites/tmtests/tm23/task1.c

    r4442d21c r5c491aef  
    123123
    124124  put_time(
    125     "rtems_timer_fire_after (inactive)",
     125    "rtems_timer_fire_after: inactive",
    126126    end_time,
    127127    OPERATION_COUNT,
     
    136136
    137137  put_time(
    138     "rtems_timer_fire_after (active)",
     138    "rtems_timer_fire_after: active",
    139139    end_time,
    140140    OPERATION_COUNT,
     
    149149
    150150  put_time(
    151     "rtems_timer_cancel (active)",
     151    "rtems_timer_cancel: active",
    152152    end_time,
    153153    OPERATION_COUNT,
     
    163163
    164164  put_time(
    165     "rtems_timer_cancel (inactive)",
     165    "rtems_timer_cancel: inactive",
    166166    end_time,
    167167    OPERATION_COUNT,
     
    177177
    178178  put_time(
    179     "rtems_timer_reset (inactive)",
     179    "rtems_timer_reset: inactive",
    180180    end_time,
    181181    OPERATION_COUNT,
     
    190190
    191191  put_time(
    192     "rtems_timer_reset (active)",
     192    "rtems_timer_reset: active",
    193193    end_time,
    194194    OPERATION_COUNT,
     
    214214
    215215  put_time(
    216     "rtems_timer_fire_when (inactive)",
     216    "rtems_timer_fire_when: inactive",
    217217    end_time,
    218218    OPERATION_COUNT,
     
    228228
    229229  put_time(
    230     "rtems_timer_fire_when (active)",
     230    "rtems_timer_fire_when: active",
    231231    end_time,
    232232    OPERATION_COUNT,
     
    241241
    242242  put_time(
    243     "rtems_timer_delete (active)",
     243    "rtems_timer_delete: active",
    244244    end_time,
    245245    OPERATION_COUNT,
     
    266266
    267267  put_time(
    268     "rtems_timer_delete (inactive)",
     268    "rtems_timer_delete: inactive",
    269269    end_time,
    270270    OPERATION_COUNT,
  • testsuites/tmtests/tm24/task1.c

    r4442d21c r5c491aef  
    8686
    8787  put_time(
    88     "rtems_task_wake_after (no context switch)",
     88    "rtems_task_wake_after: yield -- returns to caller",
    8989    end_time,
    9090    OPERATION_COUNT,
     
    111111
    112112    put_time(
    113       "rtems_task_wake_after (context switch)",
     113      "rtems_task_wake_after: yields -- preempts caller",
    114114      end_time,
    115115      OPERATION_COUNT,
  • testsuites/tmtests/tm26/task1.c

    r4442d21c r5c491aef  
    174174 
    175175  put_time(
    176     "INTERRUPT DISABLE",
     176    "_ISR_Disable",
    177177    end_time,
    178178    1,
     
    186186 
    187187  put_time(
    188     "INTERRUPT FLASH",
     188    "_ISR_Flash",
    189189    end_time,
    190190    1,
     
    198198 
    199199  put_time(
    200     "INTERRUPT ENABLE",
     200    "_ISR_Enable",
    201201    end_time,
    202202    1,
     
    210210
    211211  put_time(
    212     "THREAD_DISABLE_DISPATCH",
     212    "_Thread_Disable_dispatch",
    213213    end_time,
    214214    1,
     
    222222
    223223  put_time(
    224     "THREAD_ENABLE_DISPATCH",
     224    "_Thread_Enable_dispatch",
    225225    end_time,
    226226    1,
     
    234234
    235235  put_time(
    236     "THREAD_SET_STATE",
     236    "_Thread_Set_state",
    237237    end_time,
    238238    1,
     
    254254
    255255  put_time(
    256     "THREAD_DISPATCH (NO FP)",
     256    "_Thread_Disptach (NO FP)",
    257257    end_time,
    258258    1,
     
    290290
    291291  put_time(
    292     "CONTEXT_SWITCH (NO FP)",
     292    "context switch: no floating point contexts",
    293293    end_time,
    294294    1,
     
    307307
    308308  put_time(
    309     "CONTEXT_SWITCH (SELF)",
     309    "context switch: self",
    310310    end_time,
    311311    1,
     
    319319
    320320  put_time(
    321     "CONTEXT_SWITCH (Initialised)",
     321    "context switch: to another task",
    322322    end_time,
    323323    1,
     
    350350
    351351  put_time(
    352     "CONTEXT_SWITCH (restore 1st FP)",
     352    "fp context switch: restore 1st FP task",
    353353    end_time,
    354354    1,
     
    377377
    378378  put_time(
    379     "CONTEXT_SWITCH (used->init FP)",
     379    "fp context switch: save idle, restore initialized",
    380380    end_time,
    381381    1,
     
    414414
    415415  put_time(
    416     "CONTEXT_SWITCH (init->init FP)",
     416    "fp context switch: save idle, restore idle",
    417417    end_time,
    418418    1,
     
    443443
    444444  put_time(
    445     "CONTEXT_SWITCH (used->used FP)",
     445    "fp context switch: save initialized, restore initialized",
    446446    end_time,
    447447    1,
     
    463463
    464464  put_time(
    465     "THREAD_RESUME",
     465    "_Thread_Resume",
    466466    end_time,
    467467    1,
     
    477477
    478478  put_time(
    479     "THREAD_UNBLOCK",
     479    "_Thread_Unblock",
    480480    end_time,
    481481    1,
     
    491491
    492492  put_time(
    493     "THREAD_READY",
     493    "_Thread_Ready",
    494494    end_time,
    495495    1,
     
    511511
    512512  put_time(
    513     "THREAD_GET",
     513    "_Thread_Get",
    514514    end_time,
    515515    OPERATION_COUNT,
     
    524524
    525525  put_time(
    526     "SEMAPHORE_GET",
     526    "_Semaphore_Get",
    527527    end_time,
    528528    OPERATION_COUNT,
     
    537537
    538538  put_time(
    539     "THREAD_GET invalid id",
     539    "_Thread_Get: invalid id",
    540540    end_time,
    541541    OPERATION_COUNT,
  • testsuites/tmtests/tm27/task1.c

    r4442d21c r5c491aef  
    105105
    106106  put_time(
    107     "INTERRUPT_ENTER (no preempt)",
     107    "interrupt entry overhead: returns to interrupted task",
    108108    Interrupt_enter_time,
    109109    1,
     
    113113
    114114  put_time(
    115     "INTERRUPT_RETURN (no preempt)",
     115    "interrupt exit overhead: returns to interrupted task",
    116116    Interrupt_return_time,
    117117    1,
     
    139139
    140140  put_time(
    141     "INTERRUPT_ENTER (nested interrupt)",
     141    "interrupt entry overhead: returns to nested interrupt",
    142142    Interrupt_enter_nested_time,
    143143    1,
     
    147147
    148148  put_time(
    149     "INTERRUPT_RETURN (nested interrupt)",
     149    "interrupt exit overhead: returns to nested interrupt",
    150150    Interrupt_return_nested_time,
    151151    1,
     
    194194
    195195  put_time(
    196     "INTERRUPT_ENTER (preempt)",
     196    "interrupt entry overhead: returns to preempting task",
    197197    Interrupt_enter_time,
    198198    1,
     
    202202
    203203  put_time(
    204     "INTERRUPT_RETURN (preempt)",
     204    "interrupt exit overhead: returns to preempting task",
    205205    end_time,
    206206    1,
  • testsuites/tmtests/tm29/task1.c

    r4442d21c r5c491aef  
    5858
    5959  put_time(
    60     "rtems_rate_monotonic_period (initial)",
     60    "rtems_rate_monotonic_period: initiate period -- returns to caller",
    6161    end_time,
    6262    1,
     
    7070
    7171  put_time(
    72     "rtems_rate_monotonic_period (STATUS)",
     72    "rtems_rate_monotonic_period: obtain status",
    7373    end_time,
    7474    1,
     
    9494
    9595  put_time(
    96     "rtems_rate_monotonic_delete (cancelled)",
     96    "rtems_rate_monotonic_delete: inactive",
    9797    end_time,
    9898    1,
     
    112112
    113113  put_time(
    114     "rtems_rate_monotonic_delete (active)",
     114    "rtems_rate_monotonic_delete: active",
    115115    end_time,
    116116    1,
     
    196196
    197197  put_time(
    198     "rtems_rate_monotonic_period (blocking)",
     198    "rtems_rate_monotonic_period: conclude periods -- caller blocks",
    199199    end_time,
    200200    OPERATION_COUNT,
Note: See TracChangeset for help on using the changeset viewer.