Subversion Repositories HelenOS

Rev

Rev 2178 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2178 Rev 2180
Line 1... Line 1...
1
/*
1
/*
2
 * Copyright (c) 2007 Michal Kebrt
2
 * Copyright (c) 2007 Michal Kebrt
-
 
3
 * Copyright (c) 2007 Petr Stepan
-
 
4
 *
3
 * All rights reserved.
5
 * All rights reserved.
4
 *
6
 *
5
 * Redistribution and use in source and binary forms, with or without
7
 * Redistribution and use in source and binary forms, with or without
6
 * modification, are permitted provided that the following conditions
8
 * modification, are permitted provided that the following conditions
7
 * are met:
9
 * are met:
Line 35... Line 37...
35
#ifndef KERN_arm32_EXCEPTION_H_
37
#ifndef KERN_arm32_EXCEPTION_H_
36
#define KERN_arm32_EXCEPTION_H_
38
#define KERN_arm32_EXCEPTION_H_
37
 
39
 
38
#include <arch/types.h>
40
#include <arch/types.h>
39
 
41
 
-
 
42
/* Exception Vectors */
-
 
43
#define EXC_RESET_VEC       0x0
-
 
44
#define EXC_UNDEF_INSTR_VEC 0x4
-
 
45
#define EXC_SWI_VEC     0x8
-
 
46
#define EXC_PREFETCH_ABORT_VEC  0xc
-
 
47
#define EXC_DATA_ABORT_VEC  0x10
-
 
48
#define EXC_IRQ_VEC     0x18
-
 
49
#define EXC_FIQ_VEC     0x1c
-
 
50
 
40
typedef struct {
51
typedef struct {
41
   
52
   
42
    uint32_t cpsr;
53
    uint32_t cpsr;
43
    uint32_t retaddr;
54
    uint32_t retaddr;
44
 
55
 
Line 72... Line 83...
72
static inline unative_t istate_get_pc(istate_t *istate)
83
static inline unative_t istate_get_pc(istate_t *istate)
73
{
84
{
74
    return istate->retaddr;
85
    return istate->retaddr;
75
}
86
}
76
 
87
 
-
 
88
 
-
 
89
extern void install_exception_handlers(void);
-
 
90
extern void exception_init(void);
-
 
91
 
77
#endif
92
#endif
78
 
93
 
79
/** @}
94
/** @}
80
 */
95
 */