diff --git a/headers/posix/arch/riscv64/arch_setjmp.h b/headers/posix/arch/riscv64/arch_setjmp.h new file mode 100644 index 0000000000..1e12ebcc18 --- /dev/null +++ b/headers/posix/arch/riscv64/arch_setjmp.h @@ -0,0 +1,13 @@ +/* + * Copyright 2018-2019 Haiku, Inc. All Rights Reserved. + * Distributed under the terms of the MIT License. + */ +#ifndef _ARCH_SETJMP_H_ +#define _ARCH_SETJMP_H_ + + +#define _SETJMP_BUF_SZ (1+(2*12)+1) +typedef unsigned long __jmp_buf[_SETJMP_BUF_SZ]; + + +#endif /* _ARCH_SETJMP_H_ */ diff --git a/headers/posix/arch/riscv64/signal.h b/headers/posix/arch/riscv64/signal.h new file mode 100644 index 0000000000..be222f858a --- /dev/null +++ b/headers/posix/arch/riscv64/signal.h @@ -0,0 +1,24 @@ +/* + * Copyright 2018-2019 Haiku, Inc. All Rights Reserved. + * Distributed under the terms of the MIT License. + */ +#ifndef _ARCH_SIGNAL_H_ +#define _ARCH_SIGNAL_H_ + + +/* + * Architecture-specific structure passed to signal handlers + */ + +// TODO: gcc7's RISCV doesn't seem real keen on identifying 32 vs 64 yet. +#if defined(__RISCV64__) || defined(__RISCV__) +struct vregs { + ulong x[31]; + ulong pc; + double f[32]; + char fcsr; +}; +#endif /* defined(__RISCV64__) */ + + +#endif /* _ARCH_SIGNAL_H_ */