OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [sparclite/] [sleb/] [v2_0/] [include/] [hal_cygm.h] - Blame information for rev 174

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
#ifndef CYGONCE_HAL_CYGM_H
2
#define CYGONCE_HAL_CYGM_H
3
 
4
//=============================================================================
5
//
6
//      hal_cygm.h
7
//
8
//      HAL CygMon vector definitions
9
//
10
//=============================================================================
11
//####ECOSGPLCOPYRIGHTBEGIN####
12
// -------------------------------------------
13
// This file is part of eCos, the Embedded Configurable Operating System.
14
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
15
//
16
// eCos is free software; you can redistribute it and/or modify it under
17
// the terms of the GNU General Public License as published by the Free
18
// Software Foundation; either version 2 or (at your option) any later version.
19
//
20
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
21
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
22
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
23
// for more details.
24
//
25
// You should have received a copy of the GNU General Public License along
26
// with eCos; if not, write to the Free Software Foundation, Inc.,
27
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
28
//
29
// As a special exception, if other files instantiate templates or use macros
30
// or inline functions from this file, or you compile this file and link it
31
// with other works to produce a work based on this file, this file does not
32
// by itself cause the resulting work to be covered by the GNU General Public
33
// License. However the source code for this file must still be made available
34
// in accordance with section (3) of the GNU General Public License.
35
//
36
// This exception does not invalidate any other reasons why a work based on
37
// this file might be covered by the GNU General Public License.
38
//
39
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
40
// at http://sources.redhat.com/ecos/ecos-license/
41
// -------------------------------------------
42
//####ECOSGPLCOPYRIGHTEND####
43
//=============================================================================
44
//#####DESCRIPTIONBEGIN####
45
//
46
// Author(s):   hmt
47
// Contributors:        hmt
48
// Date:        1999-02-24
49
// Purpose:     Define Interrupt vectors in CygMon
50
// Description: 
51
//              
52
// Usage:
53
//              #include <cyg/hal/hal_cygm.h>
54
//              ...
55
//              
56
//
57
//####DESCRIPTIONEND####
58
//
59
//=============================================================================
60
 
61
#include <pkgconf/system.h>
62
#include <pkgconf/hal.h>
63
#include <pkgconf/hal_sparclite.h>
64
#include <pkgconf/hal_sparclite_sleb.h>
65
 
66
// *** THIS FILE IS ALSO USED IN ASSEMBLY SOURCE ***
67
// so it does not include eg. cyg_type.h ...
68
 
69
#ifdef CYG_HAL_USE_ROM_MONITOR_CYGMON
70
 
71
//-----------------------------------------------------------------------------
72
// SPARClite CygMon vector numbers and address
73
 
74
#define CYGMON_VECTOR_TABLE_BASE (0x04000000)
75
 
76
#define CYGMON_VECTOR_TABLE ((CYG_ADDRESS *)CYGMON_VECTOR_TABLE_BASE)
77
 
78
// The ROM vector table is located at 0x04000000 and has the
79
// following layout:
80
 
81
#define BSP_EXC_IACCESS     0   /* insn access */
82
#define BSP_EXC_ILL         1   /* illegal insn */
83
#define BSP_EXC_IPRIV       2   /* privileged insn */
84
#define BSP_EXC_FPDIS       3   /* FPU disabled */
85
#define BSP_EXC_WINOVF      4   /* window overflow */
86
#define BSP_EXC_WINUND      5   /* window underflow */
87
#define BSP_EXC_ALIGN       6   /* alignment */
88
#define BSP_EXC_DACCESS     7   /* data access */
89
#define BSP_EXC_TAGOVF      8   /* tag overflow */
90
#define BSP_EXC_INT1        9
91
#define BSP_EXC_INT2       10
92
#define BSP_EXC_INT3       11
93
#define BSP_EXC_INT4       12
94
#define BSP_EXC_INT5       13
95
#define BSP_EXC_INT6       14
96
#define BSP_EXC_INT7       15   /* serial Ch0 rxrdy */
97
#define BSP_EXC_INT8       16
98
#define BSP_EXC_INT9       17
99
#define BSP_EXC_INT10      18   /* serial Ch0 rxrdy */
100
#define BSP_EXC_INT11      19
101
#define BSP_EXC_INT12      20
102
#define BSP_EXC_INT13      21
103
#define BSP_EXC_INT14      22   /* ethernet interrupt */
104
#define BSP_EXC_INT15      23
105
#define BSP_EXC_CPDIS      24   /* CP disabled */
106
#define BSP_EXC_BREAK      25   /* breakpoint "ta 1" */
107
#define BSP_EXC_WINFLUSH   26   /* window flush "ta 3" */
108
#define BSP_EXC_SYSCALL    27   /* syscall "ta 8" */
109
#define BSP_EXC_DEBUG      28   /* DSU exception */
110
#define BSP_EXC_TRAP       29   /* all other traps */
111
#define BSP_VEC_MT_DEBUG   30   /* Multi-Threaded debugging */
112
#define BSP_VEC_STUB_ENTRY 31   /* low level stub entry, eg. ^C rx */
113
 
114
// These vectors should be called with:
115
//
116
//  %l0 - PSR
117
//  %l1 - PC
118
//  %l2 - NPC
119
// [%l3 - TBR ;  STUB_ENTRY only, TBR from original exception ]
120
 
121
#define BSP_NOTVEC_BSP_COMM_PROCS 32 /* pointer to structure for comms */
122
 
123
#endif // CYG_HAL_USE_ROM_MONITOR_CYGMON
124
 
125
//-----------------------------------------------------------------------------
126
#endif // ifndef CYGONCE_HAL_CYGM_H
127
// End of hal_cygm.h

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.