2017-01-21 03:52:29 +08:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2014 Wind River Systems, Inc.
|
|
|
|
* Copyright (c) 2016 Cadence Design Systems, Inc.
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @file
|
|
|
|
* @brief Xtensa public exception handling
|
|
|
|
*
|
2017-04-09 23:57:54 +08:00
|
|
|
* Xtensa-specific kernel exception handling interface. Included by
|
2017-01-21 03:52:29 +08:00
|
|
|
* arch/xtensa/arch.h.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _ARCH_XTENSA_EXC_H_
|
|
|
|
#define _ARCH_XTENSA_EXC_H_
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef _ASMLANGUAGE
|
|
|
|
#else
|
|
|
|
/**
|
2017-04-09 23:57:54 +08:00
|
|
|
* @brief Exception Stack Frame
|
2017-01-21 03:52:29 +08:00
|
|
|
*
|
|
|
|
* A pointer to an "exception stack frame" (ESF) is passed as an argument
|
|
|
|
* to exception handlers registered via nanoCpuExcConnect().
|
|
|
|
*/
|
|
|
|
struct __esf {
|
|
|
|
/* XXX - not finished yet */
|
|
|
|
sys_define_gpr_with_alias(a1, sp);
|
|
|
|
uint32_t pc;
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef struct __esf NANO_ESF;
|
|
|
|
extern const NANO_ESF _default_esf;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* _ARCH_XTENSA_EXC_H_ */
|