summaryrefslogtreecommitdiffstats
path: root/arch/powerpc
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] Memory Add Fixes for ppc64Mike Kravetz2005-11-081-0/+1
| | | | | | | | | memmap_init_zone() sets page count to 1. Before 'freeing' the page, we need to clear the count. This is the same that is done on free_all_bootmem_core() for memory discovered at boot time. Signed-off-by: Mike Kravetz <kravetz@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] revised Memory Add Fixes for ppc64Mike Kravetz2005-11-082-0/+12
| | | | | | | | Add the create_section_mapping() routine to create hptes for memory sections dynamically added after system boot. Signed-off-by: Mike Kravetz <kravetz@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] ppc64: Fix the lazy icache/dcache code for non-RAM pagesBenjamin Herrenschmidt2005-11-081-0/+3
| | | | | | | | | | For some stupid reason I can't explain (brown paper bag is at hand), I removed the check pfn_valid() in the code that does the icache/dcache coherency on POWER4 and later. That causes us to eventually try to access non existing struct page when hashing in IO pages. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Fix typo in pmac_cpufreq_resumePaul Mackerras2005-11-081-1/+1
| | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] Memory Add Fixes for ppc64Mike Kravetz2005-11-081-0/+1
| | | | | | | | | | | | | On Tue, Nov 08, 2005 at 08:12:56AM +1100, Benjamin Herrenschmidt wrote: > Yes, the MAX_ORDER should be different indeed. But can Kconfig do that ? > That is have the default value be different based on a Kconfig option ? > I don't see that ... We may have to do things differently here... This seems to be done in other parts of the Kconfig file. Using those as an example, this should keep the MAX_ORDER block size at 16MB. Signed-off-by: Mike Kravetz <kravetz@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] ppc64: remove some direct xmon callsAnton Blanchard2005-11-082-12/+0
| | | | | | | | | | | | Even though we can enable and disable xmon at runtime now, there are a few places in the merge tree that call xmon and xmon_printf directly. In the case below we call die() which will call xmon if it is enabled. Also remove an unnecessary include of xmon.h in smp.c. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] ppc64: fix oprofile sample bit handlingAnton Blanchard2005-11-081-1/+23
| | | | | | | | | | Oprofile was hardwiring the MMCRA sample bit to 1 but on newer cpus (eg POWER5) we want to vary it based on the group being sampled. Add a temporary workaround until people update their oprofile userspace. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] ppc64: fix Memory: summary lineAnton Blanchard2005-11-081-1/+1
| | | | | | | | | | | | | | | On ppc64 we end up with a negative value for the data size in the memory boot message: Memory: 2035560k/2097152k available (5792k kernel code, 89564k reserved, 18014398509481632k data, 870k bss, 352k init) It turns out the section ordering of the linker script is different on ppc32 and ppc64, so just count data as _edata - _sdata which should work on both. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] ppc: fix a bunch of warningsBenjamin Herrenschmidt2005-11-082-5/+7
| | | | | | | | Building a PowerMac kernel with ARCH=powerpc causes a bunch of warnings, this fixes some of them Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] ppc64: More U3 device-tree fixesBenjamin Herrenschmidt2005-11-081-1/+1
| | | | | | | | Some more U3 revisions have the missing "interrupts" property in U3, this adds them to the fixup code in prom_init.c Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] ppc64: Update g5_defconfig for ARCH=powerpcBenjamin Herrenschmidt2005-11-081-55/+206
| | | | | | | | | | This patch updates g5_defconfig for ARCH=powerpc in order to add the SMU support & thermal drivers to it, the pmac sound driver (works on some G5s) and replaces rivafb with nvidiafb which works better for the cards found in G5 based machines. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] ppc64: SMU partition recoveryBenjamin Herrenschmidt2005-11-081-3/+18
| | | | | | | | | | This patch adds the ability to the SMU driver to recover missing calibration partitions from the SMU chip itself. It also adds some dynamic mecanism to /proc/device-tree so that new properties are visible to userland. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] ppc64: SMU based macs cpufreq supportBenjamin Herrenschmidt2005-11-086-22/+412
| | | | | | | | CPU freq support using 970FX powertune facility for iMac G5 and SMU based single CPU desktop. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: Fix ppc32 initrdDavid Woodhouse2005-11-083-37/+41
| | | | | | | | | | | | | OK, the Fedora ppc32 and ppc64 kernels should both be arch/powerpc by tomorrow. They're booting on G5, POWER5, and my powerbook. I'll test pmac SMP and Pegasos later -- but pmac smp is known broken in arch/ppc anyway, and I'll live with a potential Pegasos regression for now; it wasn't supported officially in FC4 either. I needed to fix ppc32 initrd -- we were never setting initrd_start. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge ../linux-2.6Paul Mackerras2005-11-0811-69/+50
|\
| * [PATCH] kfree cleanup: archJesper Juhl2005-11-071-4/+2
| | | | | | | | | | | | | | | | | | | | | | This is the arch/ part of the big kfree cleanup patch. Remove pointless checks for NULL prior to calling kfree() in arch/. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Acked-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] consolidate sys_ptrace()Christoph Hellwig2005-11-071-41/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sys_ptrace boilerplate code (everything outside the big switch statement for the arch-specific requests) is shared by most architectures. This patch moves it to kernel/ptrace.c and leaves the arch-specific code as arch_ptrace. Some architectures have a too different ptrace so we have to exclude them. They continue to keep their implementations. For sh64 I had to add a sh64_ptrace wrapper because it does some initialization on the first call. For um I removed an ifdefed SUBARCH_PTRACE_SPECIAL block, but SUBARCH_PTRACE_SPECIAL isn't defined anywhere in the tree. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Paul Mackerras <paulus@samba.org> Acked-by: Ralf Baechle <ralf@linux-mips.org> Acked-By: David Howells <dhowells@redhat.com> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] Move Kprobes and Oprofile to "Instrumentation Support" menuPrasanna S Panchamukhi2005-11-073-16/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Andrew Morton suggested to move kprobes from kernel hacking menu, since kernel hacking menu is in-appropriate for the Kprobes. This patch moves Kprobes and Oprofile under instrumentation menu. (akpm: it's not a natural fit, but things like djprobes and the s390 guys' statistics library need a home) Signed-of-by: Prasanna S Panchamukhi <prasanna@in.ibm.com> Cc: Philippe Elie <phil.el@wanadoo.fr> Cc: John Levon <levon@movementarian.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] ppc32: Add 440SPe supportRoland Dreier2005-11-071-0/+10
| | | | | | | | | | | | | | | | | | | | Add support for the AMCC PowerPC 440SPe SoC, including PCI Express in root port mode. Signed-off-by: Roland Dreier <rolandd@cisco.com> Cc: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] ppc: Fix ppc32 build after 64K pagesBenjamin Herrenschmidt2005-11-072-2/+3
| | | | | | | | | | | | | | | | | | Oops, some last minute changes caused the 64K pages patch to break ppc32 build, this fixes it. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] POWERPC/PPC64: Fix CONFIG_SMP=n build for ppc64Olof Johansson2005-11-071-0/+1
| | | | | | | | | | | | | | | | | | | | Two CONFIG_SMP=n build fixes due to missing <asm/smp.h> includes. Signed-off-by: Olof Johansson <olof@lixom.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] ppc64: Fix bug in SLB miss handler for hugepagesDavid Gibson2005-11-073-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch, however, should be applied on top of the 64k-page-size patch to fix some problems with hugepage (some pre-existing, another introduced by this patch). The patch fixes a bug in the SLB miss handler for hugepages on ppc64 introduced by the dynamic hugepage patch (commit id c594adad5653491813959277fb87a2fef54c4e05) due to a misunderstanding of the srd instruction's behaviour (mea culpa). The problem arises when a 64-bit process maps some hugepages in the low 4GB of the address space (unusual). In this case, as well as the 256M segment in question being marked for hugepages, other segments at 32G intervals will be incorrectly marked for hugepages. In the process, this patch tweaks the semantics of the hugepage bitmaps to be more sensible. Previously, an address below 4G was marked for hugepages if the appropriate segment bit in the "low areas" bitmask was set *or* if the low bit in the "high areas" bitmap was set (which would mark all addresses below 1TB for hugepage). With this patch, any given address is governed by a single bitmap. Addresses below 4GB are marked for hugepage if and only if their bit is set in the "low areas" bitmap (256M granularity). Addresses between 4GB and 1TB are marked for hugepage iff the low bit in the "high areas" bitmap is set. Higher addresses are marked for hugepage iff their bit in the "high areas" bitmap is set (1TB granularity). To avoid conflicts, this patch must be applied on top of BenH's pending patch for 64k base page size [0]. As such, this patch also addresses a hugepage problem introduced by that patch. That patch allows hugepages of 1MB in size on hardware which supports it, however, that won't work when using 4k pages (4 level pagetable), because in that case hugepage PTEs are stored at the PMD level, and each PMD entry maps 2MB. This patch simply disallows hugepages in that case (we can do something cleverer to re-enable them some other day). Built, booted, and a handful of hugepage related tests passed on POWER5 LPAR (both ARCH=powerpc and ARCH=ppc64). [0] http://gate.crashing.org/~benh/ppc64-64k-pages.diff Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge ../linux-2.6Paul Mackerras2005-11-0729-813/+2101
|\ \ | |/
| * [PATCH] ppc64: support 64k pagesBenjamin Herrenschmidt2005-11-0629-813/+2101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a new CONFIG_PPC_64K_PAGES which, when enabled, changes the kernel base page size to 64K. The resulting kernel still boots on any hardware. On current machines with 4K pages support only, the kernel will maintain 16 "subpages" for each 64K page transparently. Note that while real 64K capable HW has been tested, the current patch will not enable it yet as such hardware is not released yet, and I'm still verifying with the firmware architects the proper to get the information from the newer hypervisors. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] powerpc: Make ppc_md.set_dabr non 64-bit specificMichael Ellerman2005-11-073-20/+11
| | | | | | | | | | | | | | | | | | | | Define ppc_md.set_dabr for both 32 + 64 bit. Cleanup the implementation for pSeries also, it was needlessly complex. Now we just do two firmware tests at setup time, and use one of two functions, rather than using one function and testing on every call. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | powerpc: Various UP build fixesPaul Mackerras2005-11-077-6/+6
| | | | | | | | | | | | | | | | | | Mostly this involves adding #include <asm/smp.h>, since that defines things like boot_cpuid[_phys] and [gs]et_hard_smp_processor_id, which are SMP-related but still needed on UP. This incorporates fixes posted by Olof Johansson and Heikki Lindholm. Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Kill ppcdebugDavid Gibson2005-11-0714-70/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ancient ppcdebug/PPCDBG mechanism is now only used in two places. First, in the hash setup code, one of the bits allows the size of the hash table to be reduced by a factor of 8 - which would be better accomplished with a command line option for that purpose. The other was a bunch of bus walking related messages in the iSeries code, which would seem to be insufficient reason to keep the mechanism. This patch removes the last traces of this mechanism. Built and booted on iSeries and pSeries POWER5 LPAR (ARCH=powerpc). Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Nicer printing of address at oopsOlof Johansson2005-11-071-0/+17
| | | | | | | | | | | | | | | | | | | | Add nicer printing of faulting address on unresolvable kernel faults. Makes life a little easier for those who don't know how to decode our register contents at oops time. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Fix i8259 cascade IRQDavid Woodhouse2005-11-071-2/+3
|/ | | | | | | | | | | | setup_irq() aborts immediately if there's no handler for the IRQ in question. So i8259_init() should set up its handlers before trying to set up the cascade on IRQ 2. With this and the patch I sent a few days ago to fix initrd on ppc32, my Pegasos now runs the arch/powerpc kernel. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc-mergeLinus Torvalds2005-11-0480-530/+11657
|\
| * powerpc: Fix vmlinux.lds.S for 32-bitPaul Mackerras2005-11-051-25/+5
| | | | | | | | | | | | | | | | | | | | | | | | We can't currently use asm-ppc/page.h in vmlinux.lds.S, so until we have a merged page.h, define PAGE_SIZE and KERNELBASE locally. Also gets rid of some dynamic executable cruft that we had for 32-bit. With -Ttext=$(KERNELBASE) this didn't cause any problem, but when we changed to putting . = KERNELBASE in the vmlinux.lds.S this cruft caused the text to get linked at 0xa0 instead of 0xc0000000. Oops. Signed-off-by: Paul Mackerras <paulus@samba.org>
| * powerpc: Merge smp.c and smp.hPaul Mackerras2005-11-056-157/+692
| | | | | | | | | | | | | | This also moves setup_cpu_maps to setup-common.c (calling it smp_setup_cpu_maps) and uses it on both 32-bit and 64-bit. Signed-off-by: Paul Mackerras <paulus@samba.org>
| * Merge branch 'for-paulus' of git://kernel/home/michael/src/work/Paul Mackerras2005-11-0416-57/+6021
| |\
| | * Merge with PaulusMichael Ellerman2005-11-0415-160/+2923
| | |\
| | * | powerpc: Implement smp_release_cpus() in C not asmMichael Ellerman2005-11-042-20/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no reason for smp_release_cpus() to be asm, and most people can make more sense of C code. Add an extern declaration to smp.h and remove the custom one in machine_kexec.c Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| | * | powerpc: Cleanup vpa codeMichael Ellerman2005-11-032-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | register_vpa() doesn't actually do a VPA register call it just uses the flags you pass it, so rename it to vpa_call() to be clearer. We can then define register_vpa() and unregister_vpa() which are both simple wrappers around vpa_call(). (we'll need unregister_vpa() for kexec soon) We can then cleanup vpa_init(), and because vpa_init() is only called from platforms/pseries we remove the definition in asm-ppc64/smp.h. Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
| | * | powerpc: Set entry point and text address in linker scriptMichael Ellerman2005-11-032-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we set the kernel entry point and the address of the text section in the Makefile, using CONFIG_KERNEL_START. But we've already got <asm/page.h> in the linker script, so we can just use KERNELBASE directly. That means if we ever change KERNELBASE there's one less place to change it. And we can set the entry point with ENTRY(). There are zero differences from "readelf -a vmlinux" with or without this patch. Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
| | * | powerpc: Make early debugging fit on 80 character terminalMichael Ellerman2005-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There's some debugging in prom.c that wraps nastly on 80 character terminals, reformat it to fit. Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
| | * | powerpc: Move plpar_wrappers.h into arch/powerpc/platforms/pseriesMichael Ellerman2005-11-035-4/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move plpar_wrappers.h into arch/powerpc/platforms/pseries, fixup white space, and update callers. Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
| | * | powerpc: Make set_dabr() a ppc_md functionMichael Ellerman2005-11-032-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move pSeries specific code in set_dabr() into a ppc_md function, this will allow us to keep plpar_wrappers.h private to platforms/pseries. Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
| | * | powerpc: Copy default configs into arch/powerpc/configsMichael Ellerman2005-11-035-0/+5847
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Copy default configs into arch/powerpc/configs, rename bpa_defconfig to cell_defconfig while we're at it. Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
| * | | powerpc: Merge smp-tbsync.c (the generic timebase sync routine)Paul Mackerras2005-11-043-0/+179
| | |/ | |/| | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | Merge git://oak/home/sfr/kernels/iseries/workPaul Mackerras2005-11-034-2/+721
| |\ \
| | * | powerpc: move include/asm-ppc64/ppc32.h to arch/powerpc/kernelStephen Rothwell2005-11-032-1/+139
| | | | | | | | | | | | | | | | | | | | | | | | It is only included by signal_32.c Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| | * | powerpc: move ppc64/kernel/signal.c to arch/powerpcStephen Rothwell2005-11-032-1/+582
| | | | | | | | | | | | | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
| * | | [PATCH] powerpc: always init nvram on 64-bit powermacDavid Woodhouse2005-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently there is no Kconfig symbol to indicate that we want nvram support on 64-bit kernels; it's assumed we always want it, so make the powermac setup code always initialize the pmac nvram code if 64-bit. Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | | [PATCH] ppc64: Fix add notifier crashesJohn Rose2005-11-031-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | The extraction of PCI stuff from struct device_node left some false assumptions in notifier code. As a result, dynamic add crashes when non-PCI nodes are added. This patch fixes these assumptions. Signed-off-by: John Rose <johnrose@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | powerpc: Merge remaining RTAS codePaul Mackerras2005-11-0310-156/+2200
| |/ | | | | | | | | | | | | | | | | This moves rtas-proc.c and rtas_flash.c into arch/powerpc/kernel, since cell wants them as well as pseries (and chrp can use rtas-proc.c too, at least in principle). rtas_fw.c is gone, with its bits moved into rtas_flash.c and rtas.c. Signed-off-by: Paul Mackerras <paulus@samba.org>
| * powerpc: Compile fixes for chrp/nvram.cPaul Mackerras2005-11-021-2/+5
| | | | | | | | | | | | | | Include asm/rtas.h for prototype for rtas_call etc., and make the `done' variable unsigned int since that's what rtas_call wants. Signed-off-by: Paul Mackerras <paulus@samba.org>
| * powerpc: include <linux/platform_device.h> in pegasos_eth.cPaul Mackerras2005-11-021-0/+1
| | | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
OpenPOWER on IntegriCloud