1. 21 12月, 2007 1 次提交
    • M
      [POWERPC] cell: wrap master run control bit · c25620d7
      Masato Noguchi 提交于
      Add platform specific SPU run control routines to the spufs.  The current
      spufs implementation uses the SPU master run control bit (MFC_SR1[S]) to
      control SPE execution, but the PS3 hypervisor does not support the use of
      this feature.
      
      This change adds the run control wrapper routies spu_enable_spu() and
      spu_disable_spu().  The bare metal routines use the master run control
      bit, and the PS3 specific routines use the priv2 run control register.
      
      An outstanding enhancement for the PS3 would be to add a guard to check
      for incorrect access to the spu problem state when the spu context is
      disabled.  This check could be implemented with a flag added to the spu
      context that would inhibit mapping problem state pages, and a routine
      to unmap spu problem state pages.  When the spu is enabled with
      ps3_enable_spu() the flag would be set allowing pages to be mapped,
      and when the spu is disabled with ps3_disable_spu() the flag would be
      cleared and mapped problem state pages would be unmapped.
      Signed-off-by: NMasato Noguchi <Masato.Noguchi@jp.sony.com>
      Signed-off-by: NGeoff Levand <geoffrey.levand@am.sony.com>
      Signed-off-by: NJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      c25620d7
  2. 20 12月, 2007 10 次提交
  3. 19 12月, 2007 4 次提交
  4. 14 12月, 2007 2 次提交
  5. 12 12月, 2007 4 次提交
  6. 11 12月, 2007 13 次提交
  7. 08 12月, 2007 2 次提交
    • S
      [IA64] iosapic cleanup · 9e004ebd
      Simon Horman 提交于
      Make some IOSAPIC functions static and remove one that is unused.
      Signed-off-by: NSimon Horman <horms@verge.net.au>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      9e004ebd
    • J
      bonding: Add new layer2+3 hash for xor/802.3ad modes · 6f6652be
      Jay Vosburgh 提交于
       	Add new hash for balance-xor and 802.3ad modes.  Originally
       submitted by "Glenn Griffin" <ggriffin.kernel@gmail.com>; modified by
       Jay Vosburgh to move setting of hash policy out of line, tweak the
       documentation update and add version update to 3.2.2.
      
      	Glenn's original comment follows:
      
      Included is a patch for a new xmit_hash_policy for the bonding driver
      that selects slaves based on MAC and IP information.  This is a middle
      ground between what currently exists in the layer2 only policy and the
      layer3+4 policy.  This policy strives to be fully 802.3ad compliant by
      transmitting every packet of any particular flow over the same link.
      As documented the layer3+4 policy is not fully compliant for extreme
      cases such as ip fragmentation, so this policy is a nice compromise
      for environments that require full compliance but desire more than the
      layer2 only policy.
      Signed-off-by: N"Glenn Griffin" <ggriffin.kernel@gmail.com>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      6f6652be
  8. 07 12月, 2007 4 次提交
    • H
      [AVR32] Fix copy_to_user_page() breakage · 68ca3e53
      Haavard Skinnemoen 提交于
      The current implementation of copy_to_user_page() gives "vaddr" to the
      cache instruction when trying to sync the icache with the dcache. If
      vaddr does not exist in the TLB, the CPU will silently abort the
      operation, which may result in the caches staying out of sync.
      
      To fix this, pass the "dst" parameter to flush_icache_range() instead
      -- we know this is valid because we just wrote to it.
      Signed-off-by: NHaavard Skinnemoen <hskinnemoen@atmel.com>
      68ca3e53
    • H
      [AVR32] Follow the rules when dealing with the OCD system · 2507bc13
      Haavard Skinnemoen 提交于
      The current debug trap handling code does a number of things that are
      illegal according to the AVR32 Architecture manual. Most importantly,
      it may try to schedule from Debug Mode, thus clearing the D bit, which
      can lead to "undefined behaviour".
      
      It seems like this works in most cases, but several people have
      observed somewhat unstable behaviour when debugging programs,
      including soft lockups. So there's definitely something which is not
      right with the existing code.
      
      The new code will never schedule from Debug mode, it will always exit
      Debug mode with a "retd" instruction, and if something not running in
      Debug mode needs to do something debug-related (like doing a single
      step), it will enter debug mode through a "breakpoint" instruction.
      The monitor code will then return directly to user space, bypassing
      its own saved registers if necessary (since we don't actually care
      about the trapped context, only the one that came before.)
      
      This adds three instructions to the common exception handling code,
      including one branch. It does not touch super-hot paths like the TLB
      miss handler.
      Signed-off-by: NHaavard Skinnemoen <hskinnemoen@atmel.com>
      2507bc13
    • H
      [AVR32] Clean up OCD register usage · 8dfe8f29
      Haavard Skinnemoen 提交于
      Generate a new set of OCD register definitions in asm/ocd.h and rename
      __mfdr() and __mtdr() to ocd_read() and ocd_write() respectively.
      
      The bitfield definitions are a lot more complete now, and they are
      entirely based on bit numbers, not masks. This is because OCD
      registers are frequently accessed from assembly code, where bit
      numbers are a lot more useful (can be fed directly to sbr, bfins,
      etc.)
      
      Bitfields that consist of more than one bit have two definitions:
      _START, which indicates the number of the first bit, and _SIZE, which
      indicates the number of bits. These directly correspond to the
      parameters taken by the bfextu, bfexts and bfins instructions.
      Signed-off-by: NHaavard Skinnemoen <hskinnemoen@atmel.com>
      8dfe8f29
    • H