- 09 12月, 2006 2 次提交
-
-
由 David Howells 提交于
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: NDavid 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: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
由 Josef Sipek 提交于
Signed-off-by: NJosef Sipek <jsipek@fsl.cs.sunysb.edu> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 08 12月, 2006 2 次提交
-
-
由 Magnus Damm 提交于
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: NMagnus 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: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
由 Peter Zijlstra 提交于
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: NPeter Zijlstra <a.p.zijlstra@chello.nl> Acked-by: NNick Piggin <npiggin@suse.de> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 03 12月, 2006 1 次提交
-
-
由 Al Viro 提交于
* sanitized prototypes, annotated * kill shift-by-16 in checksum calculation Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 28 10月, 2006 1 次提交
-
-
由 Andrew Morton 提交于
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: NAndrew Morton <akpm@osdl.org> [ Added AVR32 as well ] Signed-off-by: NHaavard Skinnemoen <hskinnemoen@atmel.com> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 12 10月, 2006 1 次提交
-
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 07 10月, 2006 5 次提交
-
-
由 Matthew Wilcox 提交于
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: NMatthew Wilcox <matthew@wil.cx>
-
由 Kyle McMartin 提交于
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: NKyle McMartin <kyle@parisc-linux.org> Signed-off-by: NMatthew Wilcox <matthew@wil.cx>
-
由 Matthew Wilcox 提交于
Conditionals were the wrong way around. Turns out I was booting the wrong kernel when testing the original fix. Signed-off-by: NMatthew Wilcox <matthew@wil.cx>
-
由 Matthew Wilcox 提交于
Actually set the irq_regs pointer. Signed-off-by: NMatthew Wilcox <matthew@wil.cx>
-
由 Matthew Wilcox 提交于
Signed-off-by: NMatthew Wilcox <matthew@wil.cx>
-
- 05 10月, 2006 6 次提交
-
-
由 Matthew Wilcox 提交于
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: NMatthew Wilcox <willy@parisc-linux.org>
-
由 Matthew Wilcox 提交于
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: NMatthew Wilcox <willy@parisc-linux.org>
-
由 Matthew Wilcox 提交于
The utsname virtualisation broke parisc_newuname compilation. Rewrite the implementation to call sys_newuname() like sparc64 does. Signed-off-by: NMatthew Wilcox <willy@parisc-linux.org>
-
由 Matthew Wilcox 提交于
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: NMatthew Wilcox <willy@parisc-linux.org>
-
由 Matthew Wilcox 提交于
filldir_t now takes a u64, not an ino_t. Signed-off-by: NMatthew Wilcox <matthew@wil.cx>
-
由 Matthew Wilcox 提交于
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: NMatthew Wilcox <matthew@wil.cx>
-
- 04 10月, 2006 22 次提交
-
-
由 Andrew Morton 提交于
wall_jiffies and jiffies are now equal, so this is a noop... Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Helge Deller 提交于
Signed-off-by: NHelge Deller <deller@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Matthew Wilcox 提交于
Signed-off-by: NMatthew Wilcox <willy@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Matthew Wilcox 提交于
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: NMatthew Wilcox <willy@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Matthew Wilcox 提交于
GCC no longer allows a cast as lvalue; fix the same way fs/readdir.c was Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Matthew Wilcox 提交于
iounmap's argument needs to be both const and volatile, otherwise we'll get warnings that we're discarding pointer qualifiers Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Matthew Wilcox 提交于
Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 James Bottomley 提交于
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: NJames Bottomley <James.Bottomley@SteelEye.com> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Grant Grundler 提交于
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: NGrant Grundler <grundler@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Grant Grundler 提交于
Signed-off-by: NGrant Grundler <grundler@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Grant Grundler 提交于
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: NGrant Grundler <grundler@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Grant Grundler 提交于
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: NGrant Grundler <grundler@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Grant Grundler 提交于
processor_probe() shouldn't clobber cpu_data[0] cpu_data[0].it_value (used by timer_interrupt()) is already set. Signed-off-by: NGrant Grundler <grundler@parisc-linux.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Kyle McMartin 提交于
intr_restore in intr_do_preempt. This prevents the execution of an unwanted insn... Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Kyle McMartin 提交于
And now suddenly, linux32 works on parisc... Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Kyle McMartin 提交于
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: NKyle McMartin <kyle@parisc-linux.org>
-
由 James Bottomley 提交于
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: NJames Bottomley <James.Bottomley@SteelEye.com> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Kyle McMartin 提交于
Clean up enough to get things compiling again in the interim. Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Kyle McMartin 提交于
Abstract existing shift register left macros as shift register right are. This lends itself to a nice clean up of some #ifdef blocks in entry.S Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Kyle McMartin 提交于
Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Kyle McMartin 提交于
It seems PA7200 processors also suppress traps on loads to %r0. This means we can prefetch for read on these cpus. Of course, we can't support prefetch for write, since that requires LOAD DOUBLEWORD which was added with PA2.0 Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Dave Jones 提交于
kbuild explicitly includes this at build time. Signed-off-by: NDave Jones <davej@redhat.com>
-