1. 26 3月, 2008 7 次提交
  2. 25 3月, 2008 1 次提交
    • D
      [SPARC64]: Make save_stack_trace() more efficient. · 85a79353
      David S. Miller 提交于
      Doing a 'flushw' every stack trace capture creates so much overhead
      that it makes lockdep next to unusable.
      
      We only care about the frame pointer chain and the function caller
      program counters, so flush those by hand to the stack frame.
      
      This is significantly more efficient than a 'flushw' because:
      
      1) We only save 16 bytes per active register window to the stack.
      
      2) This doesn't push the entire register window context of the current
         call chain out of the cpu, forcing register window fill traps as we
         return back down.
      
      Note that we can't use 'restore' and 'save' instructions to move
      around the register windows because that wouldn't work on Niagara
      processors.  They optimize 'save' into a new register window by
      simply clearing out the registers instead of pulling them in from
      the on-chip register window backing store.
      
      Based upon a report by Tom Callaway.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      85a79353
  3. 24 3月, 2008 2 次提交
  4. 22 3月, 2008 1 次提交
    • D
      [SPARC64]: Remove most limitations to kernel image size. · 64658743
      David S. Miller 提交于
      Currently kernel images are limited to 8MB in size, and this causes
      problems especially when enabling features that take up a lot of
      kernel image space such as lockdep.
      
      The code now will align the kernel image size up to 4MB and map that
      many locked TLB entries.  So, the only practical limitation is the
      number of available locked TLB entries which is 16 on Cheetah and 64
      on pre-Cheetah sparc64 cpus.  Niagara cpus don't actually have hw
      locked TLB entry support.  Rather, the hypervisor transparently
      provides support for "locked" TLB entries since it runs with physical
      addressing and does the initial TLB miss processing.
      
      Fully utilizing this change requires some help from SILO, a patch for
      which will be submitted to the maintainer.  Essentially, SILO will
      only currently map up to 8MB for the kernel image and that needs to be
      increased.
      
      Note that neither this patch nor the SILO bits will help with network
      booting.  The openfirmware code will only map up to a certain amount
      of kernel image during a network boot and there isn't much we can to
      about that other than to implemented a layered network booting
      facility.  Solaris has this, and calls it "wanboot" and we may
      implement something similar at some point.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      64658743
  5. 19 3月, 2008 1 次提交
  6. 04 3月, 2008 3 次提交
  7. 29 2月, 2008 3 次提交
  8. 27 2月, 2008 1 次提交
    • D
      [SPARC64]: Loosen checks in exception table handling. · 622eaec6
      David S. Miller 提交于
      Some parts of the kernel now do things like do *_user() accesses while
      set_fs(KERNEL_DS) that fault on purpose.
      
      See, for example, the code added by changeset
      a0c1e907 ("futex: runtime enable pi
      and robust functionality").
      
      That trips up the ASI sanity checking we make in do_kernel_fault().
      
      Just remove it for now.  Maybe we can add it back later with an added
      conditional which looks at the current get_fs() value.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      622eaec6
  9. 25 2月, 2008 11 次提交
  10. 24 2月, 2008 10 次提交
    • L
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 4fa2b1cd
      Linus Torvalds 提交于
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        libata-core: fix kernel-doc warning
        sata_fsl: fix build with ATA_VERBOSE_DEBUG
        [libata] ahci: AMD SB700/SB800 SATA support 64bit DMA
        libata-pmp: clear hob for pmp register accesses
        libata: automatically use DMADIR if drive/bridge requires it
        power_state: get rid of write-only variable in SATA
        pata_atiixp: Use 255 sector limit
      4fa2b1cd
    • R
      libata-core: fix kernel-doc warning · 4cdfa1b3
      Randy Dunlap 提交于
      Fix libata-core kernel-doc warning:
      Warning(linux-2.6.25-rc2-git6//drivers/ata/libata-core.c:168): No description found for parameter 'ap'
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      4cdfa1b3
    • A
      sata_fsl: fix build with ATA_VERBOSE_DEBUG · b1f5dc48
      Anton Vorontsov 提交于
      This patch fixes build and few warnings when ATA_VERBOSE_DEBUG
      is defined:
      
        CC      drivers/ata/sata_fsl.o
      drivers/ata/sata_fsl.c: In function ‘sata_fsl_fill_sg’:
      drivers/ata/sata_fsl.c:338: warning: format ‘%x’ expects type ‘unsigned int’, but argument 3 has type ‘void *’
      drivers/ata/sata_fsl.c:338: warning: format ‘%x’ expects type ‘unsigned int’, but argument 4 has type ‘struct prde *’
      drivers/ata/sata_fsl.c: In function ‘sata_fsl_qc_issue’:
      drivers/ata/sata_fsl.c:459: error: ‘csr_base’ undeclared (first use in this function)
      drivers/ata/sata_fsl.c:459: error: (Each undeclared identifier is reported only once
      drivers/ata/sata_fsl.c:459: error: for each function it appears in.)
      drivers/ata/sata_fsl.c: In function ‘sata_fsl_freeze’:
      drivers/ata/sata_fsl.c:525: error: ‘csr_base’ undeclared (first use in this function)
      make[2]: *** [drivers/ata/sata_fsl.o] Error 1
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      b1f5dc48
    • S
      [libata] ahci: AMD SB700/SB800 SATA support 64bit DMA · e39fc8c9
      Shane Huang 提交于
      SB700 SATA controller can support 64 bit DMA, the previous commit
      badc2341 was added with
      careless reference to SB600, which should be modified by this patch.
      Signed-off-by: NShane Huang <shane.huang@amd.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      e39fc8c9
    • M
      libata-pmp: clear hob for pmp register accesses · 39f25e70
      Mark Lord 提交于
      >> Mark Lord wrote:
      >>> Tejun, I've added PMP to sata_mv, and am now trying to get it
      >>> to work with a Marvell PM attached.
      
      > >>> And the behaviour I see is very bizarre.
      
      >>> After hard+soft resets, the PM signature is found,
      >>> and libata interrogates the PM registers.
      >>>
      >>> It successfully reads register 0, and then register 1.
      >>> But all subsequent registers read out (incorrectly) as zeros.
      ...
      
      This behavior has been confirmed by Marvell with a SATA analyzer.
      The Marvell port-multiplier apparently likes to see clean HOB
      information when accessing PMP registers.
      
      Since sata_mv uses PIO shadow register access, this doesn't happen
      automatically, as it might in a more purely FIS-based driver (eg. ahci).
      
      One way to fix this is to flag these commands with ATA_TFLAG_LBA48,
      forcing libata to write out the HOB fields with known (zero) values.
      Signed-off-by: NSaeed Bishara <saeed@marvell.com>
      Acked-by: NMark Lord <mlord@pobox.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      39f25e70
    • T
      libata: automatically use DMADIR if drive/bridge requires it · 91163006
      Tejun Heo 提交于
      Back in 2.6.17-rc2, a libata module parameter was added for atapi_dmadir.
      
      That's nice, but most SATA devices which need it will tell us about it
      in their IDENTIFY PACKET response, as bit-15 of word-62 of the
      returned data (as per ATA7, ATA8 specifications).
      
      So for those which specify it, we should automatically use the DMADIR bit.
      Otherwise, disc writing will fail by default on many SATA-ATAPI drives.
      
      This patch adds ATA_DFLAG_DMADIR and make ata_dev_configure() set it
      if atapi_dmadir is set or identify data indicates DMADIR is necessary.
      atapi_xlat() is converted to check ATA_DFLAG_DMADIR before setting
      DMADIR.
      
      Original patch is from Mark Lord.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Mark Lord <mlord@pobox.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      91163006
    • P
      power_state: get rid of write-only variable in SATA · 559bbe6c
      Pavel Machek 提交于
      power_state is scheduled for removal, and libata uses it in write-only
      mode. Remove it.
      Signed-off-by: NPavel Machek <pavel@suse.cz>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      559bbe6c
    • A
      pata_atiixp: Use 255 sector limit · 635adc28
      Alan Cox 提交于
      AHCI needs sorting too but this deals with the old interface
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      635adc28
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · bdc08942
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (37 commits)
        [NETFILTER]: fix ebtable targets return
        [IP_TUNNEL]: Don't limit the number of tunnels with generic name explicitly.
        [NET]: Restore sanity wrt. print_mac().
        [NEIGH]: Fix race between neighbor lookup and table's hash_rnd update.
        [RTNL]: Validate hardware and broadcast address attribute for RTM_NEWLINK
        tg3: ethtool phys_id default
        [BNX2]: Update version to 1.7.4.
        [BNX2]: Disable parallel detect on an HP blade.
        [BNX2]: More 5706S link down workaround.
        ssb: Fix support for PCI devices behind a SSB->PCI bridge
        zd1211rw: fix sparse warnings
        rtl818x: fix sparse warnings
        ssb: Fix pcicore cardbus mode
        ssb: Make the GPIO API reentrancy safe
        ssb: Fix the GPIO API
        ssb: Fix watchdog access for devices without a chipcommon
        ssb: Fix serial console on new bcm47xx devices
        ath5k: Fix build warnings on some 64-bit platforms.
        WDEV, ath5k, don't return int from bool function
        WDEV: ath5k, fix lock imbalance
        ...
      bdc08942
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · 85b80ebf
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
        [SPARC64]: make IOMMU code respect the segment boundary limits
        [SPARC64]: Fix cpu trampoline et al. mismatch warnings.
        [SPARC64]: More sparse warning fixes in process.c
        [SPARC64]: Fix sparse warning wrt. fault_in_user_windows.
        [SPARC64]: Kill show_regs32().
        [SPARC64]: Fix sparse warnings wrt. __show_regs().
        [SPARC64]: Kill show_stackframe{,32}().
        [SPARC64]: Fix sparse warnings wrt. machine_alt_power_off().
      85b80ebf