From a36159eec6ca17402b0e146b86efaf76568dc353 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 20 Sep 2024 01:41:23 +0000
Subject: [PATCH] 重命名 AX88772C_eeprom/asix.c 为 asix_mac.c

---
 kernel/arch/arm64/include/asm/scs.h |   37 +++++++++++++++----------------------
 1 files changed, 15 insertions(+), 22 deletions(-)

diff --git a/kernel/arch/arm64/include/asm/scs.h b/kernel/arch/arm64/include/asm/scs.h
index c50d2b0..7155055 100644
--- a/kernel/arch/arm64/include/asm/scs.h
+++ b/kernel/arch/arm64/include/asm/scs.h
@@ -2,34 +2,27 @@
 #ifndef _ASM_SCS_H
 #define _ASM_SCS_H
 
-#ifndef __ASSEMBLY__
+#ifdef __ASSEMBLY__
 
-#include <linux/scs.h>
+#include <asm/asm-offsets.h>
 
 #ifdef CONFIG_SHADOW_CALL_STACK
+	scs_sp	.req	x18
 
-extern void scs_init_irq(void);
+	.macro scs_load_current
+	get_current_task scs_sp
+	ldr	scs_sp, [scs_sp, #TSK_TI_SCS_SP]
+	.endm
 
-static __always_inline void scs_save(struct task_struct *tsk)
-{
-	void *s;
+	.macro scs_save tsk, tmp
+	str	scs_sp, [\tsk, #TSK_TI_SCS_SP]
+	.endm
+#else
+	.macro scs_load_current
+	.endm
 
-	asm volatile("mov %0, x18" : "=r" (s));
-	task_set_scs(tsk, s);
-}
-
-static inline void scs_overflow_check(struct task_struct *tsk)
-{
-	if (unlikely(scs_corrupted(tsk)))
-		panic("corrupted shadow stack detected inside scheduler\n");
-}
-
-#else /* CONFIG_SHADOW_CALL_STACK */
-
-static inline void scs_init_irq(void) {}
-static inline void scs_save(struct task_struct *tsk) {}
-static inline void scs_overflow_check(struct task_struct *tsk) {}
-
+	.macro scs_save tsk, tmp
+	.endm
 #endif /* CONFIG_SHADOW_CALL_STACK */
 
 #endif /* __ASSEMBLY __ */

--
Gitblit v1.6.2