summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* [PARISC] Fix compile warning caused by conflicting types of expand_upwards()Matthew Wilcox2005-11-181-0/+2
| | | | | | | | Fix compile warning caused by conflicting types of expand_upwards. IA64 requires it to not be static inline, as it's used outside mm/mmap.c Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
* [PARISC] Always spinlock tlb flush operations to ensure preempt safetyMatthew Wilcox2005-11-171-12/+4
| | | | | | | | | Since taking a spinlock disables preempt, and we need to spinlock tlb flush on SMP for N class, we might as well just spinlock on uniprocessor machines too. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
* [PARISC] Fix our spinlock implementationJames Bottomley2005-11-171-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | We actually have two separate bad bugs 1. The read_lock implementation spins with disabled interrupts. This is completely wrong 2. Our spin_lock_irqsave should check to see if interrupts were enabled before the call and re-enable interrupts around the inner spin loop. The problem is that if we spin with interrupts off, we can't receive IPIs. This has resulted in a bug where SMP machines suddenly spit smp_call_function timeout messages and hang. The scenario I've caught is CPU0 does a flush_tlb_all holding the vmlist_lock for write. CPU1 tries a cat of /proc/meminfo which tries to acquire vmlist_lock for read CPU1 is now spinning with interrupts disabled CPU0 tries to execute a smp_call_function to flush the local tlb caches This is now a deadlock because CPU1 is spinning with interrupts disabled and can never receive the IPI Signed-off-by: James Bottomley <jejb@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
* [PARISC] Add IRQ affinitiesJames Bottomley2005-11-171-2/+3
| | | | | | | | | | | | This really only adds them for the machines I can check SMP on, which is CPU interrupts and IOSAPIC (so not any of the GSC based machines). With this patch, irqbalanced can be used to maintain irq balancing. Unfortunately, irqbalanced is a bit x86 centric, so it doesn't do an incredibly good job, but it does work. Signed-off-by: James Bottomley <jejb@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
* [PARISC] Fix uniprocessor build by dummying smp_send_all_nop()Kyle McMartin2005-11-171-1/+5
| | | | | | | | Since irq.c uses smp_send_all_nop, we must define it for UP builds as well. Make it a static inline so it gets optimized away. This forces irq.c to include <asm/smp.h> though. Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
* [PARISC] Fix our interrupts not to use smp_call_functionJames Bottomley2005-11-171-0/+1
| | | | | | | | | | | | | Fix our interrupts not to use smp_call_function On K and D class smp, the generic code calls this under an irq spinlock, which causes the WARN_ON() message in smp_call_function() (and is also illegal because it could deadlock). The fix is to use a new scheme based on the IPI_NOP. Signed-off-by: James Bottomley <jejb@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
* Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linusLinus Torvalds2005-11-1715-57/+194
|\
| * [MIPS] SEAD: More build fixes.Ralf Baechle2005-11-171-2/+9
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * [MIPS] SEAD: Delete seadint_init() prototype.Ralf Baechle2005-11-171-2/+0
| | | | | | | | | | | | | | There is no definition for seadint_init() and the unprotected prototype breaks compilation of assembler files. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * [MIPS] JMR3927: Fix include wrapper symbol.Ralf Baechle2005-11-171-3/+3
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * [MIPS] Fix documentation typos.Arnaud Giersch2005-11-171-6/+8
| | | | | | | | | | Signed-off-by: Arnaud Giersch <arnaud.giersch@free.fr> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * [MIPS] Add const qualifier to writes##bwlq.Arnaud Giersch2005-11-171-3/+3
| | | | | | | | | | | | | | Add const qualifier to parameter addr of writes##bwlq. Signed-off-by: Arnaud Giersch <arnaud.giersch@free.fr> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * [MIPS] IP32: Fix sparse warnings.Arnaud Giersch2005-11-172-2/+2
| | | | | | | | | | | | | | Add __iomem qualifier to crime and mace pointers. Signed-off-by: Arnaud Giersch <arnaud.giersch@free.fr> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * [MIPS] IP32 Fix and complete IP32 parport definitionsArnaud Giersch2005-11-171-16/+26
| | | | | | | | | | | | | | | | | | Fix, complete, and indent IP32 parport definitions. Definition were wrong for CTXINUSE and DMACTIVE (1-bit shift). Add macros DATA_BOUND, DATALEN_SHIFT, and CTRSHIFT. Signed-off-by: Arnaud Giersch <arnaud.giersch@free.fr> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * [MIPS] JMR3927: Undo accidental rename.Ralf Baechle2005-11-171-0/+0
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * [MIPS] IP32: No need to include <asm/io.h>.Ralf Baechle2005-11-171-3/+4
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * Add definitions for the Dallas DS1742 RTC / non-volatile memory.Ralf Baechle2005-11-171-0/+53
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * Add definitions for the Dallas DS17287 RTC.Ralf Baechle2005-11-171-0/+67
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * [MIPS] Add missing arch defines for the Alchemy MTD driver.Ralf Baechle2005-11-174-0/+19
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * Add GT64111 PCI ID backYoichi Yuasa2005-11-171-0/+1
| | | | | | | | | | Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * [MIPS] Delete duplicate definitions of break codes.Ralf Baechle2005-11-171-21/+0
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* | x86: Fix silly typo in recent <asm/signal.h> fixesLinus Torvalds2005-11-171-1/+1
| | | | | | | | | | | | | | The second __const_sigaddset() should have been a sigdelset.. Compile trouble noted by Greg K-H. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2005-11-1722-30/+26
|\ \
| * | [ARM] No need to include asm/proc-fns.h into asm/system.hRussell King2005-11-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | In the old days when arm26/arm32 was combined into the same architecture, proc-fns.h provided the xchg implementation for arm26 CPUs. Since we no longer combine these two, this include is no longer required. Remove it. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] Use unsigned long not u32 in atomic_cmpxchgRussell King2005-11-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Since atomic.h does not include types.h, u32 may not be defined. Since atomics are supposed to work on unsigned long quantities, use unsigned long instead. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] Move zone adjustment for SA1111 on SA11x0 platformsRussell King2005-11-161-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately, using PAGE_SHIFT in asm/arch/memory.h is unsafe, and we can't include asm/page.h into this file because then we have a circular dependency. Move the offending code to arch/arm/common/sa1111.c instead. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] Add linux/compiler.h includes where requiredRussell King2005-11-164-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | atomic.h, bitops.h and mmu_context.h are using likely/unlikely. thread_info.h uses __attribute_const__. Hence these files require linux/compiler.h to be included. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 3165/1: fix atomic_cmpxchg() implementation for ARMv6+Nicolas Pitre2005-11-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Nicolas Pitre If 'old' and 'oldval' are different then 'res' never gets set. In that case, if ever %0 happened to contain anything but zero (rather likely) then the code will loop forever (or until another CPU just come along and change the atomic value to match 'old' which is rather unlikely). Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] Include asm/hardware.h instead of asm/arch/hardware.hRussell King2005-11-1614-14/+14
| | | | | | | | | | | | | | | | | | Rationalise hardware.h include. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] Fix arch-realview/system.h to use __io_address()Russell King2005-11-162-1/+2
| | | | | | | | | | | | | | | | | | | | | Move __io_address to arch-realview/hardware.h, drop core.h from platsmp.c and localtimer.c, and include asm/io.h where required. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | [PATCH] x86: fix sigaddset() inline asm memory constraintConstantine Gavrilov2005-11-171-4/+27
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to incomplete memory constraints, gcc would miscompile code with sigaddset on i386 if sig arg was const. A quote form Jakub to make the issue clear: "You need either __asm__("btsl %1,%0" : "+m"(*set) : "Ir"(_sig-1) : "cc"); or __asm__("btsl %1,%0" : "=m"(*set) : "Ir"(_sig-1), "m"(*set) : "cc"); because the btsl instruction doesn't just set the memory to some value, but needs to read its previous content as well. If you don't tell that fact to GCC, GCC is of course free to optimize as if the asm was just setting the value and not depended on the previous value." Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds2005-11-161-0/+67
|\ \
| * | [DVB]: Add compat ioctl handling.David S. Miller2005-11-161-0/+67
| |/ | | | | | | | | | | | | | | | | Based upon a patch by Guido Guenther <agx@sigxcpu.org>. Some of these ioctls had embedded time_t objects or pointers, so needed translation. Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-mergeLinus Torvalds2005-11-164-7/+12
|\ \ | |/ |/|
| * [PATCH] powerpc: Make the vDSO functions set error code (#2)Benjamin Herrenschmidt2005-11-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The vDSO functions should have the same calling convention as a syscall. Unfortunately, they currently don't set the cr0.so bit which is used to indicate an error. This patch makes them clear this bit unconditionally since all functions currently succeed. The syscall fallback done by some of them will eventually override this if the syscall fails. This also changes the symbol version of all vdso exports to make sure glibc can differenciate between old and fixed calls for existing ones like __kernel_gettimeofday. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: replace page_to_virt() with lowmem_page_address() for Book-EKumar Gala2005-11-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | page_to_virt and lowmem_page_address provided equiavlent functionality so use the more standard lowmem_page_address This also addresses build issue in ARCH=powerpc since page_to_virt() has been removed from include/asm-powerpc/page.h Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: pci_64 fixes & cleanupsBenjamin Herrenschmidt2005-11-162-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I discovered that in some cases (PowerMac for example) we wouldn't properly map the PCI IO space on recent kernels. In addition, the code for initializing PCI host bridges was scattered all over the place with some duplication between platforms. This patch fixes the problem and does a small cleanup by creating a pcibios_alloc_controller() in pci_64.c that is similar to the one in pci_32.c (just takes an additional device node argument) that takes care of all the grunt allocation and initialisation work. It should work for both boot time and dynamically allocated PHBs. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds2005-11-152-3/+3
|\ \ | |/ |/|
| * [TCP]: More spelling fixes.Stephen Hemminger2005-11-151-2/+2
| | | | | | | | | | | | | | From Joe Perches Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [LLC]: Fix typoJochen Friedrich2005-11-141-1/+1
| | | | | | | | | | | | Signed-off-by: Jochen Friedrich <jochen@scram.de> Acked-by: Arnaldo Carvalho de Melo <acme@mandriva.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'upstream-fixes' of ↵Linus Torvalds2005-11-151-0/+14
|\ \ | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
| * | [libata] minor fixes, new helpersJeff Garzik2005-11-141-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - in ata_dev_identify(), don't assume that all devices are either ATA or ATAPI. In the future, this code will see port multipliers and other devices. - make a debugging printk less verbose - add new helper ata_qc_reinit() - add new helper BPRINTK() and port flag ATA_FLAG_DEBUGMSG, for fine-grained debugging use.
* | | [PATCH] v850: use generic hardirq codeChristoph Hellwig2005-11-151-0/+2
| | | | | | | | | | | | | | | | | | | | | Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Miles Bader <miles@gnu.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] v850: Add missing include in hardirq.hMiles Bader2005-11-151-0/+2
| | | | | | | | | | | | | | | | | | Signed-off-by: Miles Bader <miles@gnu.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] Make sysctl.h (again) usable from userspaceHarald Welte2005-11-151-1/+1
| |/ |/| | | | | | | | | | | | | Make sysctl.h (again) useable from userspace Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge x86-64 update from AndiLinus Torvalds2005-11-1429-341/+126
|\ \
| * | [PATCH] x86_64: Increase the maximum number of local APICs to the maximumAndi Kleen2005-11-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed for large multinode IBM systems which have a sparse APIC space in clustered mode, fully covering the available 8 bits. The previous kernels would limit the local APIC number to 127, which caused it to reject some of the CPUs at boot. I increased the maximum and shrunk the apic_version array a bit to make up for that (the version is only 8 bit, so don't need an full int to store) Cc: Chris McDermott <lcm@us.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] x86_64: Use common sys_time64Paolo 'Blaisorblade' Giarrusso2005-11-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Keeping this function does not makes sense because it's a copied (and buggy) copy of sys_time. The only difference is that now.tv_sec (which is a time_t, i.e. a 64-bit long) is copied (and truncated) into a int (32-bit). The prototype is the same (they both take a long __user *), so let's drop this and redirect it to sys_time (and make sure it exists by defining __ARCH_WANT_SYS_TIME). Only disadvantage is that the sys_stime definition is also compiled (may be fixed if needed by adding a separate __ARCH_WANT_SYS_STIME macro, and defining it for all arch's defining __ARCH_WANT_SYS_TIME except x86_64). Acked-by: Andi Kleen <ak@suse.de> Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] x86_64: Set ____cacheline_maxaligned_in_smp alignment to 128 bytesPaolo 'Blaisorblade' Giarrusso2005-11-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current value was correct before the introduction of Intel EM64T support - but now L1_CACHE_SHIFT_MAX can be less than L1_CACHE_SHIFT, which _is_ funny! Between the few users of ____cacheline_maxaligned_in_smp, we also have (for example) rcu_ctrlblk, and struct zone, with zone->{lru_,}lock. I.e. we have a lot of excess cacheline bouncing on them. No correctness issues, obviously. So this could even be merged for 2.6.14 (I'm not a fan of this idea, though). CC: Andi Kleen <ak@suse.de> Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] x86_64: Remove asm-x86_64/rwsem.hAndi Kleen2005-11-141-283/+0
| | | | | | | | | | | | | | | | | | | | | Not needed since x86-64 always uses the spinlock based rwsems. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>