From cfc56827673e55b1fccc8c1cf277b5324284c1c6 Mon Sep 17 00:00:00 2001 From: miod Date: Sat, 22 Oct 2022 20:09:41 +0000 Subject: [PATCH] Put struct rwindow back in reg.h, pcb.h depends on this. --- sys/arch/sparc64/include/cpu.h | 5 +++-- sys/arch/sparc64/include/frame.h | 15 +-------------- sys/arch/sparc64/include/reg.h | 15 ++++++++++++++- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/sys/arch/sparc64/include/cpu.h b/sys/arch/sparc64/include/cpu.h index 3e3e92d31a2..4794abfcbc5 100644 --- a/sys/arch/sparc64/include/cpu.h +++ b/sys/arch/sparc64/include/cpu.h @@ -1,4 +1,4 @@ -/* $OpenBSD: cpu.h,v 1.99 2022/10/21 18:55:42 miod Exp $ */ +/* $OpenBSD: cpu.h,v 1.100 2022/10/22 20:09:41 miod Exp $ */ /* $NetBSD: cpu.h,v 1.28 2001/06/14 22:56:58 thorpej Exp $ */ /* @@ -73,9 +73,10 @@ */ #include -#include #include #include +#include +#include #include #include diff --git a/sys/arch/sparc64/include/frame.h b/sys/arch/sparc64/include/frame.h index 24957936516..7b3f3f2d3d9 100644 --- a/sys/arch/sparc64/include/frame.h +++ b/sys/arch/sparc64/include/frame.h @@ -1,4 +1,4 @@ -/* $OpenBSD: frame.h,v 1.7 2022/10/21 18:55:42 miod Exp $ */ +/* $OpenBSD: frame.h,v 1.8 2022/10/22 20:09:41 miod Exp $ */ /* $NetBSD: frame.h,v 1.9 2001/03/04 09:28:35 mrg Exp $ */ /* @@ -106,19 +106,6 @@ struct trapframe { int64_t tf_local[8]; /* local registers in trap's caller */ int64_t tf_in[8]; /* in registers in trap's caller (for debug) */ }; - -/* - * The v9 register window. Each stack pointer (%o6 aka %sp) in each window - * must ALWAYS point to some place at which it is safe to scribble on - * 64 bytes. (If not, your process gets mangled.) Furthermore, each - * stack pointer should be aligned on a 16-byte boundary (plus the BIAS) - * for v9 stacks (the kernel as currently coded allows arbitrary alignment, - * but with a hefty performance penalty). - */ -struct rwindow { - int64_t rw_local[8]; /* %l0..%l7 */ - int64_t rw_in[8]; /* %i0..%i7 */ -}; #endif #endif /* _MACHINE_FRAME_H_ */ diff --git a/sys/arch/sparc64/include/reg.h b/sys/arch/sparc64/include/reg.h index 4ab009494a2..8d989f8a5d6 100644 --- a/sys/arch/sparc64/include/reg.h +++ b/sys/arch/sparc64/include/reg.h @@ -1,4 +1,4 @@ -/* $OpenBSD: reg.h,v 1.6 2022/10/21 18:55:42 miod Exp $ */ +/* $OpenBSD: reg.h,v 1.7 2022/10/22 20:09:41 miod Exp $ */ /* $NetBSD: reg.h,v 1.8 2001/06/19 12:59:16 wiz Exp $ */ /* @@ -44,6 +44,19 @@ #ifndef _MACHINE_REG_H_ #define _MACHINE_REG_H_ +/* + * The v9 register window. Each stack pointer (%o6 aka %sp) in each window + * must ALWAYS point to some place at which it is safe to scribble on + * 64 bytes. (If not, your process gets mangled.) Furthermore, each + * stack pointer should be aligned on a 16-byte boundary (plus the BIAS) + * for v9 stacks (the kernel as currently coded allows arbitrary alignment, + * but with a hefty performance penalty). + */ +struct rwindow { + int64_t rw_local[8]; /* %l0..%l7 */ + int64_t rw_in[8]; /* %i0..%i7 */ +}; + struct reg { int64_t r_tstate; /* tstate register */ int64_t r_pc; /* return pc */ -- 2.20.1