1. 25 7月, 2011 1 次提交
  2. 07 7月, 2011 8 次提交
  3. 27 5月, 2011 1 次提交
  4. 26 5月, 2011 1 次提交
  5. 25 5月, 2011 1 次提交
  6. 20 5月, 2011 1 次提交
  7. 17 5月, 2011 1 次提交
  8. 14 5月, 2011 1 次提交
  9. 12 5月, 2011 1 次提交
  10. 05 5月, 2011 1 次提交
  11. 02 5月, 2011 2 次提交
    • T
      x86, NUMA: Enable emulation on 32bit too · 1b7e03ef
      Tejun Heo 提交于
      Now that NUMA init path is unified, NUMA emulation can be enabled on
      32bit.  Make numa_emluation.c safe on 32bit by doing the followings.
      
      * Define MAX_DMA32_PFN on 32bit too.
      
      * Include bootmem.h for max_pfn declaration.
      
      * Use u64 explicitly and always use PFN_PHYS() when converting page
        number to address.
      
      * Avoid __udivdi3() generation on 32bit by doing number of pages
        calculation instead in split_nodes_interleave().
      
      And drop X86_64 dependency from Kconfig.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      1b7e03ef
    • T
      x86, NUMA: Enable CONFIG_AMD_NUMA on 32bit too · 2706a0bf
      Tejun Heo 提交于
      Now that NUMA init path is unified, amdtopology can be enabled on
      32bit.  Make amdtopology.c safe on 32bit by explicitly using u64 and
      drop X86_64 dependency from Kconfig.
      
      Inclusion of bootmem.h is added for max_pfn declaration.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      2706a0bf
  12. 28 4月, 2011 1 次提交
    • E
      net: filter: Just In Time compiler for x86-64 · 0a14842f
      Eric Dumazet 提交于
      In order to speedup packet filtering, here is an implementation of a
      JIT compiler for x86_64
      
      It is disabled by default, and must be enabled by the admin.
      
      echo 1 >/proc/sys/net/core/bpf_jit_enable
      
      It uses module_alloc() and module_free() to get memory in the 2GB text
      kernel range since we call helpers functions from the generated code.
      
      EAX : BPF A accumulator
      EBX : BPF X accumulator
      RDI : pointer to skb   (first argument given to JIT function)
      RBP : frame pointer (even if CONFIG_FRAME_POINTER=n)
      r9d : skb->len - skb->data_len (headlen)
      r8  : skb->data
      
      To get a trace of generated code, use :
      
      echo 2 >/proc/sys/net/core/bpf_jit_enable
      
      Example of generated code :
      
      # tcpdump -p -n -s 0 -i eth1 host 192.168.20.0/24
      
      flen=18 proglen=147 pass=3 image=ffffffffa00b5000
      JIT code: ffffffffa00b5000: 55 48 89 e5 48 83 ec 60 48 89 5d f8 44 8b 4f 60
      JIT code: ffffffffa00b5010: 44 2b 4f 64 4c 8b 87 b8 00 00 00 be 0c 00 00 00
      JIT code: ffffffffa00b5020: e8 24 7b f7 e0 3d 00 08 00 00 75 28 be 1a 00 00
      JIT code: ffffffffa00b5030: 00 e8 fe 7a f7 e0 24 00 3d 00 14 a8 c0 74 49 be
      JIT code: ffffffffa00b5040: 1e 00 00 00 e8 eb 7a f7 e0 24 00 3d 00 14 a8 c0
      JIT code: ffffffffa00b5050: 74 36 eb 3b 3d 06 08 00 00 74 07 3d 35 80 00 00
      JIT code: ffffffffa00b5060: 75 2d be 1c 00 00 00 e8 c8 7a f7 e0 24 00 3d 00
      JIT code: ffffffffa00b5070: 14 a8 c0 74 13 be 26 00 00 00 e8 b5 7a f7 e0 24
      JIT code: ffffffffa00b5080: 00 3d 00 14 a8 c0 75 07 b8 ff ff 00 00 eb 02 31
      JIT code: ffffffffa00b5090: c0 c9 c3
      
      BPF program is 144 bytes long, so native program is almost same size ;)
      
      (000) ldh      [12]
      (001) jeq      #0x800           jt 2    jf 8
      (002) ld       [26]
      (003) and      #0xffffff00
      (004) jeq      #0xc0a81400      jt 16   jf 5
      (005) ld       [30]
      (006) and      #0xffffff00
      (007) jeq      #0xc0a81400      jt 16   jf 17
      (008) jeq      #0x806           jt 10   jf 9
      (009) jeq      #0x8035          jt 10   jf 17
      (010) ld       [28]
      (011) and      #0xffffff00
      (012) jeq      #0xc0a81400      jt 16   jf 13
      (013) ld       [38]
      (014) and      #0xffffff00
      (015) jeq      #0xc0a81400      jt 16   jf 17
      (016) ret      #65535
      (017) ret      #0
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
      Cc: Ben Hutchings <bhutchings@solarflare.com>
      Cc: Hagen Paul Pfeifer <hagen@jauu.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0a14842f
  13. 11 4月, 2011 1 次提交
  14. 09 4月, 2011 1 次提交
  15. 01 4月, 2011 2 次提交
    • T
      x86: Clean up memory model related configs in arch/x86/Kconfig · 3b16651f
      Tejun Heo 提交于
      * Remove bogus dependency on ARCH_SELECT_MEMORY_MODEL from
        ARCH_FLATMEM_ENABLE.  ENABLE configs don't interfere with
        SELECT_MEMORY_MODEL.  They just need to indicate whether the
        specific memory model is supported.
      
      * Relocate HAVE_ARCH_ALLOC_REMAP, ARCH_PROC_KCORE_TEXT and
        ARCH_SPARSEMEM_DEFAULT so that memory model related configs are
        together in consistent order.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reviewed-by: NChristoph Lameter <cl@linux.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      3b16651f
    • T
      x86-64, NUMA: Remove custom phys_to_nid() implementation · 05293608
      Tejun Heo 提交于
      phys_to_nid() maps physical address to NUMA node id.  This is
      implemented by building perfect hash in compute_hash_shift() during
      initialization.
      
      However, with SPARSE memory model, the nid is encoded in page flags.
      The perfect hash implementation was for DISCONTIG memory model which
      got removed years ago by b263295d (x86: 64-bit, make sparsemem
      vmemmap the only memory model).
      
      So, the perfect hash ends up being used only during initialization
      when the core SPARSE code already provides perfectly acceptable
      generic early_pfn_to_nid() implementation.
      
      Drop phys_to_nid() and use the generic ealry_pfn_to_nid() instead.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reviewed-by: NChristoph Lameter <cl@linux-foundation.org>
      Acked-by: NYinghai Lu <yinghai@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      05293608
  16. 24 3月, 2011 2 次提交
  17. 23 3月, 2011 2 次提交
    • D
      x86: allow CONFIG_ISA_DMA_API to be disabled · 1c00f016
      David Rientjes 提交于
      Not all 64-bit systems require ISA-style DMA, so allow it to be
      configurable.  x86 utilizes the generic ISA DMA allocator from
      kernel/dma.c, so require it only when CONFIG_ISA_DMA_API is enabled.
      
      Disabling CONFIG_ISA_DMA_API is dependent on x86_64 since those machines
      do not have ISA slots and benefit the most from disabling the option (and
      on CONFIG_EXPERT as required by H.  Peter Anvin).
      
      When disabled, this also avoids declaring claim_dma_lock(),
      release_dma_lock(), request_dma(), and free_dma() since those interfaces
      will no longer be provided.
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1c00f016
    • D
      x86: only compile floppy driver if CONFIG_ISA_DMA_API is enabled · 8df3bd9e
      David Rientjes 提交于
      The generic floppy disk driver utilizies the interface provided by
      CONFIG_ISA_DMA_API, specifically claim_dma_lock(), release_dma_lock(),
      request_dma(), and free_dma().  Thus, there's a strict dependency on the
      config option and the driver should only be loaded if the kernel supports
      ISA-style DMA.
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8df3bd9e
  18. 16 3月, 2011 1 次提交
  19. 12 3月, 2011 2 次提交
  20. 09 3月, 2011 1 次提交
  21. 08 3月, 2011 1 次提交
  22. 24 2月, 2011 1 次提交
    • S
      x86: Add device tree support · da6b737b
      Sebastian Andrzej Siewior 提交于
      This patch adds minimal support for device tree on x86. The device
      tree blob is passed to the kernel via setup_data which requires at
      least boot protocol 2.09.
      
      Memory size, restricted memory regions, boot arguments are gathered
      the traditional way so things like cmd_line are just here to let the
      code compile.
      
      The current plan is use the device tree as an extension and to gather
      information which can not be enumerated and would have to be hardcoded
      otherwise. This includes things like 
         - which devices are on this I2C/SPI bus?
         - how are the interrupts wired to IO APIC?
         - where could my hpet be?
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NDirk Brandewie <dirk.brandewie@gmail.com>
      Acked-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: sodaville@linutronix.de
      Cc: devicetree-discuss@lists.ozlabs.org
      LKML-Reference: <1298405266-1624-3-git-send-email-bigeasy@linutronix.de>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      da6b737b
  23. 23 2月, 2011 5 次提交
  24. 18 2月, 2011 1 次提交
    • H
      x86, trampoline: Common infrastructure for low memory trampolines · 4822b7fc
      H. Peter Anvin 提交于
      Common infrastructure for low memory trampolines.  This code installs
      the trampolines permanently in low memory very early.  It also permits
      multiple pieces of code to be used for this purpose.
      
      This code also introduces a standard infrastructure for computing
      symbol addresses in the trampoline code.
      
      The only change to the actual SMP trampolines themselves is that the
      64-bit trampoline has been made reusable -- the previous version would
      overwrite the code with a status variable; this moves the status
      variable to a separate location.
      Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
      LKML-Reference: <4D5DFBE4.7090104@intel.com>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      Cc: Matthieu Castet <castet.matthieu@free.fr>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      4822b7fc