]> Pileus Git - ~andy/linux/commitdiff
Merge tag 'efi-urgent' into x86/urgent
authorH. Peter Anvin <hpa@linux.intel.com>
Fri, 7 Feb 2014 19:27:30 +0000 (11:27 -0800)
committerH. Peter Anvin <hpa@linux.intel.com>
Fri, 7 Feb 2014 19:27:30 +0000 (11:27 -0800)
 * Avoid WARN_ON() when mapping BGRT on Baytrail (EFI 32-bit).

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
1  2 
arch/x86/Kconfig
arch/x86/mm/srat.c
include/linux/vmstat.h
lib/Makefile

diff --combined arch/x86/Kconfig
index 3b6922ebf170f836769b9dbaf82082f219bd4bfb,940e50ebfafa66c76b9f0ed00d8928ed4e145fcb..0af5250d914fd7b52d01873571dd6facb7bba8d4
@@@ -23,6 -23,7 +23,7 @@@ config X8
        def_bool y
        select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
        select ARCH_MIGHT_HAVE_PC_PARPORT
+       select ARCH_MIGHT_HAVE_PC_SERIO
        select HAVE_AOUT if X86_32
        select HAVE_UNSTABLE_SCHED_CLOCK
        select ARCH_SUPPORTS_NUMA_BALANCING
@@@ -279,13 -280,13 +280,13 @@@ config SM
        bool "Symmetric multi-processing support"
        ---help---
          This enables support for systems with more than one CPU. If you have
-         a system with only one CPU, like most personal computers, say N. If
-         you have a system with more than one CPU, say Y.
+         a system with only one CPU, say N. If you have a system with more
+         than one CPU, say Y.
  
-         If you say N here, the kernel will run on single and multiprocessor
+         If you say N here, the kernel will run on uni- and multiprocessor
          machines, but will use only one CPU of a multiprocessor machine. If
          you say Y here, the kernel will run on many, but not all,
-         singleprocessor machines. On a singleprocessor machine, the kernel
+         uniprocessor machines. On a uniprocessor machine, the kernel
          will run faster if you say N here.
  
          Note that if you say Y here and choose architecture "586" or
@@@ -443,7 -444,6 +444,7 @@@ config X86_INTEL_MI
        bool "Intel MID platform support"
        depends on X86_32
        depends on X86_EXTENDED_PLATFORM
 +      depends on X86_PLATFORM_DEVICES
        depends on PCI
        depends on PCI_GOANY
        depends on X86_IO_APIC
@@@ -732,6 -732,7 +733,7 @@@ config APB_TIME
  # The code disables itself when not needed.
  config DMI
        default y
+       select DMI_SCAN_MACHINE_NON_EFI_FALLBACK
        bool "Enable DMI scanning" if EXPERT
        ---help---
          Enabled scanning of DMI to identify machine quirks. Say Y
@@@ -939,7 -940,7 +941,7 @@@ config X86_ANCIENT_MC
        depends on X86_32 && X86_MCE
        ---help---
          Include support for machine check handling on old Pentium 5 or WinChip
-         systems. These typically need to be enabled explicitely on the command
+         systems. These typically need to be enabled explicitly on the command
          line.
  
  config X86_MCE_THRESHOLD
@@@ -1050,9 -1051,9 +1052,9 @@@ config MICROCODE_INTE
          This options enables microcode patch loading support for Intel
          processors.
  
 -        For latest news and information on obtaining all the required
 -        Intel ingredients for this driver, check:
 -        <http://www.urbanmyth.org/microcode/>.
 +        For the current Intel microcode data package go to
 +        <https://downloadcenter.intel.com> and search for
 +        'Linux Processor Microcode Data File'.
  
  config MICROCODE_AMD
        bool "AMD microcode loading support"
diff --combined arch/x86/mm/srat.c
index 5ecf65117e6f9a81b01875d8ba4014cafd7dec5a,1a25187e151e9086cde7110e266126907716d514..1953e9c9391aecf6ae4cddb4d65baae045fd2911
@@@ -42,25 -42,15 +42,25 @@@ static __init inline int srat_disabled(
        return acpi_numa < 0;
  }
  
 -/* Callback for SLIT parsing */
 +/*
 + * Callback for SLIT parsing.  pxm_to_node() returns NUMA_NO_NODE for
 + * I/O localities since SRAT does not list them.  I/O localities are
 + * not supported at this point.
 + */
  void __init acpi_numa_slit_init(struct acpi_table_slit *slit)
  {
        int i, j;
  
 -      for (i = 0; i < slit->locality_count; i++)
 -              for (j = 0; j < slit->locality_count; j++)
 +      for (i = 0; i < slit->locality_count; i++) {
 +              if (pxm_to_node(i) == NUMA_NO_NODE)
 +                      continue;
 +              for (j = 0; j < slit->locality_count; j++) {
 +                      if (pxm_to_node(j) == NUMA_NO_NODE)
 +                              continue;
                        numa_set_distance(pxm_to_node(i), pxm_to_node(j),
                                slit->entry[slit->locality_count * i + j]);
 +              }
 +      }
  }
  
  /* Callback for Proximity Domain -> x2APIC mapping */
@@@ -191,6 -181,11 +191,11 @@@ acpi_numa_memory_affinity_init(struct a
                (unsigned long long) start, (unsigned long long) end - 1,
                hotpluggable ? " hotplug" : "");
  
+       /* Mark hotplug range in memblock. */
+       if (hotpluggable && memblock_mark_hotplug(start, ma->length))
+               pr_warn("SRAT: Failed to mark hotplug range [mem %#010Lx-%#010Lx] in memblock\n",
+                       (unsigned long long)start, (unsigned long long)end - 1);
        return 0;
  out_err_bad_srat:
        bad_srat();
diff --combined include/linux/vmstat.h
index 80ebba9c2e87ee7e8c8056e51db763906bb034fb,a67b384157689ec9fda2abfec0173122fc98a4a8..67ce70c8279be201e8ecb33fed569845a5386257
@@@ -83,14 -83,6 +83,14 @@@ static inline void vm_events_fold_cpu(i
  #define count_vm_numa_events(x, y) do { (void)(y); } while (0)
  #endif /* CONFIG_NUMA_BALANCING */
  
 +#ifdef CONFIG_DEBUG_TLBFLUSH
 +#define count_vm_tlb_event(x)    count_vm_event(x)
 +#define count_vm_tlb_events(x, y)  count_vm_events(x, y)
 +#else
 +#define count_vm_tlb_event(x)     do {} while (0)
 +#define count_vm_tlb_events(x, y) do { (void)(y); } while (0)
 +#endif
 +
  #define __count_zone_vm_events(item, zone, delta) \
                __count_vm_events(item##_NORMAL - ZONE_NORMAL + \
                zone_idx(zone), delta)
@@@ -150,8 -142,6 +150,6 @@@ static inline unsigned long zone_page_s
        return x;
  }
  
- extern unsigned long global_reclaimable_pages(void);
  #ifdef CONFIG_NUMA
  /*
   * Determine the per node value of a stat item. This function
diff --combined lib/Makefile
index 04944e9993ed4d92a20b6268d21752bf6d0cf8da,126b34f2eb1663dcc9636ca71647e05736708689..48140e3ba73f5864a734edb3032be01745b2c678
@@@ -26,11 -26,13 +26,13 @@@ obj-y += bcd.o div64.o sort.o parser.o 
         bust_spinlocks.o hexdump.o kasprintf.o bitmap.o scatterlist.o \
         gcd.o lcm.o list_sort.o uuid.o flex_array.o iovec.o clz_ctz.o \
         bsearch.o find_last_bit.o find_next_bit.o llist.o memweight.o kfifo.o \
-        percpu-refcount.o percpu_ida.o
+        percpu-refcount.o percpu_ida.o hash.o
  obj-y += string_helpers.o
  obj-$(CONFIG_TEST_STRING_HELPERS) += test-string_helpers.o
  obj-y += kstrtox.o
  obj-$(CONFIG_TEST_KSTRTOX) += test-kstrtox.o
+ obj-$(CONFIG_TEST_MODULE) += test_module.o
+ obj-$(CONFIG_TEST_USER_COPY) += test_user_copy.o
  
  ifeq ($(CONFIG_DEBUG_KOBJECT),y)
  CFLAGS_kobject.o += -DDEBUG
@@@ -43,7 -45,6 +45,7 @@@ obj-$(CONFIG_HAS_IOMEM) += iomap_copy.
  obj-$(CONFIG_CHECK_SIGNATURE) += check_signature.o
  obj-$(CONFIG_DEBUG_LOCKING_API_SELFTESTS) += locking-selftest.o
  
 +GCOV_PROFILE_hweight.o := n
  CFLAGS_hweight.o = $(subst $(quote),,$(CONFIG_ARCH_HWEIGHT_CFLAGS))
  obj-$(CONFIG_GENERIC_HWEIGHT) += hweight.o