Messages in this thread Patch in this message | | | Date | Mon, 7 Nov 2016 00:53:20 -0800 | From | tip-bot for Wei Yang <> | Subject | [tip:x86/boot] x86/boot: Simplify the GDTR calculation assembly code a bit |
| |
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 */
| |