aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc
AgeCommit message (Collapse)AuthorFilesLines
2011-03-14kill path_lookup()Al Viro1-1/+1
all remaining callers pass LOOKUP_PARENT to it, so flags argument can die; renamed to kern_path_parent() Signed-off-by: Al Viro <[email protected]>
2011-03-11futex: Sanitize futex ops argument typesMichel Lespinasse1-6/+7
Change futex_atomic_op_inuser and futex_atomic_cmpxchg_inatomic prototypes to use u32 types for the futex as this is the data type the futex core code uses all over the place. Signed-off-by: Michel Lespinasse <[email protected]> Cc: Darren Hart <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Matt Turner <[email protected]> Cc: Russell King <[email protected]> Cc: David Howells <[email protected]> Cc: Tony Luck <[email protected]> Cc: Michal Simek <[email protected]> Cc: Ralf Baechle <[email protected]> Cc: "James E.J. Bottomley" <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: Martin Schwidefsky <[email protected]> Cc: Paul Mundt <[email protected]> Cc: "David S. Miller" <[email protected]> Cc: Chris Metcalf <[email protected]> Cc: Linus Torvalds <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]>
2011-03-11futex: Sanitize cmpxchg_futex_value_locked APIMichel Lespinasse1-9/+11
The cmpxchg_futex_value_locked API was funny in that it returned either the original, user-exposed futex value OR an error code such as -EFAULT. This was confusing at best, and could be a source of livelocks in places that retry the cmpxchg_futex_value_locked after trying to fix the issue by running fault_in_user_writeable(). This change makes the cmpxchg_futex_value_locked API more similar to the get_futex_value_locked one, returning an error code and updating the original value through a reference argument. Signed-off-by: Michel Lespinasse <[email protected]> Acked-by: Chris Metcalf <[email protected]> [tile] Acked-by: Tony Luck <[email protected]> [ia64] Acked-by: Thomas Gleixner <[email protected]> Tested-by: Michal Simek <[email protected]> [microblaze] Acked-by: David Howells <[email protected]> [frv] Cc: Darren Hart <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Matt Turner <[email protected]> Cc: Russell King <[email protected]> Cc: Ralf Baechle <[email protected]> Cc: "James E.J. Bottomley" <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Cc: Martin Schwidefsky <[email protected]> Cc: Paul Mundt <[email protected]> Cc: "David S. Miller" <[email protected]> Cc: Linus Torvalds <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]>
2011-03-11powerpc/pseries: Disable MSI using new interface if possibleNishanth Aravamudan1-2/+12
On upcoming hardware, we have a PCI adapter with two functions, one of which uses MSI and the other uses MSI-X. This adapter, when MSI is disabled using the "old" firmware interface (RTAS_CHANGE_FN), still signals an MSI-X interrupt and triggers an EEH. We are working with the vendor to ensure that the hardware is not at fault, but if we use the "new" interface (RTAS_CHANGE_MSI_FN) to disable MSI, we also automatically disable MSI-X and the adapter does not appear to signal any stray MSI-X interrupt. Signed-off-by: Nishanth Aravamudan <[email protected]> Acked-by: Michael Ellerman <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: Enable GENERIC_HARDIRQS_NO_DEPRECATED.Lennert Buytenhek1-0/+1
Signed-off-by: Lennert Buytenhek <[email protected]> Acked-by: Grant Likely <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: core irq_data conversion.Lennert Buytenhek2-16/+28
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: sysdev/xilinx_intc irq_data conversion.Lennert Buytenhek1-23/+25
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: sysdev/uic irq_data conversion.Lennert Buytenhek1-29/+30
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: sysdev/tsi108_pci irq_data conversion.Lennert Buytenhek1-22/+19
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: sysdev/qe_lib/qe_ic irq_data conversion.Lennert Buytenhek2-18/+26
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: sysdev/mv64x60_pic irq_data conversion.Lennert Buytenhek1-23/+23
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: sysdev/mpc8xxx_gpio irq_data conversion.Lennert Buytenhek1-21/+21
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: sysdev/mpc8xx_pic irq_data conversion.Lennert Buytenhek1-16/+16
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: sysdev/ipic irq_data conversion.Lennert Buytenhek1-27/+27
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: sysdev/i8259 irq_data conversion.Lennert Buytenhek1-21/+21
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: sysdev/fsl_msi irq_data conversion.Lennert Buytenhek1-9/+10
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: sysdev/cpm2_pic irq_data conversion.Lennert Buytenhek1-16/+16
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: sysdev/cpm1 irq_data conversion.Lennert Buytenhek1-9/+9
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: platforms/pseries irq_data conversion.Lennert Buytenhek2-43/+51
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: platforms/ps3 irq_data conversion.Lennert Buytenhek1-20/+20
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: platforms/powermac irq_data conversion.Lennert Buytenhek1-23/+25
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: platforms/iseries irq_data conversion.Lennert Buytenhek1-19/+24
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: platforms/embedded6xx irq_data conversion.Lennert Buytenhek2-36/+37
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: platforms/chrp irq_data conversion.Lennert Buytenhek1-1/+4
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: platforms/cell irq_data conversion.Lennert Buytenhek5-54/+64
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: platforms/8xx irq_data conversion.Lennert Buytenhek1-2/+7
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: platforms/86xx irq_data conversion.Lennert Buytenhek2-12/+15
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: platforms/85xx irq_data conversion.Lennert Buytenhek7-26/+32
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: platforms/82xx irq_data conversion.Lennert Buytenhek1-14/+13
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: platforms/52xx irq_data conversion.Lennert Buytenhek3-63/+64
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: platforms/512x irq_data conversion.Lennert Buytenhek1-7/+7
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc: mpic irq_data conversion.Lennert Buytenhek6-90/+98
Signed-off-by: Lennert Buytenhek <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc/pseries: Disable VPNH featureBenjamin Herrenschmidt1-1/+2
This feature triggers nasty races in the scheduler between the rebuilding of the topology and the load balancing code, causing the machine to hang. Disable it for now until the races are fixed. Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-10powerpc/iseries: Fix early init access to lppacaBenjamin Herrenschmidt4-17/+20
The combination of commit 8154c5d22d91cd16bd9985b0638c8957e4688d0e and 93c22703efa72c7527dbd586d1951c1f4a85fd70 Broke boot on iSeries. The problem is that iSeries very early boot code, which generates the device-tree and runs before our normal early initializations does need access the lppaca's very early, before the PACA array is initialized, and in fact even before the boot PACA has been initialized (it contains all 0's at this stage). However, the first patch above makes that code use the new llpaca_of(cpu) accessor, which itself is changed by the second patch to use the PACA array. We fix that by reverting iSeries to directly dereferencing the array. In addition, we fix all iterators in the iSeries code to always skip CPU whose number is above 63 which is the maximum size of that array and the maximum number of supported CPUs on these machines. Additionally, we make sure the boot_paca is properly initialized in our early startup code. Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-04powerpc/pseries: Add support for dynamic dma windowsNishanth Aravamudan1-0/+587
If firmware allows us to map all of a partition's memory for DMA on a particular bridge, create a 1:1 mapping of that memory. Add hooks for dealing with hotplug events. Dynamic DMA windows can use larger than the default page size, and we use the largest one possible. Signed-off-by: Nishanth Aravamudan <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-04powerpc: Cleanup definition of the PID registerTseng-Hui (Frank) Lin2-3/+10
Move SPRN_PID declearations in various locations into one place. Signed-off-by: Tseng-Hui (Frank) Lin <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-04powerpc/pseries/nvram: Capture oops/panic reports in ibm, oops-log partitionJim Keniston1-3/+115
Create the lnx,oops-log NVRAM partition, and capture the end of the printk buffer in it when there's an oops or panic. If we can't create the lnx,oops-log partition, capture the oops/panic report in ibm,rtas-log. Signed-off-by: Jim Keniston <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-04powerpc/nvram: Generalize code for OS partitions in NVRAMJim Keniston3-64/+113
Adapt the functions used to create and write to the RTAS-log partition to work with any OS-type partition. Signed-off-by: Jim Keniston <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-02powerpc: Fix memory limits when starting at a non-zero addressScott Wood2-2/+2
memblock_enforce_memory_limit() takes the desired maximum quantity of memory to end up with, not an address above which memory will not be used. Signed-off-by: Scott Wood <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-02powerpc: Mask smp_processor_id() false positivePaul E. McKenney1-1/+2
The rtas_event_scan() function uses smp_processor_id() to select a starting point in cpu_online_mask, and does so under the protection of get_online_cpus(). This might not select the current processor in any case, so switch to raw_smp_processor_id(). Signed-off-by: Paul E. McKenney <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-02powerpc/eeh: Remove one to many l's in the word.Justin Mattock1-1/+1
The patch below removes an extra "l" in the word. Signed-off-by: Justin P. Mattock <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-02powerpc: Add pgprot_writecombineAnton Blanchard1-0/+1
A number of drivers are using pgprot_writecombine() to enable write combining on userspace mappings. Implement it on powerpc. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-02powerpc: Use new irq allocatorThomas Gleixner1-8/+9
Use the new functions and free the descriptor when the virq is destroyed. Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-02powerpc: Use ARCH_IRQ_INIT_FLAGSThomas Gleixner2-15/+2
Define the ARCH_IRQ_INIT_FLAGS instead of fixing it up in a loop. Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-02powerpc/pseries: Cleanup use of notifier_from_errno()Prarit Bhargava1-12/+2
Minor cleanup of notifier_from_errno() in powerpc. notifier_from_errno() now contains the if(ret)/else conditional. There is no need to do it in the powerpc code. Signed-off-by: Prarit Bhargava <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-02powerpc/mv64x60: Suspected typo in assignmentNicolas Kaiser1-1/+1
Untested, but looks like an obvious typo to me. [BenH: No feedback, but it's obviously wrong] Signed-off-by: Nicolas Kaiser <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-02powerpc: Fix call to flush_ptrace_hw_breakpoint()K.Prasad1-3/+5
Fix the error in spelling the config option for hw-breakpoints and fix the build issue that follows. Signed-off by: K.Prasad <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-02powerpc/kexec: Restore ppc_md.machine_kexecAnton Blanchard2-1/+10
Kyle Moffett points out that mpc85xx has started using the ppc_md.machine_kexec hook. As such, revert patch c94868788cf2 (powerpc/kexec: Remove ppc_md.machine_kexec). Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-02powerpc/mm: Make hpte_need_flush() safe for preemptionPeter Zijlstra1-3/+3
hpte_need_flush() might be called outside of a preempt section when manipulating the kernel page tables, so we need to use the appopriate variants of per-cpu variable accesses. There should be no risk of being in the middle of a batch and a context switch will flush any pending batch. [Patch extracted from a larger patch in Peter's preemptible mmu_gather series] Signed-off-by: Peter Zijlstra <[email protected]> Signed-off-by: Hugh Dickins <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-02-28dt/powerpc: Eliminate users of of_platform_{,un}register_driverGrant Likely16-85/+70
Get rid of old users of of_platform_driver in arch/powerpc. Most of_platform_driver users can be converted to use the platform_bus directly. Signed-off-by: Grant Likely <[email protected]>