source: rtems-docs/cpu-supplement/epiphany.rst @ fa5a960

5
Last change on this file since fa5a960 was fa5a960, checked in by Sebastian Huber <sebastian.huber@…>, on 02/05/19 at 10:43:10

Add copyright notices

  • Property mode set to 100644
File size: 2.2 KB
Line 
1.. SPDX-License-Identifier: CC-BY-SA-4.0
2
3.. Copyright (C) 2015 Hesham Almatary
4.. Copyright (C) 1988, 2002 On-Line Applications Research Corporation (OAR)
5
6Epiphany Specific Information
7*****************************
8
9This chapter discusses the`Epiphany Architecture
10http://adapteva.com/docs/epiphany_sdk_ref.pdf dependencies in this port of
11RTEMS. Epiphany is a chip that can come with 16 and 64 cores, each of which can
12run RTEMS separately or they can work together to run a SMP RTEMS application.
13
14**Architecture Documents**
15
16For information on the Epiphany architecture refer to the *Epiphany
17Architecture Reference* http://adapteva.com/docs/epiphany_arch_ref.pdf.
18
19Calling Conventions
20===================
21
22Please refer to the *Epiphany SDK*
23http://adapteva.com/docs/epiphany_sdk_ref.pdf Appendix A: Application Binary
24Interface
25
26Floating Point Unit
27-------------------
28
29A floating point unit is currently not supported.
30
31Memory Model
32============
33
34A flat 32-bit memory model is supported, no caches. Each core has its own 32
35KiB strictly ordered local memory along with an access to a shared 32 MiB
36external DRAM.
37
38Interrupt Processing
39====================
40
41Every Epiphany core has 10 exception types:
42
43- Reset
44
45- Software Exception
46
47- Data Page Fault
48
49- Timer 0
50
51- Timer 1
52
53- Message Interrupt
54
55- DMA0 Interrupt
56
57- DMA1 Interrupt
58
59- WANT Interrupt
60
61- User Interrupt
62
63Interrupt Levels
64----------------
65
66There are only two levels: interrupts enabled and interrupts disabled.
67
68Interrupt Stack
69---------------
70
71The Epiphany RTEMS port uses a dedicated software interrupt stack.  The stack
72for interrupts is allocated during interrupt driver initialization.  When an
73interrupt is entered, the _ISR_Handler routine is responsible for switching
74from the interrupted task stack to RTEMS software interrupt stack.
75
76Default Fatal Error Processing
77==============================
78
79The default fatal error handler for this architecture performs the following
80actions:
81
82- disables operating system supported interrupts (IRQ),
83
84- places the error code in ``r0``, and
85
86- executes an infinite loop to simulate a halt processor instruction.
87
88Symmetric Multiprocessing
89=========================
90
91SMP is not supported.
Note: See TracBrowser for help on using the repository browser.