Changeset 5c491aef in rtems
- Timestamp:
- 12/20/95 15:39:19 (27 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- c64e4ed4
- Parents:
- 4442d21c
- Files:
-
- 94 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/exec/score/cpu/powerpc/README
r4442d21c r5c491aef 9 9 1) Legal 10 10 11 This port is written by Andrew Bray <andy@i-cubed. demon.co.uk>, and11 This port is written by Andrew Bray <andy@i-cubed.co.uk>, and 12 12 is copyright 1995 i-cubed ltd. 13 13 14 Due to the current lack of a formal release note, this is a limited15 release to OAR, and other specific parties designated by OAR who16 are involved in porting RTEMS to the PowerPC architecture.17 18 This set of release files SHOULD (IMHO) include a cpu specific19 alignment exception handler. Ours is derived from IBM sample20 code. I am seeking a release from IBM for this file. In the21 mean time this file is excluded (but still included in the Makefile22 as a place-holder).23 24 NOTE: IBM released the alignment exception handler under generous enough25 terms where it could be included in this distribution.26 14 27 15 … … 75 63 assembler. 76 64 77 This port contains support for the other ABIs, but this may prove to be inco plete65 This port contains support for the other ABIs, but this may prove to be incomplete 78 66 as it is untested. 79 67 … … 81 69 or only port. This should wait on a true EABI version of GCC. 82 70 83 Andrew Bray 18/8/199571 Andrew Bray 4/December/1995 -
c/src/exec/score/cpu/powerpc/cpu.c
r4442d21c r5c491aef 2 2 * PowerPC CPU Dependent Source 3 3 * 4 * Author: Andrew Bray <andy@i-cubed. demon.co.uk>4 * Author: Andrew Bray <andy@i-cubed.co.uk> 5 5 * 6 6 * COPYRIGHT (c) 1995 by i-cubed ltd. … … 34 34 #include <rtems/score/context.h> 35 35 #include <rtems/score/thread.h> 36 #include <rtems/score/wkspace.h>37 36 38 37 /* 39 38 * These are for testing purposes. 40 39 */ 41 /* 42 #define Testing 43 */ 40 #undef Testing 44 41 45 42 #ifdef Testing … … 101 98 102 99 i = (int)&_CPU_IRQ_info; 103 asm volatile("mtspr g3 %0" : "=r" (i) : "0" (i));100 asm volatile("mtspr 0x113, %0" : "=r" (i) : "0" (i)); /* SPRG 3 */ 104 101 105 102 i = PPC_MSR_INITIAL & ~PPC_MSR_DISABLE_MASK; 106 asm volatile("mtspr g2 %0" : "=r" (i) : "0" (i));103 asm volatile("mtspr 0x112, %0" : "=r" (i) : "0" (i)); /* SPRG 2 */ 107 104 108 105 #ifdef Testing … … 113 110 msr = tmp; 114 111 #ifdef ppc403 115 asm volatile ("mf evpr %0" : "=r" (tmp));112 asm volatile ("mfspr %0, 0x3d6" : "=r" (tmp)); /* EVPR */ 116 113 evpr = tmp; 117 asm volatile ("mf exier %0" : "=r" (tmp));114 asm volatile ("mfdcr %0, 0x42" : "=r" (tmp)); /* EXIER */ 118 115 exier = tmp; 119 asm volatile ("mt evpr %0" :: "r" (0));116 asm volatile ("mtspr 0x3d6, %0" :: "r" (0)); /* EVPR */ 120 117 #endif 121 118 } … … 129 126 130 127 _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 149 unsigned32 _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; 131 162 } 132 163 … … 164 195 */ 165 196 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; 171 201 } 172 202 … … 197 227 register int r = 0; 198 228 199 asm volatile("mt exier %0" : "=r" ((r)) : "0" ((r)));229 asm volatile("mtdcr 0x42, %0" : "=r" ((r)) : "0" ((r))); /* EXIER */ 200 230 } 201 231 else if (v == PPC_IRQ_PIT) … … 203 233 register int r = 0x08000000; 204 234 205 asm volatile("mt tsr %0" : "=r" ((r)) : "0" ((r)));235 asm volatile("mtspr 0x3d8, %0" : "=r" ((r)) : "0" ((r))); /* TSR */ 206 236 } 207 237 else if (v == PPC_IRQ_FIT) … … 209 239 register int r = 0x04000000; 210 240 211 asm volatile("mt tsr %0" : "=r" ((r)) : "0" ((r)));241 asm volatile("mtspr 0x3d8, %0" : "=r" ((r)) : "0" ((r))); /* TSR */ 212 242 } 213 243 #endif … … 223 253 #ifdef ppc403 224 254 tmp = evpr; 225 asm volatile ("mt evpr %0" :: "r" (tmp));255 asm volatile ("mtspr 0x3d6, %0" :: "r" (tmp)); /* EVPR */ 226 256 tmp = exier; 227 asm volatile ("mt exier %0" :: "r" (tmp));257 asm volatile ("mtdcr 0x42, %0" :: "r" (tmp)); /* EXIER */ 228 258 #endif 229 259 #endif -
c/src/exec/score/cpu/powerpc/cpu.h
r4442d21c r5c491aef 4 4 * processor. 5 5 * 6 * Author: Andrew Bray <andy@i-cubed. demon.co.uk>6 * Author: Andrew Bray <andy@i-cubed.co.uk> 7 7 * 8 8 * COPYRIGHT (c) 1995 by i-cubed ltd. … … 496 496 497 497 EXTERN struct { 498 unsigned32 *Nest_level; 499 unsigned32 *Disable_level; 500 void *Vector_table; 501 void *Stack; 498 502 #if (PPC_ABI == PPC_ABI_POWEROPEN) 499 503 unsigned32 Dispatch_r2; … … 504 508 #endif 505 509 #endif 506 unsigned32 *Nest_level;507 unsigned32 *Disable_level;508 void *Vector_table;509 void *Stack;510 510 boolean *Switch_necessary; 511 511 boolean *Signal; … … 542 542 */ 543 543 544 #define CPU_INTERRUPT_NUMBER_OF_VECTORS 544 #define CPU_INTERRUPT_NUMBER_OF_VECTORS (PPC_INTERRUPT_MAX) 545 545 #define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (CPU_INTERRUPT_NUMBER_OF_VECTORS - 1) 546 546 … … 571 571 */ 572 572 573 #define CPU_HEAP_ALIGNMENT (PPC_ CACHE_ALIGNMENT)573 #define CPU_HEAP_ALIGNMENT (PPC_ALIGNMENT) 574 574 575 575 /* … … 585 585 */ 586 586 587 #define CPU_PARTITION_ALIGNMENT (PPC_ CACHE_ALIGNMENT)587 #define CPU_PARTITION_ALIGNMENT (PPC_ALIGNMENT) 588 588 589 589 /* … … 604 604 * level is returned in _level. 605 605 */ 606 607 #define loc_string(a,b) a " (" #b ")\n" 606 608 607 609 #define _CPU_ISR_Disable( _isr_cookie ) \ … … 661 663 ); \ 662 664 } 665 666 unsigned32 _CPU_ISR_Get_level( void ); 663 667 664 668 /* end of ISR handler macros */ … … 818 822 * RTEMS guarantees that (1) will never happen so it is not a concern. 819 823 * (2),(3), (4) are handled by the macros _CPU_Priority_mask() and 820 * _CPU_Priority_ bits_index(). These three form a set of routines824 * _CPU_Priority_Bits_index(). These three form a set of routines 821 825 * which must logically operate together. Bits in the _value are 822 826 * set and cleared based on masks built by _CPU_Priority_mask(). 823 827 * 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() 825 829 * to properly range between the values returned by the "find first bit" 826 830 * instruction. This makes it possible for _Priority_Get_highest() to … … 856 860 * bit set 857 861 */ 858 859 #define CPU_USE_GENERIC_BITFIELD_CODE FALSE860 #define CPU_USE_GENERIC_BITFIELD_DATA FALSE861 862 862 863 #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 2 3 * 3 4 * This file contains the assembly code for the PowerPC implementation 4 5 * of RTEMS. 5 6 * 6 * Author: Andrew Bray <andy@i-cubed. demon.co.uk>7 * Author: Andrew Bray <andy@i-cubed.co.uk> 7 8 * 8 9 * COPYRIGHT (c) 1995 by i-cubed ltd. … … 672 673 673 674 /* Individual interrupt prologues look like this: 674 * mtsprg{0,1} r0675 * mfsprg2 r0676 * mtmsr r0677 675 * #if (PPC_ABI == PPC_ABI_POWEROPEN || PPC_ABI == PPC_ABI_GCC27) 678 676 * #if (PPC_HAS_FPU) … … 684 682 * stwu r1, -(IP_END)(r1) 685 683 * #endif 686 * mfsprg{0,1} r0687 684 * stw r0, IP_0(r1) 688 685 * … … 701 698 PROC (_ISR_Handler): 702 699 #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 705 706 #include "irq_stub.s" 706 707 rfi … … 719 720 #undef MTSAVE 720 721 #undef MFSAVE 722 #undef MTPC 723 #undef MFPC 724 #undef MTMSR 725 #undef MFMSR 721 726 #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 724 733 #include "irq_stub.s" 725 734 rfci -
c/src/exec/score/cpu/powerpc/irq_stub.s
r4442d21c r5c491aef 1 /* irq_stub.s 1. 0 - 95/08/081 /* irq_stub.s 1.1 - 95/12/04 2 2 * 3 3 * This file contains the interrupt handler assembly code for the PowerPC 4 4 * implementation of RTEMS. It is #included from cpu_asm.s. 5 5 * 6 * Author: Andrew Bray <andy@i-cubed. demon.co.uk>6 * Author: Andrew Bray <andy@i-cubed.co.uk> 7 7 * 8 8 * COPYRIGHT (c) 1995 by i-cubed ltd. … … 46 46 mfxer r7 47 47 mflr r8 48 mfsrr0 r949 mfsrr1 r1048 MFPC (r9) 49 MFMSR (r10) 50 50 /* Establish addressing */ 51 mfspr g3 r1151 mfspr r11, sprg3 52 52 dcbt r0, r11 53 53 stw r5, IP_CR(r1) … … 73 73 */ 74 74 /* Switch stacks, here we must prevent ALL interrupts */ 75 mfmsr r5 76 mfspr r6, sprg2 77 mtmsr r6 75 78 cmpwi r30, 0 76 79 lwz r29, Disable_level(r11) … … 94 97 addi r31,r31,1 95 98 stw r31, 0(r29) 99 mtmsr r5 96 100 /* 97 101 * (*_ISR_Vector_table[ vector ])( vector ); … … 121 125 122 126 /* We must re-disable the interrupts */ 123 mfspr g3 r11124 mfspr g2 r0127 mfspr r11, sprg3 128 mfspr r0, sprg2 125 129 mtmsr r0 130 lwz r30, 0(r28) 131 lwz r31, 0(r29) 126 132 127 133 /* … … 135 141 stw r31, 0(r29) 136 142 bne LABEL (easy_exit) 143 cmpwi r31, 0 137 144 138 145 lwz r30, Switch_necessary(r11) … … 144 151 */ 145 152 lwz r1,0(r1) 153 bne LABEL (easy_exit) 146 154 lwz r30, 0(r30) 147 155 lwz r31, Signal(r11) … … 153 161 cmpwi r30, 0 154 162 lwz r28, 0(r31) 163 li r6,0 155 164 bne LABEL (switch) 156 165 /* … … 160 169 */ 161 170 cmpwi r28, 0 162 li r6,0163 171 beq LABEL (easy_exit) 164 stw r6, 0(r31)165 172 166 173 /* … … 169 176 */ 170 177 LABEL (switch): 178 stw r6, 0(r31) 179 /* Re-enable interrupts */ 180 lwz r0, IP_MSR(r1) 171 181 #if (PPC_ABI == PPC_ABI_POWEROPEN) 172 182 lwz r2, Dispatch_r2(r11) … … 174 184 /* R2 and R13 still hold their values from the last call */ 175 185 #endif 176 bl PROC (_Thread_Dispatch) 186 mtmsr r0 187 bl SYM (_Thread_Dispatch) 177 188 /* NOP marker for debuggers */ 178 189 or r6,r6,r6 … … 181 192 */ 182 193 /* Re-disable IRQs */ 183 mfspr g2 r0194 mfspr r0, sprg2 184 195 mtmsr r0 185 196 /* … … 199 210 mtxer r7 200 211 mtlr r8 201 mtsrr0 r9202 mtsrr1 r10212 MTPC (r9) 213 MTMSR (r10) 203 214 lwz r0, IP_0(r1) 204 215 lwz r2, IP_2(r1) -
c/src/exec/score/cpu/powerpc/ppc.h
r4442d21c r5c491aef 4 4 * family members. 5 5 * 6 * Author: Andrew Bray <andy@i-cubed. demon.co.uk>6 * Author: Andrew Bray <andy@i-cubed.co.uk> 7 7 * 8 8 * COPYRIGHT (c) 1995 by i-cubed ltd. … … 93 93 #define PPC_MSR_0 0x00029200 94 94 #define PPC_MSR_1 0x00021200 95 #define PPC_MSR_2 0x000 0100095 #define PPC_MSR_2 0x00021000 96 96 #define PPC_MSR_3 0x00000000 97 97 -
c/src/exec/score/cpu/powerpc/ppctypes.h
r4442d21c r5c491aef 4 4 * processor family. 5 5 * 6 * Author: Andrew Bray <andy@i-cubed. demon.co.uk>6 * Author: Andrew Bray <andy@i-cubed.co.uk> 7 7 * 8 8 * COPYRIGHT (c) 1995 by i-cubed ltd. -
c/src/exec/score/cpu/powerpc/rtems.s
r4442d21c r5c491aef 4 4 * the PowerPC implementation of RTEMS. 5 5 * 6 * Author: Andrew Bray <andy@i-cubed. demon.co.uk>6 * Author: Andrew Bray <andy@i-cubed.co.uk> 7 7 * 8 8 * COPYRIGHT (c) 1995 by i-cubed ltd. -
c/src/exec/score/macros/rtems/score/tod.inl
r4442d21c r5c491aef 52 52 */ 53 53 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) ) 57 56 58 57 #endif -
c/src/exec/score/macros/rtems/score/tqdata.inl
r4442d21c r5c491aef 45 45 ( (_the_thread_queue)->count ) 46 46 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 47 59 #endif 48 60 /* end of include file */ -
c/src/exec/score/macros/rtems/score/watchdog.inl
r4442d21c r5c491aef 85 85 */ 86 86 87 #define _Watchdog_Insert_ticks( _the_watchdog, _units , _insert_mode) \88 { \87 #define _Watchdog_Insert_ticks( _the_watchdog, _units ) \ 88 do { \ 89 89 (_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 ) 93 92 94 93 /*PAGE … … 98 97 */ 99 98 100 #define _Watchdog_Insert_seconds( _the_watchdog, _units , _insert_mode) \101 { \99 #define _Watchdog_Insert_seconds( _the_watchdog, _units ) \ 100 do { \ 102 101 (_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 ) 106 104 107 105 /*PAGE … … 132 130 { \ 133 131 (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) ); \ 136 133 } 137 134 -
c/src/exec/score/macros/tod.inl
r4442d21c r5c491aef 52 52 */ 53 53 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) ) 57 56 58 57 #endif -
c/src/exec/score/macros/tqdata.inl
r4442d21c r5c491aef 45 45 ( (_the_thread_queue)->count ) 46 46 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 47 59 #endif 48 60 /* end of include file */ -
c/src/exec/score/macros/watchdog.inl
r4442d21c r5c491aef 85 85 */ 86 86 87 #define _Watchdog_Insert_ticks( _the_watchdog, _units , _insert_mode) \88 { \87 #define _Watchdog_Insert_ticks( _the_watchdog, _units ) \ 88 do { \ 89 89 (_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 ) 93 92 94 93 /*PAGE … … 98 97 */ 99 98 100 #define _Watchdog_Insert_seconds( _the_watchdog, _units , _insert_mode) \101 { \99 #define _Watchdog_Insert_seconds( _the_watchdog, _units ) \ 100 do { \ 102 101 (_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 ) 106 104 107 105 /*PAGE … … 132 130 { \ 133 131 (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) ); \ 136 133 } 137 134 -
c/src/lib/libbsp/m68k/efi332/startup/bspstart.c
r4442d21c r5c491aef 1 #define STACK_CHECKER_ON2 1 /* bsp_start() 3 2 * -
c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c
r4442d21c r5c491aef 1 #define STACK_CHECKER_ON2 1 /* bsp_start() 3 2 * -
c/src/lib/libbsp/m68k/mvme162/README
r4442d21c r5c491aef 28 28 to follow the future RTEMS versions. I will do my best to provide 29 29 whatever support I can afford time-wise. 30 31 MVME162FX and DMA on the IP bus 32 ------------------------------- 33 34 From Eric Vaitl <eric@viasat.com>: 35 36 If you have any customers that will be using the 162FX, tell them to 37 be careful. The main difference between the 162 and the 162FX is DMA 38 on the IP bus. I spent over a month trying to write a DMA HDLC driver 39 for GreenSprings IP-MP and couldn't get it to work. I talked to some 40 people at GreenSprings, and they agreed that there really is no way to 41 get DMA to work unless you know the size of the packets in advance. 42 Once the IP2 chip DMA controller is given the character count and 43 enabled, it doesn't accept further commands until all of the 44 characters have arrived. The only way to terminate a DMA transfer 45 prematurely is by raising DMAEND* during the last read. None of the IP 46 modules that I know of are currently able to do that. GreenSprings is 47 working on the problem, but nothing is going to available for a few 48 months. 30 49 31 50 Installation -
c/src/lib/libbsp/m68k/mvme162/include/bsp.h
r4442d21c r5c491aef 1 1 /* bsp.h 2 2 * 3 * This include file contains all MVME162 board IO definitions.3 * This include file contains all MVME162fx board IO definitions. 4 4 * 5 5 * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994. … … 166 166 * because such stuff is bsp-specific (yet). The function bodies 167 167 * 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. 168 175 */ 169 176 … … 191 198 192 199 #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 ) 194 201 195 202 #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)) 197 205 /*----------------------------------------------------------------*/ 198 206 -
c/src/lib/libbsp/m68k/mvme162/startup/bspclean.c
r4442d21c r5c491aef 29 29 extern void start( void ); 30 30 31 page_table_teardown(); 32 31 33 lcsr->intr_ena = 0; /* disable interrupts */ 32 34 m68k_set_vbr(0xFFE00000); /* restore 162Bug vectors */ -
c/src/lib/libbsp/m68k/mvme162/startup/bspstart.c
r4442d21c r5c491aef 189 189 lcsr->vector_base = (VBR0 << 28) | (VBR1 << 24); 190 190 191 m68k_enable_caching();191 page_table_init(); 192 192 193 193 /* -
c/src/lib/libbsp/powerpc/papyrus/dlentry/dlentry.s
r4442d21c r5c491aef 4 4 * downloaded to Papyrus. 5 5 * 6 * Author: Andrew Bray <andy@i-cubed. demon.co.uk>6 * Author: Andrew Bray <andy@i-cubed.co.uk> 7 7 * 8 8 * COPYRIGHT (c) 1995 by i-cubed ltd. … … 224 224 stw r3, 8(r1) 225 225 stw r3, 12(r1) 226 .extern .main227 b .main/* call the first C routine */226 .extern SYM (main) 227 b SYM (main) /* call the first C routine */ 228 228 229 229 /*------------------------------------------------------------------------------- -
c/src/lib/libbsp/powerpc/papyrus/flashentry/flashentry.s
r4442d21c r5c491aef 4 4 * stored in Papyrus' flash ROM. 5 5 * 6 * Author: Andrew Bray <andy@i-cubed. demon.co.uk>6 * Author: Andrew Bray <andy@i-cubed.co.uk> 7 7 * 8 8 * COPYRIGHT (c) 1995 by i-cubed ltd. … … 231 231 addis r2,r0,0x8000 232 232 addi r2,r2,0x0001 233 mticcr r2 234 mtdccr r2 233 234 mtspr 0x3fb, r2 /* ICCR */ 235 mtspr 0x3fa, r2 /* DCCR */ 236 235 237 /*----------------------------------------------------------------------- 236 238 * C_setup. … … 244 246 stw r3, 8(r1) 245 247 stw r3, 12(r1) 246 .extern .main247 b .main/* call the first C routine */248 .extern SYM (main) 249 b SYM (main) /* call the first C routine */ 248 250 249 251 /*------------------------------------------------------------------------------- -
c/src/lib/libbsp/powerpc/papyrus/include/bsp.h
r4442d21c r5c491aef 3 3 * This include file contains all Papyrus board IO definitions. 4 4 * 5 * Author: Andrew Bray <andy@i-cubed. demon.co.uk>5 * Author: Andrew Bray <andy@i-cubed.co.uk> 6 6 * 7 7 * COPYRIGHT (c) 1995 by i-cubed ltd. … … 45 45 #include <rtems.h> 46 46 #include <console.h> 47 #include <clockdrv.h> 48 #include <console.h> 49 #include <iosupp.h> 47 50 48 51 /* … … 56 59 #define MAX_LONG_TEST_DURATION 300 /* 5 minutes = 300 seconds */ 57 60 #define MAX_SHORT_TEST_DURATION 3 /* 3 seconds */ 61 58 62 59 63 /* … … 79 83 { \ 80 84 unsigned32 start, ticks, now; \ 81 asm volatile ("mf tblo %0" : "=r" (start));\85 asm volatile ("mfspr %0, 0x3dd" : "=r" (start)); /* TBLO */ \ 82 86 ticks = (microseconds) * Cpu_table.clicks_per_usec; \ 83 87 do \ 84 asm volatile ("mf tblo %0" : "=r" (now));\88 asm volatile ("mfspr %0, 0x3dd" : "=r" (now)); /* TBLO */ \ 85 89 while (now - start < ticks); \ 86 90 } 91 87 92 88 93 /* Constants */ … … 90 95 #define RAM_START 0 91 96 #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) 92 108 93 109 /* miscellaneous stuff assumed to exist */ … … 99 115 * Device Driver Table Entries 100 116 */ 101 117 102 118 /* 103 119 * NOTE: Use the standard Console driver entry … … 107 123 * NOTE: Use the standard Clock driver entry 108 124 */ 109 125 110 126 /* 111 127 * How many libio files we want 112 128 */ 113 129 114 130 #define BSP_LIBIO_MAX_FDS 20 115 131 116 132 /* functions */ 117 133 118 void bsp_start( void ); 134 int bsp_start( 135 int argc, 136 char **argv, 137 char **environp 138 ); 139 119 140 void bsp_cleanup( void ); 120 141 -
c/src/lib/libbsp/powerpc/papyrus/include/coverhd.h
r4442d21c r5c491aef 27 27 28 28 /* 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> 30 30 * 31 31 * Units are 100ns. -
c/src/lib/libbsp/powerpc/papyrus/startup/bspclean.c
r4442d21c r5c491aef 8 8 * OUTPUT: NONE 9 9 * 10 * Author: Andrew Bray <andy@i-cubed. demon.co.uk>10 * Author: Andrew Bray <andy@i-cubed.co.uk> 11 11 * 12 12 * COPYRIGHT (c) 1995 by i-cubed ltd. -
c/src/lib/libbsp/powerpc/papyrus/startup/bspstart.c
r4442d21c r5c491aef 10 10 * OUTPUT: NONE 11 11 * 12 * Author: Andrew Bray <andy@i-cubed. demon.co.uk>12 * Author: Andrew Bray <andy@i-cubed.co.uk> 13 13 * 14 14 * COPYRIGHT (c) 1995 by i-cubed ltd. … … 167 167 } 168 168 169 int main(169 int bsp_start( 170 170 int argc, 171 171 char **argv, … … 226 226 */ 227 227 228 /*BSP_Configuration.work_space_size *= 4;*/229 230 228 BSP_Configuration.work_space_start = (void *) 231 229 RAM_END - BSP_Configuration.work_space_size; -
c/src/lib/libbsp/powerpc/papyrus/startup/setvec.c
r4442d21c r5c491aef 13 13 * address of previous interrupt handler 14 14 * 15 * Author: Andrew Bray <andy@i-cubed. demon.co.uk>15 * Author: Andrew Bray <andy@i-cubed.co.uk> 16 16 * 17 17 * COPYRIGHT (c) 1995 by i-cubed ltd. -
c/src/lib/libbsp/unix/posix/shmsupp/README
r4442d21c r5c491aef 1 # 2 # $Id$ 3 # 4 5 This directory contains the SHM driver support files for 6 System V/POSIX derived UNIX flavors. 7 8 WARNING: 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 25 void *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 31 shm_config_table BSP_shm_cfgtbl; 32 33 int semid; 34 35 void Shm_Cause_interrupt_unix( 36 rtems_unsigned32 node 37 ); 38 39 void 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 25 void 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 23 extern int semid; 24 25 /* 26 * Shm_Initialize_lock 27 * 28 * Initialize the lock for the specified locked queue. 29 */ 30 31 void 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 45 void 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 64 void 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 23 rtems_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 47 TEST_EXTERN rtems_id Task_id[ 4 ]; /* array of task ids */ 48 TEST_EXTERN rtems_name Task_name[ 4 ]; /* array of task names */ 49 50 TEST_EXTERN rtems_id Partition_id[ 2 ]; /* array of partition ids */ 51 TEST_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 167 167 Partition_task_name[ Multiprocessing_configuration.node ], 168 168 2, 169 RTEMS_MINIMUM_STACK_SIZE ,169 RTEMS_MINIMUM_STACK_SIZE * 2, 170 170 RTEMS_TIMESLICE, 171 171 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 27 rtems_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 27 rtems_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 162 162 163 163 put_time( 164 "rtems_semaphore_obtain ",164 "rtems_semaphore_obtain: available", 165 165 semaphore_obtain_time, 166 166 OPERATION_COUNT * OPERATION_COUNT, … … 170 170 171 171 put_time( 172 "rtems_semaphore_obtain (RTEMS_NO_WAIT)",172 "rtems_semaphore_obtain: not available -- NO_WAIT", 173 173 semaphore_obtain_no_wait_time, 174 174 OPERATION_COUNT * OPERATION_COUNT, … … 178 178 179 179 put_time( 180 "rtems_semaphore_release ",180 "rtems_semaphore_release: no waiting tasks", 181 181 semaphore_release_time, 182 182 OPERATION_COUNT * OPERATION_COUNT * 2, -
c/src/tests/tmtests/tm02/task1.c
r4442d21c r5c491aef 147 147 148 148 put_time( 149 "rtems_semaphore_obtain (blocking)",149 "rtems_semaphore_obtain: not available -- caller blocks", 150 150 end_time, 151 151 OPERATION_COUNT, -
c/src/tests/tmtests/tm03/task1.c
r4442d21c r5c491aef 140 140 141 141 put_time( 142 "rtems_semaphore_release (preemptive)",142 "rtems_semaphore_release: task readied -- preempts caller", 143 143 end_time, 144 144 OPERATION_COUNT, -
c/src/tests/tmtests/tm04/task1.c
r4442d21c r5c491aef 95 95 96 96 put_time( 97 "rtems_task_restart (blocked, preempt)",97 "rtems_task_restart: blocked task -- preempts caller", 98 98 end_time, 99 99 1, … … 114 114 115 115 put_time( 116 "rtems_task_restart (ready, preempt)",116 "rtems_task_restart: ready task -- preempts caller", 117 117 end_time, 118 118 1, … … 161 161 162 162 put_time( 163 "rtems_semaphore_release (readying)",163 "rtems_semaphore_release: task readied -- returns to caller", 164 164 end_time, 165 165 OPERATION_COUNT, … … 238 238 239 239 put_time( 240 "rtems_task_restart (suspended)",240 "rtems_task_restart: suspended task -- returns to caller", 241 241 end_time, 242 242 OPERATION_COUNT, … … 254 254 255 255 put_time( 256 "rtems_task_delete (suspended)",256 "rtems_task_delete: suspended task", 257 257 end_time, 258 258 OPERATION_COUNT, … … 282 282 283 283 put_time( 284 "rtems_task_restart (ready)",284 "rtems_task_restart: ready task -- returns to caller", 285 285 end_time, 286 286 OPERATION_COUNT, … … 304 304 305 305 put_time( 306 "rtems_task_restart (blocked, no preempt)",306 "rtems_task_restart: blocked task -- returns to caller", 307 307 end_time, 308 308 OPERATION_COUNT, … … 321 321 322 322 put_time( 323 "rtems_task_delete (blocked)",323 "rtems_task_delete: blocked task", 324 324 end_time, 325 325 OPERATION_COUNT, -
c/src/tests/tmtests/tm05/task1.c
r4442d21c r5c491aef 91 91 92 92 put_time( 93 "rtems_task_resume (causing preempt)",93 "rtems_task_resume: task readied -- preempts caller", 94 94 end_time, 95 95 OPERATION_COUNT, … … 120 120 121 121 put_time( 122 "rtems_task_suspend self",122 "rtems_task_suspend: calling task", 123 123 end_time, 124 124 OPERATION_COUNT, -
c/src/tests/tmtests/tm06/task1.c
r4442d21c r5c491aef 89 89 90 90 put_time( 91 "rtems_task_restart self",91 "rtems_task_restart: calling task", 92 92 end_time, 93 93 OPERATION_COUNT, … … 117 117 118 118 put_time( 119 "rtems_task_suspend (no preempt)",119 "rtems_task_suspend: returns to caller", 120 120 end_time, 121 121 OPERATION_COUNT, … … 130 130 131 131 put_time( 132 "rtems_task_resume (no preempt)",132 "rtems_task_resume: task readied -- returns to caller", 133 133 end_time, 134 134 OPERATION_COUNT, … … 143 143 144 144 put_time( 145 "rtems_task_delete (others)",145 "rtems_task_delete: ready task", 146 146 end_time, 147 147 OPERATION_COUNT, -
c/src/tests/tmtests/tm07/task1.c
r4442d21c r5c491aef 15 15 #include "system.h" 16 16 17 rtems_id Task_id[ OPERATION_COUNT+1], task_index;17 rtems_id Task_id[ OPERATION_COUNT+1 ], task_index; 18 18 19 19 rtems_task High_task( … … 85 85 86 86 put_time( 87 "rtems_task_restart suspended/preempt",87 "rtems_task_restart: suspended task -- preempts caller", 88 88 end_time, 89 89 OPERATION_COUNT, -
c/src/tests/tmtests/tm08/task1.c
r4442d21c r5c491aef 98 98 99 99 put_time( 100 "rtems_task_set_priority current priority",100 "rtems_task_set_priority: obtain current priority", 101 101 end_time, 102 102 OPERATION_COUNT, … … 111 111 112 112 put_time( 113 "rtems_task_set_priority no preempt",113 "rtems_task_set_priority: returns to caller", 114 114 end_time, 115 115 OPERATION_COUNT, … … 128 128 129 129 put_time( 130 "rtems_task_mode (current)",130 "rtems_task_mode: obtain current mode", 131 131 end_time, 132 132 OPERATION_COUNT, … … 151 151 152 152 put_time( 153 "rtems_task_mode (no reschedule)",153 "rtems_task_mode: no reschedule", 154 154 end_time, 155 155 OPERATION_COUNT * 2, … … 163 163 164 164 put_time( 165 "rtems_task_mode (reschedule)",165 "rtems_task_mode: reschedule -- returns to caller", 166 166 end_time, 167 167 1, … … 245 245 246 246 put_time( 247 "rtems_task_mode (preemptive)",247 "rtems_task_mode: reschedule -- preempts caller", 248 248 end_time, 249 249 1, -
c/src/tests/tmtests/tm09/task1.c
r4442d21c r5c491aef 185 185 186 186 put_time( 187 "rtems_message_queue_send (no tasks waiting)",187 "rtems_message_queue_send: no waiting tasks", 188 188 send_time, 189 189 OPERATION_COUNT * OPERATION_COUNT, … … 193 193 194 194 put_time( 195 "rtems_message_queue_urgent (no tasks waiting)",195 "rtems_message_queue_urgent: no waiting tasks", 196 196 urgent_time, 197 197 OPERATION_COUNT * OPERATION_COUNT, … … 201 201 202 202 put_time( 203 "rtems_message_queue_receive (messages available)",203 "rtems_message_queue_receive: available", 204 204 receive_time, 205 205 OPERATION_COUNT * OPERATION_COUNT * 2, … … 209 209 210 210 put_time( 211 "rtems_message_queue_flush (empty queue)",211 "rtems_message_queue_flush: no messages flushed", 212 212 empty_flush_time, 213 213 OPERATION_COUNT, … … 217 217 218 218 put_time( 219 "rtems_message_queue_flush (messages flushed)",219 "rtems_message_queue_flush: messages flushed", 220 220 flush_time, 221 221 OPERATION_COUNT, -
c/src/tests/tmtests/tm10/task1.c
r4442d21c r5c491aef 106 106 107 107 put_time( 108 "rtems_message_queue_receive (RTEMS_NO_WAIT)",108 "rtems_message_queue_receive: not available -- NO_WAIT", 109 109 end_time, 110 110 OPERATION_COUNT, … … 154 154 155 155 put_time( 156 "rtems_message_queue_receive (blocking)",156 "rtems_message_queue_receive: not available -- caller blocks", 157 157 end_time, 158 158 OPERATION_COUNT, -
c/src/tests/tmtests/tm11/task1.c
r4442d21c r5c491aef 144 144 145 145 put_time( 146 "rtems_message_queue_send (preemptive)",146 "rtems_message_queue_send: task readied -- preempts caller", 147 147 end_time, 148 148 OPERATION_COUNT, -
c/src/tests/tmtests/tm12/task1.c
r4442d21c r5c491aef 120 120 121 121 put_time( 122 "rtems_message_queue_send (readying)",122 "rtems_message_queue_send: task readied -- returns to caller", 123 123 end_time, 124 124 OPERATION_COUNT, -
c/src/tests/tmtests/tm13/task1.c
r4442d21c r5c491aef 143 143 144 144 put_time( 145 "rtems_message_queue_urgent (preemptive)",145 "rtems_message_queue_urgent: task readied -- preempts caller", 146 146 end_time, 147 147 OPERATION_COUNT, -
c/src/tests/tmtests/tm14/task1.c
r4442d21c r5c491aef 120 120 121 121 put_time( 122 "rtems_message_queue_urgent (readying)",122 "rtems_message_queue_urgent: task readied -- returns to caller", 123 123 end_time, 124 124 OPERATION_COUNT, -
c/src/tests/tmtests/tm15/task1.c
r4442d21c r5c491aef 99 99 100 100 put_time( 101 "rtems_event_receive (current)",101 "rtems_event_receive: obtain current events", 102 102 end_time, 103 103 OPERATION_COUNT, … … 120 120 121 121 put_time( 122 "rtems_event_receive (RTEMS_NO_WAIT)",122 "rtems_event_receive: not available -- NO_WAIT", 123 123 end_time, 124 124 OPERATION_COUNT, … … 138 138 139 139 put_time( 140 "rtems_event_receive (blocking)",140 "rtems_event_receive: not available -- caller blocks", 141 141 end_time, 142 142 OPERATION_COUNT, … … 156 156 157 157 put_time( 158 "rtems_event_send (non-blocking)",158 "rtems_event_send: no task readied", 159 159 end_time, 160 160 OPERATION_COUNT, … … 173 173 174 174 put_time( 175 "rtems_event_receive (available)",175 "rtems_event_receive: available", 176 176 end_time, 177 177 1, … … 186 186 187 187 put_time( 188 "rtems_event_send (readying)",188 "rtems_event_send: task readied -- returns to caller", 189 189 end_time, 190 190 OPERATION_COUNT, -
c/src/tests/tmtests/tm16/task1.c
r4442d21c r5c491aef 137 137 138 138 put_time( 139 "rtems_event_send (preemptive)",139 "rtems_event_send: task readied -- preempts caller", 140 140 end_time, 141 141 OPERATION_COUNT, -
c/src/tests/tmtests/tm17/task1.c
r4442d21c r5c491aef 116 116 117 117 put_time( 118 "rtems_task_set_priority (preemptive)",118 "rtems_task_set_priority: preempts caller", 119 119 end_time, 120 120 OPERATION_COUNT, -
c/src/tests/tmtests/tm18/task1.c
r4442d21c r5c491aef 101 101 102 102 put_time( 103 "rtems_task_delete self",103 "rtems_task_delete: calling task", 104 104 end_time, 105 105 OPERATION_COUNT, -
c/src/tests/tmtests/tm19/task1.c
r4442d21c r5c491aef 95 95 96 96 put_time( 97 "rtems_signal_send (self)",97 "rtems_signal_send: signal to self", 98 98 end_time, 99 99 1, … … 102 102 ); 103 103 104 puts( "SIGNAL_ENTER (non-preemptive) na" );105 106 104 Timer_initialize(); 107 105 } … … 112 110 { 113 111 rtems_status_code status; 114 115 puts( "SIGNAL_ENTER (preemptive) na" );116 112 117 113 status = rtems_task_resume( Task_id[ 3 ] ); … … 144 140 145 141 put_time( 146 "rtems_signal_send (non-preemptive)",142 "rtems_signal_send: returns to caller", 147 143 end_time, 148 144 1, … … 159 155 160 156 put_time( 161 " SIGNAL_RETURN (non-preemptive)",157 "exit ASR overhead: returns to calling task", 162 158 end_time, 163 159 1, … … 201 197 202 198 put_time( 203 " SIGNAL_RETURN (preemptive)",199 "exit ASR overhead: returns to preempting task", 204 200 end_time, 205 201 1, -
c/src/tests/tmtests/tm20/task1.c
r4442d21c r5c491aef 138 138 139 139 put_time( 140 "rtems_partition_get_buffer (available)",140 "rtems_partition_get_buffer: available", 141 141 end_time, 142 142 1, … … 163 163 164 164 put_time( 165 "rtems_partition_get_buffer (not available)",165 "rtems_partition_get_buffer: not available", 166 166 end_time, 167 167 1, … … 224 224 225 225 put_time( 226 "rtems_region_get_segment (available)",226 "rtems_region_get_segment: available", 227 227 end_time, 228 228 1, … … 242 242 243 243 put_time( 244 "rtems_region_get_segment (RTEMS_NO_WAIT)",244 "rtems_region_get_segment: not available -- NO_WAIT", 245 245 end_time, 246 246 1, … … 257 257 258 258 put_time( 259 "rtems_region_return_segment (no tasks waiting)",259 "rtems_region_return_segment: no waiting tasks", 260 260 end_time, 261 261 1, … … 287 287 288 288 put_time( 289 "rtems_region_return_segment (preempt)",289 "rtems_region_return_segment: task readied -- preempts caller", 290 290 end_time, 291 291 1, … … 438 438 439 439 put_time( 440 "rtems_region_get_segment (blocking)",440 "rtems_region_get_segment: not available -- caller blocks", 441 441 end_time, 442 442 1, … … 455 455 456 456 put_time( 457 "rtems_region_return_segment (ready -- return)",457 "rtems_region_return_segment: task readied -- returns to caller", 458 458 end_time, 459 459 1, -
c/src/tests/tmtests/tm22/task1.c
r4442d21c r5c491aef 98 98 99 99 put_time( 100 "rtems_message_queue_broadcast (readying)",100 "rtems_message_queue_broadcast: task readied -- returns to caller", 101 101 end_time, 102 102 1, … … 152 152 153 153 put_time( 154 "rtems_message_queue_broadcast (no waiting tasks)",154 "rtems_message_queue_broadcast: no waiting tasks", 155 155 end_time, 156 156 OPERATION_COUNT, … … 172 172 173 173 put_time( 174 "rtems_message_queue_broadcast (preempt)",174 "rtems_message_queue_broadcast: task readied -- preempts caller", 175 175 end_time, 176 176 1, -
c/src/tests/tmtests/tm23/task1.c
r4442d21c r5c491aef 123 123 124 124 put_time( 125 "rtems_timer_fire_after (inactive)",125 "rtems_timer_fire_after: inactive", 126 126 end_time, 127 127 OPERATION_COUNT, … … 136 136 137 137 put_time( 138 "rtems_timer_fire_after (active)",138 "rtems_timer_fire_after: active", 139 139 end_time, 140 140 OPERATION_COUNT, … … 149 149 150 150 put_time( 151 "rtems_timer_cancel (active)",151 "rtems_timer_cancel: active", 152 152 end_time, 153 153 OPERATION_COUNT, … … 163 163 164 164 put_time( 165 "rtems_timer_cancel (inactive)",165 "rtems_timer_cancel: inactive", 166 166 end_time, 167 167 OPERATION_COUNT, … … 177 177 178 178 put_time( 179 "rtems_timer_reset (inactive)",179 "rtems_timer_reset: inactive", 180 180 end_time, 181 181 OPERATION_COUNT, … … 190 190 191 191 put_time( 192 "rtems_timer_reset (active)",192 "rtems_timer_reset: active", 193 193 end_time, 194 194 OPERATION_COUNT, … … 214 214 215 215 put_time( 216 "rtems_timer_fire_when (inactive)",216 "rtems_timer_fire_when: inactive", 217 217 end_time, 218 218 OPERATION_COUNT, … … 228 228 229 229 put_time( 230 "rtems_timer_fire_when (active)",230 "rtems_timer_fire_when: active", 231 231 end_time, 232 232 OPERATION_COUNT, … … 241 241 242 242 put_time( 243 "rtems_timer_delete (active)",243 "rtems_timer_delete: active", 244 244 end_time, 245 245 OPERATION_COUNT, … … 266 266 267 267 put_time( 268 "rtems_timer_delete (inactive)",268 "rtems_timer_delete: inactive", 269 269 end_time, 270 270 OPERATION_COUNT, -
c/src/tests/tmtests/tm24/task1.c
r4442d21c r5c491aef 86 86 87 87 put_time( 88 "rtems_task_wake_after (no context switch)",88 "rtems_task_wake_after: yield -- returns to caller", 89 89 end_time, 90 90 OPERATION_COUNT, … … 111 111 112 112 put_time( 113 "rtems_task_wake_after (context switch)",113 "rtems_task_wake_after: yields -- preempts caller", 114 114 end_time, 115 115 OPERATION_COUNT, -
c/src/tests/tmtests/tm26/task1.c
r4442d21c r5c491aef 174 174 175 175 put_time( 176 " INTERRUPT DISABLE",176 "_ISR_Disable", 177 177 end_time, 178 178 1, … … 186 186 187 187 put_time( 188 " INTERRUPT FLASH",188 "_ISR_Flash", 189 189 end_time, 190 190 1, … … 198 198 199 199 put_time( 200 " INTERRUPT ENABLE",200 "_ISR_Enable", 201 201 end_time, 202 202 1, … … 210 210 211 211 put_time( 212 " THREAD_DISABLE_DISPATCH",212 "_Thread_Disable_dispatch", 213 213 end_time, 214 214 1, … … 222 222 223 223 put_time( 224 " THREAD_ENABLE_DISPATCH",224 "_Thread_Enable_dispatch", 225 225 end_time, 226 226 1, … … 234 234 235 235 put_time( 236 " THREAD_SET_STATE",236 "_Thread_Set_state", 237 237 end_time, 238 238 1, … … 254 254 255 255 put_time( 256 " THREAD_DISPATCH(NO FP)",256 "_Thread_Disptach (NO FP)", 257 257 end_time, 258 258 1, … … 290 290 291 291 put_time( 292 " CONTEXT_SWITCH (NO FP)",292 "context switch: no floating point contexts", 293 293 end_time, 294 294 1, … … 307 307 308 308 put_time( 309 " CONTEXT_SWITCH (SELF)",309 "context switch: self", 310 310 end_time, 311 311 1, … … 319 319 320 320 put_time( 321 " CONTEXT_SWITCH (Initialised)",321 "context switch: to another task", 322 322 end_time, 323 323 1, … … 350 350 351 351 put_time( 352 " CONTEXT_SWITCH (restore 1st FP)",352 "fp context switch: restore 1st FP task", 353 353 end_time, 354 354 1, … … 377 377 378 378 put_time( 379 " CONTEXT_SWITCH (used->init FP)",379 "fp context switch: save idle, restore initialized", 380 380 end_time, 381 381 1, … … 414 414 415 415 put_time( 416 " CONTEXT_SWITCH (init->init FP)",416 "fp context switch: save idle, restore idle", 417 417 end_time, 418 418 1, … … 443 443 444 444 put_time( 445 " CONTEXT_SWITCH (used->used FP)",445 "fp context switch: save initialized, restore initialized", 446 446 end_time, 447 447 1, … … 463 463 464 464 put_time( 465 " THREAD_RESUME",465 "_Thread_Resume", 466 466 end_time, 467 467 1, … … 477 477 478 478 put_time( 479 " THREAD_UNBLOCK",479 "_Thread_Unblock", 480 480 end_time, 481 481 1, … … 491 491 492 492 put_time( 493 " THREAD_READY",493 "_Thread_Ready", 494 494 end_time, 495 495 1, … … 511 511 512 512 put_time( 513 " THREAD_GET",513 "_Thread_Get", 514 514 end_time, 515 515 OPERATION_COUNT, … … 524 524 525 525 put_time( 526 " SEMAPHORE_GET",526 "_Semaphore_Get", 527 527 end_time, 528 528 OPERATION_COUNT, … … 537 537 538 538 put_time( 539 " THREAD_GETinvalid id",539 "_Thread_Get: invalid id", 540 540 end_time, 541 541 OPERATION_COUNT, -
c/src/tests/tmtests/tm27/task1.c
r4442d21c r5c491aef 105 105 106 106 put_time( 107 " INTERRUPT_ENTER (no preempt)",107 "interrupt entry overhead: returns to interrupted task", 108 108 Interrupt_enter_time, 109 109 1, … … 113 113 114 114 put_time( 115 " INTERRUPT_RETURN (no preempt)",115 "interrupt exit overhead: returns to interrupted task", 116 116 Interrupt_return_time, 117 117 1, … … 139 139 140 140 put_time( 141 " INTERRUPT_ENTER (nested interrupt)",141 "interrupt entry overhead: returns to nested interrupt", 142 142 Interrupt_enter_nested_time, 143 143 1, … … 147 147 148 148 put_time( 149 " INTERRUPT_RETURN (nested interrupt)",149 "interrupt exit overhead: returns to nested interrupt", 150 150 Interrupt_return_nested_time, 151 151 1, … … 194 194 195 195 put_time( 196 " INTERRUPT_ENTER (preempt)",196 "interrupt entry overhead: returns to preempting task", 197 197 Interrupt_enter_time, 198 198 1, … … 202 202 203 203 put_time( 204 " INTERRUPT_RETURN (preempt)",204 "interrupt exit overhead: returns to preempting task", 205 205 end_time, 206 206 1, -
c/src/tests/tmtests/tm29/task1.c
r4442d21c r5c491aef 58 58 59 59 put_time( 60 "rtems_rate_monotonic_period (initial)",60 "rtems_rate_monotonic_period: initiate period -- returns to caller", 61 61 end_time, 62 62 1, … … 70 70 71 71 put_time( 72 "rtems_rate_monotonic_period (STATUS)",72 "rtems_rate_monotonic_period: obtain status", 73 73 end_time, 74 74 1, … … 94 94 95 95 put_time( 96 "rtems_rate_monotonic_delete (cancelled)",96 "rtems_rate_monotonic_delete: inactive", 97 97 end_time, 98 98 1, … … 112 112 113 113 put_time( 114 "rtems_rate_monotonic_delete (active)",114 "rtems_rate_monotonic_delete: active", 115 115 end_time, 116 116 1, … … 196 196 197 197 put_time( 198 "rtems_rate_monotonic_period (blocking)",198 "rtems_rate_monotonic_period: conclude periods -- caller blocks", 199 199 end_time, 200 200 OPERATION_COUNT, -
c/src/tests/tools/generic/difftest
r4442d21c r5c491aef 1 #! /bin/ksh-p1 #!KSHELL -p 2 2 # 3 # Check test results against official output in the src tree4 # $Id$3 # Check test results against official output in the src tree 4 # $Id$ 5 5 # 6 6 -
cpukit/score/macros/rtems/score/tod.inl
r4442d21c r5c491aef 52 52 */ 53 53 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) ) 57 56 58 57 #endif -
cpukit/score/macros/rtems/score/tqdata.inl
r4442d21c r5c491aef 45 45 ( (_the_thread_queue)->count ) 46 46 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 47 59 #endif 48 60 /* end of include file */ -
cpukit/score/macros/rtems/score/watchdog.inl
r4442d21c r5c491aef 85 85 */ 86 86 87 #define _Watchdog_Insert_ticks( _the_watchdog, _units , _insert_mode) \88 { \87 #define _Watchdog_Insert_ticks( _the_watchdog, _units ) \ 88 do { \ 89 89 (_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 ) 93 92 94 93 /*PAGE … … 98 97 */ 99 98 100 #define _Watchdog_Insert_seconds( _the_watchdog, _units , _insert_mode) \101 { \99 #define _Watchdog_Insert_seconds( _the_watchdog, _units ) \ 100 do { \ 102 101 (_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 ) 106 104 107 105 /*PAGE … … 132 130 { \ 133 131 (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) ); \ 136 133 } 137 134 -
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 23 rtems_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 47 TEST_EXTERN rtems_id Task_id[ 4 ]; /* array of task ids */ 48 TEST_EXTERN rtems_name Task_name[ 4 ]; /* array of task names */ 49 50 TEST_EXTERN rtems_id Partition_id[ 2 ]; /* array of partition ids */ 51 TEST_EXTERN rtems_name Partition_name[ 2 ]; /* array of partition names */ 52 53 /* end of include file */ -
testsuites/mptests/mp14/init.c
r4442d21c r5c491aef 167 167 Partition_task_name[ Multiprocessing_configuration.node ], 168 168 2, 169 RTEMS_MINIMUM_STACK_SIZE ,169 RTEMS_MINIMUM_STACK_SIZE * 2, 170 170 RTEMS_TIMESLICE, 171 171 RTEMS_GLOBAL, -
testsuites/tmtests/tm01/task1.c
r4442d21c r5c491aef 162 162 163 163 put_time( 164 "rtems_semaphore_obtain ",164 "rtems_semaphore_obtain: available", 165 165 semaphore_obtain_time, 166 166 OPERATION_COUNT * OPERATION_COUNT, … … 170 170 171 171 put_time( 172 "rtems_semaphore_obtain (RTEMS_NO_WAIT)",172 "rtems_semaphore_obtain: not available -- NO_WAIT", 173 173 semaphore_obtain_no_wait_time, 174 174 OPERATION_COUNT * OPERATION_COUNT, … … 178 178 179 179 put_time( 180 "rtems_semaphore_release ",180 "rtems_semaphore_release: no waiting tasks", 181 181 semaphore_release_time, 182 182 OPERATION_COUNT * OPERATION_COUNT * 2, -
testsuites/tmtests/tm02/task1.c
r4442d21c r5c491aef 147 147 148 148 put_time( 149 "rtems_semaphore_obtain (blocking)",149 "rtems_semaphore_obtain: not available -- caller blocks", 150 150 end_time, 151 151 OPERATION_COUNT, -
testsuites/tmtests/tm03/task1.c
r4442d21c r5c491aef 140 140 141 141 put_time( 142 "rtems_semaphore_release (preemptive)",142 "rtems_semaphore_release: task readied -- preempts caller", 143 143 end_time, 144 144 OPERATION_COUNT, -
testsuites/tmtests/tm04/task1.c
r4442d21c r5c491aef 95 95 96 96 put_time( 97 "rtems_task_restart (blocked, preempt)",97 "rtems_task_restart: blocked task -- preempts caller", 98 98 end_time, 99 99 1, … … 114 114 115 115 put_time( 116 "rtems_task_restart (ready, preempt)",116 "rtems_task_restart: ready task -- preempts caller", 117 117 end_time, 118 118 1, … … 161 161 162 162 put_time( 163 "rtems_semaphore_release (readying)",163 "rtems_semaphore_release: task readied -- returns to caller", 164 164 end_time, 165 165 OPERATION_COUNT, … … 238 238 239 239 put_time( 240 "rtems_task_restart (suspended)",240 "rtems_task_restart: suspended task -- returns to caller", 241 241 end_time, 242 242 OPERATION_COUNT, … … 254 254 255 255 put_time( 256 "rtems_task_delete (suspended)",256 "rtems_task_delete: suspended task", 257 257 end_time, 258 258 OPERATION_COUNT, … … 282 282 283 283 put_time( 284 "rtems_task_restart (ready)",284 "rtems_task_restart: ready task -- returns to caller", 285 285 end_time, 286 286 OPERATION_COUNT, … … 304 304 305 305 put_time( 306 "rtems_task_restart (blocked, no preempt)",306 "rtems_task_restart: blocked task -- returns to caller", 307 307 end_time, 308 308 OPERATION_COUNT, … … 321 321 322 322 put_time( 323 "rtems_task_delete (blocked)",323 "rtems_task_delete: blocked task", 324 324 end_time, 325 325 OPERATION_COUNT, -
testsuites/tmtests/tm05/task1.c
r4442d21c r5c491aef 91 91 92 92 put_time( 93 "rtems_task_resume (causing preempt)",93 "rtems_task_resume: task readied -- preempts caller", 94 94 end_time, 95 95 OPERATION_COUNT, … … 120 120 121 121 put_time( 122 "rtems_task_suspend self",122 "rtems_task_suspend: calling task", 123 123 end_time, 124 124 OPERATION_COUNT, -
testsuites/tmtests/tm06/task1.c
r4442d21c r5c491aef 89 89 90 90 put_time( 91 "rtems_task_restart self",91 "rtems_task_restart: calling task", 92 92 end_time, 93 93 OPERATION_COUNT, … … 117 117 118 118 put_time( 119 "rtems_task_suspend (no preempt)",119 "rtems_task_suspend: returns to caller", 120 120 end_time, 121 121 OPERATION_COUNT, … … 130 130 131 131 put_time( 132 "rtems_task_resume (no preempt)",132 "rtems_task_resume: task readied -- returns to caller", 133 133 end_time, 134 134 OPERATION_COUNT, … … 143 143 144 144 put_time( 145 "rtems_task_delete (others)",145 "rtems_task_delete: ready task", 146 146 end_time, 147 147 OPERATION_COUNT, -
testsuites/tmtests/tm07/task1.c
r4442d21c r5c491aef 15 15 #include "system.h" 16 16 17 rtems_id Task_id[ OPERATION_COUNT+1], task_index;17 rtems_id Task_id[ OPERATION_COUNT+1 ], task_index; 18 18 19 19 rtems_task High_task( … … 85 85 86 86 put_time( 87 "rtems_task_restart suspended/preempt",87 "rtems_task_restart: suspended task -- preempts caller", 88 88 end_time, 89 89 OPERATION_COUNT, -
testsuites/tmtests/tm08/task1.c
r4442d21c r5c491aef 98 98 99 99 put_time( 100 "rtems_task_set_priority current priority",100 "rtems_task_set_priority: obtain current priority", 101 101 end_time, 102 102 OPERATION_COUNT, … … 111 111 112 112 put_time( 113 "rtems_task_set_priority no preempt",113 "rtems_task_set_priority: returns to caller", 114 114 end_time, 115 115 OPERATION_COUNT, … … 128 128 129 129 put_time( 130 "rtems_task_mode (current)",130 "rtems_task_mode: obtain current mode", 131 131 end_time, 132 132 OPERATION_COUNT, … … 151 151 152 152 put_time( 153 "rtems_task_mode (no reschedule)",153 "rtems_task_mode: no reschedule", 154 154 end_time, 155 155 OPERATION_COUNT * 2, … … 163 163 164 164 put_time( 165 "rtems_task_mode (reschedule)",165 "rtems_task_mode: reschedule -- returns to caller", 166 166 end_time, 167 167 1, … … 245 245 246 246 put_time( 247 "rtems_task_mode (preemptive)",247 "rtems_task_mode: reschedule -- preempts caller", 248 248 end_time, 249 249 1, -
testsuites/tmtests/tm09/task1.c
r4442d21c r5c491aef 185 185 186 186 put_time( 187 "rtems_message_queue_send (no tasks waiting)",187 "rtems_message_queue_send: no waiting tasks", 188 188 send_time, 189 189 OPERATION_COUNT * OPERATION_COUNT, … … 193 193 194 194 put_time( 195 "rtems_message_queue_urgent (no tasks waiting)",195 "rtems_message_queue_urgent: no waiting tasks", 196 196 urgent_time, 197 197 OPERATION_COUNT * OPERATION_COUNT, … … 201 201 202 202 put_time( 203 "rtems_message_queue_receive (messages available)",203 "rtems_message_queue_receive: available", 204 204 receive_time, 205 205 OPERATION_COUNT * OPERATION_COUNT * 2, … … 209 209 210 210 put_time( 211 "rtems_message_queue_flush (empty queue)",211 "rtems_message_queue_flush: no messages flushed", 212 212 empty_flush_time, 213 213 OPERATION_COUNT, … … 217 217 218 218 put_time( 219 "rtems_message_queue_flush (messages flushed)",219 "rtems_message_queue_flush: messages flushed", 220 220 flush_time, 221 221 OPERATION_COUNT, -
testsuites/tmtests/tm10/task1.c
r4442d21c r5c491aef 106 106 107 107 put_time( 108 "rtems_message_queue_receive (RTEMS_NO_WAIT)",108 "rtems_message_queue_receive: not available -- NO_WAIT", 109 109 end_time, 110 110 OPERATION_COUNT, … … 154 154 155 155 put_time( 156 "rtems_message_queue_receive (blocking)",156 "rtems_message_queue_receive: not available -- caller blocks", 157 157 end_time, 158 158 OPERATION_COUNT, -
testsuites/tmtests/tm11/task1.c
r4442d21c r5c491aef 144 144 145 145 put_time( 146 "rtems_message_queue_send (preemptive)",146 "rtems_message_queue_send: task readied -- preempts caller", 147 147 end_time, 148 148 OPERATION_COUNT, -
testsuites/tmtests/tm12/task1.c
r4442d21c r5c491aef 120 120 121 121 put_time( 122 "rtems_message_queue_send (readying)",122 "rtems_message_queue_send: task readied -- returns to caller", 123 123 end_time, 124 124 OPERATION_COUNT, -
testsuites/tmtests/tm13/task1.c
r4442d21c r5c491aef 143 143 144 144 put_time( 145 "rtems_message_queue_urgent (preemptive)",145 "rtems_message_queue_urgent: task readied -- preempts caller", 146 146 end_time, 147 147 OPERATION_COUNT, -
testsuites/tmtests/tm14/task1.c
r4442d21c r5c491aef 120 120 121 121 put_time( 122 "rtems_message_queue_urgent (readying)",122 "rtems_message_queue_urgent: task readied -- returns to caller", 123 123 end_time, 124 124 OPERATION_COUNT, -
testsuites/tmtests/tm15/task1.c
r4442d21c r5c491aef 99 99 100 100 put_time( 101 "rtems_event_receive (current)",101 "rtems_event_receive: obtain current events", 102 102 end_time, 103 103 OPERATION_COUNT, … … 120 120 121 121 put_time( 122 "rtems_event_receive (RTEMS_NO_WAIT)",122 "rtems_event_receive: not available -- NO_WAIT", 123 123 end_time, 124 124 OPERATION_COUNT, … … 138 138 139 139 put_time( 140 "rtems_event_receive (blocking)",140 "rtems_event_receive: not available -- caller blocks", 141 141 end_time, 142 142 OPERATION_COUNT, … … 156 156 157 157 put_time( 158 "rtems_event_send (non-blocking)",158 "rtems_event_send: no task readied", 159 159 end_time, 160 160 OPERATION_COUNT, … … 173 173 174 174 put_time( 175 "rtems_event_receive (available)",175 "rtems_event_receive: available", 176 176 end_time, 177 177 1, … … 186 186 187 187 put_time( 188 "rtems_event_send (readying)",188 "rtems_event_send: task readied -- returns to caller", 189 189 end_time, 190 190 OPERATION_COUNT, -
testsuites/tmtests/tm16/task1.c
r4442d21c r5c491aef 137 137 138 138 put_time( 139 "rtems_event_send (preemptive)",139 "rtems_event_send: task readied -- preempts caller", 140 140 end_time, 141 141 OPERATION_COUNT, -
testsuites/tmtests/tm17/task1.c
r4442d21c r5c491aef 116 116 117 117 put_time( 118 "rtems_task_set_priority (preemptive)",118 "rtems_task_set_priority: preempts caller", 119 119 end_time, 120 120 OPERATION_COUNT, -
testsuites/tmtests/tm18/task1.c
r4442d21c r5c491aef 101 101 102 102 put_time( 103 "rtems_task_delete self",103 "rtems_task_delete: calling task", 104 104 end_time, 105 105 OPERATION_COUNT, -
testsuites/tmtests/tm19/task1.c
r4442d21c r5c491aef 95 95 96 96 put_time( 97 "rtems_signal_send (self)",97 "rtems_signal_send: signal to self", 98 98 end_time, 99 99 1, … … 102 102 ); 103 103 104 puts( "SIGNAL_ENTER (non-preemptive) na" );105 106 104 Timer_initialize(); 107 105 } … … 112 110 { 113 111 rtems_status_code status; 114 115 puts( "SIGNAL_ENTER (preemptive) na" );116 112 117 113 status = rtems_task_resume( Task_id[ 3 ] ); … … 144 140 145 141 put_time( 146 "rtems_signal_send (non-preemptive)",142 "rtems_signal_send: returns to caller", 147 143 end_time, 148 144 1, … … 159 155 160 156 put_time( 161 " SIGNAL_RETURN (non-preemptive)",157 "exit ASR overhead: returns to calling task", 162 158 end_time, 163 159 1, … … 201 197 202 198 put_time( 203 " SIGNAL_RETURN (preemptive)",199 "exit ASR overhead: returns to preempting task", 204 200 end_time, 205 201 1, -
testsuites/tmtests/tm20/task1.c
r4442d21c r5c491aef 138 138 139 139 put_time( 140 "rtems_partition_get_buffer (available)",140 "rtems_partition_get_buffer: available", 141 141 end_time, 142 142 1, … … 163 163 164 164 put_time( 165 "rtems_partition_get_buffer (not available)",165 "rtems_partition_get_buffer: not available", 166 166 end_time, 167 167 1, … … 224 224 225 225 put_time( 226 "rtems_region_get_segment (available)",226 "rtems_region_get_segment: available", 227 227 end_time, 228 228 1, … … 242 242 243 243 put_time( 244 "rtems_region_get_segment (RTEMS_NO_WAIT)",244 "rtems_region_get_segment: not available -- NO_WAIT", 245 245 end_time, 246 246 1, … … 257 257 258 258 put_time( 259 "rtems_region_return_segment (no tasks waiting)",259 "rtems_region_return_segment: no waiting tasks", 260 260 end_time, 261 261 1, … … 287 287 288 288 put_time( 289 "rtems_region_return_segment (preempt)",289 "rtems_region_return_segment: task readied -- preempts caller", 290 290 end_time, 291 291 1, … … 438 438 439 439 put_time( 440 "rtems_region_get_segment (blocking)",440 "rtems_region_get_segment: not available -- caller blocks", 441 441 end_time, 442 442 1, … … 455 455 456 456 put_time( 457 "rtems_region_return_segment (ready -- return)",457 "rtems_region_return_segment: task readied -- returns to caller", 458 458 end_time, 459 459 1, -
testsuites/tmtests/tm22/task1.c
r4442d21c r5c491aef 98 98 99 99 put_time( 100 "rtems_message_queue_broadcast (readying)",100 "rtems_message_queue_broadcast: task readied -- returns to caller", 101 101 end_time, 102 102 1, … … 152 152 153 153 put_time( 154 "rtems_message_queue_broadcast (no waiting tasks)",154 "rtems_message_queue_broadcast: no waiting tasks", 155 155 end_time, 156 156 OPERATION_COUNT, … … 172 172 173 173 put_time( 174 "rtems_message_queue_broadcast (preempt)",174 "rtems_message_queue_broadcast: task readied -- preempts caller", 175 175 end_time, 176 176 1, -
testsuites/tmtests/tm23/task1.c
r4442d21c r5c491aef 123 123 124 124 put_time( 125 "rtems_timer_fire_after (inactive)",125 "rtems_timer_fire_after: inactive", 126 126 end_time, 127 127 OPERATION_COUNT, … … 136 136 137 137 put_time( 138 "rtems_timer_fire_after (active)",138 "rtems_timer_fire_after: active", 139 139 end_time, 140 140 OPERATION_COUNT, … … 149 149 150 150 put_time( 151 "rtems_timer_cancel (active)",151 "rtems_timer_cancel: active", 152 152 end_time, 153 153 OPERATION_COUNT, … … 163 163 164 164 put_time( 165 "rtems_timer_cancel (inactive)",165 "rtems_timer_cancel: inactive", 166 166 end_time, 167 167 OPERATION_COUNT, … … 177 177 178 178 put_time( 179 "rtems_timer_reset (inactive)",179 "rtems_timer_reset: inactive", 180 180 end_time, 181 181 OPERATION_COUNT, … … 190 190 191 191 put_time( 192 "rtems_timer_reset (active)",192 "rtems_timer_reset: active", 193 193 end_time, 194 194 OPERATION_COUNT, … … 214 214 215 215 put_time( 216 "rtems_timer_fire_when (inactive)",216 "rtems_timer_fire_when: inactive", 217 217 end_time, 218 218 OPERATION_COUNT, … … 228 228 229 229 put_time( 230 "rtems_timer_fire_when (active)",230 "rtems_timer_fire_when: active", 231 231 end_time, 232 232 OPERATION_COUNT, … … 241 241 242 242 put_time( 243 "rtems_timer_delete (active)",243 "rtems_timer_delete: active", 244 244 end_time, 245 245 OPERATION_COUNT, … … 266 266 267 267 put_time( 268 "rtems_timer_delete (inactive)",268 "rtems_timer_delete: inactive", 269 269 end_time, 270 270 OPERATION_COUNT, -
testsuites/tmtests/tm24/task1.c
r4442d21c r5c491aef 86 86 87 87 put_time( 88 "rtems_task_wake_after (no context switch)",88 "rtems_task_wake_after: yield -- returns to caller", 89 89 end_time, 90 90 OPERATION_COUNT, … … 111 111 112 112 put_time( 113 "rtems_task_wake_after (context switch)",113 "rtems_task_wake_after: yields -- preempts caller", 114 114 end_time, 115 115 OPERATION_COUNT, -
testsuites/tmtests/tm26/task1.c
r4442d21c r5c491aef 174 174 175 175 put_time( 176 " INTERRUPT DISABLE",176 "_ISR_Disable", 177 177 end_time, 178 178 1, … … 186 186 187 187 put_time( 188 " INTERRUPT FLASH",188 "_ISR_Flash", 189 189 end_time, 190 190 1, … … 198 198 199 199 put_time( 200 " INTERRUPT ENABLE",200 "_ISR_Enable", 201 201 end_time, 202 202 1, … … 210 210 211 211 put_time( 212 " THREAD_DISABLE_DISPATCH",212 "_Thread_Disable_dispatch", 213 213 end_time, 214 214 1, … … 222 222 223 223 put_time( 224 " THREAD_ENABLE_DISPATCH",224 "_Thread_Enable_dispatch", 225 225 end_time, 226 226 1, … … 234 234 235 235 put_time( 236 " THREAD_SET_STATE",236 "_Thread_Set_state", 237 237 end_time, 238 238 1, … … 254 254 255 255 put_time( 256 " THREAD_DISPATCH(NO FP)",256 "_Thread_Disptach (NO FP)", 257 257 end_time, 258 258 1, … … 290 290 291 291 put_time( 292 " CONTEXT_SWITCH (NO FP)",292 "context switch: no floating point contexts", 293 293 end_time, 294 294 1, … … 307 307 308 308 put_time( 309 " CONTEXT_SWITCH (SELF)",309 "context switch: self", 310 310 end_time, 311 311 1, … … 319 319 320 320 put_time( 321 " CONTEXT_SWITCH (Initialised)",321 "context switch: to another task", 322 322 end_time, 323 323 1, … … 350 350 351 351 put_time( 352 " CONTEXT_SWITCH (restore 1st FP)",352 "fp context switch: restore 1st FP task", 353 353 end_time, 354 354 1, … … 377 377 378 378 put_time( 379 " CONTEXT_SWITCH (used->init FP)",379 "fp context switch: save idle, restore initialized", 380 380 end_time, 381 381 1, … … 414 414 415 415 put_time( 416 " CONTEXT_SWITCH (init->init FP)",416 "fp context switch: save idle, restore idle", 417 417 end_time, 418 418 1, … … 443 443 444 444 put_time( 445 " CONTEXT_SWITCH (used->used FP)",445 "fp context switch: save initialized, restore initialized", 446 446 end_time, 447 447 1, … … 463 463 464 464 put_time( 465 " THREAD_RESUME",465 "_Thread_Resume", 466 466 end_time, 467 467 1, … … 477 477 478 478 put_time( 479 " THREAD_UNBLOCK",479 "_Thread_Unblock", 480 480 end_time, 481 481 1, … … 491 491 492 492 put_time( 493 " THREAD_READY",493 "_Thread_Ready", 494 494 end_time, 495 495 1, … … 511 511 512 512 put_time( 513 " THREAD_GET",513 "_Thread_Get", 514 514 end_time, 515 515 OPERATION_COUNT, … … 524 524 525 525 put_time( 526 " SEMAPHORE_GET",526 "_Semaphore_Get", 527 527 end_time, 528 528 OPERATION_COUNT, … … 537 537 538 538 put_time( 539 " THREAD_GETinvalid id",539 "_Thread_Get: invalid id", 540 540 end_time, 541 541 OPERATION_COUNT, -
testsuites/tmtests/tm27/task1.c
r4442d21c r5c491aef 105 105 106 106 put_time( 107 " INTERRUPT_ENTER (no preempt)",107 "interrupt entry overhead: returns to interrupted task", 108 108 Interrupt_enter_time, 109 109 1, … … 113 113 114 114 put_time( 115 " INTERRUPT_RETURN (no preempt)",115 "interrupt exit overhead: returns to interrupted task", 116 116 Interrupt_return_time, 117 117 1, … … 139 139 140 140 put_time( 141 " INTERRUPT_ENTER (nested interrupt)",141 "interrupt entry overhead: returns to nested interrupt", 142 142 Interrupt_enter_nested_time, 143 143 1, … … 147 147 148 148 put_time( 149 " INTERRUPT_RETURN (nested interrupt)",149 "interrupt exit overhead: returns to nested interrupt", 150 150 Interrupt_return_nested_time, 151 151 1, … … 194 194 195 195 put_time( 196 " INTERRUPT_ENTER (preempt)",196 "interrupt entry overhead: returns to preempting task", 197 197 Interrupt_enter_time, 198 198 1, … … 202 202 203 203 put_time( 204 " INTERRUPT_RETURN (preempt)",204 "interrupt exit overhead: returns to preempting task", 205 205 end_time, 206 206 1, -
testsuites/tmtests/tm29/task1.c
r4442d21c r5c491aef 58 58 59 59 put_time( 60 "rtems_rate_monotonic_period (initial)",60 "rtems_rate_monotonic_period: initiate period -- returns to caller", 61 61 end_time, 62 62 1, … … 70 70 71 71 put_time( 72 "rtems_rate_monotonic_period (STATUS)",72 "rtems_rate_monotonic_period: obtain status", 73 73 end_time, 74 74 1, … … 94 94 95 95 put_time( 96 "rtems_rate_monotonic_delete (cancelled)",96 "rtems_rate_monotonic_delete: inactive", 97 97 end_time, 98 98 1, … … 112 112 113 113 put_time( 114 "rtems_rate_monotonic_delete (active)",114 "rtems_rate_monotonic_delete: active", 115 115 end_time, 116 116 1, … … 196 196 197 197 put_time( 198 "rtems_rate_monotonic_period (blocking)",198 "rtems_rate_monotonic_period: conclude periods -- caller blocks", 199 199 end_time, 200 200 OPERATION_COUNT,
Note: See TracChangeset
for help on using the changeset viewer.