1. 02 2月, 2008 1 次提交
  2. 09 2月, 2008 2 次提交
  3. 08 2月, 2008 1 次提交
    • B
      Introduce flags for reserve_bootmem() · 72a7fe39
      Bernhard Walle 提交于
      This patchset adds a flags variable to reserve_bootmem() and uses the
      BOOTMEM_EXCLUSIVE flag in crashkernel reservation code to detect collisions
      between crashkernel area and already used memory.
      
      This patch:
      
      Change the reserve_bootmem() function to accept a new flag BOOTMEM_EXCLUSIVE.
      If that flag is set, the function returns with -EBUSY if the memory already
      has been reserved in the past.  This is to avoid conflicts.
      
      Because that code runs before SMP initialisation, there's no race condition
      inside reserve_bootmem_core().
      
      [akpm@linux-foundation.org: coding-style fixes]
      [akpm@linux-foundation.org: fix powerpc build]
      Signed-off-by: NBernhard Walle <bwalle@suse.de>
      Cc: <linux-arch@vger.kernel.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Vivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      72a7fe39
  4. 29 1月, 2008 1 次提交
  5. 21 11月, 2007 8 次提交
  6. 18 11月, 2007 3 次提交
  7. 17 11月, 2007 1 次提交
    • M
      Blackfin arch: Add assembly function insl_16 · 5c91fb90
      Michael Hennerich 提交于
      /*
       * CPUs often take a performance hit when accessing unaligned memory
       * locations. The actual performance hit varies, it can be small if the
       * hardware handles it or large if we have to take an exception and fix
       * it
       * in software.
       *
       * Since an ethernet header is 14 bytes network drivers often end up
       * with
       * the IP header at an unaligned offset. The IP header can be aligned by
       * shifting the start of the packet by 2 bytes. Drivers should do this
       * with:
       *
       * skb_reserve(NET_IP_ALIGN);
       *
       * The downside to this alignment of the IP header is that the DMA is
       * now
       * unaligned. On some architectures the cost of an unaligned DMA is high
       * and this cost outweighs the gains made by aligning the IP header.
       *
       * Since this trade off varies between architectures, we allow
       * NET_IP_ALIGN
       * to be overridden.
       */
      
      This new function insl_16 allows to read form 32-bit IO and writes to
      16-bit aligned memory. This is useful in above described scenario -
      In particular with the AXIS AX88180 Gigabit Ethernet MAC.
      Once the device is in 32-bit mode, reads from the RX FIFO always
      decrements 4bytes.
      While on the other side the destination address in SDRAM is always
      16-bit aligned.
      If we use skb_reserve(0) the receive buffer is 32-bit aligned but later
      we hit a unaligned exception in the IP code.
      Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com>
      Signed-off-by: NBryan Wu <bryan.wu@analog.com>
      5c91fb90
  8. 23 11月, 2007 1 次提交
  9. 27 1月, 2008 1 次提交
  10. 22 1月, 2008 4 次提交
  11. 27 1月, 2008 1 次提交
  12. 22 1月, 2008 1 次提交
  13. 11 1月, 2008 2 次提交
  14. 10 1月, 2008 1 次提交
  15. 24 12月, 2007 5 次提交
  16. 23 12月, 2007 1 次提交
  17. 24 12月, 2007 1 次提交
  18. 27 1月, 2008 1 次提交
    • R
      [Blackfin] arch: fix bug - trap_tests fails to recover on some tests. · 13fe24f3
      Robin Getz 提交于
      http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3719
      
      When the CPLBs get a miss, we do:
        - find a victim in the HW table
        - remove the victim
        - find the replacement in the software table
        - put it into the HW table.
      
      If we can't find a replacement in the software table, we accidently
      leave a duplicate in the HW table. This patch ensures that duplicate
      is marked as not valid.
      
      What we should do is find the replacement in the software table, before
      we find a victim in the HW table - but its too late in the release cycle
      to do that much restructuring of this code.
      
      Rather that duplicate code, connect Hardware Errors (irq5) into trap_c,
      so user space processes get killed properly.
      
      The rest of irq_panic() can be moved into traps.c (later)
      
      There is still a small corner case that causes problems when a
      pheriperal interrupt goes off a single cycle before a user space
      hardware error. This causes a kernel panic, rather than the user
      space process being killed.
      
      But, this checkin makes things work in 99.9% of the cases, and is a vast
      improvement from what is there today (which fails 100% of the time).
      Signed-off-by: NRobin Getz <robin.getz@analog.com>
      Signed-off-by: NBryan Wu <bryan.wu@analog.com>
      13fe24f3
  19. 17 11月, 2007 1 次提交
  20. 18 11月, 2007 1 次提交
  21. 15 11月, 2007 2 次提交