RTEMS CPU Architecture Supplement Release 6.7B289f6 (23Th September 2021) © 1988, 2020 RTEMS Project and Contributors
Total Page:16
File Type:pdf, Size:1020Kb
RTEMS CPU Architecture Supplement Release 6.7b289f6 (23th September 2021) © 1988, 2020 RTEMS Project and contributors CONTENTS 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...................... 12 2.5.2 Interrupt Levels................................ 12 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 3.6 Default Fatal Error Processing............................. 25 i 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 7 Intel/AMD x86 Specific Information 51 7.1 CPU Model Dependent Features........................... 52 7.1.1 bswap Instruction............................... 52 7.2 Calling Conventions.................................. 53 7.2.1 Processor Background............................ 53 7.2.2 Calling Mechanism.............................. 53 7.2.3 Register Usage................................. 53 7.2.4 Parameter Passing............................... 53 7.3 Memory Model..................................... 54 7.3.1 Flat Memory Model.............................. 54 7.4 Interrupt Processing.................................. 55 ii 7.4.1 Vectoring of Interrupt Handler........................ 55 7.4.2 Interrupt Stack Frame............................ 55 7.4.3 Interrupt Levels................................ 55 7.4.4 Interrupt Stack................................ 56 7.5 Default Fatal Error Processing............................. 57 7.6 Symmetric Multiprocessing.............................. 58 7.7 Thread-Local Storage................................. 59 7.8 Board Support Packages................................ 60 7.8.1 System Reset................................. 60 7.8.2 Processor Initialization............................ 60 8 Lattice Mico32 Specific Information 63 8.1 CPU Model Dependent Features........................... 64 8.2 Register Architecture................................. 65 8.3 Calling Conventions.................................. 66 8.3.1 Calling Mechanism.............................. 66 8.3.2 Register Usage................................. 66 8.3.3 Parameter Passing............................... 66 8.4 Memory Model..................................... 67 8.5 Interrupt Processing.................................. 68 8.6 Default Fatal Error Processing............................. 69 8.7 Symmetric Multiprocessing.............................. 70 8.8 Thread-Local Storage................................. 71 8.9 Board Support Packages................................ 72 8.9.1 System Reset................................. 72 9 Renesas M32C Specific Information 73 10 M68xxx and Coldfire Specific Information 75 10.1 CPU Model Dependent Features........................... 76 10.1.1 BFFFO Instruction.............................. 76 10.1.2 Vector Base Register............................. 76 10.1.3 Separate Stacks................................ 76 10.1.4 Pre-Indexing Address Mode......................... 76 10.1.5 Extend Byte to Long Instruction....................... 76 10.2 Calling Conventions.................................. 77 10.2.1 Calling Mechanism.............................. 77 10.2.2 Register Usage................................. 77 10.2.3 Parameter Passing............................... 77 10.3 Memory Model..................................... 78 10.4 Interrupt Processing.................................. 79 10.4.1 Vectoring of an Interrupt Handler...................... 79 10.4.1.1 Models Without Separate Interrupt Stacks............. 79 10.4.1.2 Models With Separate Interrupt Stacks............... 79 10.4.2 CPU Models Without VBR and RAM at 0.................. 80 10.4.3 Interrupt Levels................................ 81 10.5 Default Fatal Error Processing............................. 82 10.6 Symmetric Multiprocessing.............................. 83 10.7 Thread-Local Storage................................. 84 10.8 Board Support Packages................................ 85 10.8.1 System Reset................................. 85 10.8.2 Processor Initialization............................ 85 iii 11 Xilinx MicroBlaze Specific Information 87 11.1 Symmetric Multiprocessing.............................. 88 11.2 Thread-Local Storage................................. 89 12 MIPS Specific Information 91 12.1 CPU Model Dependent Features........................... 92 12.1.1 Another Optional Feature.......................... 92 12.2 Calling Conventions.................................. 93 12.2.1 Processor Background............................ 93 12.2.2 Calling Mechanism.............................. 93 12.2.3 Register Usage................................. 93 12.2.4 Parameter Passing............................... 93 12.3 Memory Model..................................... 94 12.3.1 Flat Memory Model.............................. 94 12.4 Interrupt Processing.................................. 95 12.4.1 Vectoring of an Interrupt Handler...................... 95 12.4.2 Interrupt Levels................................ 95 12.5 Default Fatal Error Processing............................. 96 12.6 Symmetric Multiprocessing.............................. 97 12.7 Thread-Local Storage................................. 98 12.8 Board Support Packages................................ 99 12.8.1 System Reset................................. 99 12.8.2 Processor Initialization............................ 99 13 Altera Nios II Specific Information 101 13.1 Symmetric Multiprocessing.............................. 102 13.2 Thread-Local Storage................................. 103 14 OpenRISC 1000 Specific Information 105 14.1 Calling Conventions.................................. 106 14.1.1 Floating Point Unit.............................. 106 14.2 Memory Model..................................... 107 14.3