FreeNOS
ARMException.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2015 Niek Linnenbank
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef __LIBARCH_ARM_EXCEPTION_H
19#define __LIBARCH_ARM_EXCEPTION_H
20
21#include <Types.h>
22#include <IntController.h>
23
25struct CPUState;
26
39#define ARM_EX_VECTAB_SIZE (64)
40
45{
46 public:
47
62
72
78 typedef void Handler(struct CPUState state);
79
80 public:
81
89
98 Result install(ExceptionType vector, Handler handler);
99
100 private:
101
114};
115
122#endif /* __LIBARCH_ARM_EXCEPTION_H */
ARM exception handling functionality.
Result
Result codes.
Address m_vecTable
ARM exception vector jump table.
void Handler(struct CPUState state)
Function which is called when the CPU is interrupted.
Result install(ExceptionType vector, Handler handler)
Install an exception handler.
ExceptionType
ARM exception types.
unsigned long Address
A memory address.
Definition Types.h:131
Contains all the CPU registers.
Definition ARMCore.h:244