From 645e752c5a84baeb21015cdc85fc05b7d16312c8 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Sat, 11 May 2024 01:13:52 +0000
Subject: [PATCH] disable i2c1
---
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