source: rtems/c/src/lib/libbsp/powerpc/qemuppc/start/start.S @ 2e5cf7f

5
Last change on this file since 2e5cf7f was 2e5cf7f, checked in by Sebastian Huber <sebastian.huber@…>, on 03/16/18 at 14:09:36

bsps/powerpc: Use shared linker command file

Close #3339.

  • Property mode set to 100644
File size: 988 bytes
Line 
1#include <rtems/score/cpu.h>
2#include <rtems/powerpc/powerpc.h>
3
4#include <bspopts.h>
5
6        .global bsp_interrupt_stack_start
7        .global bsp_interrupt_stack_end
8        .global _start
9
10        .section .bsp_start_text,"awx",@progbits
11
12_start:
13        lis   %r1,bsp_interrupt_stack_start@h
14        ori   %r1,%r1,bsp_interrupt_stack_start@l
15        /* Make sure stack is properly aligned */
16        li    %r3, CPU_STACK_ALIGNMENT - 1
17        andc  %r1, %r1, %r3
18        /* NULL ptr to back chain */
19        li    %r3, 0
20        stw   %r3, 0(%r1)
21
22        li    %r3,8192
23        mtmsr %r3
24
25        /* Read-only small data */
26        lis %r2, _SDA2_BASE_@h
27        ori %r2, %r2,_SDA2_BASE_@l
28
29        /* Read-write small data */
30        lis %r13, _SDA_BASE_@h
31        ori %r13, %r13,_SDA_BASE_@l
32
33        bl      cmain
34        .size _start, . - _start
35
36        .global __eabi
37__eabi:
38        blr
39        .size __eabi, . - __eabi
40
41        .section ".reset","ax"
42_reset:
43        b _start
44        .size _reset, . - _reset
45
46        /* Start stack area */
47        .section ".bsp_rwextra", "aw", @nobits
48        .align 4
49        .space 4096
50bsp_interrupt_stack_start:
51        .space 32768
52bsp_interrupt_stack_end:
Note: See TracBrowser for help on using the repository browser.