* [PATCH] x86/calling.h: remove unused SAVE_ALL/RESTORE_ALL macro for !CONFIG_x86_64
@ 2015-08-21 19:12 Alexander Kuleshov
2015-08-24 11:09 ` Jan Beulich
0 siblings, 1 reply; 2+ messages in thread
From: Alexander Kuleshov @ 2015-08-21 19:12 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin
Cc: Denys Vlasenko, Andy Lutomirski, Jan Beulich, x86, linux-kernel,
Alexander Kuleshov
SAVE_ALL and RESTORE_ALL macros for !CONFIG_X86_64 were introduced in the
1a338ac32 commit (sched, x86: Optimize the preempt_schedule() call) and
were used in the ___preempt_schedule and ___preempt_schedule_context from
the arch/x86/kernel/preempt.S. But the arch/x86/kernel/preempt.S was
removed in the 0ad6e3c5 commit (x86: Speed up ___preempt_schedule*() by
using THUNK helpers) and ___preempt_schedule/___preempt_schedule_context
are reimplemeted and not used SAVE_ALL/RESTORE_ALL anymore.
These macros have no users anymore, so we can remove it.
Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
---
arch/x86/entry/calling.h | 36 ------------------------------------
1 file changed, 36 deletions(-)
diff --git a/arch/x86/entry/calling.h b/arch/x86/entry/calling.h
index f4e6308..7631233 100644
--- a/arch/x86/entry/calling.h
+++ b/arch/x86/entry/calling.h
@@ -46,8 +46,6 @@ For 32-bit we have the following conventions - kernel is built with
*/
-#ifdef CONFIG_X86_64
-
/*
* 64-bit system call stack frame layout defines and helpers,
* for assembly code:
@@ -207,37 +205,3 @@ For 32-bit we have the following conventions - kernel is built with
.macro icebp
.byte 0xf1
.endm
-
-#else /* CONFIG_X86_64 */
-
-/*
- * For 32bit only simplified versions of SAVE_ALL/RESTORE_ALL. These
- * are different from the entry_32.S versions in not changing the segment
- * registers. So only suitable for in kernel use, not when transitioning
- * from or to user space. The resulting stack frame is not a standard
- * pt_regs frame. The main use case is calling C code from assembler
- * when all the registers need to be preserved.
- */
-
- .macro SAVE_ALL
- pushl %eax
- pushl %ebp
- pushl %edi
- pushl %esi
- pushl %edx
- pushl %ecx
- pushl %ebx
- .endm
-
- .macro RESTORE_ALL
- popl %ebx
- popl %ecx
- popl %edx
- popl %esi
- popl %edi
- popl %ebp
- popl %eax
- .endm
-
-#endif /* CONFIG_X86_64 */
-
--
2.5.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] x86/calling.h: remove unused SAVE_ALL/RESTORE_ALL macro for !CONFIG_x86_64
2015-08-21 19:12 [PATCH] x86/calling.h: remove unused SAVE_ALL/RESTORE_ALL macro for !CONFIG_x86_64 Alexander Kuleshov
@ 2015-08-24 11:09 ` Jan Beulich
0 siblings, 0 replies; 2+ messages in thread
From: Jan Beulich @ 2015-08-24 11:09 UTC (permalink / raw)
To: Alexander Kuleshov
Cc: Andy Lutomirski, x86, Thomas Gleixner, Denys Vlasenko,
Ingo Molnar, linux-kernel, H. Peter Anvin
>>> On 21.08.15 at 21:12, <kuleshovmail@gmail.com> wrote:
> SAVE_ALL and RESTORE_ALL macros for !CONFIG_X86_64 were introduced in the
> 1a338ac32 commit (sched, x86: Optimize the preempt_schedule() call) and
> were used in the ___preempt_schedule and ___preempt_schedule_context from
> the arch/x86/kernel/preempt.S. But the arch/x86/kernel/preempt.S was
> removed in the 0ad6e3c5 commit (x86: Speed up ___preempt_schedule*() by
> using THUNK helpers) and ___preempt_schedule/___preempt_schedule_context
> are reimplemeted and not used SAVE_ALL/RESTORE_ALL anymore.
>
> These macros have no users anymore, so we can remove it.
As far as the description goes this is fine, but ...
> --- a/arch/x86/entry/calling.h
> +++ b/arch/x86/entry/calling.h
> @@ -46,8 +46,6 @@ For 32-bit we have the following conventions - kernel is built with
>
> */
>
> -#ifdef CONFIG_X86_64
... why do you remove this conditional, thus exposing x86-64-only
definitions to ix86 code?
Jan
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-08-24 11:09 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-21 19:12 [PATCH] x86/calling.h: remove unused SAVE_ALL/RESTORE_ALL macro for !CONFIG_x86_64 Alexander Kuleshov
2015-08-24 11:09 ` Jan Beulich
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.