1. 25 Jan, 2005 9 commits
  2. 24 Jan, 2005 1 commit
  3. 25 Jan, 2005 2 commits
  4. 24 Jan, 2005 7 commits
  5. 23 Jan, 2005 9 commits
  6. 22 Jan, 2005 12 commits
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/davem/sparc-2.6 · dea9f2aa
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      dea9f2aa
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/davem/net-2.6 · e1acfd06
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      e1acfd06
    • Linus Torvalds's avatar
      Merge http://lia64.bkbits.net/linux-ia64-release-2.6.11 · ca583a3c
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      ca583a3c
    • David S. Miller's avatar
      [SPARC64]: Minor memmove refinements. · f2477bfd
      David S. Miller authored
      - If dst/src are equal, memcpy can be used.
      - Eliminate register writes which were unused
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f2477bfd
    • David S. Miller's avatar
      7b9b76c5
    • Tony Luck's avatar
    • Tony Luck's avatar
      [IA64] irq handling cleanup · cc244514
      Tony Luck authored
      Patch from Christoph Hellwig to:
      - irq_desc and irq_to_vector machvecs.  SN2 has it's own versions,
        but they're the same as the generic ones
      - kill do do_IRQ and use __do_IRQ directly everywhere
      - kill dead X86 ifdefs
      - move some variable declarations around in irq.c to recuce # of ifdefs
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      cc244514
    • Jesse Barnes's avatar
      [IA64] remove superfluous layer from sn2 DMA API · d026c3aa
      Jesse Barnes authored
      When I converted the sn2 code over to the new DMA API, I left the old routines
      in place and added wrappers to call them from the generic DMA API functions.
      This added an unnecessary level of obfuscation since the generic ia64 code
      calls those functions when any of the old style PCI DMA API functions are
      called.  This patch rectifies the problem making the code much easier to
      understand and hopefully a little more efficient (though I'm sure gcc was
      already inlining things pretty well, there were a bunch of unnecessary checks
      that I took this opportunity to remove).  It also shrinks the size of the sn2
      pci_dma.c quite a bit.
       
        pci_dma.c |  480 +++++++++++++++++++-----------------------------------------
        1 files changed, 151 insertions(+), 329 deletions(-)
      Signed-off-by: default avatarJesse Barnes <jbarnes@sgi.com>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      d026c3aa
    • Jesse Barnes's avatar
      [IA64] fix early SAL init for sn2 · dec12943
      Jesse Barnes authored
      sn2 does early initialization of the SAL so it can use it for early console
      support.  Unfortunately, the loop to find the SAL entry point was buggy so
      when we tried out new EFI and SAL system table layouts, the loop didn't
      terminate.  Here's the fix (doh!, use two different loop counters instead of
      one and just return if we find the SAL entry point).
      Signed-off-by: default avatarJesse Barnes <jbarnes@sgi.com>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      dec12943
    • Jesse Barnes's avatar
      [IA64] new api efi_range_is_wc() · 46d3fb56
      Jesse Barnes authored
      Ok, here you go Tony.  This one fixes the loop and also fixes drm_vm.c.  All
      of the bits aside from the efi.h bit are ia64 specific (either under
      arch/ia64 or __ia64__), so your tree is probably the right place for all of
      it.
       
      This patch adds efi_range_is_wc() to efi.h.  It's used to determine whether an
      address range can be mapped with the write coalescing attribute.  It also
      fixes up some ia64 specific callers to use the new routine instead of
      unconditionally calling pgprot_writecombined, which can be dangerous if used
      on ranges that don't support it.
      Signed-off-by: default avatarJesse Barnes <jbarnes@sgi.com>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      46d3fb56
    • Jes Sorensen's avatar
      [IA64] fix PAL_PREFETCH_VISIBILITY call · becd2c6a
      Jes Sorensen authored
      The following patch fixes the ia64_pal_prefetch_visibility function to
      take a transaction type argument for either virtual or physical memory
      as specified in the System Architechture Manual page 2:358.
      Signed-Off-By: default avatarJes Sorensen <jes@trained-monkey.org>
      Signed-Off-By: default avatarTony Luck <tony.luck@intel.com>
      becd2c6a
    • Stéphane Eranian's avatar
      [IA64] entry.S: perfmon psr.pp fix · 4413dfbe
      Stéphane Eranian authored
      Problem:
      	There exists a case where we stop monitoring, i.e. clear
      	psr.pp/dcr.pp, via IPI. This is when the stop is triggered
      	by a close(), either explicit in the application or implicit
      	via exit_files(). The IPI is necessary because at the time the
      	thread (controlling the context) issues a close() it may not run
      	on the CPU the context is bound to. Yet the call must succeed,
      	hence we need to propagate the call to the right CPU.
      	But what is the problem then?
      	Under IPI, we invoke a perfmon routine which clear the kernel
      	(live) kernel psr.pp bit and also dcr.pp. Then we return from
      	the function and execute the kernel exit path which restores
      	the interrupted state. Unfortunately, this restores the kernel
      	psr from ipsr which now contains a stale value. Therefore
      	monitoring in the kernel will be active even though we stopped it.
      	You cannot modify the "global" psr in an interrupt routine because
      	it will be systematically restored on the way back.
      	
      Solution:
      	We need to patch ipsr.pp in the kernel exit path to reflect the
      	kernel value of the kernel psr.pp bit. This must be done only when
      	returning to kernel. 
      
      	The proposed patch does patch ipsr.pp such that it is identical
      	to psr.pp. The patch is subtle because the exit path does not have
      	a lot of free registers and also because we need to schedule for
      	a psr read. I had to shuffle  things around a little bit.
      
      	The patch is important because there will be another situation where
      	this problem can occur once we incorporate the support for event set
      	and multiplexing. In this configuration, you may be in the middle of
      	the idle loop and on a timer interrupt, you may stop monitoring.
      	Slightly different condition, yet same problem with ipsr.pp vs. psr.pp.
      
      
      Changelog:
      	- update kernel exit path when returning to kernel to copy
      	psr.pp to ipsr.pp. This is necesary to ensure that if psr.pp
      	was modified during the kernel entry, the change is propagated
      	the the psr.pp of the of the interrupted thread. Psr.pp can
      	be modified as a consequence of an IPI under certain conditions,
      	such as when a system-wide context is closed from a remote CPU.
      
      Special thanks to David for reworking the patch to fit
      into the enhanced exit path.
      signed-off-by: default avatarstephane eranian <eranian@hpl.hp.com>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      4413dfbe