Module Name: src
Committed By: skrll
Date: Fri Nov 22 20:01:04 UTC 2024
Modified Files:
src/sys/arch/riscv/include: locore.h
src/sys/arch/riscv/riscv: riscv_machdep.c syscall.c trap.c
Added Files:
src/sys/arch/riscv/include: userret.h
Log Message:
risc-v: split userret into its own header as per other ports
Helps with crash(8)
To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/riscv/include/locore.h
cvs rdiff -u -r0 -r1.1 src/sys/arch/riscv/include/userret.h
cvs rdiff -u -r1.38 -r1.39 src/sys/arch/riscv/riscv/riscv_machdep.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/riscv/riscv/syscall.c
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/riscv/riscv/trap.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/riscv/include/locore.h
diff -u src/sys/arch/riscv/include/locore.h:1.13 src/sys/arch/riscv/include/locore.h:1.14
--- src/sys/arch/riscv/include/locore.h:1.13 Thu May 2 18:18:17 2024
+++ src/sys/arch/riscv/include/locore.h Fri Nov 22 20:01:04 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.h,v 1.13 2024/05/02 18:18:17 skrll Exp $ */
+/* $NetBSD: locore.h,v 1.14 2024/11/22 20:01:04 skrll Exp $ */
/*-
* Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -77,12 +77,6 @@ stack_align(vaddr_t sp)
}
static inline void
-userret(struct lwp *l)
-{
- mi_userret(l);
-}
-
-static inline void
fpu_load(void)
{
#ifdef FPE
Index: src/sys/arch/riscv/riscv/riscv_machdep.c
diff -u src/sys/arch/riscv/riscv/riscv_machdep.c:1.38 src/sys/arch/riscv/riscv/riscv_machdep.c:1.39
--- src/sys/arch/riscv/riscv/riscv_machdep.c:1.38 Thu Aug 15 07:03:57 2024
+++ src/sys/arch/riscv/riscv/riscv_machdep.c Fri Nov 22 20:01:04 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: riscv_machdep.c,v 1.38 2024/08/15 07:03:57 skrll Exp $ */
+/* $NetBSD: riscv_machdep.c,v 1.39 2024/11/22 20:01:04 skrll Exp $ */
/*-
* Copyright (c) 2014, 2019, 2022 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
#include "opt_riscv_debug.h"
#include <sys/cdefs.h>
-__RCSID("$NetBSD: riscv_machdep.c,v 1.38 2024/08/15 07:03:57 skrll Exp $");
+__RCSID("$NetBSD: riscv_machdep.c,v 1.39 2024/11/22 20:01:04 skrll Exp $");
#include <sys/param.h>
@@ -64,6 +64,7 @@ __RCSID("$NetBSD: riscv_machdep.c,v 1.38
#include <riscv/machdep.h>
#include <riscv/pte.h>
#include <riscv/sbi.h>
+#include <riscv/userret.h>
#include <libfdt.h>
#include <dev/fdt/fdtvar.h>
Index: src/sys/arch/riscv/riscv/syscall.c
diff -u src/sys/arch/riscv/riscv/syscall.c:1.5 src/sys/arch/riscv/riscv/syscall.c:1.6
--- src/sys/arch/riscv/riscv/syscall.c:1.5 Thu Oct 5 19:41:05 2023
+++ src/sys/arch/riscv/riscv/syscall.c Fri Nov 22 20:01:04 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: syscall.c,v 1.5 2023/10/05 19:41:05 ad Exp $ */
+/* $NetBSD: syscall.c,v 1.6 2024/11/22 20:01:04 skrll Exp $ */
/*-
* Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: syscall.c,v 1.5 2023/10/05 19:41:05 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: syscall.c,v 1.6 2024/11/22 20:01:04 skrll Exp $");
#include <sys/param.h>
#include <sys/cpu.h>
@@ -39,7 +39,7 @@ __KERNEL_RCSID(0, "$NetBSD: syscall.c,v
#include <sys/systm.h>
#include <riscv/frame.h>
-#include <riscv/locore.h>
+#include <riscv/userret.h>
#ifndef EMULNAME
#define EMULNAME(x) (x)
Index: src/sys/arch/riscv/riscv/trap.c
diff -u src/sys/arch/riscv/riscv/trap.c:1.27 src/sys/arch/riscv/riscv/trap.c:1.28
--- src/sys/arch/riscv/riscv/trap.c:1.27 Sun Aug 4 08:16:26 2024
+++ src/sys/arch/riscv/riscv/trap.c Fri Nov 22 20:01:04 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.27 2024/08/04 08:16:26 skrll Exp $ */
+/* $NetBSD: trap.c,v 1.28 2024/11/22 20:01:04 skrll Exp $ */
/*-
* Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
#define __PMAP_PRIVATE
#define __UFETCHSTORE_PRIVATE
-__RCSID("$NetBSD: trap.c,v 1.27 2024/08/04 08:16:26 skrll Exp $");
+__RCSID("$NetBSD: trap.c,v 1.28 2024/11/22 20:01:04 skrll Exp $");
#include <sys/param.h>
@@ -47,9 +47,9 @@ __RCSID("$NetBSD: trap.c,v 1.27 2024/08/
#include <uvm/uvm.h>
-#include <machine/locore.h>
#include <machine/machdep.h>
#include <machine/db_machdep.h>
+#include <machine/userret.h>
#define MACHINE_ECALL_TRAP_MASK (__BIT(CAUSE_MACHINE_ECALL))
Added files:
Index: src/sys/arch/riscv/include/userret.h
diff -u /dev/null src/sys/arch/riscv/include/userret.h:1.1
--- /dev/null Fri Nov 22 20:01:04 2024
+++ src/sys/arch/riscv/include/userret.h Fri Nov 22 20:01:04 2024
@@ -0,0 +1,44 @@
+/* $NetBSD: userret.h,v 1.1 2024/11/22 20:01:04 skrll Exp $ */
+
+/*-
+ * Copyright (c) 2014 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Matt Thomas of 3am Software Foundry.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _RISCV_USERRET_H_
+#define _RISCV_USERRET_H_
+
+#include <sys/lwp.h>
+#include <sys/userret.h>
+
+static inline void
+userret(struct lwp *l)
+{
+ mi_userret(l);
+}
+
+#endif /* _RISCV_USERRET_H_ */