aboutsummaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAge
* [POWERPC] Stacktrace support for lockdepChristoph Hellwig2008-04-18
| | | | | | | | | This adds stacktrace support for powerpc, which will be needed for lockdep. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Move stackframe definitions to common headerBenjamin Herrenschmidt2008-04-18
| | | | | | | | This moves various definitions used all over the place to parse stack frames to ptrace.h so only one definition is needed. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Fix device-tree locking vs. interruptsBenjamin Herrenschmidt2008-04-18
| | | | | | | | | | | | | | | | | | | Lockdep found out that we can occasionally take the device-tree lock for reading from softirq time (from rtas_token called by the rtas real time clock code called by the NTP code), while we take it occasionally for writing without masking interrupts. The combination of those two can thus deadlock. While some of those cases of interrupt read lock could be fixed (such as caching the RTAS tokens) I figured that taking the lock for writing is so rare (device-tree modification) that we may as well penalize that case and allow reading from interrupts. Thus, this turns all the writers to take the lock with irqs masked to avoid the situation. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Remove unused __max_memory variableOlof Johansson2008-04-18
| | | | | | | | Remove the __max_memory variable, as it is not referenced anywhere in the tree besides some code in arch/ppc. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Simplify xics direct/lpar irq_host setupMichael Ellerman2008-04-18
| | | | | | | | | | | | The xics code currently has a direct and lpar variant of xics_host_map, the only difference being which irq_chip they use. If we remember which irq_chip we're using we can combine these two routines. That also allows us to have a single irq_host_ops instead of two. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Use pseries_setup_i8259_cascade() in pseries_mpic_init_IRQ()Michael Ellerman2008-04-18
| | | | | | | | | | pseries_mpic_init_IRQ() implements the same logic as the xics code did to find the i8259 cascade irq. Now that we've pulled that logic out into pseries_setup_i8259_cascade() we can use it in the mpic code. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Turn xics_setup_8259_cascade() into a generic ↵Michael Ellerman2008-04-18
| | | | | | | | | | | pseries_setup_i8259_cascade() Remove the xics references from xics_setup_8259_cascade(), and merge the good bits from the almost identical logic in pseries_mpic_init_IRQ(). Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Move xics_setup_8259_cascade() into platforms/pseries/setup.cMichael Ellerman2008-04-18
| | | | | | | | | | The code in xics.c to setup the i8259 cascaded irq handler is not really xics specific, so move it into setup.c - we will clean this up further in a subsequent patch. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge branch 'powerpc-next' of ↵Paul Mackerras2008-04-17
|\ | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc
| * [POWERPC] 83xx: mpc8315 - fix USB UTMI Host setupAnton Vorontsov2008-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently USB Host isn't functional on the MPC8315E boards, for two reasons as described below. MPC8315 Reference Manual says: "The USB DR unit must have the same clock ratio as the encryption core unit, unless one of them has its clock disabled." The encryption core also drives I2C clock, so it is enabled and is equal to 01. That means USBDRCM should be 01 here. Plus, according to MPC8315E-RDB schematics, USB unit consumes CLK_IN clock from the 24.00MHz oscillator, which means we must adjust REFSEL bits as well. p.s. Idially we should rework whole 83xx/usb.c code, in two steps: 1. Move SCCR code to the U-Boot; 2. Implement fsl,usb-clock property in the device tree, so usb.c could decide what clock exactly to use on per-board basis. Though, today we're not in a hurry since there is just one 8315e board out there. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] 85xx: Fix the size of qe muram for MPC8568EHaiying Wang2008-04-17
| | | | | | | | | | | | | | MPC8568E has 64K byte MURAM, so the size should be 0x10000, not 0xc000. Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] 86xx: mpc86xx_hpcn - Temporarily accept old dts node identifier.Paul Gortmaker2008-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | As suggested by Timur Tabi, we match on the old compat node ID for one version and warn accordingly. If we don't do this, we plunge people who try to use an old DTB into silent boot death with no clear indication of what the problem is. This patch should be removed at the beginning of the 2.6.27 dev cycle. It is only meant to ease the transition in the short term. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] 86xx: mark functions static, other minor cleanupsPaul Gortmaker2008-04-17
| | | | | | | | | | | | | | | | | | Cleanups as suggested by Stephen Rothwell and Dale Farnsworth, which incudes marking a bunch of functions static and add a vendor prefix to the compat node check for uniqueness. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] Make rheap safe for spinlocksTimur Tabi2008-04-17
| | | | | | | | | | | | | | | | | | | | The rheap allocation function, rh_alloc, could call kmalloc with GFP_KERNEL. This can sleep, which means you couldn't hold a spinlock while called rh_alloc. Change all kmalloc calls to use GFP_ATOMIC so that it won't sleep. This is safe because only small blocks are allocated. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] fsl: Convert dts to v1 syntaxKumar Gala2008-04-17
| | | | | | | | Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] 85xx: minor .dts cleanupsKumar Gala2008-04-17
| | | | | | | | | | | | | | * remove #cpus from mpc8544ds.dts (not used anywhere else) * remove memreserve from mpc8568mds.dts (not needed) Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] 85xx: Convert dts to v1 syntaxKumar Gala2008-04-17
| | | | | | | | Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] 85xx: Fix compile warningKumar Gala2008-04-17
| | | | | | | | | | | | | | arch/powerpc/platforms/85xx/mpc85xx_ads.c: In function ‘init_ioports’: arch/powerpc/platforms/85xx/mpc85xx_ads.c:168: warning: initialization discards qualifiers from pointer target type Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] 83xx: Enable FCM NAND and OF partitions in defconfigKumar Gala2008-04-17
| | | | | | | | Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] 86xx: Add device tree source for Wind River SBC8641DPaul Gortmaker2008-04-17
| | | | | | | | | | | | | | | | | | | | This adds in the device tree source for the SBC8641D, based largely on the mpc8641_hpcn.dts. The biggest differences are the lack of a complex IRQ mapping (since no Uli/i8259 cascade) and the different layout of devices on the localbus node. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] 86xx: Add defconfig for Wind River SBC8641D boardPaul Gortmaker2008-04-17
| | | | | | | | | | | | | | | | This adds a sample defconfig for the Wind River SBC8641D board, with SMP, PCI and NFS root enabled. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] 86xx: Add support for Wind River SBC8641D boardPaul Gortmaker2008-04-17
| | | | | | | | | | | | | | | | | | This adds support for the Wind River SBC8641D board, based largely on the mpc86xx_hpcn support. The biggest difference is the lack of the Uli and the i8259 cascade, which simplifies things. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] 83xx: mpc8313erdb - Enable FCM NAND and OF partitions in defconfigScott Wood2008-04-17
| | | | | | | | | | Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] cuboot-pq2: PCI fixesScott Wood2008-04-17
| | | | | | | | | | | | | | | | | | | | | | 1. Detect (and bail out on) more conditions that violate the assumptions of the setup code -- we assume in such cases that the device tree is correct and reflects what the firmware did. 2. The inbound memory mask calculation was wrong. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] fsl_soc: Factor fsl_get_sys_freq() out of the wdt and spi inits.Scott Wood2008-04-17
| | | | | | | | | | Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] 83xx: mpc837x_rdb: add simple-bus compatible matchingAnton Vorontsov2008-04-17
| | | | | | | | | | | | | | This is needed to probe nor and nand flashes on the localbus. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] Make Book-E debug handling SMP safeKumar Gala2008-04-17
| | | | | | | | | | | | | | | | | | | | | | | | global_dbcr0 needs to be a per cpu set of save areas instead of a single global on all processors. Also, we switch to using DBCR0_IDM to determine if the user space app is being debugged as its a more consistent way. In the future we should support features like hardware breakpoint and watchpoints which will have DBCR0_IDM set but not necessarily DBCR0_IC (single step). Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] CPM: Always use new binding.Scott Wood2008-04-17
| | | | | | | | | | | | | | | | The kconfig entry can go away once arch/ppc and references to the config in drivers are removed. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] QE: fix sparse warningsAnton Vorontsov2008-04-17
| | | | | | | | | | Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] QE: export qe_get_brg_clk()Anton Vorontsov2008-04-17
| | | | | | | | | | | | | | qe_get_brg_clk() will be used by the fsl_gtm routines. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] QE: implement qe_muram_offsetAnton Vorontsov2008-04-17
| | | | | | | | | | | | | | | | | | | | | | qe_muram_offset is the reverse of the qe_muram_addr, will be used for the Freescale QE USB Host Controller driver. This patch also moves qe_muram_addr into the qe.h header, plus adds __iomem hints to use with sparse. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] fsl_lbc: implement few UPM routinesAnton Vorontsov2008-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | Freescale UPM can be used to adjust localbus timings or to generate orbitrary, pre-programmed "patterns" on the external Localbus signals. This patch implements few routines so drivers could work with UPMs in safe and generic manner. So far there is just one user of these routines: Freescale UPM NAND driver. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] QE: UCC nodes cleanupAnton Vorontsov2008-04-17
| | | | | | | | | | | | | | | | | | | | | | | | - get rid of `model = "UCC"' in the ucc nodes It isn't used anywhere, so remove it. If we'll ever need something like this, we'll use compatible property instead. - replace last occurrences of device-id with cell-index. Drivers are modified for backward compatibility's sake. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] CPM2: Reset the CPM when early debugging is not enabled.Laurent Pinchart2008-04-17
| | | | | | | | | | | | | | | | | | | | | | Similarly to what is done for PQ1-based platforms, this patch resets the PQ2 Communication Processor Module in cpm2_reset() when early debugging is not enabled. This helps avoiding conflicts when the boot loader configured the CPM in an unexpected way. Signed-off-by: Laurent Pinchart <laurentp@cse-semaphore.com> Acked-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] ep8248e: Reference SMC parameter RAM base in the device tree.Laurent Pinchart2008-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch modifies the Embedded Planet EP8248E device tree to reference the SMC paramater RAM base register instead of the parameter RAM allocated by the boot loader. The cpm_uart driver will allocate parameter RAM itself, making the serial port initialisation independent of the boot loader. The patch adds the parameter RAM allocated by the boot loader in the CPM muram node, making it available to the kernel. Signed-off-by: Laurent Pinchart <laurentp@cse-semaphore.com> Acked-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] cpm-serial: Relocate CPM buffer descriptors and SMC parameter ram.Laurent Pinchart2008-04-17
| | | | | | | | | | | | | | | | | | | | | | This patch relocates the buffer descriptors and the SMC parameter RAM at the end of the first CPM muram chunk, as described in the device tree. This allows device trees to stop excluding SMC parameter ram allocated by the boot loader from the CPM muram node. Signed-off-by: Laurent Pinchart <laurentp@cse-semaphore.com> Acked-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] Add bootwrapper function to get virtual reg from the device tree.Laurent Pinchart2008-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a new generic device tree processing function that retrieves virtual reg addresses from the device tree to the bootwrapper code. It also updates the bootwrapper code to use the new function. dt_get_virtual_reg() retrieves the virtual reg addresses from the "virtual-reg" property. If the property can't be found, it uses the "reg" property and walks the tree to translate it to absolute addresses. Signed-off-by: Laurent Pinchart <laurentp@cse-semaphore.com> Acked-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] 85xx: Enable DMA engine on the MPC8544 DSSebastian Siewior2008-04-17
| | | | | | | | | | | | | | | | Add the device tree node for the DMA engine on 8544, publish the device and enable the driver in the defconfig. Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] 83xx/85xx: Reorganize defconfigsKumar Gala2008-04-17
| | | | | | | | | | | | | | | | | | | | Board specific defconfigs are useful, however with the ability to do multi-board defconfigs they aren't needed in the top level configs directory Move the 83xx/85xx board specific defconfigs to individual directories under arch/powerpc/configs. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] Rework Book-E debug exception handlingKumar Gala2008-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The architecture allows for "Book-E" style debug interrupts to either go to critial interrupts of their own debug interrupt level. To allow for a dynamic kernel to support machines of either type we want to be able to compile in the interrupt handling code for both exception levels. Towards this goal we renamed the debug handling macros to specify the interrupt level in their name (DEBUG_CRIT_EXCEPTION/DebugCrit and DEBUG_DEBUG_EXCEPTION/DebugDebug). Additionally, on the Freescale Book-e parts we expanded the exception stacks to cover the maximum case of needing three exception stacks (normal, machine check and debug). There is some kernel text space optimization to be gained if a kernel is configured for a specific Freescale implementation but we aren't handling that now to allow for the single kernel image support. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufsPaul Mackerras2008-04-17
|\ \ | |/ |/|
| * [POWERPC] spufs: fix incorrect file descriptors in SPU coredump note namesGerhard Stenzel2008-03-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present, ppu-gdb can't trace spu infomation with coredump generated by the kernel. While the core dumps notes have correct contents, they have the wrong names, as the file descriptors used to generate the note names are off-by-one. An application that opens a SPE context as fd 3, the current core dump code will generate notes like: SPU/4/mem SPU/4/regs etc. This confuses GDB, which knows it is looking for SPE context 3 (from parsing the spu_context_run system call arguments), and cannot find any notes that match context 3. This change corrects the file descriptor counting, to only increment the fd until after we've written the note name. Signed-off-by: Gerhard Stenzel <stenzel@de.ibm.com> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
| * [POWERPC] spufs: save MFC command channel before purging MFC queueJeremy Kerr2008-03-27
| | | | | | | | | | | | | | | | | | | | During the context save process, we currently save the MFC command channel after purging the MFC queues. This causes a systemsim warning, as the command channel may be in an unknown state after the purge. This change does the save before purging the MFC queues. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
| * [POWERPC] spufs: reacquire LS pointer in spu_process_callbackJeremy Kerr2008-03-27
| | | | | | | | | | | | | | | | | | | | | | During spu_process callback, we release then acquire the SPU, but keep a pointer to the local store memory. Since the context may have been scheduled out during the callback, the ls pointer may become invalid. This change reacquires the pointer to the context local store after spu_acquire()-ing, so that it isn't invalidated by a context switch. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
| * [POWERPC] spufs: add newline to signal{1,2}_type filesJeremy Kerr2008-03-27
| | | | | | | | | | | | | | | | | | All of the single-value files in spufs are terminated by a newline, except for signal1_type and signal2_type. This change adds a trailing newline to these two files. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
* | [POWERPC] Remove unused machine call outsKumar Gala2008-04-16
| | | | | | | | | | | | | | | | | | | | | | | | When we moved to arch/powerpc we actively tried to avoid using the ppc_md.setup_io_mappings(). Currently no board ports use it so let's remove it to avoid any new boards using it. Also, remove early_serial_map() since we don't even have a call out for it in arch/powerpc. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [POWERPC] Always add preferred consoles in platforms/pseries/lpar.cMichael Ellerman2008-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is logic in platforms/peries/lpars.c which checks if the user has specified a console on the command line, and refrains from adding a preferred console entry for the hvc/hvsi console if they have. This trips up if you use "netconsole=foo" on the command line, and has the result that you get _only_ the netconsole, because the hvc device is never added as a preferred console. Worse still if you get the netconsole configuration wrong somehow, you end up with no console at all. As it turns out we don't need to worry about checking the command line. If the user has specified "console=foo", then foo will be set as the preferred console when the command line is parsed in start_kernel(), much later than the pseries code, and so the latter setting will take effect. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [POWERPC] Move prototype for find_udbg_vterm() into a header fileMichael Ellerman2008-04-16
| | | | | | | | | | | | | | | | Move the prototype for find_udbg_vterm() into pseries.h, removing it from setup.c. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [POWERPC] pseries/phyp dump: Reserve a variable amount of space at bootManish Ahuja2008-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the way we calculate how much space to reserve for the pHyp dump. Currently we reserve 256MB only. With this change, the code first checks to see if an amount has been specified on the boot command line with the "phyp_dump_reserve_size" option, and if so, uses that much. Otherwise it computes 5% of total ram and rounds it down to a multiple of 256MB, and uses the larger of that or 256MB. This is for large systems with a lot of memory (10GB or more). The aim is to have more space available for the kernel on reboot on machines with more resources. Although the dump will be collected pretty fast and the memory released really early on allowing the machine to have the full memory available, this alleviates any issues that can be caused by having way too little memory on very very large systems during those few minutes. Signed-off-by: Manish Ahuja <mahuja@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [POWERPC] bootwrapper: Use physical address in PHDR for uImageKumar Gala2008-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we properly set the physical address in the program header of the vmlinux ELF we can extract it to properly set the load and entry point for u-boot uImages. Before we always hard coded the load & entry point to 0. However there are situations that the kernel may be built with a non-zero physical address. We use objdump to extract the PHDR. We assume that there is only one PHDR in the vmlinux of type LOAD. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>