- Feb 11, 2007
-
-
Christoph Lameter authored
Remove ZONE_DMA remains from parisc so that kernels are build without ZONE_DMA. Signed-off-by:
Christoph Lameter <clameter@sgi.com> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Matthew Wilcox <willy@debian.org> Cc: James Bottomley <James.Bottomley@steeleye.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Jan 12, 2007
-
-
Gautham R Shenoy authored
Compiling the kernel with CONFIG_HOTPLUG = y and CONFIG_HOTPLUG_CPU = n with CONFIG_RELOCATABLE = y generates the following modpost warnings WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between '_cpu_up' (at offset 0xc0141b7d) and 'cpu_up' WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between '_cpu_up' (at offset 0xc0141b9c) and 'cpu_up' WARNING: vmlinux - Section mismatch: reference to .init.text:__cpu_up from .text between '_cpu_up' (at offset 0xc0141bd8) and 'cpu_up' WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between '_cpu_up' (at offset 0xc0141c05) and 'cpu_up' WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between '_cpu_up' (at offset 0xc0141c26) and 'cpu_up' WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between '_cpu_up' (at offset 0xc0141c37) and 'cpu_up' This is because cpu_up, _cpu_up and __cpu_up (in some architectures) are defined as __devinit AND __cpu_up calls some __cpuinit functions. Since __cpuinit would map to __init with this kind of a configuration, we get a .text refering .init.data warning. This patch solves the problem by converting all of __cpu_up, _cpu_up and cpu_up from __devinit to __cpuinit. The approach is justified since the callers of cpu_up are either dependent on CONFIG_HOTPLUG_CPU or are of __init type. Thus when CONFIG_HOTPLUG_CPU=y, all these cpu up functions would land up in .text section, and when CONFIG_HOTPLUG_CPU=n, all these functions would land up in .init section. Tested on a i386 SMP machine running linux-2.6.20-rc3-mm1. Signed-off-by:
Gautham R Shenoy <ego@in.ibm.com> Cc: Vivek Goyal <vgoyal@in.ibm.com> Cc: Mikael Starvik <starvik@axis.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Paul Mackerras <paulus@samba.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- Dec 13, 2006
-
-
Robert P. J. Day authored
Run this: #!/bin/sh for f in $(grep -Erl "\([^\)]*\) *k[cmz]alloc" *) ; do echo "De-casting $f..." perl -pi -e "s/ ?= ?\([^\)]*\) *(k[cmz]alloc) *\(/ = \1\(/" $f done And then go through and reinstate those cases where code is casting pointers to non-pointers. And then drop a few hunks which conflicted with outstanding work. Cc: Russell King <rmk@arm.linux.org.uk>, Ian Molton <spyro@f2s.com> Cc: Mikael Starvik <starvik@axis.com> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jeff Dike <jdike@addtoit.com> Cc: Greg KH <greg@kroah.com> Cc: Jens Axboe <jens.axboe@oracle.com> Cc: Paul Fulghum <paulkf@microgate.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Karsten Keil <kkeil@suse.de> Cc: Mauro Carvalho Chehab <mchehab@infradead.org> Cc: Jeff Garzik <jeff@garzik.org> Cc: James Bottomley <James.Bottomley@steeleye.com> Cc: Ian Kent <raven@themaw.net> Cc: Steven French <sfrench@us.ibm.com> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Neil Brown <neilb@cse.unsw.edu.au> Cc: Jaroslav Kysela <perex@suse.cz> Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- Dec 08, 2006
-
-
Haavard Skinnemoen authored
Convert parisc to use generic ioremap_page_range() Signed-off-by:
Haavard Skinnemoen <hskinnemoen@atmel.com> Acked-by:
Kyle McMartin <kyle@parisc-linux.org> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
David Howells authored
This facility provides three entry points: ilog2() Log base 2 of unsigned long ilog2_u32() Log base 2 of u32 ilog2_u64() Log base 2 of u64 These facilities can either be used inside functions on dynamic data: int do_something(long q) { ...; y = ilog2(x) ...; } Or can be used to statically initialise global variables with constant values: unsigned n = ilog2(27); When performing static initialisation, the compiler will report "error: initializer element is not constant" if asked to take a log of zero or of something not reducible to a constant. They treat negative numbers as unsigned. When not dealing with a constant, they fall back to using fls() which permits them to use arch-specific log calculation instructions - such as BSR on x86/x86_64 or SCAN on FRV - if available. [akpm@osdl.org: MMC fix] Signed-off-by:
David Howells <dhowells@redhat.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: David Howells <dhowells@redhat.com> Cc: Wojtek Kaniewski <wojtekka@toxygen.net> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
Josef Sipek authored
Signed-off-by:
Josef Sipek <jsipek@fsl.cs.sunysb.edu> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- Dec 07, 2006
-
-
Magnus Damm authored
Define elf_addr_t in linux/elf.h. The size of the type is determined using ELF_CLASS. This allows us to remove the defines that today are spread all over .c and .h files. Signed-off-by:
Magnus Damm <magnus@valinux.co.jp> Cc: Daniel Jacobowitz <drow@false.org> Cc: Roland McGrath <roland@redhat.com> Cc: Jakub Jelinek <jakub@redhat.com> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
Peter Zijlstra authored
In light of the recent pagefault and filemap_copy_from_user work I've gone through all the arch pagefault handlers to make sure the inc_preempt_count() 'feature' works as expected. Several sections of code (including the new filemap_copy_from_user) rely on the fact that faults do not take locks under increased preempt count. arch/x86_64 - good arch/powerpc - good arch/cris - fixed arch/i386 - good arch/parisc - fixed arch/sh - good arch/sparc - good arch/s390 - good arch/m68k - fixed arch/ppc - good arch/alpha - fixed arch/mips - good arch/sparc64 - good arch/ia64 - good arch/arm - fixed arch/um - good arch/avr32 - good arch/h8300 - NA arch/m32r - good arch/v850 - good arch/frv - fixed arch/m68knommu - NA arch/arm26 - fixed arch/sh64 - fixed arch/xtensa - good Signed-off-by:
Peter Zijlstra <a.p.zijlstra@chello.nl> Acked-by:
Nick Piggin <npiggin@suse.de> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- Dec 03, 2006
-
-
Al Viro authored
* sanitized prototypes, annotated * kill shift-by-16 in checksum calculation Signed-off-by:
Al Viro <viro@zeniv.linux.org.uk> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Oct 27, 2006
-
-
Andrew Morton authored
Add a vmlinux.lds.h helper macro for defining the eight-level initcall table, teach all the architectures to use it. This is a prerequisite for a patch which performs initcall synchronisation for multithreaded-probing. Cc: Greg KH <greg@kroah.com> Signed-off-by:
Andrew Morton <akpm@osdl.org> [ Added AVR32 as well ] Signed-off-by:
Haavard Skinnemoen <hskinnemoen@atmel.com> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- Oct 11, 2006
-
-
Al Viro authored
Signed-off-by:
Al Viro <viro@zeniv.linux.org.uk> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- Oct 07, 2006
-
-
Matthew Wilcox authored
Remove pt_regs from ipi_interrupt and timer_interrupt. Inline smp_do_timer() into its only caller, and unify the SMP and non-SMP paths. Fixes a profiling bug. Signed-off-by:
Matthew Wilcox <matthew@wil.cx>
-
Kyle McMartin authored
There's no reason why we shouldn't be using _irqsave instead of _irq for any of these calls. fwiw, this fixes the "start_kernel(): bug: interrupts were enabled early" message displayed on bootup recently. Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org> Signed-off-by:
Matthew Wilcox <matthew@wil.cx>
-
Matthew Wilcox authored
Conditionals were the wrong way around. Turns out I was booting the wrong kernel when testing the original fix. Signed-off-by:
Matthew Wilcox <matthew@wil.cx>
-
Matthew Wilcox authored
Actually set the irq_regs pointer. Signed-off-by:
Matthew Wilcox <matthew@wil.cx>
-
Matthew Wilcox authored
Signed-off-by:
Matthew Wilcox <matthew@wil.cx>
-
- Oct 05, 2006
-
-
Matthew Wilcox authored
do_timer now wants to know how many ticks have elapsed. Now that we have to calculate that, we can eliminate some of the clever code that avoided having to calculate that. Also add some more documentation. I'd like to thank Grant Grundler for helping me with this. Signed-off-by:
Matthew Wilcox <willy@parisc-linux.org>
-
Matthew Wilcox authored
Panic if we can't register the parisc bus or the root parisc device. There's no way we can boot without them, so let the user know ASAP. If we can't register a parisc device, handle the failure gracefully. Signed-off-by:
Matthew Wilcox <willy@parisc-linux.org>
-
Matthew Wilcox authored
The utsname virtualisation broke parisc_newuname compilation. Rewrite the implementation to call sys_newuname() like sparc64 does. Signed-off-by:
Matthew Wilcox <willy@parisc-linux.org>
-
Matthew Wilcox authored
max() doesn't like comparing an unsigned long and a resource_size_t, so make the local variables resource_size_t too. Signed-off-by:
Matthew Wilcox <willy@parisc-linux.org>
-
Matthew Wilcox authored
filldir_t now takes a u64, not an ino_t. Signed-off-by:
Matthew Wilcox <matthew@wil.cx>
-
Matthew Wilcox authored
When CONFIG_SYSCTL_SYSCALL isn't defined, do_sysctl doesn't exist and we fail to link. Fix with an ifdef, the same way sparc64 did. Also add some minor changes to be more like sparc64. Signed-off-by:
Matthew Wilcox <matthew@wil.cx>
-
- Oct 04, 2006
-
-
Andrew Morton authored
wall_jiffies and jiffies are now equal, so this is a noop... Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
Helge Deller authored
Signed-off-by:
Helge Deller <deller@parisc-linux.org> Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
Matthew Wilcox authored
Signed-off-by:
Matthew Wilcox <willy@parisc-linux.org> Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
Matthew Wilcox authored
Joel Soete points out that we refer to pa_tlb_lock but only define it if CONFIG_SMP which breaks a uniprocessor build with CONFIG_DEBUG_SPINLOCK enabled. No module refers to pa_tlb_lock, so we can delete the export. Signed-off-by:
Matthew Wilcox <willy@parisc-linux.org> Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
Matthew Wilcox authored
GCC no longer allows a cast as lvalue; fix the same way fs/readdir.c was Signed-off-by:
Matthew Wilcox <matthew@wil.cx> Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
Matthew Wilcox authored
iounmap's argument needs to be both const and volatile, otherwise we'll get warnings that we're discarding pointer qualifiers Signed-off-by:
Matthew Wilcox <matthew@wil.cx> Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
Matthew Wilcox authored
Signed-off-by:
Matthew Wilcox <matthew@wil.cx> Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
James Bottomley authored
Our prior mode of operation didn't allow nested interrupts because it makes the interrupt code much simpler. However, nested interrupts are better for latency. This code uses the EIEM register to simulate level interrupts and thus achieve nesting. Signed-off-by:
James Bottomley <James.Bottomley@SteelEye.com> Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
Grant Grundler authored
This version (relative to the current tree): o eliminates "while (ticks_elapsed)" loop. It's not needed. o drop "ticks_elapsed" completely from timer_interrupt(). o Estimates elapsed cycles (based on HZ) to see which kind of math we want to use to calculate "cycles_remainder". o Fixes a bug where we would loose a tick if we decided we wanted to skip one interrupt. Signed-off-by:
Grant Grundler <grundler@parisc-linux.org> Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
Grant Grundler authored
Signed-off-by:
Grant Grundler <grundler@parisc-linux.org> Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
Grant Grundler authored
It's just a bit easier to follow and timer code is complex enough. So far, only tested on A500-5x (64-bit SMP), ie: gettimeoffset() code hasn't been tested at all. Signed-off-by:
Grant Grundler <grundler@parisc-linux.org> Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
Grant Grundler authored
I couldn't find where the itimer was getting started for slave CPUs. CPU 0 (master) itimer was started in time_init() (arch/parisc/kernel/time.c). start_cpu_itimer() code was striped from time_init(). Slaves now start their itimer in smp_cpu_init(). This is a first step towards making gettimeoffset() work for SMP. Next step will be to determine the CR16 (cycle counter) offsets for each CPU relative to the master (CPU 0). Signed-off-by:
Grant Grundler <grundler@parisc-linux.org> Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
Grant Grundler authored
processor_probe() shouldn't clobber cpu_data[0] cpu_data[0].it_value (used by timer_interrupt()) is already set. Signed-off-by:
Grant Grundler <grundler@parisc-linux.org> Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
Kyle McMartin authored
intr_restore in intr_do_preempt. This prevents the execution of an unwanted insn... Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
Kyle McMartin authored
And now suddenly, linux32 works on parisc... Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
Kyle McMartin authored
Stop using PER_LINUX32 to designate processes needing compaterizing. Convert is_compat_task to use TIF_32BIT and set TIF_32BIT in binfmt_elf32.c Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
James Bottomley authored
This patch fixes the pa8800 at a gross level (there are still other subtle incoherency issues which can still cause crashes and HPMCs). What it does is try to force eject inequivalent aliases before they become visible to the L2 cache (which is where we get the incoherence problems). A new function (parisc_requires_coherency) is introduced in asm/processor.h to identify the pa8x00 processors (8800 and 8900) which have the issue. Signed-off-by:
James Bottomley <James.Bottomley@SteelEye.com> Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-
Kyle McMartin authored
Clean up enough to get things compiling again in the interim. Signed-off-by:
Kyle McMartin <kyle@parisc-linux.org>
-