#ifndef __BITS_SETJMP_H__
# define __BITS_SETJMP_H__

#include <stddef.h>
#include <stdint.h>

/*
** Custom(?) jmp_buf struct
** The SR register is saved first because the long jump can be involved with
** different register bank. So to avoid this, it's simpler to restore the saved
** SR first (see <src/setjmp/target/sh-generic/longjmp.S>)
*/
struct __jmp_buf
{
	uint32_t sr;
	uint32_t reg[8];
	uint32_t gbr;
	uint32_t macl;
	uint32_t mach;
	uint32_t pr;
};

#endif /*__BITS_SETJMP_H__*/