blob: 37b2cadb2fa6c480302bd27805e69eae4a9f81fb [file] [log] [blame]
/*
* Copyright (c) 2021 Antony Pavlov <antonynpavlov@gmail.com>
*
* based on include/arch/riscv/exp.h
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_INCLUDE_ARCH_MIPS_EXP_H_
#define ZEPHYR_INCLUDE_ARCH_MIPS_EXP_H_
#ifndef _ASMLANGUAGE
#include <zephyr/types.h>
#include <zephyr/toolchain.h>
#ifdef __cplusplus
extern "C" {
#endif
struct __esf {
unsigned long ra; /* return address */
unsigned long gp; /* global pointer */
unsigned long t0; /* Caller-saved temporary register */
unsigned long t1; /* Caller-saved temporary register */
unsigned long t2; /* Caller-saved temporary register */
unsigned long t3; /* Caller-saved temporary register */
unsigned long t4; /* Caller-saved temporary register */
unsigned long t5; /* Caller-saved temporary register */
unsigned long t6; /* Caller-saved temporary register */
unsigned long t7; /* Caller-saved temporary register */
unsigned long t8; /* Caller-saved temporary register */
unsigned long t9; /* Caller-saved temporary register */
unsigned long a0; /* function argument */
unsigned long a1; /* function argument */
unsigned long a2; /* function argument */
unsigned long a3; /* function argument */
unsigned long v0; /* return value */
unsigned long v1; /* return value */
unsigned long at; /* assembly temporary */
unsigned long epc;
unsigned long badvaddr;
unsigned long hi;
unsigned long lo;
unsigned long status;
unsigned long cause;
};
typedef struct __esf z_arch_esf_t;
#ifdef __cplusplus
}
#endif
#endif /* _ASMLANGUAGE */
#endif /* ZEPHYR_INCLUDE_ARCH_MIPS_EXP_H_ */