forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 9999e48639b3cecb08ffb37358bcba3b48161b29
kernel/arch/x86/kernel/acpi/wakeup_64.S
....@@ -1,3 +1,4 @@
1
+/* SPDX-License-Identifier: GPL-2.0-only */
12 .text
23 #include <linux/linkage.h>
34 #include <asm/segment.h>
....@@ -7,18 +8,23 @@
78 #include <asm/asm-offsets.h>
89 #include <asm/frame.h>
910
10
-# Copyright 2003 Pavel Machek <pavel@suse.cz>, distribute under GPLv2
11
+# Copyright 2003 Pavel Machek <pavel@suse.cz
1112
1213 .code64
1314 /*
1415 * Hooray, we are in Long 64-bit mode (but still running in low memory)
1516 */
16
-ENTRY(wakeup_long64)
17
+SYM_FUNC_START(wakeup_long64)
1718 movq saved_magic, %rax
1819 movq $0x123456789abcdef0, %rdx
1920 cmpq %rdx, %rax
20
- jne bogus_64_magic
21
+ je 2f
2122
23
+ /* stop here on a saved_magic mismatch */
24
+ movq $0xbad6d61676963, %rcx
25
+1:
26
+ jmp 1b
27
+2:
2228 movw $__KERNEL_DS, %ax
2329 movw %ax, %ss
2430 movw %ax, %ds
....@@ -34,12 +40,9 @@
3440
3541 movq saved_rip, %rax
3642 jmp *%rax
37
-ENDPROC(wakeup_long64)
43
+SYM_FUNC_END(wakeup_long64)
3844
39
-bogus_64_magic:
40
- jmp bogus_64_magic
41
-
42
-ENTRY(do_suspend_lowlevel)
45
+SYM_FUNC_START(do_suspend_lowlevel)
4346 FRAME_BEGIN
4447 subq $8, %rsp
4548 xorl %eax, %eax
....@@ -109,7 +112,7 @@
109112 movq pt_regs_r14(%rax), %r14
110113 movq pt_regs_r15(%rax), %r15
111114
112
-#ifdef CONFIG_KASAN
115
+#if defined(CONFIG_KASAN) && defined(CONFIG_KASAN_STACK)
113116 /*
114117 * The suspend path may have poisoned some areas deeper in the stack,
115118 * which we now need to unpoison.
....@@ -122,15 +125,15 @@
122125 addq $8, %rsp
123126 FRAME_END
124127 jmp restore_processor_state
125
-ENDPROC(do_suspend_lowlevel)
128
+SYM_FUNC_END(do_suspend_lowlevel)
126129
127130 .data
128
-ENTRY(saved_rbp) .quad 0
129
-ENTRY(saved_rsi) .quad 0
130
-ENTRY(saved_rdi) .quad 0
131
-ENTRY(saved_rbx) .quad 0
131
+saved_rbp: .quad 0
132
+saved_rsi: .quad 0
133
+saved_rdi: .quad 0
134
+saved_rbx: .quad 0
132135
133
-ENTRY(saved_rip) .quad 0
134
-ENTRY(saved_rsp) .quad 0
136
+saved_rip: .quad 0
137
+saved_rsp: .quad 0
135138
136
-ENTRY(saved_magic) .quad 0
139
+SYM_DATA(saved_magic, .quad 0)