]> nv-tegra.nvidia Code Review - linux-2.6.git/commitdiff
Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 14 Sep 2009 14:56:43 +0000 (07:56 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 14 Sep 2009 14:56:43 +0000 (07:56 -0700)
* 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: Make memtype_seq_ops const
  x86: uv: Clean up uv_ptc_init(), use proc_create()
  x86: Use printk_once()
  x86/cpu: Clean up various files a bit
  x86: Remove duplicated #include
  x86, ipi: Clean up safe_smp_processor_id() by using the cpu_has_apic() macro helper
  x86: Clean up idt_descr and idt_tableby using NR_VECTORS instead of hardcoded number
  x86: Further clean up of mtrr/generic.c
  x86: Clean up mtrr/main.c
  x86: Clean up mtrr/state.c
  x86: Clean up mtrr/mtrr.h
  x86: Clean up mtrr/if.c
  x86: Clean up mtrr/generic.c
  x86: Clean up mtrr/cyrix.c
  x86: Clean up mtrr/cleanup.c
  x86: Clean up mtrr/centaur.c
  x86: Clean up mtrr/amd.c:
  x86: ds.c fix invalid assignment

1  2 
arch/x86/kernel/cpu/common.c
arch/x86/kernel/traps.c
arch/x86/mm/pat.c

index f23e236391a3d1da746cd495cc7afdd170c3fc86,734eaad936567d4d72865c2c2d446d1ea75b3eda..55a6abe4039417ec90a1e5aaf8cde29c19c00a9f
@@@ -18,8 -18,8 +18,8 @@@
  #include <asm/hypervisor.h>
  #include <asm/processor.h>
  #include <asm/sections.h>
- #include <asm/topology.h>
- #include <asm/cpumask.h>
+ #include <linux/topology.h>
+ #include <linux/cpumask.h>
  #include <asm/pgtable.h>
  #include <asm/atomic.h>
  #include <asm/proto.h>
  #include <asm/desc.h>
  #include <asm/i387.h>
  #include <asm/mtrr.h>
- #include <asm/numa.h>
+ #include <linux/numa.h>
  #include <asm/asm.h>
  #include <asm/cpu.h>
  #include <asm/mce.h>
  #include <asm/msr.h>
  #include <asm/pat.h>
- #include <asm/smp.h>
+ #include <linux/smp.h>
  
  #ifdef CONFIG_X86_LOCAL_APIC
  #include <asm/uv/uv.h>
@@@ -94,45 -94,45 +94,45 @@@ DEFINE_PER_CPU_PAGE_ALIGNED(struct gdt_
         * TLS descriptors are currently at a different place compared to i386.
         * Hopefully nobody expects them at a fixed place (Wine?)
         */
 -      [GDT_ENTRY_KERNEL32_CS]         = { { { 0x0000ffff, 0x00cf9b00 } } },
 -      [GDT_ENTRY_KERNEL_CS]           = { { { 0x0000ffff, 0x00af9b00 } } },
 -      [GDT_ENTRY_KERNEL_DS]           = { { { 0x0000ffff, 0x00cf9300 } } },
 -      [GDT_ENTRY_DEFAULT_USER32_CS]   = { { { 0x0000ffff, 0x00cffb00 } } },
 -      [GDT_ENTRY_DEFAULT_USER_DS]     = { { { 0x0000ffff, 0x00cff300 } } },
 -      [GDT_ENTRY_DEFAULT_USER_CS]     = { { { 0x0000ffff, 0x00affb00 } } },
 +      [GDT_ENTRY_KERNEL32_CS]         = GDT_ENTRY_INIT(0xc09b, 0, 0xfffff),
 +      [GDT_ENTRY_KERNEL_CS]           = GDT_ENTRY_INIT(0xa09b, 0, 0xfffff),
 +      [GDT_ENTRY_KERNEL_DS]           = GDT_ENTRY_INIT(0xc093, 0, 0xfffff),
 +      [GDT_ENTRY_DEFAULT_USER32_CS]   = GDT_ENTRY_INIT(0xc0fb, 0, 0xfffff),
 +      [GDT_ENTRY_DEFAULT_USER_DS]     = GDT_ENTRY_INIT(0xc0f3, 0, 0xfffff),
 +      [GDT_ENTRY_DEFAULT_USER_CS]     = GDT_ENTRY_INIT(0xa0fb, 0, 0xfffff),
  #else
 -      [GDT_ENTRY_KERNEL_CS]           = { { { 0x0000ffff, 0x00cf9a00 } } },
 -      [GDT_ENTRY_KERNEL_DS]           = { { { 0x0000ffff, 0x00cf9200 } } },
 -      [GDT_ENTRY_DEFAULT_USER_CS]     = { { { 0x0000ffff, 0x00cffa00 } } },
 -      [GDT_ENTRY_DEFAULT_USER_DS]     = { { { 0x0000ffff, 0x00cff200 } } },
 +      [GDT_ENTRY_KERNEL_CS]           = GDT_ENTRY_INIT(0xc09a, 0, 0xfffff),
 +      [GDT_ENTRY_KERNEL_DS]           = GDT_ENTRY_INIT(0xc092, 0, 0xfffff),
 +      [GDT_ENTRY_DEFAULT_USER_CS]     = GDT_ENTRY_INIT(0xc0fa, 0, 0xfffff),
 +      [GDT_ENTRY_DEFAULT_USER_DS]     = GDT_ENTRY_INIT(0xc0f2, 0, 0xfffff),
        /*
         * Segments used for calling PnP BIOS have byte granularity.
         * They code segments and data segments have fixed 64k limits,
         * the transfer segment sizes are set at run time.
         */
        /* 32-bit code */
 -      [GDT_ENTRY_PNPBIOS_CS32]        = { { { 0x0000ffff, 0x00409a00 } } },
 +      [GDT_ENTRY_PNPBIOS_CS32]        = GDT_ENTRY_INIT(0x409a, 0, 0xffff),
        /* 16-bit code */
 -      [GDT_ENTRY_PNPBIOS_CS16]        = { { { 0x0000ffff, 0x00009a00 } } },
 +      [GDT_ENTRY_PNPBIOS_CS16]        = GDT_ENTRY_INIT(0x009a, 0, 0xffff),
        /* 16-bit data */
 -      [GDT_ENTRY_PNPBIOS_DS]          = { { { 0x0000ffff, 0x00009200 } } },
 +      [GDT_ENTRY_PNPBIOS_DS]          = GDT_ENTRY_INIT(0x0092, 0, 0xffff),
        /* 16-bit data */
 -      [GDT_ENTRY_PNPBIOS_TS1]         = { { { 0x00000000, 0x00009200 } } },
 +      [GDT_ENTRY_PNPBIOS_TS1]         = GDT_ENTRY_INIT(0x0092, 0, 0),
        /* 16-bit data */
 -      [GDT_ENTRY_PNPBIOS_TS2]         = { { { 0x00000000, 0x00009200 } } },
 +      [GDT_ENTRY_PNPBIOS_TS2]         = GDT_ENTRY_INIT(0x0092, 0, 0),
        /*
         * The APM segments have byte granularity and their bases
         * are set at run time.  All have 64k limits.
         */
        /* 32-bit code */
 -      [GDT_ENTRY_APMBIOS_BASE]        = { { { 0x0000ffff, 0x00409a00 } } },
 +      [GDT_ENTRY_APMBIOS_BASE]        = GDT_ENTRY_INIT(0x409a, 0, 0xffff),
        /* 16-bit code */
 -      [GDT_ENTRY_APMBIOS_BASE+1]      = { { { 0x0000ffff, 0x00009a00 } } },
 +      [GDT_ENTRY_APMBIOS_BASE+1]      = GDT_ENTRY_INIT(0x009a, 0, 0xffff),
        /* data */
 -      [GDT_ENTRY_APMBIOS_BASE+2]      = { { { 0x0000ffff, 0x00409200 } } },
 +      [GDT_ENTRY_APMBIOS_BASE+2]      = GDT_ENTRY_INIT(0x4092, 0, 0xffff),
  
 -      [GDT_ENTRY_ESPFIX_SS]           = { { { 0x0000ffff, 0x00cf9200 } } },
 -      [GDT_ENTRY_PERCPU]              = { { { 0x0000ffff, 0x00cf9200 } } },
 +      [GDT_ENTRY_ESPFIX_SS]           = GDT_ENTRY_INIT(0xc092, 0, 0xfffff),
 +      [GDT_ENTRY_PERCPU]              = GDT_ENTRY_INIT(0xc092, 0, 0xfffff),
        GDT_STACK_CANARY_INIT
  #endif
  } };
@@@ -982,7 -982,7 +982,7 @@@ static __init int setup_disablecpuid(ch
  __setup("clearcpuid=", setup_disablecpuid);
  
  #ifdef CONFIG_X86_64
- struct desc_ptr idt_descr = { 256 * 16 - 1, (unsigned long) idt_table };
+ struct desc_ptr idt_descr = { NR_VECTORS * 16 - 1, (unsigned long) idt_table };
  
  DEFINE_PER_CPU_FIRST(union irq_stack_union,
                     irq_stack_union) __aligned(PAGE_SIZE);
@@@ -1043,7 -1043,7 +1043,7 @@@ DEFINE_PER_CPU(struct orig_ist, orig_is
  #else /* CONFIG_X86_64 */
  
  #ifdef CONFIG_CC_STACKPROTECTOR
 -DEFINE_PER_CPU(unsigned long, stack_canary);
 +DEFINE_PER_CPU_ALIGNED(struct stack_canary, stack_canary);
  #endif
  
  /* Make sure %fs and %gs are initialized properly in idle threads */
diff --combined arch/x86/kernel/traps.c
index 236794110207cd562eeebd9461af2de251aaf113,7e4b1f5dec8e129cf1d72f3b8a6f4ee32a78bd39..6fe85c272a2b0241dfafd522657146effb707c8b
@@@ -76,7 -76,7 +76,7 @@@ char ignore_fpu_irq
   * F0 0F bug workaround.. We have a special link segment
   * for this.
   */
- gate_desc idt_table[256]
+ gate_desc idt_table[NR_VECTORS]
        __attribute__((__section__(".data.idt"))) = { { { { 0, 0 } } }, };
  #endif
  
@@@ -786,6 -786,27 +786,6 @@@ do_spurious_interrupt_bug(struct pt_reg
  #endif
  }
  
 -#ifdef CONFIG_X86_32
 -unsigned long patch_espfix_desc(unsigned long uesp, unsigned long kesp)
 -{
 -      struct desc_struct *gdt = get_cpu_gdt_table(smp_processor_id());
 -      unsigned long base = (kesp - uesp) & -THREAD_SIZE;
 -      unsigned long new_kesp = kesp - base;
 -      unsigned long lim_pages = (new_kesp | (THREAD_SIZE - 1)) >> PAGE_SHIFT;
 -      __u64 desc = *(__u64 *)&gdt[GDT_ENTRY_ESPFIX_SS];
 -
 -      /* Set up base for espfix segment */
 -      desc &= 0x00f0ff0000000000ULL;
 -      desc |= ((((__u64)base) << 16) & 0x000000ffffff0000ULL) |
 -              ((((__u64)base) << 32) & 0xff00000000000000ULL) |
 -              ((((__u64)lim_pages) << 32) & 0x000f000000000000ULL) |
 -              (lim_pages & 0xffff);
 -      *(__u64 *)&gdt[GDT_ENTRY_ESPFIX_SS] = desc;
 -
 -      return new_kesp;
 -}
 -#endif
 -
  asmlinkage void __attribute__((weak)) smp_thermal_interrupt(void)
  {
  }
diff --combined arch/x86/mm/pat.c
index 352aa9e927e26c20217725475b5c908fb91e60dd,e2900a36de0e1b0bdab4d60b8216677a9324fd49..b2f7d3e59b86b656d49993a5870e9e47651e3d7c
@@@ -623,8 -623,7 +623,8 @@@ static int reserve_pfn_range(u64 paddr
                return ret;
  
        if (flags != want_flags) {
 -              if (strict_prot || !is_new_memtype_allowed(want_flags, flags)) {
 +              if (strict_prot ||
 +                  !is_new_memtype_allowed(paddr, size, want_flags, flags)) {
                        free_memtype(paddr, paddr + size);
                        printk(KERN_ERR "%s:%d map pfn expected mapping type %s"
                                " for %Lx-%Lx, got %s\n",
@@@ -827,7 -826,7 +827,7 @@@ static int memtype_seq_show(struct seq_
        return 0;
  }
  
- static struct seq_operations memtype_seq_ops = {
+ static const struct seq_operations memtype_seq_ops = {
        .start = memtype_seq_start,
        .next  = memtype_seq_next,
        .stop  = memtype_seq_stop,