2015-04-11 07:44:37 +08:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2014 Wind River Systems, Inc.
|
|
|
|
*
|
2017-01-19 09:01:01 +08:00
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
2015-04-11 07:44:37 +08:00
|
|
|
*/
|
|
|
|
|
2015-12-04 23:09:39 +08:00
|
|
|
/**
|
|
|
|
* @file
|
|
|
|
* @brief Definitions for the exception vector table
|
|
|
|
*
|
2015-10-21 00:42:33 +08:00
|
|
|
*
|
|
|
|
* Definitions for the boot vector table.
|
|
|
|
*
|
|
|
|
* System exception handler names all have the same format:
|
|
|
|
*
|
|
|
|
* __<exception name with underscores>
|
|
|
|
*
|
|
|
|
* Refer to the ARCv2 manual for an explanation of the exceptions.
|
2015-07-02 05:22:39 +08:00
|
|
|
*/
|
2015-04-11 07:44:37 +08:00
|
|
|
|
|
|
|
#ifndef _VECTOR_TABLE__H_
|
|
|
|
#define _VECTOR_TABLE__H_
|
|
|
|
|
2016-01-23 01:38:49 +08:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2015-11-18 06:08:45 +08:00
|
|
|
#define EXC_EV_TRAP 0x9
|
|
|
|
|
2015-04-11 07:44:37 +08:00
|
|
|
#ifdef _ASMLANGUAGE
|
|
|
|
|
|
|
|
#include <board.h>
|
|
|
|
#include <toolchain.h>
|
2017-06-17 23:30:47 +08:00
|
|
|
#include <linker/sections.h>
|
2015-04-11 07:44:37 +08:00
|
|
|
|
|
|
|
GTEXT(__start)
|
|
|
|
GTEXT(_VectorTable)
|
|
|
|
|
|
|
|
GTEXT(__reset)
|
|
|
|
GTEXT(__memory_error)
|
|
|
|
GTEXT(__instruction_error)
|
|
|
|
GTEXT(__ev_machine_check)
|
|
|
|
GTEXT(__ev_tlb_miss_i)
|
|
|
|
GTEXT(__ev_tlb_miss_d)
|
|
|
|
GTEXT(__ev_prot_v)
|
|
|
|
GTEXT(__ev_privilege_v)
|
|
|
|
GTEXT(__ev_swi)
|
|
|
|
GTEXT(__ev_trap)
|
|
|
|
GTEXT(__ev_extension)
|
|
|
|
GTEXT(__ev_div_zero)
|
|
|
|
GTEXT(__ev_dc_error)
|
|
|
|
GTEXT(__ev_maligned)
|
|
|
|
|
|
|
|
GTEXT(_PrepC)
|
2015-04-24 15:40:17 +08:00
|
|
|
GTEXT(_isr_wrapper)
|
2015-04-11 07:44:37 +08:00
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
extern void __reset(void);
|
|
|
|
extern void __memory_error(void);
|
|
|
|
extern void __instruction_error(void);
|
|
|
|
extern void __ev_machine_check(void);
|
|
|
|
extern void __ev_tlb_miss_i(void);
|
|
|
|
extern void __ev_tlb_miss_d(void);
|
|
|
|
extern void __ev_prot_v(void);
|
|
|
|
extern void __ev_privilege_v(void);
|
|
|
|
extern void __ev_swi(void);
|
|
|
|
extern void __ev_trap(void);
|
|
|
|
extern void __ev_extension(void);
|
|
|
|
extern void __ev_div_zero(void);
|
|
|
|
extern void __ev_dc_error(void);
|
|
|
|
extern void __ev_maligned(void);
|
|
|
|
|
|
|
|
#endif /* _ASMLANGUAGE */
|
|
|
|
|
2016-01-23 01:38:49 +08:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2015-04-11 07:44:37 +08:00
|
|
|
#endif /* _VECTOR_TABLE__H_ */
|