22 Oct, 2005

40 commits

  • fixup.S needs to specify .level and use correct LDREG macro.
    New binutils has a bug where it doesn't "promote" from PA1.0 to PA1.1
    correctly when using ",s" completer.

    remove use of __LP64__ in assembly.h and add some white space.

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • Specify sr4 when flushing kernel space (we could equally well use sr5-7,
    but must not use sr0).

    Signed-off-by: Matthew Wilcox

    Signed-off-by: Kyle McMartin

    Matthew Wilcox
     
  • replace use of "0" with "%r0" since PA 1.1 I/D flush ops only take a
    general register and not an immediate value for the index field.
    This just forces the code to always be PA 1.1 "clean".

    From: Joel Soete
    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • 2.6.12-rc2-pa3 fix copy_user_page_asm to NOT access past end of page.

    My bad. /o\
    Lamont confirmed that instructions following a conditional
    branch are *alway* executed regardless if the branch is taken or not.
    Unless they are nullified (which was missing in this case).

    He also noted:
    Conditional branches nullify on forward taken branch, and on
    non-taken backward branch. Note that .+4 is a backwards branch.

    This makes alot more sense than the giberish in the PA20 arch book.

    Compiles and boots on both 64-bit (a500) and 32-bit (j6k).

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • add netpoll support
    Patch by Sven Schnelle

    Signed-off-by: Sven Schnelle
    Signed-off-by: Helge Deller

    Signed-off-by: Kyle McMartin

    Sven Schnelle
     
  • remove the spurious do_softirq calls from entry.S

    With these in we were calling do_softirq twice; plus the calls in
    entry.S took no account of nesting.

    Signed-off-by: James Bottomley

    Signed-off-by: Kyle McMartin

    James Bottomley
     
  • drivers/infiniband depends on definition of pgprot_noncached() macro.
    Someone else will have to fix it's wrong.

    Signed-off-by: Grant Grundler

    Grant Grundler
     
  • Add IDs for some other STI graphics cards found on HP PA-RISC
    machines.

    Signed-off-by: Kyle McMartin

    Kyle McMartin
     
  • add ECANCELED - SuSv3 wants one L. IB/SDP actually returns this error.

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • Fix the alloc_slabmgmt panic

    Hopefully this should also fix a lot of other intermittent kernel bugs.

    The problem has been around since 2.6.9-rc2-pa6 when we allowed
    floating point registers to be used in kernel code. The essence of
    the problem is that gcc prefers to use floating point for integer
    divides and multiples. Further, it can rely on the values in the no
    clobber fp regs being correct across a function call. Unfortunately,
    our task switch function only saves the integer no clobber registers,
    not the fp ones, so if gcc makes a function call to any function in
    the kernel which could sleep, the values it is relying on in any no
    clobber floating point register may be lost. In the case of
    alloc_slabmgmt, the value of the page offset is being stored in %fr12
    across a call to kmem_getpages(), which sleeps if no pages are
    available. Thus, the offset can be trashed and the slab code can end
    up with a completely bogus address leading to corruption.

    Kudos to Randolph who came up with the program to trip this problem at
    will and thus allowed it to be tracked and fixed.

    Signed-off-by: James Bottomley

    Signed-off-by: Kyle McMartin

    James Bottomley
     
  • * arch/parisc/kernel/process.c (sys_clone): Use 5 args, and process
    CLONE_PARENT_SETTID, CLONE_CHILD_SETTID, CLONE_CHILD_CLEARTID.
    (copy_thread): First cut at CLONE_SETTLS.

    Signed-off-by: Carlos O'Donell

    Signed-off-by: Kyle McMartin

    Carlos O'Donell
     
  • 2.6.14-rc2-pa1: enable 100/250/1000HZ itimer selection

    Signed-off-by: Grant Grundler

    Mark floppy as broken. Thanks Joel

    Signed-off-by: Matthew Wilcox

    make DISCONTIGMEM depend on 64BIT

    Signed-off-by: Thibaut VARENE

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • Prefix changed in debian, include "gnu" in the commandline.

    Signed-off-by: Carlos O'Donell

    Ensure the compiler version is new enough (>= 3.3)

    Signed-off-by: Randolph Chung

    Signed-off-by: Kyle McMartin

    Randolph Chung
     
  • Document history of PDC_NARROW a bit as it will still show
    up in an older kernel's .config file.

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • 2.6.12-rc2-pa2 kfree cleanups from Jesper Juhl

    Signed-off-by: Jesper Juhl
    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Jesper Juhl
     
  • 1) cleanup whitespace and handle proc_mkdir() failures.
    From: Christophe Lucas

    2) rename "dino" entry to "pcxl_dma"...also seems like it's in
    the wrong location.

    3) don't dump resource bitmap in /proc/pcxl_dma output

    4) fixup compiler warning

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • Generate a more informative message when a resource does not have
    a parent.

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • Get rid of some unnecessary includes
    Remove a layer of macro indirection around pdc_console_device
    Delete pdc_console_die() as it is unused
    Avoid double-printing on panic by clearing CON_PRINTBUFFER rather than
    setting con_start to be log_end
    Make con_start and log_end static again

    Signed-off-by: Matthew Wilcox

    Signed-off-by: Kyle McMartin

    Matthew Wilcox
     
  • 2.6.13-rc6-pa2
    use force_sigsegv() if we have a problem setting up a frame. This is
    required to prevent SIGSEGV loops.

    Signed-off-by: Randolph Chung

    Signed-off-by: Kyle McMartin

    Randolph Chung
     
  • We're using fp regs now in the kernel, so we want to print them
    on stack dump

    Signed-off-by: Thibaut VARENE

    Signed-off-by: Kyle McMartin

    Thibaut Varene
     
  • Signed-off-by: Matthew Wilcox

    Signed-off-by: Kyle McMartin

    Matthew Wilcox
     
  • Disable use of fpregs in pa_memcpy, and turn on the
    -mdisable-fpregs flag.

    Signed-off-by: Randolph Chung

    Signed-off-by: Kyle McMartin

    Randolph Chung
     
  • git commit 976ecd12b8144d066a23fe97c6fbfc1ac8470af7 changed our locking
    characteristics, and put the onus of spin_lock_init on superio.c.

    Signed-off-by: Kyle McMartin

    Kyle McMartin
     
  • PA20 arch book (page 7-52 and 7-55) indicate a "sync" is required after
    the FDC "to enforce instruction ordering". And we want to make
    sure FIC is executed after FDC has retired.

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • minor cleanup: qualify constant with "UL"

    Acked-by: "Hmamouche, Youssef"
    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • 2.6.12-rc4-pa3 s/__LP64__/CONFIG_64BIT/ and fixup config.h usage

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • 2.6.12-rc1-pa6 use work queue in LED/LCD driver instead of tasklet.

    Main advantage is it allows use of msleep() in the led_LCD_driver to
    "atomically" perform two MMIO writes (CMD, then DATA).
    Lead to nice cleanup of the main led_work_func() and led_LCD_driver().
    Kudos to David for being persistent.

    From: David Pye
    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • add syscall entries for ioprio_set/get as per Jens Axboe.

    Signed-off-by: Jens Axboe
    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Jens Axboe
     
  • Optimize ext2_find_next_zero_bit. Gives about 25% perf improvement with a
    rsync test with ext3.

    Signed-off-by: Randolph Chung

    fix ext3 performance - ext2_find_next_zero() was culprit.
    Kudos to jejb for pointing out the the possibility that ext2_test_bit
    and ext2_find_next_zero() may in fact not be enumerating bits in
    the bitmap because of endianess. Took sparc64 implementation and
    adapted it to our tree. I suspect the real problem is ffz() wants
    an unsigned long and was getting garbage in the top half of the
    unsigned int. Not confirmed but that's what I suspect.

    Signed-off-by: Grant Grundler

    Fix find_next_bit for 32-bit
    Make masking consistent for bitops

    From: Joel Soete
    Signed-off-by: Randolph Chung

    Add back incorrectly removed ext2_find_first_zero_bit definition

    Signed-off-by: James Bottomley

    Fixup bitops.h to use volatile for *_bit() ops

    Based on this email thread:
    http://marc.theaimsgroup.com/?t=108826637900003

    In a nutshell:
    *_bit() want use of volatile.
    __*_bit() are "relaxed" and don't use spinlock or volatile.

    other minor changes:
    o replaces hweight64() macro with alias to generic_hweight64() (Joel Soete)
    o cleanup ext2* macros so (a) it's obvious what the XOR magic is about
    and (b) one version that works for both 32/64-bit.
    o replace 2 uses of CONFIG_64BIT with __LP64__. bitops.h used both.
    I think header files that might go to user space should use
    something userspace will know about (__LP64__).

    Signed-off-by: Grant Grundler

    Move SHIFT_PER_LONG to standard location for BITS_PER_LONG (asm/types.h)
    and ditch the second definition of BITS_PER_LONG in bitops.h

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • update comment about CAFL_STRIDE

    Signed-off-by: Kyle McMartin

    Fixed a bug in parisc_setup_cache_timing() which caused it to calculate
    a poor value for parisc_cache_flush_threshold.

    Thanks to Joel Soete for spotting the bug.
    Thanks to James Bottomley for pointing out the clean way to fix this.

    Signed-off-by: Stuart Brady

    Signed-off-by: Kyle McMartin

    Stuart Brady
     
  • Add support for changing unaligned trap behaviour on a
    per-thread basis.

    Signed-off-by: Kyle McMartin

    Kyle McMartin
     
  • convert some bl calls to b,l or bv to use longer offsets

    Signed-off-by: Randolph Chung

    Signed-off-by: Kyle McMartin

    Randolph Chung
     
  • o Added a control for the input source (which can be either
    "line" or "mic")

    o Mute the speaker/line-out/headphone outputs by default.

    o Increased the buffer size from 10 pages to 16.

    Signed-off-by: Stuart Brady

    ALSA Harmony was resetting the capture position when
    preparing the capture substream, which it shouldn't do.
    This should fix the problem.

    Signed-off-by: Stuart Brady

    ALSA Harmony should no longer play junk (left in the buffers
    from a previous stream) at the start of a new stream.

    Implement the monitor mixer channel for ALSA Harmony.

    Also prevent snd_harmony_volume_get from returning negative values.

    Signed-off-by: Stuart Brady

    Use the graveyard/silence buffers in ALSA Harmony.

    Signed-off-by: Stuart Brady

    Signed-off-by: Kyle McMartin

    Stuart Brady
     
  • export profile_pc() symbol - oprofile needs it when built as a module.

    Signed-off-by: Grant Grundler

    Take into account nullified insn and lock functions for profiling

    This is needed at the end of functions; it is typical that the return
    branch nullifies the next insn, which is in the next function. This
    causes profiling data to show up against the "wrong" function.

    We also count lock times against the locker. This is consistent with
    other architectures.

    Signed-off-by: Randolph Chung

    Signed-off-by: Kyle McMartin

    Randolph Chung
     
  • Fix some whitespace issues
    Reorganise parisc_device probe routine to be a little less convoluted
    Use ->hpa.start instead of ->hpa

    Signed-off-by: Matthew Wilcox

    Signed-off-by: Kyle McMartin

    Matthew Wilcox
     
  • Neaten up the CONFIG_PA20 ifdefs

    More merge fixes, this time for SMP

    Signed-off-by: Matthew Wilcox

    Prettify the CONFIG_DEBUG_SPINLOCK __SPIN_LOCK_UNLOCKED initializers.

    Clean up some warnings with CONFIG_DEBUG_SPINLOCK enabled.

    Fix build with spinlock debugging turned on. Patch is cleaner like this,
    too.

    Remove mandatory 16-byte alignment requirement on PA2.0 processors by
    using the ldcw,CO completer. Provides a nice insn savings.

    Signed-off-by: Kyle McMartin

    Matthew Wilcox
     
  • move pa_tlb_lock and it's primary consumers to tlb_flush.h
    Future step will be to move spinlock_t definition out of system.h.

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • 2.6.12-rc4-pa3 : first pass at making sure use of RFI conforms to
    PA 2.0 arch pages F-4 and F-5, PA 1.1 Arch page 3-19 and 3-20.

    The discussion revolves around all the rules for clearing PSW Q-bit.
    The hard part is meeting all the rules for "relied upon translation".

    .align directive is used to guarantee the critical sequence ends more than
    8 instructions (32 bytes) from the end of page.

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • add || STI_CONSOLE to some of the basic FONTs. May need to get at
    least one of them to default to "Y" for parisc.

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • Fix card-mode Dino crashes on 725 (and probably other Snake) systems.
    Dino was coming up in fatal mode after a warm reboot. Resetting Dino
    brings it out of fatal mode, so do that if the status register indicates
    we're in fatal mode. Since this was never observed on any later systems,
    I presume firmware does this for us on those.

    Signed-off-by: Matthew Wilcox

    Add debug statements in the cfg_read and cfg_write functions
    Fix debug statements from the IRQ overhaul last winter
    Rename dino_driver_callback() to dino_probe()

    Signed-off-by: Matthew Wilcox

    Signed-off-by: Kyle McMartin

    Matthew Wilcox