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