aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* [PATCH] powerpc: Kill _machine and hard-coded platform numbersBenjamin Herrenschmidt2006-03-28
| | | | | | | | | | | | | | | | This removes statically assigned platform numbers and reworks the powerpc platform probe code to use a better mechanism. With this, board support files can simply declare a new machine type with a macro, and implement a probe() function that uses the flattened device-tree to detect if they apply for a given machine. We now have a machine_is() macro that replaces the comparisons of _machine with the various PLATFORM_* constants. This commit also changes various drivers to use the new macro instead of looking at _machine. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* ppc: Fix compile error in arch/ppc/lib/strcase.cPaul Mackerras2006-03-28
| | | | | | | Now that the strncasecmp implementation takes a size_t third parameter, we need to get a definition of size_t from somewhere. Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] git-powerpc: WARN was a dumb ideaAndrew Morton2006-03-28
| | | | | | | | | | There are at least 14 different implementations of WARN() in the tree already. The build fails all over the place. Cc: Paul Mackerras <paulus@samba.org> Cc: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: a couple of trivial compile warning fixesStephen Rothwell2006-03-28
| | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge branch '85xx' of ↵Paul Mackerras2006-03-28
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc
| * powerpc: remove OCP referencesKumar Gala2006-03-28
| | | | | | | | | | | | OCP isn't used in arch/powerpc and hopefully will never be. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * powerpc: Make uImage default build output for MPC8540 ADSKumar Gala2006-03-28
| | | | | | | | | | | | | | When we build for the MPC8540 ADS produce a uImage by default. Updated the defconfig to reflect this as well. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * powerpc: move math-emu over to arch/powerpcKumar Gala2006-03-28
| | | | | | | | | | | | | | | | | | Towards the goal of having arch/powerpc not build anything over in arch/ppc move math-emu over. Also, killed some references to arch/ppc/ in the arch/powerpc Makefile which should belong in drivers/ when the particular sub-arch's move over to arch/powerpc. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | Merge branch 'misc' of ↵Paul Mackerras2006-03-28
|\ \ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc
| * | powerpc: use memparse() for mem= command line parsingKumar Gala2006-03-27
| | | | | | | | | | | | | | | | | | Use memparse() instead of our own code for handling the parsing of mem= Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * | ppc: fix strncasecmp prototypeKumar Gala2006-03-27
| |/ | | | | | | | | | | | | Match, Linus's fix to arch/powerpc in arch/ppc. strcasecmp takes a size_t, not an int, as its third argument. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | [PATCH] powerpc: make ISA floppies work againStephen Rothwell2006-03-28
| | | | | | | | | | | | | | | | | | We used to assume that a DMA mapping request with a NULL dev was for ISA DMA. This assumption was broken at some point. Now we explicitly pass the detected ISA PCI device in the floppy setup. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Fix some initcall return valuesAnton Blanchard2006-03-28
| | | | | | | | | | | | | | | | Non zero initcalls (except for -ENODEV) have started warning at boot. Fix smt_setup and init_ras_IRQ. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Workaround for pSeries RTAS bugMike Kravetz2006-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A bug in the RTAS services incorrectly interprets some bits in the CR when called from the OS. Specifically, bits in CR4. The result could be a firmware crash that also takes down the partition. A firmware fix is in the works. We have seen this situation when performing DLPAR operations. As a temporary workaround, clear the CR in enter_rtas(). Note that enter_rtas() will not set any bits in CR4 before calling RTAS. Also note that the 32 bit version of enter_rtas() should have the same work around even though the chances of hitting the bug are much smaller due to the lack of DLPAR on 32 bit kernels. However, my assembly skills are a bit rusty and the 32 bit code doesn't seem to follow the conventions for where things should be saved. In addition, I don't have a system to test 32 bit kernels. Help creating and at least touch testing the same workaround for 32 bit would be appreciated. Signed-off-by: Mike Kravetz <kravetz@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] spufs: fix __init/__exit annotationsArnd Bergmann2006-03-28
| | | | | | | | | | | | | | | | spufs_init and spufs_exit should be marked correctly so they can be removed when not needed. Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: add hvc backend for rtasArnd Bergmann2006-03-28
| | | | | | | | | | | | | | | | | | Current Cell hardware is using the console through a set of rtas calls. This driver is needed to get console output on those boards. Signed-off-by: Arnd Bergmann <abergman@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: hvc_console updatesRyan S. Arnold2006-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are some updates from both Ryan and Arnd for the hvc_console driver: The main point is to enable the inclusion of a console driver for rtas, which is currrently needed for the cell platform. Also shuffle around some data-type declarations and moves some functions out of include/asm-ppc64/hvconsole.h and into a new drivers/char/hvc_console.h file. Signed-off-by: "Ryan S. Arnold" <rsa@us.ibm.com> Signed-off-by: Arnd Bergmann <abergman@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: fix incorrect SA_ONSTACK behaviour for 64-bit processesLaurent MEYER2006-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *) When setting a sighandler using sigaction() call, if the flag SA_ONSTACK is set and no alternate stack is provided via sigaltstack(), the kernel still try to install the alternate stack. This behavior is the opposite of the one which is documented in Single Unix Specifications V3. *) Also when setting an alternate stack using sigaltstack() with the flag SS_DISABLE, the kernel try to install the alternate stack on signal delivery. These two use cases makes the process crash at signal delivery. This fixes it. Signed-off-by: Laurent Meyer <meyerlau@fr.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Cope with duplicate node & property names in /proc/device-treeMichael Ellerman2006-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | Various dodgy firmware might give us nodes and/or properties in the device tree with conflicting names. That's generally ok, except for when we export the device tree via /proc, so check when we're creating the proc device tree and munge names accordingly. Tested on a faked device tree with kexec, would be good if someone with actual bogus firmware could try it, but just for completeness. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Rename and export ppc64_firmware_featuresMichael Ellerman2006-03-28
| | | | | | | | | | | | | | | | We need to export ppc64_firmware_features for modules. Before we do that I think we should probably rename it to powerpc_firmware_features. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: export validate_sp for oprofile calltraceAnton Blanchard2006-03-28
| | | | | | | | | | | | | | Export validate_sp so we can use it in the oprofile calltrace code. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] powerpc: Remove some ifdefs in oprofile_impl.hAnton Blanchard2006-03-28
| | | | | | | | | | | | | | | | - No one uses op_counter_config.valid, so remove it - No need to ifdef around function protypes. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | ppc: Remove CHRP, POWER3 and POWER4 support from arch/ppcPaul Mackerras2006-03-27
|/ | | | | | | | | | | | | | | | | | | 32-bit CHRP machines are now supported only in arch/powerpc, as are all 64-bit PowerPC processors. This means that we don't use Open Firmware on any platform in arch/ppc any more. This makes PReP support a single-platform option like every other platform support option in arch/ppc now, thus CONFIG_PPC_MULTIPLATFORM is gone from arch/ppc. CONFIG_PPC_PREP is the option that selects PReP support and is generally what has replaced CONFIG_PPC_MULTIPLATFORM within arch/ppc. _machine is all but dead now, being #defined to 0. Updated Makefiles, comments and Kconfig options generally to reflect these changes. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Fix goof in 6xx and POWER4 idle power-save functionsPaul Mackerras2006-03-27
| | | | | | | | | | | | | This fixes a mistake I made when editing these functions - when I took out the interrupt disabling code (because interrupts are now disabled by the caller) I left the register that is used for the MSR value to be used during doze/nap uninitialized. This fixes it. Also updated some of the comments in idle_power4.S and removed some code that was copied over from idle_6xx.S but is no longer relevant (we don't ever clear the CPU_FTR_CAN_NAP bit at runtime for POWER4). Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Fix event-scan code for 32-bit CHRPPaul Mackerras2006-03-27
| | | | | | | | | | | | | | | On CHRP machines we are supposed to call into firmware (RTAS) periodically, to give it a chance to check for errors and other events. Under ppc we had some special code in timer_interrupt to do this, but that didn't get transferred over to arch/powerpc. Instead, we use an array of timer_list structs, one per CPU, and use add_timer_on to make sure each one gets called on the appropriate CPU. With this we can remove the heartbeat_* elements of the ppc_md struct. Signed-off-by: Paul Mackerras <paulus@samba.org>
* ppc: Remove duplicate exports of __down, __up etc.Paul Mackerras2006-03-27
| | | | | | | | __down, __down_interruptible and __up are defined and exported in arch/powerpc/kernel/semaphore.c, and used from there for ARCH=ppc, so there is no need to export them in arch/ppc/kernel/ppc_ksyms.c. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Don't compile in arch/ppc/kernel for 32-bit ARCH=powerpcPaul Mackerras2006-03-27
| | | | | | | | | | | | | | | | | All of the things needed for 32-bit ARCH=powerpc builds have now moved to arch/powerpc/kernel, so we don't need to go down into arch/ppc/kernel any more, and we can remove the CONFIG_PPC_MERGE conditional from arch/ppc/kernel/Makefile. There were two files still referenced in the merge section of arch/ppc/kernel/Makefile: ppc-stub.o, depending on CONFIG_KGDB, and dma-mapping.o, depending on CONFIG_NOT_COHERENT_CACHE. None of the platforms currently in ARCH=powerpc have caches that aren't coherent with DMA, but when we do get one we'll move dma-mapping.c over. As for CONFIG_KGDB, none of the Kconfig files in the tree define it, so I'll let it languish for now. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Move perfmon_fsl_booke.c over to arch/powerpcPaul Mackerras2006-03-27
| | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Move module.c over to arch/powerpcPaul Mackerras2006-03-27
| | | | | | | | ... and rename it to module_32.c since it is the 32-bit version. The 32-bit and 64-bit ABIs are sufficiently different that having a merged version isn't really practical. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Move swsusp.S over to arch/powerpcPaul Mackerras2006-03-27
| | | | | | ... and rename it to swsusp_32.S, since it's 32-bit only at this stage. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Move cpu_setup_6xx.S and temp.c over to arch/powerpcPaul Mackerras2006-03-27
| | | | | | | Also renamed temp.c to tau_6xx.c (for thermal assist unit) and updated the Kconfig option description and help text for CONFIG_TAU. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Move l2cr.S over to arch/powerpcPaul Mackerras2006-03-26
| | | | | | | No functional changes, but call it l2cr_6xx.S since it is specific to 6xx-family (including G3/750 and G4/74xx) processors. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Simplify pSeries idle loopPaul Mackerras2006-03-26
| | | | | | | | | | | | | | Since pSeries only wants to do something different in the idle loop when there is no work to do, we can simplify the code by implementing ppc_md.power_save functions instead of complete idle loops. There are two versions: one for shared-processor partitions and one for dedicated- processor partitions. With this we also do a cede_processor() call on dedicated processor partitions if the poll_pending() call indicates that the hypervisor has work it wants to do. Signed-off-by: Paul Mackerras <paulus@samba.org>
* powerpc: Unify the 32 and 64 bit idle loopsPaul Mackerras2006-03-26
| | | | | | | | | | This unifies the 32-bit (ARCH=ppc and ARCH=powerpc) and 64-bit idle loops. It brings over the concept of having a ppc_md.power_save function from 32-bit to ARCH=powerpc, which lets us get rid of native_idle(). With this we will also be able to simplify the idle handling for pSeries and cell. Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: HVC init raceMichael Neuling2006-03-26
| | | | | | | | | | | I've been hitting a crash on boot where tty_open is being called before the hvc console driver setup is complete. This fixes the problem. Thanks to benh for his help on this. Signed-off-by: Michael Neuling <mikey@neuling.org> Acked-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] ppc32: Reorganize and complete MPC52xx initial cpu setupSylvain Munaut2006-03-26
| | | | | | | | | | | ppc32: Reorganize and complete MPC52xx initial cpu setup This patch splits up the CPU setup into a generic part and a platform specific part. We also add a few missing init at the same time. Signed-off-by: Sylvain Munaut <tnt@246tNt.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] ppc32: Adds support for the LITE5200B dev boardSylvain Munaut2006-03-26
| | | | | | | | | | | | ppc32: Adds support for the LITE5200B dev board This LITE5200B devboard is the new development board for the Freescale MPC5200 processor. It has two PCI slots and so a different PCI IRQ routing. Signed-off-by: John Rigby <jrigby@freescale.com> Signed-off-by: Sylvain Munaut <tnt@246tNt.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] ppc32: Adds support for the PCI hostbridge in MPC5200BSylvain Munaut2006-03-26
| | | | | | | | ppc32: Adds support for the PCI hostbridge in MPC5200B Signed-off-by: John Rigby <jrigby@freescale.com> Signed-off-by: Sylvain Munaut <tnt@246tNt.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: legacy_serial loop cleanupMichael Neuling2006-03-26
| | | | | | | | We only ever execute the loop once, so let's move it to a function making it more readable. Cleanup patch, no functional change. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: Compile warning in hvcs driverAnton Blanchard2006-03-26
| | | | | | | We ended up with an unused variable after the tty updates went in. Fix it. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: Consistent printing of node idAnton Blanchard2006-03-26
| | | | | | | | We were printing node ids in hex in one spot. Lets be consistent and always print them in decimal. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: Allow non zero boot cpuidsAnton Blanchard2006-03-26
| | | | | | | | | | | | | | | | | We currently have a hack to flip the boot cpu and its secondary thread to logical cpuid 0 and 1. This means the logical - physical mapping will differ depending on which cpu is boot cpu. This is most apparent on kexec, where we might kexec on any cpu and therefore change the mapping from boot to boot. The patch below does a first pass early on to work out the logical cpuid of the boot thread. We then fix up some paca structures to match. Ive also removed the boot_cpuid_phys variable for ppc64, to be consistent we use get_hard_smp_processor_id(boot_cpuid) everywhere. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc/pseries: Cleanup device name printing.Linas Vepstas2006-03-26
| | | | | | | This avoids printk'ing a NULL string. Signed-off-by: Linas Vepstas <linas@linas.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] spufs: Fix endless protection fault on LS writes by SPE.Arnd Bergmann2006-03-26
| | | | | | | | | | | If an SPE attempts a DMA put to a local store after already doing a get, the kernel must update the HW PTE to allow the write access. This case was not being handled correctly. From: Mike Kistler <mkistler@us.ibm.com> Signed-off-by: Mike Kistler <mkistler@us.ibm.com> Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: use guarded ioremap for cell on-chip mappingsArnd Bergmann2006-03-26
| | | | | | | | | | | | I'm not sure where the information came from, but I assumed that doing cache-inhibited mappings for mmio regions was sufficient. It seems we also need the guarded bit set, like everyone else, which is the default for ioremap. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: fix spider-pic affinity settingArnd Bergmann2006-03-26
| | | | | | | | | As noticed by Milton Miller, setting the initial affinity in spider-pic can go wrong if the target node field was not orinally empty. Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: dynamic probe - use ppc_md.pci_probe_mode()John Rose2006-03-26
| | | | | | | | Change the dynamic PCI probe function for pSeries to use ppc_md.pci_probe_mode() when appropriate. Signed-off-by: John Rose <johnrose@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: return to OF via trap, not exitOlaf Hering2006-03-26
| | | | | | | | | | | | | | Do not call prom exit prom_panic. It clears the screen and the exit message is lost. On some (or all?) pmacs it causes another crash when OF tries to print the date and time in its banner. Set of_platform earlier to catch more prom_panic() calls. Signed-off-by: Olaf Hering <olh@suse.de> Acked-by: Segher Boessenkool <segher@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] powerpc: hot_add_scn_to_nid() build fixAndrew Morton2006-03-26
| | | | | | | | | The return statement is to prevent `warning: 'nid' might be used uninitialized in this function'. Cc: Nathan Lynch <nathanl@austin.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [PATCH] correct the comment about stackpointer alignment in __boot_from_promOlaf Hering2006-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The address of variable val in prom_init_stdout is passed to prom_getprop. prom_getprop casts the pointer to u32 and passes it to call_prom in the hope that OpenFirmware stores something there. But the pointer is truncated in the lower bits and the expected value is stored somewhere else. In my testing I had a stackpointer of 0x0023e6b4. val was at offset 120, wich has address 0x0023e72c. But the value passed to OF was 0x0023e728. c00000000040b710: 3b 01 00 78 addi r24,r1,120 ... c00000000040b754: 57 08 00 38 rlwinm r8,r24,0,0,28 ... c00000000040b784: 80 01 00 78 lwz r0,120(r1) ... c00000000040b798: 90 1b 00 0c stw r0,12(r27) ... The stackpointer came from 32bit code. The chain was yaboot -> zImage -> vmlinux PowerMac OpenFirmware does appearently not handle the ELF sections correctly. If yaboot was compiled in /usr/src/packages/BUILD/lilo-10.1.1/yaboot, then the stackpointer is unaligned. But the stackpointer is correct if yaboot is compiled in /tmp/yaboot. This bug triggered since 2.6.15, now prom_getprop is an inline function. gcc clears the lower bits, instead of just clearing the upper 32 bits. Signed-off-by: Olaf Hering <olh@suse.de> Signed-off-by: Paul Mackerras <paulus@samba.org>