aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-10-29MIPS: PowerTV: Remove support code.Ralf Baechle45-5972/+0
Nobody seems to care about this platform anymore and my attempts to find somebody willing to provide some tlc for PowerTV have failed so far. So let's nuke the bloody thing. Signed-off-by: Ralf Baechle <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/5910/
2013-10-29MIPS: ftrace: Add support for syscall tracepoints.Ralf Baechle5-3/+43
Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: ptrace: Switch syscall reporting to tracehook_report_syscall_entry().Ralf Baechle1-2/+4
Set ret just so __must_check is satisfied but don't use the variable for anything yet. Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Move audit_arch() helper function to __syscall_get_arch().Ralf Baechle2-13/+17
Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Enable HAVE_ARCH_TRACEHOOK.Ralf Baechle3-1/+81
This enables /proc/<pid>/syscall and the ptrace PTRACE_GETREGSET and PTRACE_SETREGSET operations. Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Switch ELF core dumper to use regsets.Ralf Baechle1-0/+1
Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Implement task_user_regset_view.Ralf Baechle1-0/+129
There are no users yet of task_user_regset_view. yet; users will be implemented rsp activated in subsequent commits. Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: ptrace: Use tracehook helpers.Ralf Baechle1-41/+5
Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: O32 / 32-bit: Always copy 4 stack arguments.Ralf Baechle2-433/+401
This gets us rid of the hard to maintain table of the number of syscall arguments and paves the way for further restructuring of the syscall code. Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Provide arch_syscall_addr.Ralf Baechle3-0/+50
The generic version is wrong for MIPS. Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: 32-bit: Remove unused gas macros fifty and mille.Ralf Baechle1-14/+0
These are a leftover of the IRIX compat code which was removed in 2957c9e61ee9c37e7ebf2c8acab03e073fe942fd (kernel.org) rsp. b934da913f236bca00c41d9e386e980586000461 (lmo) [[MIPS] IRIX: Goodbye and thanks for all the fish]. Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Enable entries for SIGSYS in struct siginfo.Ralf Baechle1-0/+9
This is necessary because MIPS doesn't use HAVE_ARCH_SIGINFO_T for historical reasons. Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: 64-bit: Mark native syscall table as data object.Ralf Baechle1-1/+2
Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: compat: Mark N32 syscall table as data object.Ralf Baechle1-0/+1
Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: compat: Export O32 syscall table and rename to avoid duplicate symbol.Ralf Baechle1-5/+5
Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: mm: Use scratch for PGD when !CONFIG_MIPS_PGD_C0_CONTEXTJayachandran C3-40/+58
Allow usage of scratch register for current pgd even when MIPS_PGD_C0_CONTEXT is not configured. MIPS_PGD_C0_CONTEXT is set for 64r2 platforms to indicate availability of Xcontext for saving cpuid, thus freeing Context to be used for saving PGD. This option was also tied to using a scratch register for storing PGD. This commit will allow usage of scratch register to store the current pgd if one can be allocated for the platform, even when MIPS_PGD_C0_CONTEXT is not set. The cpuid will be kept in the CP0 Context register in this case. The code to store the current pgd for the TLB miss handler is now generated in all cases. When scratch register is available, the PGD is also stored in the scratch register. Signed-off-by: Jayachandran C <[email protected]> Cc: [email protected] Cc: Hauke Mehrtens <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/5906/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Tell R4k SC and MC variations apartMaciej W. Rozycki1-4/+24
There is no reliable way to tell R4000/R4400 SC and MC variations apart, however simple heuristic should give good results. Only the MC version supports coherent caching so we can rely on such a mode having been set for KSEG0 by the power-on firmware to reliably indicate an MC processor. SC processors reportedly hang on coherent cached memory accesses and Linux is linked to a cached load address so the firmware has to use the correct caching mode to download the kernel image in a cached mode successfully. OTOH if the firmware chooses to use either the non-coherent cached or the uncached mode for KSEG0 on an MC processor, then the SC variant will be reported, just as we currently do, so no regression here. Signed-off-by: Maciej W. Rozycki <[email protected]> Cc: Jonas Gorski <[email protected]> Cc: MIPS Mailing List <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/5882/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: DECstation CPU feature overridesMaciej W. Rozycki1-0/+87
Signed-off-by: Maciej W. Rozycki <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5877/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29DEC: Whitespace cleanupMaciej W. Rozycki9-18/+18
Commit 7034228792cc561e79ff8600f02884bd4c80e287 [MIPS: Whitespace cleanup.] did a lot of good and a little damage. Revert the damage. Signed-off-by: Maciej W. Rozycki <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5875/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: DECstation I/O ASIC DMA interrupt classesMaciej W. Rozycki3-10/+38
This change complements commits d0da7c002f7b2a93582187a9e3f73891a01d8ee4 [MIPS: DEC: Convert to new irq_chip functions] and 5359b938c088423a28c41499f183cd10824c1816 [MIPS: DECstation I/O ASIC DMA interrupt handling fix] and implements automatic handling of the two classes of DMA interrupts the I/O ASIC implements, informational and errors. Informational DMA interrupts do not stop the transfer and use the `handle_edge_irq' handler that clears the request right away so that another request may be recorded while the previous is being handled. DMA error interrupts stop the transfer and require a corrective action before DMA can be reenabled. Therefore they use the `handle_fasteoi_irq' handler that only clears the request on the way out. Because MIPS processor interrupt inputs, one of which the I/O ASIC's interrupt controller is cascaded to, are level-triggered it is recommended that error DMA interrupt action handlers are registered with the IRQF_ONESHOT flag set so that they are run with the interrupt line masked. This change removes the export of clear_ioasic_dma_irq that now does not have to be called by device drivers to clear interrupts explicitly anymore. Originally these interrupts were cleared in the .end handler of the `irq_chip' structure, before it was removed. Signed-off-by: Maciej W. Rozycki <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5874/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Remove unnecessary platform dma helper functionsFelix Fietkau8-76/+1
The semantics stay the same - on Cavium Octeon the functions were dead code (it overrides the MIPS DMA ops) - on other platforms they contained no code at all. Signed-off-by: Felix Fietkau <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5720/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Cobalt: Move to 8250/16550 serial early printk driverYoichi Yuasa4-21/+4
Signed-off-by: Yoichi Yuasa <[email protected]> Cc: linux-mips <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/948/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Add 8250/16550 serial early printk driverYoichi Yuasa4-0/+83
Signed-off-by: Yoichi Yuasa <[email protected]> Cc: linux-mips <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/947/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: ZBOOT: Support LZ4 compression schemeFlorian Fainelli3-1/+8
Add support for the LZ4 compression scheme in the ZBOOT decompression stub, in order to support it we need to: - select the "lz4" compression tool to compress the vmlinux.bin payload - memcpy() is also required for decompress_unlz4.c so we share the implementation between GZIP, XZ and now LZ4 Signed-off-by: Florian Fainelli <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5829/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: ZBOOT: Define program header for text loadable segmentFlorian Fainelli1-1/+4
There is currently no corresponding ELF program header for the "text" loadable segment which is confusing for some bootloader out there such as CFE because it expects to find a program header matching the segment it is trying to load. The Linux kernel ELF binary "vmlinux" has a similar program header for the text segment so we just mimic this here too. Signed-off-by: Florian Fainelli <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5827/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: ZBOOT: Support XZ compression schemeFlorian Fainelli3-1/+13
Add support for the XZ compression scheme in the ZBOOT decompression stub, in order to support it we need to: - select the "xzkern" compression tool to compress the vmlinux.bin payload - link with ashldi3.o for xz_dec_run() to work - memcpy() is also required for decompress_unxz.c so we share the implementation between GZIP and XZ Signed-off-by: Florian Fainelli <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5818/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Kbuild: Do not allow building vmlinuz when !ZBOOTFlorian Fainelli1-0/+6
When CONFIG_SYS_SUPPORTS_ZBOOT is not enabled, we will still try to build the decompressor code in arch/mips/boot/compressed as a dependency for producing the vmlinuz target and this will result in the following build failure: OBJCOPY arch/mips/boot/compressed/vmlinux.bin arch/mips/boot/compressed/decompress.c: In function 'decompress_kernel': arch/mips/boot/compressed/decompress.c:105:2: error: implicit declaration of function 'decompress' make[1]: *** [arch/mips/boot/compressed/decompress.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [vmlinuz] Error 2 This is a genuine build failure because we have no implementation for the decompress() function body since no kernel compression method defined in CONFIG_KERNEL_(GZIP,BZIP2...) has been enabled. arch/mips/Makefile already guards the install target for the "vmlinuz" binary with a proper ifdef CONFIG_SYS_SUPPORTS_ZBOOT, we now also do the same if we attempt to do a "make vmlinuz" and show that CONFIG_SYS_SUPPORTS_ZBOOT is not enabled. [[email protected]: Cleanup the makefile rule as suggested by James Hogan.] Signed-off-by: Florian Fainelli <[email protected]> Reviewed-by: James Hogan <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5817/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Fix start of free memory when using initrdGreg Ungerer1-5/+14
Currently when using an initrd on a MIPS system the start of the bootmem region of memory is set to the larger of the end of the kernel bss region (_end) or the end of the initrd. In a typical memory layout where the initrd is at some address above the kernel image this means that the start of the bootmem region will be the end of the initrd. But when we are done processing/loading the initrd we have no way to reclaim the memory region it occupied, and we lose a large chunk of now otherwise empty RAM from our final running system. The bootmem code is designed to allow this initrd to be reserved (and the code in finalize_initrd() currently does this). When the initrd is finally processed/loaded its reserved memory is freed. Fix the setting of the start of the bootmem map to be the end of the kernel. [[email protected]: fold in the fix of Ashok Kumar <[email protected]>.] Signed-off-by: Greg Ungerer <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/1574/ Cc: Ashok Kumar <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/5883/ Patchwork: https://patchwork.linux-mips.org/patch/6028/ Patchwork: https://patchwork.linux-mips.org/patch/6064/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Quiet the building output of vmlinux.32 and vmlinux.64Wu Zhangjin1-2/+6
Based on quiet_cmd_X and cmd_X, this patch quiets the building output of vmlinux.32 and vmlinux.64. Signed-off-by: Wu Zhangjin <[email protected]> Cc: [email protected] Cc: Sam Ravnborg <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/1766/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Panic messages should not end in \n.Ralf Baechle11-13/+13
Panic() is going to add a \n itself and it's annoying if a panic message rolls of the screen on a device with no scrollback. Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Use NUMA_NO_NODE instead of -1 for node ID.Ralf Baechle1-1/+2
Original patch by Jianguo Wu <[email protected]>. Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: of/pci: Use of_pci_range_parserAndrew Murray1-32/+18
This patch converts the pci_load_of_ranges function to use the new common of_pci_range_parser. Signed-off-by: Andrew Murray <[email protected]> Signed-off-by: Andrew Murray <[email protected]> Signed-off-by: Liviu Dudau <[email protected]> Signed-off-by: Gabor Juhos <[email protected]> Reviewed-by: Rob Herring <[email protected]> Reviewed-by: Grant Likely <[email protected]> Tested-by: Linus Walleij <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5625/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: BCM47XX: Fix detected clock on Asus WL520GC and WL520GUHauke Mehrtens1-0/+11
The Asus WL520GC and WL520GU are based on the BCM5354 and clocked at 200MHz, but they do not have a clkfreq nvram variable set to the correct value. This adds a workaround for these devices. Signed-off-by: Hauke Mehrtens <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5843/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: BCM47XX: Fix clock detection for BCM5354 with 200MHz clockHauke Mehrtens1-0/+12
Some BCM5354 SoCs are running at 200MHz, but it is not possible to read the clock from a register like it is done on some other SoC in ssb and bcma. These devices should have a clkfreq nvram configuration value set to 200, read it and set the clock to the correct value. Signed-off-by: Hauke Mehrtens <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5842/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: BCM47XX: Get GPIO pin from nvram configurationHauke Mehrtens2-0/+22
The nvram contains some gpio configuration for boards. It is stored in a gpio<number>=name format e.g. gpio8=wps_button gpio4=robo_reset This patches adds a function to parse these entries, so other driver can use it. Signed-off-by: Hauke Mehrtens <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5841/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: BCM47XX: Print board name in /proc/cpuinfoHauke Mehrtens1-1/+26
Do not print the constant system type "Broadcom BCM47XX" but print the name of the actual SoC in use and the detected board. Signed-off-by: Hauke Mehrtens <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5839/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: BCM47XX: Add board detectionHauke Mehrtens4-0/+422
Detect on which board this code is running based on some nvram settings. This is needed to start board specific workarounds and configure the leds and buttons which are on different gpios on every board. This patches add some boards we have seen, but there are many more. Signed-off-by: Hauke Mehrtens <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5840 Patchwork: https://patchwork.linux-mips.org/patch/5855/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Kconfig: CMP support needs to select SMP as wellMarkos Chandras1-0/+1
The CMP code is only designed to work with SMP configurations. Fixes multiple build problems on certain randconfigs: In file included from arch/mips/kernel/smp-cmp.c:34:0: arch/mips/include/asm/smp.h:28:0: error: "raw_smp_processor_id" redefined [-Werror] In file included from include/linux/sched.h:30:0, from arch/mips/kernel/smp-cmp.c:22: include/linux/smp.h:135:0: note: this is the location of the previous definition In file included from arch/mips/kernel/smp-cmp.c:34:0: arch/mips/include/asm/smp.h:57:20: error: redefinition of 'smp_send_reschedule' In file included from include/linux/sched.h:30:0, from arch/mips/kernel/smp-cmp.c:22: include/linux/smp.h:179:20: note: previous definition of 'smp_send_reschedule' was here In file included from arch/mips/kernel/smp-cmp.c:34:0: arch/mips/include/asm/smp.h: In function 'smp_send_reschedule': arch/mips/include/asm/smp.h:61:8: error: dereferencing pointer to incomplete type [...] Signed-off-by: Markos Chandras <[email protected]> Cc: [email protected] Cc: Markos Chandras <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/5812/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: Move definition of SMP processor id register to header fileJayachandran C4-80/+49
The definition of the CP0 register used to save the smp processor id is repicated in many files, move them all to thread_info.h. Signed-off-by: Jayachandran C <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5708/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: ath79: Remove ar933x_uart_platform.h headerGabor Juhos2-24/+0
In commit 15ef17f622033455dcf03ae96256e474073a7b11 (tty: ar933x_uart: use the clk API to get the uart clock), the AR933x UART driver for has been converted to get the uart clock rate via the clock API and it does not use the platform data anymore. Remove the ar933x_uart_platform.h header file and get rid of the superfluous variable and initialization code in platform setup. Signed-off-by: Gabor Juhos <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5832/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: ath79: simplify platform_get_resource_byname/devm_ioremap_resourceJulia Lawall2-12/+0
Remove unneeded error handling on the result of a call to platform_get_resource_byname when the value is passed to devm_ioremap_resource. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression pdev,res,e,e1; expression ret != 0; identifier l; @@ res = platform_get_resource_byname(...); - if (res == NULL) { ... \(goto l;\|return ret;\) } e = devm_ioremap_resource(e1, res); // </smpl> Signed-off-by: Julia Lawall <[email protected]> Acked-by: Gabor Juhos <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5725/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-29MIPS: SMP: kill redundant call of generic_smp_call_function_single_interrupt()Jiang Liu1-1/+0
Since commit 9a46ad6d6df3b54 "smp: make smp_call_function_many() use logic similar to smp_call_function_single()", generic_smp_call_function_single_interrupt() is an alias of generic_smp_call_function_interrupt(), so kill the redundant call. Signed-off-by: Jiang Liu <[email protected]> Cc: Jiang Liu <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Shaohua Li <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Jiri Kosina <[email protected]> Cc: Wang YanQing <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/5820/ Signed-off-by: Ralf Baechle <[email protected]>
2013-10-27Linux 3.12-rc7Linus Torvalds1-1/+1
2013-10-27Merge branch 'parisc-3.12' of ↵Linus Torvalds1-0/+4
git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc fix from Helge Deller: "This is a 2-line patch to save the CPU register which holds our task thread info pointer before calling a firmware function and then to restore it again afterwards. This is necessary because on some 64bit machines the high-order 32bits are being clobbered by the firmware call, and thus we failed to bring up secondary CPUs (and instead crashed the kernel) in some situations eg if we had more than 4GB RAM. This patch fixes a bug which has been since ever in the parisc linux kernel and which prevented some people to use a 64bit kernel" * 'parisc-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Do not crash 64bit SMP kernels on machines with >= 4GB RAM
2013-10-27Merge branch 'timers-urgent-for-linus' of ↵Linus Torvalds1-15/+50
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer fix from Ingo Molnar: "This tree contains a clockevents regression fix for certain ARM subarchitectures" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: clockevents: Sanitize ticks to nsec conversion
2013-10-27Merge branch 'perf-urgent-for-linus' of ↵Linus Torvalds5-20/+19
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf fixes from Ingo Molnar: "The tree contains three fixes: - Two tooling fixes - Reversal of the new 'MMAP2' extended mmap record ABI, introduced in this merge window. (Patches were proposed to fix it but it was all a bit late and we felt it's safer to just delay the ABI one more kernel release and do it right)" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf: Disable PERF_RECORD_MMAP2 support perf scripting perl: Fix build error on Fedora 12 perf probe: Fix to initialize fname always before use it
2013-10-27Merge branch 'core-urgent-for-linus' of ↵Linus Torvalds1-16/+16
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull locking fix from Ingo Molnar: "This tree fixes a boot crash in CONFIG_DEBUG_MUTEXES=y kernels, on kernels built with GCC 3.x (there are still such distros)" Side note: it's not just a fix for old gcc versions, it's also removing an incredibly broken/subtle check that LLVM had issues with, and that made no sense. * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: mutex: Avoid gcc version dependent __builtin_constant_p() usage
2013-10-27Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pendingLinus Torvalds6-24/+50
Pull SCSI target fixes from Nicholas Bellinger: "Here are the outstanding target pending fixes for v3.12-rc7. This includes a number of EXTENDED_COPY related fixes as a result of Thomas and Doug's continuing testing and feedback. Also included is an important vhost/scsi fix that addresses a long standing issue where the 'write' parameter for get_user_pages_fast() was incorrectly set for virtio-scsi WRITEs -> DMA_TO_DEVICE, and not for virtio-scsi READs -> DMA_FROM_DEVICE. This resulted in random userspace segfaults and other unpleasantness on KVM host, and unfortunately has been an issue since the initial merge of vhost/scsi in v3.6. This patch is CC'ed to stable, along with two other less critical items" * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: vhost/scsi: Fix incorrect usage of get_user_pages_fast write parameter target/pscsi: fix return value check target: Fail XCOPY for non matching source + destination block_size target: Generate failure for XCOPY I/O with non-zero scsi_status target: Add missing XCOPY I/O operation sense_buffer iser-target: check device before dereferencing its variable target: Return an error for WRITE SAME with ANCHOR==1 target: Fix assignment of LUN in tracepoints target: Reject EXTENDED_COPY when emulate_3pc is disabled target: Allow non zero ListID in EXTENDED_COPY parameter list target: Make target_do_xcopy failures return INVALID_PARAMETER_LIST
2013-10-27Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dmaLinus Torvalds2-1/+8
Pull slave-dmaengine fixes from Vinod Koul: "Here is the late fixes pull request for dmaengine while you fly back from KS. We have a new dmaengine ML hosted by vger so a patch for that along with addition of Dave as driver mainatainer for ioat. Other fixes are memeory leak fixes on edma driver, small fixes on rcar-hpbdma driver by Sergei" * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma: dmaengine: edma: fix another memory leak dma: edma: Fix memory leak MAINTAINERS: add to ioatdma maintainer list MAINTAINERS: add the new dmaengine mailing list
2013-10-27parisc: Do not crash 64bit SMP kernels on machines with >= 4GB RAMHelge Deller1-0/+4
Since the beginning of the parisc-linux port, sometimes 64bit SMP kernels were not able to bring up other CPUs than the monarch CPU and instead crashed the kernel. The reason was unclear, esp. since it involved various machines (e.g. J5600, J6750 and SuperDome). Testing showed, that those crashes didn't happened when less than 4GB were installed, or if a 32bit Linux kernel was booted. In the end, the fix for those SMP problems is trivial: During the early phase of the initialization of the CPUs, including the monarch CPU, the PDC_PSW firmware function to enable WIDE (=64bit) mode is called. It's documented that this firmware function may clobber various registers, and one one of those possibly clobbered registers is %cr30 which holds the task thread info pointer. Now, if %cr30 would always have been clobbered, then this bug would have been detected much earlier. But lots of testing finally showed, that - at least for %cr30 - on some machines only the upper 32bits of the 64bit register suddenly turned zero after the firmware call. So, after finding the root cause, the explanation for the various crashes became clear: - On 32bit SMP Linux kernels all upper 32bit were zero, so we didn't faced this problem. - Monarch CPUs in 64bit mode always booted sucessfully, because the inital task thread info pointer was below 4GB. - Secondary CPUs booted sucessfully on machines with less than 4GB RAM because the upper 32bit were zero anyay. - Secondary CPus failed to boot if we had more than 4GB RAM and the task thread info pointer was located above the 4GB boundary. Finally, the patch to fix this problem is trivial by saving the %cr30 register before the firmware call and restoring it afterwards. Signed-off-by: Helge Deller <[email protected]> Signed-off-by: John David Anglin <[email protected]> Cc: <[email protected]> # 2.6.12+ Signed-off-by: Helge Deller <[email protected]>