1. 29 4月, 2008 2 次提交
    • P
      [POWERPC] Add fast little-endian switch system call · 745a14cc
      Paul Mackerras 提交于
      This adds a system call on 64-bit platforms for switching between
      little-endian and big-endian modes that is much faster than doing a
      prctl call.  This system call is handled as a special case right at
      the start of the system call entry code, and because it is a special
      case, it uses a system call number which is out of the range of
      normal system calls, namely 0x1ebe.
      
      Measurements with lmbench on a 4.2GHz POWER6 showed no measurable
      change in the speed of normal system calls with this patch.
      
      Switching endianness with this new system call takes around 60ns on a
      4.2GHz POWER6, compared with around 300ns to switch endian mode with a
      prctl.  This can provide a significant performance advantage for
      emulators for little-endian architectures that want to switch between
      big-endian and little-endian mode frequently, e.g. because they are
      generating instructions sequences on the fly and they want to run
      those sequences in little-endian mode.
      
      The other thing about this system call is that it doesn't clobber as
      many registers as a normal system call.  It only clobbers r12.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      745a14cc
    • A
      celleb_scc_pciex __iomem annotations · 24caa6a0
      Al Viro 提交于
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      24caa6a0
  2. 28 4月, 2008 4 次提交
    • Y
      powerpc: Add DIU platform code for MPC8610HPCD · 6f90a8bd
      York Sun 提交于
      Add platform code to support Freescale DIU.  The platform code includes
      framebuffer memory allocation, pixel format, monitor port, etc.
      Signed-off-by: NYork Sun <yorksun@freescale.com>
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: "Antonino A. Daplas" <adaplas@pol.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6f90a8bd
    • Y
      fbdev: powerpc: driver for Freescale 8610 and 5121 DIU · 9b53a9e2
      York Sun 提交于
      The following features are supported:
      plane 0 works as a regular frame buffer, can be accessed by /dev/fb0
      plane 1 has two AOIs (area of interest), can be accessed by /dev/fb1 and /dev/fb2
      plane 2 has two AOIs, can be accessed by /dev/fb3 and /dev/fb4
      Special ioctls support AOIs
      
      All /dev/fb* can be used as regular frame buffer devices, except hardware
      change can only be made through /dev/fb0.  Changing pixel clock has no effect
      on other fbs.
      
      Limitation of usage of AOIs:
      AOIs on the same plane can not be horizonally overlapped
      AOIs have horizonal order, i.e. AOI0 should be always on top of AOI1
      AOIs can not beyond phisical display area. Application should check AOI geometry
      before changing physical resolution on /dev/fb0
      
      required command line parameters to preallocate memory for frame buffer diufb.
      
      optional command line parameters to set modes and monitor
      video=fslfb:[resolution][,bpp][,monitor]
      Syntax:
      
      Resolution
      xres x yres-bpp@refresh_rate, the -bpp and @refresh_rate are optional
      eg, 1024x768, 1280x1024, 1280x1024-32, 1280x1024@60, 1280x1024-32@60, 1280x480-32@60
      
      Bpp
      bpp=32, bpp=24, or bpp=16
      
      Monitor
      monitor=0, monitor=1, monitor=2
      0 is DVI
      1 is Single link LVDS
      2 is Double link LVDS
      
      Note: switching monitor is a board feather, not DIU feather. MPC8610HPCD has three
      monitor ports to swtich to. MPC5121ADS doesn't have additional monitor port. So switching
      monirot port for MPC5121ADS has no effect.
      
      If compiled as a module, it takes pamameters mode, bpp, monitor with the same syntax above.
      Signed-off-by: NYork Sun <yorksun@freescale.com>
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: "Antonino A. Daplas" <adaplas@pol.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9b53a9e2
    • J
      return pfn from direct_access, for XIP · 30afcb4b
      Jared Hulbert 提交于
      Alter the block device ->direct_access() API to work with the new
      get_xip_mem() API (that requires both kaddr and pfn are returned).
      
      Some architectures will not do the right thing in their virt_to_page() for use
      by XIP (to translate from the kernel virtual address returned by
      direct_access(), to a user mappable pfn in XIP's page fault handler.
      
      However, we can't switch it to just return the pfn and not the kaddr, because
      we have no good way to get a kva from a pfn, and XIP requires the kva for its
      read(2) and write(2) handlers.  So we have to return both.
      Signed-off-by: NJared Hulbert <jaredeh@gmail.com>
      Signed-off-by: NNick Piggin <npiggin@suse.de>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: linux-mm@kvack.org
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      30afcb4b
    • J
      hotplug-memory: make online_page() common · 180c06ef
      Jeremy Fitzhardinge 提交于
      All architectures use an effectively identical definition of online_page(), so
      just make it common code.  x86-64, ia64, powerpc and sh are actually
      identical; x86-32 is slightly different.
      
      x86-32's differences arise because it puts its hotplug pages in the highmem
      zone.  We can handle this in the generic code by inspecting the page to see if
      its in highmem, and update the totalhigh_pages count appropriately.  This
      leaves init_32.c:free_new_highpage with a single caller, so I folded it into
      add_one_highpage_init.
      
      I also removed an incorrect comment referring to the NUMA case; any NUMA
      details have already been dealt with by the time online_page() is called.
      
      [akpm@linux-foundation.org: fix indenting]
      Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Acked-by: NDave Hansen <dave@linux.vnet.ibm.com>
      Reviewed-by: NKAMEZAWA Hiroyuki <kamez.hiroyu@jp.fujitsu.com>
      Tested-by: NKAMEZAWA Hiroyuki <kamez.hiroyu@jp.fujitsu.com>
      Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
      Cc: Christoph Lameter <clameter@sgi.com>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NYasunori Goto <y-goto@jp.fujitsu.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      180c06ef
  3. 27 4月, 2008 1 次提交
  4. 25 4月, 2008 5 次提交
  5. 24 4月, 2008 28 次提交