aboutsummaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2013-08-28ARM: OMAP: omap3stalker: use new display driversTomi Valkeinen1-24/+37
Use new display drivers for OMAP3 Stalker board. The new OMAP display drivers were merged for 3.11, and we can now change the board files to use the new ones and phase out the old ones. Signed-off-by: Tomi Valkeinen <[email protected]> Acked-by: Tony Lindgren <[email protected]>
2013-08-28ARM: OMAP: LDP: use new display driversTomi Valkeinen1-21/+47
Use new display drivers for LDP board. The new OMAP display drivers were merged for 3.11, and we can now change the board files to use the new ones and phase out the old ones. Signed-off-by: Tomi Valkeinen <[email protected]> Acked-by: Tony Lindgren <[email protected]>
2013-08-28ARM: OMAP: 2430SDP: use new display driversTomi Valkeinen1-22/+35
Use new display drivers for 2430SDP board. The new OMAP display drivers were merged for 3.11, and we can now change the board files to use the new ones and phase out the old ones. Signed-off-by: Tomi Valkeinen <[email protected]> Acked-by: Tony Lindgren <[email protected]>
2013-08-28ARM: OMAP: devkit8000: use new display driversTomi Valkeinen1-31/+65
Use new display drivers for devkit8000 board. The new OMAP display drivers were merged for 3.11, and we can now change the board files to use the new ones and phase out the old ones. Signed-off-by: Tomi Valkeinen <[email protected]> Acked-by: Tony Lindgren <[email protected]>
2013-08-28ARM: OMAP: beagle: use new display driversTomi Valkeinen1-20/+36
Use the new display drivers for Beagleboard. The new OMAP display drivers were merged for 3.11, and we can now change the board files to use the new ones and phase out the old ones. Signed-off-by: Tomi Valkeinen <[email protected]> Acked-by: Tony Lindgren <[email protected]>
2013-08-28ARM: OMAP: rx51: use new display driversTomi Valkeinen2-23/+24
Use the new display drivers for RX51 board. The new OMAP display drivers were merged for 3.11, and we can now change the board files to use the new ones and phase out the old ones. Signed-off-by: Tomi Valkeinen <[email protected]> Tested-by: Aaro Koskinen <[email protected]> Acked-by: Tony Lindgren <[email protected]>
2013-08-28ARM: OMAP: overo: use new display driversTomi Valkeinen1-60/+100
Use the new display drivers for OMAP3 Overo board. The new OMAP display drivers were merged for 3.11, and we can now change the board files to use the new ones and phase out the old ones. Note that the LCD add-on boards for lcd43 and lcd35 use the same GPIOs for the panels. This means that both panel devices cannot be probed at the same time. DT will handle this correctly, i.e. the DT data will contain the panel device only for the add-on board that is attached. However, for the board file we need a hackish solution: We parse the kernel boot command line, and see whether lcd43 or lcd35 is set as a default display, and add the given one. Or, if neither is given, default to lcd43. Signed-off-by: Tomi Valkeinen <[email protected]> Acked-by: Tony Lindgren <[email protected]>
2013-08-28ARM: OMAP: 4430SDP: remove picodlp device dataTomi Valkeinen1-21/+0
4430SDP board has an option for a PicoDLP mini-projector. PicoDLP cannot be used at the same time as the second LCD, and there are GPIOs that need to be set/unset when changing the used display. Managing that kind of board specific setup is not simple without board file callbacks. As only some 4430SDP boards actually have the PicoDLP installed, and 4430SDP boards are not that common in the first place, let's remove PicoDLP data from the board file. Signed-off-by: Tomi Valkeinen <[email protected]> Acked-by: Tony Lindgren <[email protected]>
2013-08-28ARM: OMAP: dss-common: use new display driversTomi Valkeinen1-77/+109
Use the new display drivers for OMAP4 Panda and OMAP4 SDP boards. The new OMAP display drivers were merged for 3.11, and we can now change the board files to use the new ones and phase out the old ones. Signed-off-by: Tomi Valkeinen <[email protected]> Acked-by: Tony Lindgren <[email protected]>
2013-08-28ARM: OMAP2+: Add selected display drivers to omap2plus_defconfigTomi Valkeinen1-0/+5
Add some of the most common new display drivers to omap2plus_defconfig to be built as modules. Signed-off-by: Tomi Valkeinen <[email protected]> Acked-by: Tony Lindgren <[email protected]>
2013-08-28ARM: OMAP2+: Remove legacy DSS initialization for omap4Tomi Valkeinen2-49/+0
This is no longer needed as omap4 is now booted using device tree. Signed-off-by: Tomi Valkeinen <[email protected]> Acked-by: Tony Lindgren <[email protected]>
2013-08-28s390/tx: allow program interruption filtering in user spaceMartin Schwidefsky1-3/+3
A user space program using the transactional execution facility should be allowed to do program interrupt filtering. Do not set the transactional-execution program-interruption-filtering override (PIFO) bit in CR0. Signed-off-by: Martin Schwidefsky <[email protected]>
2013-08-28s390/pgtable: fix mprotect for single-threaded KVM guestsMartin Schwidefsky1-0/+1
For a single-threaded KVM guest ptep_modify_prot_start will not use IPTE, the invalid bit will therefore not be set. If DEBUG_VM is set pgste_set_key called by ptep_modify_prot_commit will complain about the missing invalid bit. ptep_modify_prot_start should set the invalid bit in all cases. Cc: [email protected] # 3.10+ Signed-off-by: Martin Schwidefsky <[email protected]>
2013-08-28s390/time: return with irqs disabled from psw_idleMartin Schwidefsky5-6/+4
Modify the psw_idle waiting logic in entry[64].S to return with interrupts disabled. This avoids potential issues with udelay and interrupt loops as interrupts are not reenabled after clock comparator interrupts. Signed-off-by: Martin Schwidefsky <[email protected]>
2013-08-28powerpc/pseries: Move lparcfg.c to platforms/pseriesBenjamin Herrenschmidt3-1/+1
This file is entirely pseries specific nowadays, so move it out of arch/powerpc/kernel where it doesn't belong anymore. Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-28Merge branch 'merge' into nextBenjamin Herrenschmidt3-13/+20
Merge recent fixes to lparcfg so subsequent patches can move the whole file to arch/powerpc/platforms/pseries
2013-08-27msm_serial: Switch clock consumer strings and simplify codeStephen Boyd3-7/+7
In downstream kernel we've standardized the clock consumer names that MSM device drivers use. Replace the uart specific clock names in this driver with the more standard 'core' and 'iface' names. Also simplify the code by assuming that clk_prepare_enable and clk_disable_unprepare() will properly check for NULL pointers (it will because MSM uses the common clock framework). Cc: David Brown <[email protected]> Signed-off-by: Stephen Boyd <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-08-27usb: musb: am335x: add second port to beagle boneSebastian Andrzej Siewior1-0/+13
So I assumed that Beagle bone has only one USB port in host mode because the micro USB connector had an USB-UART there. I was wrong a little. The second port runs on host mode, but the micro USB plug is connected to an internal HUB with two ports: one to the USB-UART and one to musb instance one. For that reason, this patch enables both ports: the primary in device mode only and the second in host mode only. Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Signed-off-by: Felipe Balbi <[email protected]>
2013-08-27usb: musb: am335x-evm: Do not remove the session bit HOST-only modeSebastian Andrzej Siewior1-0/+1
This is what I observe: On the first connect, the musb starts with DEVCTL.Session set. On disconnect, musb_core calls try_idle. That functions removes the Session bit signalizing that the session is over (something that only in OTG is required). A new device, that is plugged, is no longer recognized. I've setup a timer and checked the DEVCTL register and I haven't seen a change in VBus and I saw the B-Device bit set. After setting the IDDIG into A mode and forcing the device to behave like a A device, I didn't see a change. Neither VBUS goes to 0b11 nor does a session start request comes. In the TI-v3.2 kernel they skip to call musb_platform_try_idle() in the OTG_STATE_A_WAIT_BCON state while not in OTG mode. Since the second port hast a standard A plug the patch changes the port to run in host mode only and skips the timer which would remove DEVCTL.Session so we can reconnect to another device later. Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Signed-off-by: Felipe Balbi <[email protected]>
2013-08-27usb: usb: dsps: update code according to the binding documentSebastian Andrzej Siewior4-46/+31
This relfects the code and dts requires changes due to recent .dts binding updates: - use mg prefix for the Metor Graphics specific attributes - use power in mA not in mA/2 as specifed in the USB2.0 specification - remove the child node for USB. This is driver specific on won't be reflected in the device tree - use the "mentor" prefix instead of "mg". - use "dr_mode" istead of "mg,port-mode" for the port mode. The former is used by a few other drivers. Cc: Rob Herring <[email protected]> Cc: Pawel Moll <[email protected]> Cc: Mark Rutland <[email protected]> Cc: Stephen Warren <[email protected]> Cc: Ian Campbell <[email protected]> Cc: [email protected] Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Signed-off-by: Felipe Balbi <[email protected]>
2013-08-27usb: musb: dsps fix the typo in reg-names of the dma nodeSebastian Andrzej Siewior1-1/+1
I forgot to separete the different names in the reg-names property. This didn't cause anything to fail because the driver does not use the names and simply relies on the order of the memory offsets in reg. This patch fixes this in case it is used later. Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Signed-off-by: Felipe Balbi <[email protected]>
2013-08-27Merge branch 'merge' of ↵Linus Torvalds3-13/+20
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc Pull powerpc fixes from Ben Herrenschmidt: "Here are 3 bug fixes that should probably go into 3.11 since I'm also tagging them for stable. Once fixes our old /proc/powerpc/lparcfg file which provides partition informations when running under our hypervisor and also acts as a user-triggerable Oops when hot :-( The other two respectively are a one liner to fix a HVSI protocol handshake problem causing the console to fail to show up on a bunch of machines until we reach userspace, which I deem annoying enough to warrant going to stable, and a nasty gcc miscompile causing us to pass virtual instead of physical addresses to the firmware under some circumstances" * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/hvsi: Increase handshake timeout from 200ms to 400ms. powerpc: Work around gcc miscompilation of __pa() on 64-bit powerpc: Don't Oops when accessing /proc/powerpc/lparcfg without hypervisor
2013-08-27arm64: move elf notes into readonly segmentMark Salter1-2/+1
The current vmlinux.lds.S places the notes sections between the end of rw data and start of bss. This means that _edata doesn't really point to the end of data. Since notes are read-only, this patch moves them to the read-only segment so that _edata does point to the end of initialized rw data. Signed-off-by: Mark Salter <[email protected]> Signed-off-by: Catalin Marinas <[email protected]>
2013-08-28ARM: EXYNOS: Skip C1 cpuidle state for exynos5440Amit Daniel Kachhap1-0/+3
This patch skips the deep C1(AFTR -Arm off top running) state for exynos5440 SoC as this soc does not support this state. The cpu's only allows the basic C0 state. The C1 state is filtered by re-initialising the driver state_count value to 1. Suggested-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Amit Daniel Kachhap <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2013-08-28ARM: EXYNOS: always enable PM domains support for EXYNOS4X12Bartlomiej Zolnierkiewicz1-0/+2
Currently PM domains support will be enabled for EXYNOS4X12 SoCs only if EXYNOS4210 SoC or EXYNOS5250 SoC support is also enabled. Fix it by explicitly selecting PM domains support (if PM support is enabled) by SOC_EXYNOS4212 and SOC_EXYNOS4412 config options. Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Acked-by: Tomasz Figa <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2013-08-27ARM: highbank: clean-up some unused includesRob Herring1-4/+0
Signed-off-by: Rob Herring <[email protected]>
2013-08-27ARM: init: add support for reserved memory defined by device treeMarek Szyprowski1-0/+3
Enable reserved memory initialization from device tree. Signed-off-by: Marek Szyprowski <[email protected]> Acked-by: Kyungmin Park <[email protected]> Acked-by: Michal Nazarewicz <[email protected]> Acked-by: Tomasz Figa <[email protected]>
2013-08-27treewide: Fix printks with 0x%#Joe Perches1-1/+1
Using 0x%# emits 0x0x. Only one is necessary. Signed-off-by: Joe Perches <[email protected]> Acked-by: Takashi Iwai <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2013-08-27powerpc/powernv: Return secondary CPUs to firmware on kexecBenjamin Herrenschmidt3-0/+14
With OPAL v3 we can return secondary CPUs to firmware on kexec. This allows firmware to do various cleanups making things generally more reliable, and will enable the "new" kernel to call OPAL to perform some reconfiguration tasks early on that can only be done while all the CPUs are in firmware. Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27drivers: dma-contiguous: clean source code and prepare for device treeMarek Szyprowski2-2/+0
This patch cleans the initialization of dma contiguous framework. The all-in-one dma_declare_contiguous() function is now separated into dma_contiguous_reserve_area() which only steals the the memory from memblock allocator and dma_contiguous_add_device() function, which assigns given device to the specified reserved memory area. This improves the flexibility in defining contiguous memory areas and assigning device to them, because now it is possible to assign more than one device to the given contiguous memory area. Such split in initialization procedure is also required for upcoming device tree support. Signed-off-by: Marek Szyprowski <[email protected]> Acked-by: Kyungmin Park <[email protected]> Acked-by: Michal Nazarewicz <[email protected]> Acked-by: Tomasz Figa <[email protected]>
2013-08-27powerpc: Work around gcc miscompilation of __pa() on 64-bitPaul Mackerras2-0/+11
On 64-bit, __pa(&static_var) gets miscompiled by recent versions of gcc as something like: addis 3,2,.LANCHOR1+4611686018427387904@toc@ha addi 3,3,.LANCHOR1+4611686018427387904@toc@l This ends up effectively ignoring the offset, since its bottom 32 bits are zero, and means that the result of __pa() still has 0xC in the top nibble. This happens with gcc 4.8.1, at least. To work around this, for 64-bit we make __pa() use an AND operator, and for symmetry, we make __va() use an OR operator. Using an AND operator rather than a subtraction ends up with slightly shorter code since it can be done with a single clrldi instruction, whereas it takes three instructions to form the constant (-PAGE_OFFSET) and add it on. (Note that MEMORY_START is always 0 on 64-bit.) CC: <[email protected]> Signed-off-by: Paul Mackerras <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27powerpc: Don't Oops when accessing /proc/powerpc/lparcfg without hypervisorBenjamin Herrenschmidt1-13/+9
/proc/powerpc/lparcfg is an ancient facility (though still actively used) which allows access to some informations relative to the partition when running underneath a PAPR compliant hypervisor. It makes no sense on non-pseries machines. However, currently, not only can it be created on these if the kernel has pseries support, but accessing it on such a machine will crash due to trying to do hypervisor calls. In fact, it should also not do HV calls on older pseries that didn't have an hypervisor either. Finally, it has the plumbing to be a module but is a "bool" Kconfig option. This fixes the whole lot by turning it into a machine_device_initcall that is only created on pseries, and adding the necessary hypervisor check before calling the H_GET_EM_PARMS hypercall CC: <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27powerpc/btext: Fix CONFIG_PPC_EARLY_DEBUG_BOOTX on ppc32Benjamin Herrenschmidt1-2/+2
The "rmci" stuff only exists on 64-bit Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27powerpc: Cleanup handling of the DSCR bit in the FSCR registerMichael Neuling2-30/+8
As suggested by paulus we can simplify the Data Stream Control Register (DSCR) Facility Status and Control Register (FSCR) handling. Firstly, we simplify the asm by using a rldimi. Secondly, we now use the FSCR only to control the DSCR facility, rather than both the FSCR and HFSCR. Users will see no functional change from this but will get a minor speedup as they will trap into the kernel only once (rather than twice) when they first touch the DSCR. Also, this changes removes a bunch of ugly FTR_SECTION code. Signed-off-by: Michael Neuling <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27Merge branch 'merge' into nextBenjamin Herrenschmidt14-99/+170
Merge stuff that already went into Linus via "merge" which are pre-reqs for subsequent patches
2013-08-27powerpc/pseries: Child nodes are not detached by dlpar_detach_nodeTyrel Datwyler1-0/+7
Calls to dlpar_detach_node do not iterate over child nodes detaching them as well. By iterating and detaching the child nodes we ensure that they have the OF_DETACHED flag set and that their reference counts are decremented such that the node will be freed from memory by of_node_release. Signed-off-by: Tyrel Datwyler <[email protected]> Acked-by: Nathan Fontenot <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27powerpc/pseries: Add mising of_node_put in delete_dt_nodeTyrel Datwyler1-0/+1
The node to be detached is retrieved via its phandle by a call to of_find_node_by_phandle which increments the ref count. We need a matching call to of_node_put to decrement the ref count and ensure the node is actually freed. Signed-off-by: Tyrel Datwyler <[email protected]> Acked-by: Nathan Fontenot <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27powerpc/pseries: Make dlpar_configure_connector parent node awareTyrel Datwyler3-34/+34
Currently the device nodes created in the device subtree returned by a call to dlpar_configure_connector are all named in the root node. This is because the the node name in the work area returned by ibm,configure-connector rtas call only contains the node name and not the entire node path. Passing the parent node where the new subtree will be created to dlpar_configure_connector allows the correct node path to be prefixed in the full_name field. Signed-off-by: Tyrel Datwyler <[email protected]> Acked-by: Nathan Fontenot <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27powerpc/pseries: Do all node initialization in dlpar_parse_cc_nodeTyrel Datwyler1-2/+3
Currently the OF_DYNAMIC and kref initialization for a node happens in dlpar_attach_node. However, a node passed to dlpar_attach_node may be a tree containing child nodes, and no initialization traversal is done on the tree. Since the children never get their kref initialized or the OF_DYNAMIC flag set these nodes are prevented from ever being released from memory should they become detached. This initialization step is better done at the time each node is allocated in dlpar_parse_cc_node. Signed-off-by: Tyrel Datwyler <[email protected]> Acked-by: Nathan Fontenot <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27powerpc/pseries: Fix parsing of initial node path in update_dt_nodeTyrel Datwyler1-10/+11
On the first call to ibm,update-properties for a node the first property returned is the full node path. Currently this is not parsed correctly by the update_dt_node function. Commit 2e9b7b0 attempted to fix this, but was incorrect as it made a wrong assumption about the layout of the first property in the work area. Further, if ibm,update-properties must be called multiple times for the same node this special property should only be skipped after the initial call. The first property descriptor returned consists of the property name, property value length, and property value. The property name is an empty string, property length is encoded in 4 byte integer, and the property value is the node path. Signed-off-by: Tyrel Datwyler <[email protected]> Acked-by: Nathan Fontenot <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27powerpc/pseries: Pack update_props_workarea to map correctly to rtas buffer ↵Tyrel Datwyler1-1/+1
header The work area buffer returned by the ibm,update-properties rtas call contains 20 bytes of header information prior to the property value descriptor data. Currently update_dt_node tries to advance over this header using sizeof(upwa). The update_props_workarea struct contains 20 bytes worth of fields, that map to the relevant header data, but the sizeof the structure is 24 bytes due to 4 bytes of padding at the end of the structure. Packing the structure ensures that we don't advance too far over the rtas buffer. Signed-off-by: Tyrel Datwyler <[email protected]> Acked-by: Nathan Fontenot <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27powerpc/pseries: Fix over writing of rtas return code in update_dt_nodeTyrel Datwyler1-4/+4
The rc variable is initially used to store the return code from the ibm,update-properties rtas call which returns 0 or 1 on success. A return code of 1 indicates that ibm,update-properties must be called again for the node. However, the rc variable is overwritten by a call to update_dt_prop which returns 0 on success. This results in ibm,update-properties not being called again for the given node when the rtas call rc was previously 1. Signed-off-by: Tyrel Datwyler <[email protected]> Acked-by: Nathan Fontenot <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27powerpc/pseries: Fix creation of loop in device node property listTyrel Datwyler1-1/+1
The update_dt_prop helper function fails to set the IN/OUT parameter prop to NULL after a complete property has been parsed from the work area returned by the ibm,update-properties rtas function. This results in the property list of the device node being updated is corrupted and becomes a loop since the same property structure is used repeatedly. Signed-off-by: Tyrel Datwyler <[email protected]> Acked-by: Nathan Fontenot <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27powerpc: Skip emulating & leave interrupts off for kernel program checksMichael Ellerman1-0/+11
In the program check handler we handle some causes with interrupts off and others with interrupts on. We need to enable interrupts to handle the emulation cases, because they access userspace memory and might sleep. For faults in the kernel we don't want to do any emulation, and emulate_instruction() enforces that. do_mathemu() doesn't but probably should. The other disadvantage of enabling interrupts for kernel faults is that we may take another interrupt, and recurse. As seen below: --- Exception: e40 at c000000000004ee0 performance_monitor_relon_pSeries_1 [link register ] c00000000000f858 .arch_local_irq_restore+0x38/0x90 [c000000fb185dc10] 0000000000000000 (unreliable) [c000000fb185dc80] c0000000007d8558 .program_check_exception+0x298/0x2d0 [c000000fb185dd00] c000000000002f40 emulation_assist_common+0x140/0x180 --- Exception: e40 at c000000000004ee0 performance_monitor_relon_pSeries_1 [link register ] c00000000000f858 .arch_local_irq_restore+0x38/0x90 [c000000fb185dff0] 00000000008b9190 (unreliable) [c000000fb185e060] c0000000007d8558 .program_check_exception+0x298/0x2d0 So avoid both problems by checking if the fault was in the kernel and skipping the enable of interrupts and the emulation. Go straight to delivering the SIGILL, which for kernel faults calls die() and so on, dropping us in the debugger etc. Signed-off-by: Michael Ellerman <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27powerpc: Add more exception trampolines for hypervisor exceptionsMichael Ellerman1-1/+7
This makes back traces and profiles easier to read. Signed-off-by: Michael Ellerman <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27powerpc: Fix location and rename exception trampolinesMichael Ellerman1-10/+10
The symbols that name some of our exception trampolines are ahead of the location they name. In most cases this is OK because the code is tightly packed, but in some cases it means the symbol floats ahead of the correct location, eg: c000000000000ea0 <performance_monitor_pSeries_1>: ... c000000000000f00: 7d b2 43 a6 mtsprg 2,r13 Fix them all by moving the symbol after the set of the location. While we're moving them anyway, rename them to loose the camelcase and to make it clear that they are trampolines. Signed-off-by: Michael Ellerman <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27powerpc: Add more trap names to xmonMichael Ellerman1-0/+7
We haven't updated these for a while it seems, it's nice to have in the oops output. Signed-off-by: Michael Ellerman <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27powerpc/pseries: Add a warning in the case of cross-cpu VPA registrationMichael Ellerman1-0/+6
The spec says it "may be problematic" if CPU x registers the VPA of CPU y. Add a warning in case we ever do that. Signed-off-by: Michael Ellerman <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27powerpc: Never handle VSX alignment exceptions from kernelAnton Blanchard1-0/+4
The VSX alignment handler needs to write out the existing VSX state to memory before operating on it (flush_vsx_to_thread()). If we take a VSX alignment exception in the kernel bad things will happen. It looks like we could write the kernel state out to the user process, or we could handle the kernel exception using data from the user process (depending if MSR_VSX is set or not). Worse still, if the code to read or write the VSX state causes an alignment exception, we will recurse forever. I ended up with hundreds of megabytes of kernel stack to look through as a result. Floating point and SPE code have similar issues but already include a user check. Add the same check to emulate_vsx(). With this patch any unaligned VSX loads and stores in the kernel will show up as a clear oops rather than silent corruption of kernel or userspace VSX state, or worse, corruption of a potentially unlimited amount of kernel memory. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2013-08-27pseries: Move plpar_wrapper.h to powerpc common include/asm location.Deepthi Dharwar11-17/+14
As a part of pseries_idle backend driver cleanup to make the code common to both pseries and powernv platforms, it is necessary to move the backend-driver code to drivers/cpuidle. As a pre-requisite for that, it is essential to move plpar_wrapper.h to include/asm. Signed-off-by: Deepthi Dharwar <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>