summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2008-01-25[POWERPC] kdump shutdown hook supportMichael Neuling
This adds hooks into the default_machine_crash_shutdown so drivers can register a function to be run in the first kernel before we hand off to the second kernel. This should only be used in exceptional circumstances, like where the device can't be reset in the second kernel alone (as is the case with eHEA). To emphasize this, the number of handles allowed to be registered is currently #def to 1. This uses the setjmp/longjmp code around the call out to the registered hooks, so any bogus exceptions we encounter will hopefully be recoverable. Tested with bogus data and instruction exceptions. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-01-25[POWERPC] Make setjmp/longjmp code usable outside of xmonMichael Neuling
This makes the setjmp/longjmp code used by xmon, generically available to other code. It also removes the requirement for debugger hooks to be only called on 0x300 (data storage) exception. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-01-25[POWERPC] Fix a couple of copyright symbolsStephen Rothwell
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-01-25[POWERPC] Make ibmebus use of_(un)register_driverStephen Rothwell
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Acked-by: Joachim Fenkes <fenkes@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-01-25[POWERPC] Export copy_page() on 32bitJoseph Fannin
Export copy_page() on 32-bit powerpc; unionfs needs it. Unionfs already builds as a module on 64bit powerpc, so the export is placed within an existing CONFIG_PPC32 #ifdef. Signed-off-by: Joseph Fannin <jfannin@gmail.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-01-25[POWERPC] Make smp_send_stop() handle panic and xmon rebootOlof Johansson
smp_send_stop() will send an IPI to all other cpus to shut them down. However, for the case of xmon-based reboots (as well as potentially some panics), the other cpus are (or might be) spinning with interrupts off, and won't take the IPI. Current code will drop us into the debugger when the IPI fails, which means we're in an infinite loop that we can't get out of without an external reset of some sort. Instead, make the smp_send_stop() IPI call path just print the warning about being unable to send IPIs, but make it return so the rest of the shutdown sequence can continue. It's not perfect, but the lesser of two evils. Also move the call_lock handling outside of smp_call_function_map so we can avoid deadlocks in smp_send_stop(). Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-01-25[POWERPC] Make smp_call_function_map staticOlof Johansson
smp_call_function_map should be static, and for consistency prepend it with __ like other local helper functions in the same file. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-01-24Merge branch 'for-2.6.25' of ↵Paul Mackerras
master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into for-2.6.25
2008-01-23[POWERPC] Add initial storcenter config file.Jon Loeliger
Signed-off-by: Jon Loeliger <jdl@freescale.com> Acked-by: Andy Wilcox <andy@protium.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] Add initial iomega StorCenter board port.Jon Loeliger
Use cuImage bootwrapper until U-Boot port is completed. Derived heavily from Linkstation port. Signed-off-by: Jon Loeliger <jdl@freescale.com> Acked-by: Andy Wilcox <andy@protium.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] Add StorCenter DTS first draft.Jon Loeliger
Based on the Kurobox DTS files. Signed-off-by: Jon Loeliger <jdl@freescale.com> Acked-by: Andy Wilcox <andy@protium.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] Add _nmask_and_or_msr() declartion to asm-powerpc/system.hJon Loeliger
Prevents miscellaneous users from declaring it locally. Signed-off-by: Jon Loeliger <jdl@freecale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] 8xx: Use machine_*_initcall() hooks in platform codeGrant Likely
Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] Move RapidIO support code from arch/ppcKumar Gala
Do just enough to move the RapidIO support code for 85xx over from arch/ppc into arch/powerpc and make it still build. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] 86xx: MPC8641 HPCN - call of_platform_bus_probe()Wade Farnsworth
Call of_platform_bus_probe() on the MPC8641 HPCN, similar to what is done for other platforms. Signed-off-by: Wade Farnsworth <wfarnsworth@mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] 86xx: Add localbus and flash nodes to mpc8641_hpcn.dtsWade Farnsworth
Add local bus, flash, and MTD partition nodes to mpc8641_hpcn.dts Also add compatible field for the soc node, so that it will be picked up by of_platform_bus_probe(). Signed-off-by: Wade Farnsworth <wfarnsworth@mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] 8xx: adder875 - Fix flash bus-width and remove duplicate __initdataScott Wood
Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] 83xx: Update MPC8313e RDB defconfig for MTD, NAND, JFFS2.Scott Wood
Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] 83xx: MPC8313e RDB - Add NOR flash to the device tree.Scott Wood
Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] 83xx: MPC8313e RBD add NAND to device treeScott Wood
Add NAND to device tree, and call of_platform_bus_probe(). Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] 82xx: Embedded Planet EP8248E supportScott Wood
This board is also resold by Freescale under the names "QUICCStart MPC8248 Evaluation System" and "CWH-PPC-8248N-VE". Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] 8xx: Analogue & Micro Adder875 board support.Scott Wood
Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] 85xx: Respect KERNELBASE, PAGE_OFFSET, and PHYSICAL_START on e500Dale Farnsworth
The e500 MMU init code previously assumed KERNELBASE always equaled PAGE_OFFSET and PHYSICAL_START was 0. This is useful for kdump support as well as asymetric multicore. For the initial kdump support the secondary kernel will run at 32M but need access to all of memory so we bump the initial TLB up to 64M. This also matches with the forth coming ePAPR spec. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] fsl_soc: Fix get_immrbase() to use ranges, rather than reg.Scott Wood
Don't depend on the reg property as a way to determine the base of the immr space. The reg property might be defined differently for different SoC families. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] Update MPC8610 HPCD to support audio driversTimur Tabi
Update the MPC8610 HPCD files to support the audio driver. Update booting-without-of.txt with information on the SSI device. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] Add IPIC Kconfig optionJohn Rigby
IPIC is not just for 83xx anymore so make it a separate config option. Signed-off-by: John Rigby <jrigby@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] Add support for mpc512x interrupts to ipicJohn Rigby
Added ipic_info entries for vectors used by 512x that were previously unused by 83xx. Signed-off-by: John Rigby <jrigby@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] Fix carry bug in 128-bit unsigned integer addingLiu Yu
Synchronize it to the definition in include/math-emu/op-4.h for short term. Signed-off-by: Liu Yu <Yu.Liu@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] 85xx: mpc85xx_ads: add in missing of_node_put()Paul Gortmaker
Add in missing of_node_put() after cpm2_pic_init(). This and other coding style cleanups as suggested by Stephen Rothwell. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] QE: Add support for Freescale QUICCEngine UARTTimur Tabi
Add support for UART serial ports using a Freescale QUICCEngine. Update booting-without-of.txt to define new properties for a QE UART node. Update the MPC8323E-MDS device tree to add UCC5 as a UART. Update the QE library to support slow UCC devices and modules. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] QE: Add ability to upload QE firmwareTimur Tabi
Define the layout of a binary blob that contains a QE firmware and instructions on how to upload it. Add function qe_upload_firmware() to parse the blob and perform the actual upload. Fully define 'struct rsp' in immap_qe.h to include the actual RISC Special Registers. Added description of a new QE firmware node to booting-without-of.txt. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] fsl_soc: add support to gianfar for fixed-link propertyVitaly Bordug
fixed-link says: register new "Fixed/emulated PHY", i.e. PHY that not connected to the real MDIO bus. Signed-off-by: Vitaly Bordug <vitb@kernel.crashing.org> Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] MPC8349E-mITX: Vitesse 7385 PHY is not connected to the MDIO busVitaly Bordug
...thus use fixed-link to register proper "Fixed PHY" Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Vitaly Bordug <vitb@kernel.crashing.org> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] MPC8349E-mITX: introduce localbus and pata nodesAnton Vorontsov
This patch adds localbus and pata nodes to use CF IDE interface on MPC8349E-mITX boards. Patch also adds code to probe localbus. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] 83xx: USB device tree cleanupsLi Yang
Remove device_type = "usb" for 83xx SoC USB controller Signed-off-by: Li Yang <leoli@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] 83xx: Add MPC837x USB platform supportLi Yang
Add chip specific and board specific initialization for MPC837x USB. Signed-off-by: Li Yang <leoli@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] 83xx: add device trees for MPC837x MDS boardLi Yang
Signed-off-by: Li Yang <leoli@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] Fix incorrect interrupt map on FSL reference boardsKumar Gala
The ULI based boards had the interrupt maps for USB on the ULI incorrectly set. Also, the MPC8572DS was missing the interrupt-map-mask for the 3rd PCIe controller. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] bootwrapper: convert cuboot-8{3,5}xx to dt_fixup_mac_address_by_aliasKumar Gala
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] bootwrapper: Add find_node_by_alias and dt_fixup_mac_address_by_aliasKumar Gala
Add the ability to set the mac address given the alias for the device. Removes the need for having a linux,network-index property. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] 83xx: convert boards to use machine_device_initcallKumar Gala
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] 85xx: convert boards to use machine_device_initcallKumar Gala
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] Fixup use of phys_addr_t in mpic codeBecky Bruce
The mpic_map() and __mpic_map_mmio() need to use phys_addr_t for the physical address they are passed. Signed-off-by: Becky Bruce <becky.bruce@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] Remove update_bridge_resourceKumar Gala
The 85xx/86xx pci code no longer uses update_bridge_resource and it was the only caller. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] FSL: Rework PCI/PCIe support for 85xx/86xxKumar Gala
The current PCI code for Freescale 85xx/86xx was treating the virtual P2P PCIe bridge as a transparent bridge. Rather than doing that fixup the virtual P2P bridge by copying the resources from the PHB. Also, fixup a bit of the code for dealing with resource_size_t being 64-bits and how we set ATMU registers for >4G. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] Fixup transparent P2P resourcesKumar Gala
For transparent P2P bridges the first 3 resources may get set from based on BAR registers and need to get fixed up. Where as the remainder come from the parent bus and have already been fixed up. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] Ensure we only handle PowerMac PCI bus fixup for memory resourcesKumar Gala
The fixup code that handles the case for PowerMac's that leave bridge windows open over an inaccessible region should only be applied to memory resources (IORESOURCE_MEM). If not we can get it trying to fixup IORESOURCE_IO on some systems since the other conditions that are used to detect the case can easily match for IORESOURCE_IO. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-23[POWERPC] Fix handling of memreserve if the range lands in highmemKumar Gala
There were several issues if a memreserve range existed and happened to be in highmem: * The bootmem allocator is only aware of lowmem so calling reserve_bootmem with a highmem address would cause a BUG_ON * All highmem pages were provided to the buddy allocator Added a lmb_is_reserved() api that we now use to determine if a highem page should continue to be PageReserved or provided to the buddy allocator. Also, we incorrectly reported the amount of pages reserved since all highmem pages are initally marked reserved and we clear the PageReserved flag as we "free" up the highmem pages. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-01-24Merge branch 'linux-2.6'Paul Mackerras
2008-01-24[POWERPC] Provide a way to protect 4k subpages when using 64k pagesPaul Mackerras
Using 64k pages on 64-bit PowerPC systems makes life difficult for emulators that are trying to emulate an ISA, such as x86, which use a smaller page size, since the emulator can no longer use the MMU and the normal system calls for controlling page protections. Of course, the emulator can emulate the MMU by checking and possibly remapping the address for each memory access in software, but that is pretty slow. This provides a facility for such programs to control the access permissions on individual 4k sub-pages of 64k pages. The idea is that the emulator supplies an array of protection masks to apply to a specified range of virtual addresses. These masks are applied at the level where hardware PTEs are inserted into the hardware page table based on the Linux PTEs, so the Linux PTEs are not affected. Note that this new mechanism does not allow any access that would otherwise be prohibited; it can only prohibit accesses that would otherwise be allowed. This new facility is only available on 64-bit PowerPC and only when the kernel is configured for 64k pages. The masks are supplied using a new subpage_prot system call, which takes a starting virtual address and length, and a pointer to an array of protection masks in memory. The array has a 32-bit word per 64k page to be protected; each 32-bit word consists of 16 2-bit fields, for which 0 allows any access (that is otherwise allowed), 1 prevents write accesses, and 2 or 3 prevent any access. Implicit in this is that the regions of the address space that are protected are switched to use 4k hardware pages rather than 64k hardware pages (on machines with hardware 64k page support). In fact the whole process is switched to use 4k hardware pages when the subpage_prot system call is used, but this could be improved in future to switch only the affected segments. The subpage protection bits are stored in a 3 level tree akin to the page table tree. The top level of this tree is stored in a structure that is appended to the top level of the page table tree, i.e., the pgd array. Since it will often only be 32-bit addresses (below 4GB) that are protected, the pointers to the first four bottom level pages are also stored in this structure (each bottom level page contains the protection bits for 1GB of address space), so the protection bits for addresses below 4GB can be accessed with one fewer loads than those for higher addresses. Signed-off-by: Paul Mackerras <paulus@samba.org>