Merge branch 'x86-amd-nb-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 6 Jan 2011 18:50:28 +0000 (10:50 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 6 Jan 2011 18:50:28 +0000 (10:50 -0800)
* 'x86-amd-nb-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, cacheinfo: Cleanup L3 cache index disable support
  x86, amd-nb: Cleanup AMD northbridge caching code
  x86, amd-nb: Complete the rename of AMD NB and related code

1  2 
arch/x86/Kconfig
arch/x86/kernel/setup.c
drivers/edac/amd64_edac.c

diff --combined arch/x86/Kconfig
index e330da21b84f0636751b7e18e921ecff9cc31f55,08993a38b1195fb6c838df2c76963daa9ee270e9..97b528d660ad47f778358e029f289f5aa9df6bc8
@@@ -21,7 -21,7 +21,7 @@@ config X8
        select HAVE_UNSTABLE_SCHED_CLOCK
        select HAVE_IDE
        select HAVE_OPROFILE
 -      select HAVE_PERF_EVENTS if (!M386 && !M486)
 +      select HAVE_PERF_EVENTS
        select HAVE_IRQ_WORK
        select HAVE_IOREMAP_PROT
        select HAVE_KPROBES
@@@ -1141,16 -1141,16 +1141,16 @@@ config NUM
  comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
        depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI)
  
- config K8_NUMA
+ config AMD_NUMA
        def_bool y
        prompt "Old style AMD Opteron NUMA detection"
        depends on X86_64 && NUMA && PCI
        ---help---
-         Enable K8 NUMA node topology detection.  You should say Y here if
-         you have a multi processor AMD K8 system. This uses an old
-         method to read the NUMA configuration directly from the builtin
-         Northbridge of Opteron. It is recommended to use X86_64_ACPI_NUMA
-         instead, which also takes priority if both are compiled in.
+         Enable AMD NUMA node topology detection.  You should say Y here if
+         you have a multi processor AMD system. This uses an old method to
+         read the NUMA configuration directly from the builtin Northbridge
+         of Opteron. It is recommended to use X86_64_ACPI_NUMA instead,
+         which also takes priority if both are compiled in.
  
  config X86_64_ACPI_NUMA
        def_bool y
diff --combined arch/x86/kernel/setup.c
index a0f52af256a037eaca0fce91e00caad47018d65d,df172c1e823850e846a97b306d326e375a25086a..ed956524b1c68b07758b39670c8dc3167102592d
@@@ -501,18 -501,7 +501,18 @@@ static inline unsigned long long get_to
        return total << PAGE_SHIFT;
  }
  
 -#define DEFAULT_BZIMAGE_ADDR_MAX 0x37FFFFFF
 +/*
 + * Keep the crash kernel below this limit.  On 32 bits earlier kernels
 + * would limit the kernel to the low 512 MiB due to mapping restrictions.
 + * On 64 bits, kexec-tools currently limits us to 896 MiB; increase this
 + * limit once kexec-tools are fixed.
 + */
 +#ifdef CONFIG_X86_32
 +# define CRASH_KERNEL_ADDR_MAX        (512 << 20)
 +#else
 +# define CRASH_KERNEL_ADDR_MAX        (896 << 20)
 +#endif
 +
  static void __init reserve_crashkernel(void)
  {
        unsigned long long total_mem;
                const unsigned long long alignment = 16<<20;    /* 16M */
  
                /*
 -               *  kexec want bzImage is below DEFAULT_BZIMAGE_ADDR_MAX
 +               *  kexec want bzImage is below CRASH_KERNEL_ADDR_MAX
                 */
                crash_base = memblock_find_in_range(alignment,
 -                             DEFAULT_BZIMAGE_ADDR_MAX, crash_size, alignment);
 +                             CRASH_KERNEL_ADDR_MAX, crash_size, alignment);
  
                if (crash_base == MEMBLOCK_ERROR) {
                        pr_info("crashkernel reservation failed - No suitable area found.\n");
@@@ -705,7 -694,7 +705,7 @@@ static u64 __init get_max_mapped(void
  void __init setup_arch(char **cmdline_p)
  {
        int acpi = 0;
-       int k8 = 0;
+       int amd = 0;
        unsigned long flags;
  
  #ifdef CONFIG_X86_32
  
        x86_init.oem.arch_setup();
  
 -      resource_alloc_from_bottom = 0;
        iomem_resource.end = (1ULL << boot_cpu_data.x86_phys_bits) - 1;
        setup_memory_map();
        parse_setup_data();
        acpi = acpi_numa_init();
  #endif
  
- #ifdef CONFIG_K8_NUMA
+ #ifdef CONFIG_AMD_NUMA
        if (!acpi)
-               k8 = !k8_numa_init(0, max_pfn);
+               amd = !amd_numa_init(0, max_pfn);
  #endif
  
-       initmem_init(0, max_pfn, acpi, k8);
+       initmem_init(0, max_pfn, acpi, amd);
        memblock_find_dma_reserve();
        dma32_reserve_bootmem();
  
index eca9ba193e94a914aa64740f0b4262b8f7c99b81,774f950b08abbf6e2f9bf8628ff9f926888bb4ca..df211181fca41627cb0bdea2a089cd9d26f7faf4
@@@ -1572,7 -1572,7 +1572,7 @@@ static int f10_match_to_this_node(struc
        debugf1("   HoleOffset=0x%x  HoleValid=0x%x IntlvSel=0x%x\n",
                        hole_off, hole_valid, intlv_sel);
  
 -      if (intlv_en ||
 +      if (intlv_en &&
            (intlv_sel != ((sys_addr >> 12) & intlv_en)))
                return -EINVAL;
  
@@@ -2917,7 -2917,7 +2917,7 @@@ static int __init amd64_edac_init(void
  
        opstate_init();
  
-       if (cache_k8_northbridges() < 0)
+       if (amd_cache_northbridges() < 0)
                goto err_ret;
  
        msrs = msrs_alloc();
         * to finish initialization of the MC instances.
         */
        err = -ENODEV;
-       for (nb = 0; nb < k8_northbridges.num; nb++) {
+       for (nb = 0; nb < amd_nb_num(); nb++) {
                if (!pvt_lookup[nb])
                        continue;