All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86/boot: reduce one instruction by adding delta to gdtr's base address
@ 2016-11-01 15:49 Wei Yang
  2016-11-07  8:53 ` [tip:x86/boot] x86/boot: Simplify the GDTR calculation assembly code a bit tip-bot for Wei Yang
  0 siblings, 1 reply; 2+ messages in thread
From: Wei Yang @ 2016-11-01 15:49 UTC (permalink / raw)
  To: hpa, tglx, mingo; +Cc: x86, linux-kernel, Wei Yang

%ebp contains the address where it is loaded and gdtr's base address is
already set to "gdt" in compilation. It is fine to get the correct base
address by adding the delta to gdtr's base address.

This patch fixes the gdtr's base address by adding delta to it and saves
one instruction.

Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
---
 arch/x86/boot/compressed/head_64.S | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S
index efdfba2..4d85e60 100644
--- a/arch/x86/boot/compressed/head_64.S
+++ b/arch/x86/boot/compressed/head_64.S
@@ -119,8 +119,7 @@ ENTRY(startup_32)
  */
 
 	/* Load new GDT with the 64bit segments using 32bit descriptor */
-	leal	gdt(%ebp), %eax
-	movl	%eax, gdt+2(%ebp)
+	addl	%ebp, gdt+2(%ebp)
 	lgdt	gdt(%ebp)
 
 	/* Enable PAE mode */
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [tip:x86/boot] x86/boot: Simplify the GDTR calculation assembly code a bit
  2016-11-01 15:49 [PATCH] x86/boot: reduce one instruction by adding delta to gdtr's base address Wei Yang
@ 2016-11-07  8:53 ` tip-bot for Wei Yang
  0 siblings, 0 replies; 2+ messages in thread
From: tip-bot for Wei Yang @ 2016-11-07  8:53 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: luto, torvalds, mingo, hpa, linux-kernel, peterz, bp, brgerst,
	dvlasenk, tglx, richard.weiyang, jpoimboe

Commit-ID:  064025f7ea1ebcd9bbb99cfa9492a803e8b01d36
Gitweb:     http://git.kernel.org/tip/064025f7ea1ebcd9bbb99cfa9492a803e8b01d36
Author:     Wei Yang <richard.weiyang@gmail.com>
AuthorDate: Tue, 1 Nov 2016 15:49:24 +0000
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Mon, 7 Nov 2016 08:33:59 +0100

x86/boot: Simplify the GDTR calculation assembly code a bit

This patch calculates the GDTR's base address via a single instruction.

( EBP contains the address where it is loaded and GDTR's base address is
  already set to "gdt" in compilation. It is fine to get the correct base
  address by adding the delta to GDTR's base address. )

Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1478015364-5547-1-git-send-email-richard.weiyang@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/boot/compressed/head_64.S | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S
index efdfba2..4d85e60 100644
--- a/arch/x86/boot/compressed/head_64.S
+++ b/arch/x86/boot/compressed/head_64.S
@@ -119,8 +119,7 @@ ENTRY(startup_32)
  */
 
 	/* Load new GDT with the 64bit segments using 32bit descriptor */
-	leal	gdt(%ebp), %eax
-	movl	%eax, gdt+2(%ebp)
+	addl	%ebp, gdt+2(%ebp)
 	lgdt	gdt(%ebp)
 
 	/* Enable PAE mode */

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-11-07  8:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-01 15:49 [PATCH] x86/boot: reduce one instruction by adding delta to gdtr's base address Wei Yang
2016-11-07  8:53 ` [tip:x86/boot] x86/boot: Simplify the GDTR calculation assembly code a bit tip-bot for Wei Yang

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.