summaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] kprobes: fix race in recovery of reentrant probeKeshavamurthy Anil S2006-01-115-0/+49
| | | | | | | | | | | | | | | | | There is a window where a probe gets removed right after the probe is hit on some different cpu. In this case probe handlers can't find a matching probe instance related to break address. In this case we need to read the original instruction at break address to see if that is not a break/int3 instruction and recover safely. Previous code had a bug where we were not checking for the above race in case of reentrant probes and the below patch fixes this race. Tested on IA64, Powerpc, x86_64. Signed-off-by: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] uml: kill an unused variableJeff Dike2006-01-111-1/+0
| | | | | | | | | The HDIO_GETGEO patch left an unused variable in the UML block driver. This gets rid of it. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] uml: fix debug output on x86_64Jeff Dike2006-01-111-2/+2
| | | | | | | | | | The debug-stub patch was broken on x86_64 because it thinks the frame size there is 168 words. In reality, it is 168 bytes, and using HOST_FRAME_SIZE, which is expressed in consistent units across architectures, fixes this. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] uml: eliminate doubled boot outputJeff Dike2006-01-111-1/+1
| | | | | | | | | CON_PRINTBUFFER was a bad idea for the mconsole console. It causes the boot output to be printed twice. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] uml: revert compile-time option checkingJeff Dike2006-01-111-4/+0
| | | | | | | | | Undo the previous no-modes patch since Adrian Bunk sent in a kbuild way of doing the same thing. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] uml: update Kconfig helpJeff Dike2006-01-111-4/+4
| | | | | | | | | | The MODE_TT help was a little outdated. This updates it in light of the existence of skas0 mode. It's also turned off by default since it is mostly obsoleted by skas0 mode. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] uml: fix missing KBUILD_BASENAMEJeff Dike2006-01-114-20/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | 2.6.15-mm1 caused kernel-offsets.c to stop compiling with a syntax error in a header. The problem was with KBUILD_BASENAME, which didn't get a definition with the by-hand compilation in the main UML Makefile. This was OK before since the expansion was syntactically the same as the KBUILD_BASENAME token. With -mm1, the expansion is now a quote-delimited string, so there needs to be a definition of it. Since kernel-offsets.c is basically the same as other arches' asm-offsets.c, and those seem to build OK, this patch turns kernel-offsets.c into asm-offsets.c. kernel-offsets.c is in arch/um/sys-$(SUBARCH), i.e. sys-i386 and sys-x86_64, while kbuild expects it to be in arch/um/kernel. kernel-offsets.c is moved to arch/um/include/sysdep-$(SUBARCH)/kernel-offsets.h, which is included by arch/um/kernel/asm-offsets.c. With that, include/asm-um/asm-offsets.h is generated automatically. kernel-offsets.h continues to exist because it needs to be accessible to userspace UML code, and include/asm-um isn't. So, a symlink is made from arch/um/include/kernel-offsets.h to include/asm-um/asm-offsets.h. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds2006-01-111-1/+1
|\
| * [SPARC64] arch/sparc64/Kconfig: fix HUGETLB_PAGE_SIZE_64K dependenciesAdrian Bunk2006-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a typo in the dependencies of HUGETLB_PAGE_SIZE_64K. It might be more logical to rename the HUGETLB_PAGE_SIZE_*K dependencies to HUGETLB_PAGE_SIZE_*KB, but let's fix this bug first. This bug was reported by Jean-Luc Leger <reiga@dspnet.fr.eu.org>. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-mergeLinus Torvalds2006-01-1125-117/+278
|\ \ | |/ |/|
| * [PATCH] powerpc: Don't build crash.c for PPC32Michael Ellerman2006-01-111-2/+2
| | | | | | | | | | | | | | | | | | | | arch/powerpc/kernel/crash.c isn't safe for PPC32 (yet?), so don't build it. Built with CONFIG_KEXEC=y for pmac32_defconfig, pseries_defconfig, and g5_defconfig. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: Fix clean_files in arch/powerpc/boot MakefileKumar Gala2006-01-111-1/+1
| | | | | | | | | | | | | | clean-files was being set twice rather than being appended to. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: Remove redundant setting of htab_addressMichael Ellerman2006-01-111-6/+0
| | | | | | | | | | | | | | | | iSeries doesn't need to set the htab_address explicitly, htab_initialize() will do it for us later. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: Add ibm,pft-size to iSeries device treeMichael Ellerman2006-01-111-2/+11
| | | | | | | | | | | | | | | | | | To make iSeries just a teensy bit less special, create ibm,pft-size properties in the iSeries device tree. We can then rely on htab_dt_scan_pftsize() to set ppc64_pft_size for us. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: Add some missing .gitignore'sKumar Gala2006-01-113-0/+22
| | | | | | | | | | | | | | ignore generated files under arch/powerpc Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: Updated Kconfig and Makefiles for 83xx supportKumar Gala2006-01-117-53/+85
| | | | | | | | | | | | | | | | | | | | | | Updated Kconfig & Makefiles in prep for adding support for the Freescale MPC83xx family of processors to arch/powerpc. Moved around some config options that are more globally applicable to other PowerPC processors. Added a temporary config option (83xx) to match existing arch/ppc support for the MPC83xx line. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] spufs: Suspend/restore MFC DMA operations at SPU context switch.Geoff Levand2006-01-111-5/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | The SPE Book IV indicates that MFC DMA operations must be suspended and restored on SPU context switch (in Step 8). This patch adds that operation, which is missing from the current spufs implementation. Signed-off-by: Masato Noguchi <Masato.Noguchi@jp.sony.com> Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Acked-by: Arnd Bergmann <arndb@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: fix for compile problem in kdump code when SMP disabledHaren Myneni2006-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | This patch fixes the compilation error (shown below) when CONFIG_SMP=n. arch/powerpc/kernel/crash.c: In function `crash_kexec_prepare_cpus': arch/powerpc/kernel/crash.c:236: error: implicit declaration of function `smp_release_cpus' Signed-off-by: Haren Myneni <haren@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * powerpc: Fix compile error when CONFIG_PROC_VMCORE is not definedPaul Mackerras2006-01-111-0/+2
| | | | | | | | | | | | We were getting elfcorehdr_addr undefined in this case. Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc/64: per cpu data optimisationsAnton Blanchard2006-01-111-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current ppc64 per cpu data implementation is quite slow. eg: lhz 11,18(13) /* smp_processor_id() */ ld 9,.LC63-.LCTOC1(30) /* per_cpu__variable_name */ ld 8,.LC61-.LCTOC1(30) /* __per_cpu_offset */ sldi 11,11,3 /* form index into __per_cpu_offset */ mr 10,9 ldx 9,11,8 /* __per_cpu_offset[smp_processor_id()] */ ldx 0,10,9 /* load per cpu data */ 5 loads for something that is supposed to be fast, pretty awful. One reason for the large number of loads is that we have to synthesize 2 64bit constants (per_cpu__variable_name and __per_cpu_offset). By putting __per_cpu_offset into the paca we can avoid the 2 loads associated with it: ld 11,56(13) /* paca->data_offset */ ld 9,.LC59-.LCTOC1(30) /* per_cpu__variable_name */ ldx 0,9,11 /* load per cpu data Longer term we can should be able to do even better than 3 loads. If per_cpu__variable_name wasnt a 64bit constant and paca->data_offset was in a register we could cut it down to one load. A suggestion from Rusty is to use gcc's __thread extension here. In order to do this we would need to free up r13 (the __thread register and where the paca currently is). So far Ive had a few unsuccessful attempts at doing that :) The patch also allocates per cpu memory node local on NUMA machines. This patch from Rusty has been sitting in my queue _forever_ but stalled when I hit the compiler bug. Sorry about that. Finally I also only allocate per cpu data for possible cpus, which comes straight out of the x86-64 port. On a pseries kernel (with NR_CPUS == 128) and 4 possible cpus we see some nice gains: total used free shared buffers cached Mem: 4012228 212860 3799368 0 0 162424 total used free shared buffers cached Mem: 4016200 212984 3803216 0 0 162424 A saving of 3.75MB. Quite nice for smaller machines. Note: we now have to be careful of per cpu users that touch data for !possible cpus. At this stage it might be worth making the NUMA and possible cpu optimisations generic, but per cpu init is done so early we have to be careful that all architectures have their possible map setup correctly. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: Make early debugging configurable via KconfigMichael Ellerman2006-01-116-41/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds Kconfig entries to control the early debugging options, currently in setup_64.c. Doing this via Kconfig rather than #defines means you can have one source tree, which is buildable for multiple platforms - and you can enable the correct early debug option for each platform via .config. I made udbg_early_init() a static inline because otherwise GCC is to daft to optimise it away when debugging is off. Now that we have udbg_init_rtas() we can make call_rtas_display_status* static. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: Early debugging support for iSeriesMichael Ellerman2006-01-112-8/+24
| | | | | | | | | | | | | | | | | | | | | | Connect iSeries up to the standard early debugging infrastructure. To actually use this you need to enable the iSeries early debugging in setup_64.c. Then after the messages are logged hit Ctrl-x Ctrl-x on your console to dump the Hypervisor console buffer. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] powerpc: remove remaining crash_notes variable from machine_kexec.cOlaf Hering2006-01-111-6/+0
| | | | | | | | | | | | | | | | | | | | remove remaining crash_notes definition to fix compile error /dev/shm/linux-2.6/arch/powerpc/kernel/machine_kexec.c:21: error: conflicting types for `crash_notes' /dev/shm/linux-2.6/include/linux/kexec.h:129: error: previous declaration of `crash_notes' Signed-off-by: Olaf Hering <olh@suse.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] PCI Hotplug/powerpc: module build breaklinas2006-01-111-0/+3
| | | | | | | | | | | | | | | | | | The RPAPHP hoplug driver will not build as a module, because it calls on a pcibios routine which is not exported. This exports the symbol. Problem reported by Olaf Hering <olh@suse.de> Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [PATCH] enable the RTC driver in ppc64_defconfigOlaf Hering2006-01-111-1/+1
| | | | | | | | | | | | | | Enable the RTC driver. Signed-off-by: Olaf Hering <olh@suse.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] fix/simplify mutex debugging codeDavid Woodhouse2006-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | Let's switch mutex_debug_check_no_locks_freed() to take (addr, len) as arguments instead, since all its callers were just calculating the 'to' address for themselves anyway... (and sometimes doing so badly). Signed-off-by: David Woodhouse <dwmw2@infradead.org> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6Linus Torvalds2006-01-1019-111/+147
|\ \
| * | [PARISC] Use STABS_DEBUG macro from vmlinux.lds.hMatthew Wilcox2006-01-101-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | Cleanup vmlinux.lds.S by using STABS_DEBUG macro from vmlinux.lds.h instead of repeating the sections. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
| * | [PARISC] Fix Dino reporting on J2240Matthew Wilcox2006-01-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fix Dino reporting on J2240. This particular machine thought it had a Cujo. Also add J2240 Dino chip to the hp_hardware_list. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
| * | [PARISC] Fix BLK_BOUNCE_HIGH on parisc by initializing max_low_pfnGrant Grundler2006-01-101-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | max_low_pfn was not being set in arch/parisc/mm/init.c, causing severe problems whenever anything tried to use BLK_BOUNCE_HIGH. Set it to max_pfn like other similar architectures do. Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
| * | [PARISC] Fix GSC graphics cards with 64MB regionsMatthew Wilcox2006-01-101-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make knapps work with its 64MB gfx card. I probably just broke another machine in the process, but assuming 64MB when 64MB aligned is probably safer than assuming 32MB all the time. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
| * | [PARISC] Fix and cleanup ioremap.c to work with 4level-fixup.hKyle McMartin2006-01-101-37/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixup ioremap a bit. It seems to work on 32-bit kernels, but fails miserably on the first ioremapped access on 64-bit kernels. Also, having STI enabled causes it to fail. Probably because we're passing an ioremapped region to a real-mode STI call... Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
| * | [PARISC] Make local cache flushes take a void *Matthew Wilcox2006-01-103-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make flush_data_cache_local, flush_instruction_cache_local and flush_tlb_all_local take a void * so they don't have to be cast when using on_each_cpu(). This becomes a problem when on_each_cpu is a macro (as it is in current -mm). Also move the prototype of flush_tlb_all_local into tlbflush.h and remove its declaration from .c files. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
| * | [PARISC] Add __read_mostly section for pariscHelge Deller2006-01-1017-52/+58
| |/ | | | | | | | | | | | | | | Flag a whole bunch of things as __read_mostly on parisc. Also flag a few branches as unlikely() and cleanup a bit of code. Signed-off-by: Helge Deller <deller@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
* / x86: fix "make install" targetLinus Torvalds2006-01-101-1/+1
|/ | | | | | | | | Removing the dependency on the boot image build was good, but it also meant that the $< expansion by make needed to be done explicitly. Noted by Stephen Hemminger. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: fix ram length of m5208evb boardGreg Ungerer2006-01-101-1/+1
| | | | | | | | | | Adjust length of M5208EVB ram define. It should size up to 32MB after adding in the dBUG reserved 128k. Problem pointed out be Milton Miller <miltonm@bga.com>. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: fix a5 reg corruption in signal handlersGreg Ungerer2006-01-101-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a patch adapted from a posting by Andrea Tarani which was pointed out to me by Bernardo Innocenti. Thanks to both of them for their help and patience. The original posting is here: http://mailman.uclinux.org/pipermail/uclinux-dev/2005-July/033543.html The problem first manifest itself as busybox ping terminating with an "Illegal instruction". I reduced this to a test case and found that variable size arrays allocated on the stack could lead to stacks not aligned on 32 bit boundaries. For the Coldfire this proved fatal. Having been pointed out this patch by Bernardo, I applied it and it fixed the first test case. I then went back to busybox's ping. This still failed with "Illegal instruction", but in a different way. Before it depended on the size allocated for the ping buffer, now it happened every time. I also found it depended on optimisation level (gcc-3.4.0) -Os was okay but not -O2. After a lot of looking, it turned out that register a5 was being corrupted by the signal handler (after applying the patch). I re-worked the patch a bit to save/restore a5 and now all seems well. Patch submitted by Stuart Hughs <stuarth@freescale.com> Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: fix mangled 'truct' in ptrace.cGreg Ungerer2006-01-101-1/+1
| | | | | | | Fix broken "truct" -> "struct" in arch_ptrace() parameter list. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] m68knommu: don't set gcc optimizer flagsGreg Ungerer2006-01-101-1/+0
| | | | | | | | Don't specify compiler optimization flags in the m68knommu Makefile. Let the top level Makefile/config set it. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] h8300: remove MAGIC_ROM_PTR from memory.cGreg Ungerer2006-01-101-13/+0
| | | | | | | Remove obsolete MAGIC_ROM_PTR code from h8300 architecture. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] h8300: remove MAGIC_ROM_PTR from k8300_ksyms.cGreg Ungerer2006-01-101-4/+0
| | | | | | | Remove obsolete MAGIC_ROM_PTR code from h8300 architecture. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linusLinus Torvalds2006-01-1062-120/+145
|\
| * MIPS: Malta: Change CPU default to R2.Ralf Baechle2006-01-101-5/+5
| | | | | | | | | | | | | | | | ... giving those with with R1 or older CPU cards more rope to missconfigure their kernels. But MIPS is only selling R2 CPUs since two or three years already. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: R2: Set 64BIT_PHYS_ADDR for R2 processor also.Ralf Baechle2006-01-101-1/+1
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: Don't pass -finline-limit=100000.Ralf Baechle2006-01-101-1/+0
| | | | | | | | | | | | | | | | | | This was a stop gap meassure for gcc 3.3 and newer sometimes not inlining inline functions in the 2.4 days. Starting we pass the always_inline attribute, so -finline-limit is no longer necessary and it's been shown to problematic on Sparc. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: Namespace pollution: dump_regs() -> elf_dump_regs()Al Viro2006-01-101-2/+2
| | | | | | | | | | | | | | | | | | dump_regs() is used by a bunch of drivers for their internal stuff; renamed mips instance (one that is seen in system-wide headers) to elf_dump_regs() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: Remove unused CONFIG_CPU_HAS_LLDSCD.Ralf Baechle2006-01-1024-31/+0
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * Update Yoichi Yuasa's email address.Ralf Baechle2006-01-1020-23/+23
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: Oprofile: Add 5K, 20K and 25K support.Ralf Baechle2006-01-102-0/+15
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * MIPS: Oprofile: Print error message if the CPU happen to have no counters.Ralf Baechle2006-01-101-1/+3
| | | | | | | | Signed-off-by: Ralf Baechle <ralf@ongar.mips.com>