]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
Merge branch 'x86-olpc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 21 Oct 2010 20:52:01 +0000 (13:52 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 21 Oct 2010 20:52:01 +0000 (13:52 -0700)
* 'x86-olpc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, olpc: XO-1 uses/depends on PCI
  x86, olpc: Register XO-1 platform devices
  x86, olpc: Add XO-1 poweroff support
  x86, olpc: Don't retry EC commands forever
  x86, olpc: Rework BIOS signature check
  x86, olpc: Only enable PCI configuration type override on XO-1

1  2 
arch/x86/Kconfig
arch/x86/kernel/Makefile

diff --combined arch/x86/Kconfig
index 8e9c4d4772fb7d724189812130c640abc80d50a9,c010b8d82712384c9ea90ff4a1ba7be91d5e5c27..8a86a1e6825b197d262fe472fd3030e9634ecbea
@@@ -25,7 -25,6 +25,7 @@@ config X8
        select HAVE_IDE
        select HAVE_OPROFILE
        select HAVE_PERF_EVENTS if (!M386 && !M486)
 +      select HAVE_IRQ_WORK
        select HAVE_IOREMAP_PROT
        select HAVE_KPROBES
        select ARCH_WANT_OPTIONAL_GPIOLIB
@@@ -34,7 -33,6 +34,7 @@@
        select HAVE_KRETPROBES
        select HAVE_OPTPROBES
        select HAVE_FTRACE_MCOUNT_RECORD
 +      select HAVE_C_RECORDMCOUNT
        select HAVE_DYNAMIC_FTRACE
        select HAVE_FUNCTION_TRACER
        select HAVE_FUNCTION_GRAPH_TRACER
@@@ -61,8 -59,6 +61,8 @@@
        select ANON_INODES
        select HAVE_ARCH_KMEMCHECK
        select HAVE_USER_RETURN_NOTIFIER
 +      select HAVE_ARCH_JUMP_LABEL
 +      select HAVE_TEXT_POKE_SMP
  
  config INSTRUCTION_DECODER
        def_bool (KPROBES || PERF_EVENTS)
@@@ -674,7 -670,7 +674,7 @@@ config GART_IOMM
        bool "GART IOMMU support" if EMBEDDED
        default y
        select SWIOTLB
 -      depends on X86_64 && PCI && K8_NB
 +      depends on X86_64 && PCI && AMD_NB
        ---help---
          Support for full DMA access of devices with 32bit memory access only
          on systems with more than 3GB. This is usually needed for USB,
@@@ -799,17 -795,6 +799,17 @@@ config SCHED_M
          making when dealing with multi-core CPU chips at a cost of slightly
          increased overhead in some places. If unsure say N here.
  
 +config IRQ_TIME_ACCOUNTING
 +      bool "Fine granularity task level IRQ time accounting"
 +      default n
 +      ---help---
 +        Select this option to enable fine granularity task irq time
 +        accounting. This is done by reading a timestamp on each
 +        transitions between softirq and hardirq state, so there can be a
 +        small performance impact.
 +
 +        If in doubt, say N here.
 +
  source "kernel/Kconfig.preempt"
  
  config X86_UP_APIC
@@@ -1163,9 -1148,6 +1163,9 @@@ config X86_PA
  config ARCH_PHYS_ADDR_T_64BIT
        def_bool X86_64 || X86_PAE
  
 +config ARCH_DMA_ADDR_T_64BIT
 +      def_bool X86_64 || HIGHMEM64G
 +
  config DIRECT_GBPAGES
        bool "Enable 1GB pages for kernel pagetables" if EMBEDDED
        default y
@@@ -1344,34 -1326,25 +1344,34 @@@ config X86_BOOTPARAM_MEMORY_CORRUPTION_
          Set whether the default state of memory_corruption_check is
          on or off.
  
 -config X86_RESERVE_LOW_64K
 -      bool "Reserve low 64K of RAM on AMI/Phoenix BIOSen"
 -      default y
 +config X86_RESERVE_LOW
 +      int "Amount of low memory, in kilobytes, to reserve for the BIOS"
 +      default 64
 +      range 4 640
        ---help---
 -        Reserve the first 64K of physical RAM on BIOSes that are known
 -        to potentially corrupt that memory range. A numbers of BIOSes are
 -        known to utilize this area during suspend/resume, so it must not
 -        be used by the kernel.
 +        Specify the amount of low memory to reserve for the BIOS.
 +
 +        The first page contains BIOS data structures that the kernel
 +        must not use, so that page must always be reserved.
 +
 +        By default we reserve the first 64K of physical RAM, as a
 +        number of BIOSes are known to corrupt that memory range
 +        during events such as suspend/resume or monitor cable
 +        insertion, so it must not be used by the kernel.
  
 -        Set this to N if you are absolutely sure that you trust the BIOS
 -        to get all its memory reservations and usages right.
 +        You can set this to 4 if you are absolutely sure that you
 +        trust the BIOS to get all its memory reservations and usages
 +        right.  If you know your BIOS have problems beyond the
 +        default 64K area, you can set this to 640 to avoid using the
 +        entire low memory range.
  
 -        If you have doubts about the BIOS (e.g. suspend/resume does not
 -        work or there's kernel crashes after certain hardware hotplug
 -        events) and it's not AMI or Phoenix, then you might want to enable
 -        X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check typical
 -        corruption patterns.
 +        If you have doubts about the BIOS (e.g. suspend/resume does
 +        not work or there's kernel crashes after certain hardware
 +        hotplug events) then you might want to enable
 +        X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check
 +        typical corruption patterns.
  
 -        Say Y if unsure.
 +        Leave this to the default value of 64 if you are unsure.
  
  config MATH_EMULATION
        bool
@@@ -1927,7 -1900,7 +1927,7 @@@ config PCI_GODIREC
        bool "Direct"
  
  config PCI_GOOLPC
-       bool "OLPC"
+       bool "OLPC XO-1"
        depends on OLPC
  
  config PCI_GOANY
@@@ -2088,14 -2061,21 +2088,21 @@@ config SCx200HR_TIME
  config OLPC
        bool "One Laptop Per Child support"
        select GPIOLIB
+       select OLPC_OPENFIRMWARE
        ---help---
          Add support for detecting the unique features of the OLPC
          XO hardware.
  
+ config OLPC_XO1
+       tristate "OLPC XO-1 support"
+       depends on OLPC && PCI
+       ---help---
+         Add support for non-essential features of the OLPC XO-1 laptop.
  config OLPC_OPENFIRMWARE
        bool "Support for OLPC's Open Firmware"
        depends on !X86_64 && !X86_PAE
-       default y if OLPC
+       default n
        help
          This option adds support for the implementation of Open Firmware
          that is used on the OLPC XO-1 Children's Machine.
  
  endif # X86_32
  
 -config K8_NB
 +config AMD_NB
        def_bool y
        depends on CPU_SUP_AMD && PCI
  
@@@ -2152,10 -2132,6 +2159,10 @@@ config HAVE_ATOMIC_IOMA
        def_bool y
        depends on X86_32
  
 +config HAVE_TEXT_POKE_SMP
 +      bool
 +      select STOP_MACHINE if SMP
 +
  source "net/Kconfig"
  
  source "drivers/Kconfig"
diff --combined arch/x86/kernel/Makefile
index 4370154f4122695e6fb3a42cfe87eacb44cc2657,e9777791e39ccc5c4f0f374dff677c9d5ed51c9e..3323c6404035eec081ed13773535884f5cbf20ae
@@@ -11,8 -11,6 +11,8 @@@ ifdef CONFIG_FUNCTION_TRACE
  CFLAGS_REMOVE_tsc.o = -pg
  CFLAGS_REMOVE_rtc.o = -pg
  CFLAGS_REMOVE_paravirt-spinlocks.o = -pg
 +CFLAGS_REMOVE_pvclock.o = -pg
 +CFLAGS_REMOVE_kvmclock.o = -pg
  CFLAGS_REMOVE_ftrace.o = -pg
  CFLAGS_REMOVE_early_printk.o = -pg
  endif
@@@ -34,8 -32,7 +34,8 @@@ GCOV_PROFILE_paravirt.o               := 
  obj-y                 := process_$(BITS).o signal.o entry_$(BITS).o
  obj-y                 += traps.o irq.o irq_$(BITS).o dumpstack_$(BITS).o
  obj-y                 += time.o ioport.o ldt.o dumpstack.o
 -obj-y                 += setup.o x86_init.o i8259.o irqinit.o
 +obj-y                 += setup.o x86_init.o i8259.o irqinit.o jump_label.o
 +obj-$(CONFIG_IRQ_WORK)  += irq_work.o
  obj-$(CONFIG_X86_VISWS)       += visws_quirks.o
  obj-$(CONFIG_X86_32)  += probe_roms_32.o
  obj-$(CONFIG_X86_32)  += sys_i386_32.o i386_ksyms_32.o
@@@ -86,12 -83,11 +86,12 @@@ obj-$(CONFIG_DOUBLEFAULT)  += doublefau
  obj-$(CONFIG_KGDB)            += kgdb.o
  obj-$(CONFIG_VM86)            += vm86_32.o
  obj-$(CONFIG_EARLY_PRINTK)    += early_printk.o
 +obj-$(CONFIG_EARLY_PRINTK_MRST)       += early_printk_mrst.o
  
  obj-$(CONFIG_HPET_TIMER)      += hpet.o
  obj-$(CONFIG_APB_TIMER)               += apb_timer.o
  
 -obj-$(CONFIG_K8_NB)           += k8.o
 +obj-$(CONFIG_AMD_NB)          += amd_nb.o
  obj-$(CONFIG_DEBUG_RODATA_TEST)       += test_rodata.o
  obj-$(CONFIG_DEBUG_NX_TEST)   += test_nx.o
  
@@@ -108,6 -104,7 +108,7 @@@ obj-$(CONFIG_SCx200)               += scx200.
  scx200-y                      += scx200_32.o
  
  obj-$(CONFIG_OLPC)            += olpc.o
+ obj-$(CONFIG_OLPC_XO1)                += olpc-xo1.o
  obj-$(CONFIG_OLPC_OPENFIRMWARE)       += olpc_ofw.o
  obj-$(CONFIG_X86_MRST)                += mrst.o
  
@@@ -124,6 -121,7 +125,6 @@@ obj-$(CONFIG_SWIOTLB)                      += pci-swiotlb.
  # 64 bit specific files
  ifeq ($(CONFIG_X86_64),y)
        obj-$(CONFIG_X86_UV)            += tlb_uv.o bios_uv.o uv_irq.o uv_sysfs.o uv_time.o
 -      obj-$(CONFIG_X86_PM_TIMER)      += pmtimer_64.o
        obj-$(CONFIG_AUDIT)             += audit_64.o
  
        obj-$(CONFIG_GART_IOMMU)        += pci-gart_64.o aperture_64.o