summaryrefslogtreecommitdiffstats
path: root/c/src/exec/score/cpu/hppa1.1/rtems.S
blob: c4f1c91238e9644febfd24fc30fa33972f68fd6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/*  rtems.S
 *
 *  This file contains the single entry point code for
 *  the HPPA implementation of RTEMS.
 *
 *  COPYRIGHT (c) 1989-1999.
 *  On-Line Applications Research Corporation (OAR).
 *
 *  The license and distribution terms for this file may be
 *  found in the file LICENSE in this distribution or at
 *  http://www.OARcorp.com/rtems/license.html.
 *
 *  $Id$
 */

#include <rtems/score/hppa.h>
#include <rtems/score/cpu_asm.h>

#if 0
#define TEXT_SEGMENT \
        .SPACE  $TEXT$          !\
        .SUBSPA $CODE$
#define RO_SEGMENT \
        .SPACE  $TEXT$          !\
        .SUBSPA $lit$
#define DATA_SEGMENT \
        .SPACE  $PRIVATE$          !\
        .SUBSPA $data$
#define BSS_SEGMENT \
        .SPACE  $PRIVATE$          !\
        .SUBSPA $bss$
#else
#define TEXT_SEGMENT .text
#define RO_SEGMENT .rodata
#define DATA_SEGMENT .data
#define BSS_SEGMENT .bss
#endif


#if 0
	.SPACE $PRIVATE$
	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
	.SPACE $TEXT$
	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
	.SPACE $TEXT$
	.SUBSPA $CODE$
#endif

	TEXT_SEGMENT
	.align 32
	.EXPORT cpu_jump_to_directive,ENTRY,PRIV_LEV=0
cpu_jump_to_directive
	.PROC
	.CALLINFO FRAME=0,NO_CALLS
	.ENTRY


# invoke user interrupt handler

# XXX: look at register usage and code
# XXX: this is not necessarily right!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# r9 = directive number

        .import   _Entry_points,data
	ldil	  L%_Entry_points,%r8
	ldo	  R%_Entry_points(%r8),%r8
        ldwx,s    %r9(%r8),%r8

        .call  ARGW0=GR
        bv,n      0(%r8)
        nop

        .EXIT
        .PROCEND