source: rtems-docs/cpu-supplement/superh.rst

Last change on this file was e52906b, checked in by Sebastian Huber <sebastian.huber@…>, on 01/09/19 at 15:14:06

Simplify SPDX-License-Identifier comment

  • Property mode set to 100644
File size: 3.7 KB
RevLine 
[e52906b]1.. SPDX-License-Identifier: CC-BY-SA-4.0
[489740f]2
[4886d60]3.. Copyright (C) 1988, 2002 On-Line Applications Research Corporation (OAR)
[f233256]4
[d755cbd]5SuperH Specific Information
[6916004]6***************************
[d755cbd]7
[f233256]8This chapter discusses the SuperH architecture dependencies in this port of
9RTEMS.  The SuperH family has a wide variety of implementations by a wide range
10of vendors.  Consequently, there are many, many CPU models within it.
[d755cbd]11
12**Architecture Documents**
13
[f233256]14For information on the SuperH architecture, refer to the following documents
15available from VENDOR (http://www.XXX.com/):
[d755cbd]16
17- *SuperH Family Reference, VENDOR, PART NUMBER*.
18
19CPU Model Dependent Features
20============================
21
[f233256]22This chapter presents the set of features which vary across SuperH
23implementations and are of importance to RTEMS.  The set of CPU model feature
24macros are defined in the file ``cpukit/score/cpu/sh/sh.h`` based upon the
25particular CPU model specified on the compilation command line.
[d755cbd]26
27Another Optional Feature
28------------------------
29
30The macro XXX
31
32Calling Conventions
33===================
34
35Calling Mechanism
36-----------------
37
[f233256]38All RTEMS directives are invoked using a ``XXX`` instruction and return to the
39user application via the ``XXX`` instruction.
[d755cbd]40
41Register Usage
42--------------
43
44The SH1 has 16 general registers (r0..r15).
45
46- r0..r3 used as general volatile registers
47
[f233256]48- r4..r7 used to pass up to 4 arguments to functions, arguments above 4 are
[d755cbd]49  passed via the stack)
50
[f233256]51- r8..13 caller saved registers (i.e. push them to the stack if you need them
52  inside of a function)
[d755cbd]53
54- r14 frame pointer
55
56- r15 stack pointer
57
58Parameter Passing
59-----------------
60
61XXX
62
63Memory Model
64============
65
66Flat Memory Model
67-----------------
68
[f233256]69The SuperH family supports a flat 32-bit address space with addresses ranging
70from 0x00000000 to 0xFFFFFFFF (4 gigabytes).  Each address is represented by a
7132-bit value and is byte addressable.  The address may be used to reference a
72single byte, word (2-bytes), or long word (4 bytes).  Memory accesses within
73this address space are performed in big endian fashion by the processors in
74this family.
[d755cbd]75
[f233256]76Some of the SuperH family members support virtual memory and segmentation.
77RTEMS does not support virtual memory or segmentation on any of the SuperH
78family members.  It is the responsibility of the BSP to initialize the mapping
79for a flat memory model.
[d755cbd]80
81Interrupt Processing
82====================
83
[f233256]84Although RTEMS hides many of the processor dependent details of interrupt
85processing, it is important to understand how the RTEMS interrupt manager is
86mapped onto the processor's unique architecture. Discussed in this chapter are
87the MIPS's interrupt response and control mechanisms as they pertain to RTEMS.
[d755cbd]88
89Vectoring of an Interrupt Handler
90---------------------------------
91
[f233256]92Upon receipt of an interrupt the XXX family members with separate interrupt
93stacks automatically perform the following actions:
[d755cbd]94
95- TBD
96
[f233256]97A nested interrupt is processed similarly by these CPU models with the
98exception that only a single ISF is placed on the interrupt stack and the
99current stack need not be switched.
[d755cbd]100
101Interrupt Levels
102----------------
103
104TBD
105
106Default Fatal Error Processing
107==============================
108
109The default fatal error handler for this architecture disables processor
[f233256]110interrupts, places the error code in *XXX*, and executes a ``XXX`` instruction
111to simulate a halt processor instruction.
[d755cbd]112
113Symmetric Multiprocessing
114=========================
115
116SMP is not supported.
117
118Thread-Local Storage
119====================
120
121Thread-local storage is not implemented.
122
123Board Support Packages
124======================
125
126System Reset
127------------
128
129An RTEMS based application is initiated or
130re-initiated when the processor is reset.  When the
131processor is reset, it performs the following actions:
132
133- TBD
134
135Processor Initialization
136------------------------
137
138TBD
Note: See TracBrowser for help on using the repository browser.