RTEMS CPU Supplement Documentation Release 4.11.3 ©Copyright 2016, RTEMS Project (Built 15Th February 2018)
Total Page:16
File Type:pdf, Size:1020Kb
RTEMS CPU Supplement Documentation Release 4.11.3 ©Copyright 2016, RTEMS Project (built 15th February 2018) CONTENTS I RTEMS CPU Architecture Supplement1 1 Preface 5 2 Port Specific Information7 2.1 CPU Model Dependent Features...........................8 2.1.1 CPU Model Name...............................8 2.1.2 Floating Point Unit..............................8 2.2 Multilibs........................................9 2.3 Calling Conventions.................................. 10 2.3.1 Calling Mechanism.............................. 10 2.3.2 Register Usage................................. 10 2.3.3 Parameter Passing............................... 10 2.3.4 User-Provided Routines............................ 10 2.4 Memory Model..................................... 11 2.4.1 Flat Memory Model.............................. 11 2.5 Interrupt Processing.................................. 12 2.5.1 Vectoring of an Interrupt Handler...................... 12 2.5.2 Interrupt Levels................................ 12 2.5.3 Disabling of Interrupts by RTEMS...................... 12 2.6 Default Fatal Error Processing............................. 14 2.7 Symmetric Multiprocessing.............................. 15 2.8 Thread-Local Storage................................. 16 2.9 CPU counter...................................... 17 2.10 Interrupt Profiling................................... 18 2.11 Board Support Packages................................ 19 2.11.1 System Reset................................. 19 3 ARM Specific Information 21 3.1 CPU Model Dependent Features........................... 22 3.1.1 CPU Model Name............................... 22 3.1.2 Count Leading Zeroes Instruction...................... 22 3.1.3 Floating Point Unit.............................. 22 3.2 Multilibs........................................ 23 3.3 Calling Conventions.................................. 24 3.4 Memory Model..................................... 25 3.5 Interrupt Processing.................................. 26 3.5.1 Interrupt Levels................................ 26 3.5.2 Interrupt Stack................................ 26 i 3.6 Default Fatal Error Processing............................. 27 3.7 Symmetric Multiprocessing.............................. 28 3.8 Thread-Local Storage................................. 29 4 Atmel AVR Specific Information 31 4.1 CPU Model Dependent Features........................... 32 4.1.1 Count Leading Zeroes Instruction...................... 32 4.2 Calling Conventions.................................. 33 4.2.1 Processor Background............................ 33 4.2.2 Register Usage................................. 33 4.2.3 Parameter Passing............................... 33 4.3 Memory Model..................................... 34 4.4 Interrupt Processing.................................. 35 4.4.1 Vectoring of an Interrupt Handler...................... 35 4.4.2 Disabling of Interrupts by RTEMS...................... 35 4.4.3 Interrupt Stack................................ 35 4.5 Default Fatal Error Processing............................. 36 4.6 Symmetric Multiprocessing.............................. 37 4.7 Thread-Local Storage................................. 38 4.8 Board Support Packages................................ 39 4.8.1 System Reset................................. 39 5 Blackfin Specific Information 41 5.1 CPU Model Dependent Features........................... 42 5.1.1 Count Leading Zeroes Instruction...................... 42 5.2 Calling Conventions.................................. 43 5.2.1 Processor Background............................ 43 5.2.2 Register Usage................................. 43 5.2.3 Parameter Passing............................... 43 5.3 Memory Model..................................... 44 5.4 Interrupt Processing.................................. 45 5.4.1 Vectoring of an Interrupt Handler...................... 45 5.4.2 Disabling of Interrupts by RTEMS...................... 45 5.4.3 Interrupt Stack................................ 45 5.5 Default Fatal Error Processing............................. 46 5.6 Symmetric Multiprocessing.............................. 47 5.7 Thread-Local Storage................................. 48 5.8 Board Support Packages................................ 49 5.8.1 System Reset................................. 49 6 Epiphany Specific Information 51 6.1 Calling Conventions.................................. 52 6.1.1 Floating Point Unit.............................. 52 6.2 Memory Model..................................... 53 6.3 Interrupt Processing.................................. 54 6.3.1 Interrupt Levels................................ 54 6.3.2 Interrupt Stack................................ 54 6.4 Default Fatal Error Processing............................. 55 6.5 Symmetric Multiprocessing.............................. 56 7 Intel/AMD x86 Specific Information 57 7.1 CPU Model Dependent Features........................... 58 ii 7.1.1 bswap Instruction............................... 58 7.2 Calling Conventions.................................. 59 7.2.1 Processor Background............................ 59 7.2.2 Calling Mechanism.............................. 59 7.2.3 Register Usage................................. 59 7.2.4 Parameter Passing............................... 59 7.3 Memory Model..................................... 60 7.3.1 Flat Memory Model.............................. 60 7.4 Interrupt Processing.................................. 61 7.4.1 Vectoring of Interrupt Handler........................ 61 7.4.2 Interrupt Stack Frame............................ 61 7.4.3 Interrupt Levels................................ 61 7.4.4 Interrupt Stack................................ 61 7.5 Default Fatal Error Processing............................. 62 7.6 Symmetric Multiprocessing.............................. 63 7.7 Thread-Local Storage................................. 64 7.8 Board Support Packages................................ 65 7.8.1 System Reset................................. 65 7.8.2 Processor Initialization............................ 65 8 Lattice Mico32 Specific Information 67 8.1 CPU Model Dependent Features........................... 68 8.2 Register Architecture................................. 69 8.3 Calling Conventions.................................. 70 8.3.1 Calling Mechanism.............................. 70 8.3.2 Register Usage................................. 70 8.3.3 Parameter Passing............................... 70 8.4 Memory Model..................................... 71 8.5 Interrupt Processing.................................. 72 8.6 Default Fatal Error Processing............................. 73 8.7 Symmetric Multiprocessing.............................. 74 8.8 Thread-Local Storage................................. 75 8.9 Board Support Packages................................ 76 8.9.1 System Reset................................. 76 9 Renesas M32C Specific Information 77 9.1 Symmetric Multiprocessing.............................. 78 9.2 Thread-Local Storage................................. 79 10 M68xxx and Coldfire Specific Information 81 10.1 CPU Model Dependent Features........................... 82 10.1.1 BFFFO Instruction.............................. 82 10.1.2 Vector Base Register............................. 82 10.1.3 Separate Stacks................................ 82 10.1.4 Pre-Indexing Address Mode......................... 82 10.1.5 Extend Byte to Long Instruction....................... 82 10.2 Calling Conventions.................................. 83 10.2.1 Calling Mechanism.............................. 83 10.2.2 Register Usage................................. 83 10.2.3 Parameter Passing............................... 83 10.3 Memory Model..................................... 84 10.4 Interrupt Processing.................................. 85 iii 10.4.1 Vectoring of an Interrupt Handler...................... 85 10.4.1.1 Models Without Separate Interrupt Stacks............. 85 10.4.1.2 Models With Separate Interrupt Stacks............... 85 10.4.2 CPU Models Without VBR and RAM at 0.................. 85 10.4.3 Interrupt Levels................................ 86 10.5 Default Fatal Error Processing............................. 87 10.6 Symmetric Multiprocessing.............................. 88 10.7 Thread-Local Storage................................. 89 10.8 Board Support Packages................................ 90 10.8.1 System Reset................................. 90 10.8.2 Processor Initialization............................ 90 11 Xilinx MicroBlaze Specific Information 91 11.1 Symmetric Multiprocessing.............................. 92 11.2 Thread-Local Storage................................. 93 12 MIPS Specific Information 95 12.1 CPU Model Dependent Features........................... 96 12.1.1 Another Optional Feature.......................... 96 12.2 Calling Conventions.................................. 97 12.2.1 Processor Background............................ 97 12.2.2 Calling Mechanism.............................. 97 12.2.3 Register Usage................................. 97 12.2.4 Parameter Passing............................... 97 12.3 Memory Model..................................... 98 12.3.1 Flat Memory Model.............................. 98 12.4 Interrupt Processing.................................. 99 12.4.1 Vectoring of an Interrupt Handler...................... 99 12.4.2 Interrupt Levels................................ 99 12.5 Default Fatal Error Processing............................. 100 12.6 Symmetric Multiprocessing.............................