[tip:x86/apic] x86/percpu: Use static initializer for GDT entry
Commit-ID: 1dd439fe97e1a32cbb980c180f1bcb54bb6a2a55 Gitweb: http://git.kernel.org/tip/1dd439fe97e1a32cbb980c180f1bcb54bb6a2a55 Author: Thomas GleixnerAuthorDate: Mon, 28 Aug 2017 08:47:38 +0200 Committer: Ingo Molnar CommitDate: Tue, 29 Aug 2017 12:07:24 +0200 x86/percpu: Use static initializer for GDT entry The IDT cleanup is about to remove pack_descriptor(). The GDT setup for the per-cpu storage can be achieved with the static initializer as well. Replace it. Signed-off-by: Thomas Gleixner Cc: Andy Lutomirski Cc: Borislav Petkov Cc: Brian Gerst Cc: Denys Vlasenko Cc: H. Peter Anvin Cc: Josh Poimboeuf Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Steven Rostedt Link: http://lkml.kernel.org/r/20170828064957.954214...@linutronix.de Signed-off-by: Ingo Molnar --- arch/x86/kernel/setup_percpu.c | 9 +++-- 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c index 10edd1e..6e8fcb6f 100644 --- a/arch/x86/kernel/setup_percpu.c +++ b/arch/x86/kernel/setup_percpu.c @@ -155,13 +155,10 @@ static void __init pcpup_populate_pte(unsigned long addr) static inline void setup_percpu_segment(int cpu) { #ifdef CONFIG_X86_32 - struct desc_struct gdt; + struct desc_struct d = GDT_ENTRY_INIT(0x8092, per_cpu_offset(cpu), + 0xF); - pack_descriptor(, per_cpu_offset(cpu), 0xF, - 0x2 | DESCTYPE_S, 0x8); - gdt.s = 1; - write_gdt_entry(get_cpu_gdt_rw(cpu), - GDT_ENTRY_PERCPU, , DESCTYPE_S); + write_gdt_entry(get_cpu_gdt_rw(cpu), GDT_ENTRY_PERCPU, , DESCTYPE_S); #endif }
[tip:x86/apic] x86/percpu: Use static initializer for GDT entry
Commit-ID: 1dd439fe97e1a32cbb980c180f1bcb54bb6a2a55 Gitweb: http://git.kernel.org/tip/1dd439fe97e1a32cbb980c180f1bcb54bb6a2a55 Author: Thomas Gleixner AuthorDate: Mon, 28 Aug 2017 08:47:38 +0200 Committer: Ingo Molnar CommitDate: Tue, 29 Aug 2017 12:07:24 +0200 x86/percpu: Use static initializer for GDT entry The IDT cleanup is about to remove pack_descriptor(). The GDT setup for the per-cpu storage can be achieved with the static initializer as well. Replace it. Signed-off-by: Thomas Gleixner Cc: Andy Lutomirski Cc: Borislav Petkov Cc: Brian Gerst Cc: Denys Vlasenko Cc: H. Peter Anvin Cc: Josh Poimboeuf Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Steven Rostedt Link: http://lkml.kernel.org/r/20170828064957.954214...@linutronix.de Signed-off-by: Ingo Molnar --- arch/x86/kernel/setup_percpu.c | 9 +++-- 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c index 10edd1e..6e8fcb6f 100644 --- a/arch/x86/kernel/setup_percpu.c +++ b/arch/x86/kernel/setup_percpu.c @@ -155,13 +155,10 @@ static void __init pcpup_populate_pte(unsigned long addr) static inline void setup_percpu_segment(int cpu) { #ifdef CONFIG_X86_32 - struct desc_struct gdt; + struct desc_struct d = GDT_ENTRY_INIT(0x8092, per_cpu_offset(cpu), + 0xF); - pack_descriptor(, per_cpu_offset(cpu), 0xF, - 0x2 | DESCTYPE_S, 0x8); - gdt.s = 1; - write_gdt_entry(get_cpu_gdt_rw(cpu), - GDT_ENTRY_PERCPU, , DESCTYPE_S); + write_gdt_entry(get_cpu_gdt_rw(cpu), GDT_ENTRY_PERCPU, , DESCTYPE_S); #endif }