source: rtems/doc/cpu_supplement/epiphany.t @ 19078dc6

5
Last change on this file since 19078dc6 was 19078dc6, checked in by Sebastian Huber <sebastian.huber@…>, on 07/23/15 at 06:36:30

doc: Add SMP section to CPU Arch Supplement

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