summaryrefslogtreecommitdiffstats
path: root/arch
AgeCommit message (Collapse)Author
2012-10-01frv: switch to generic kernel_execveAl Viro
Acked-by: David Howells <dhowells@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-10-01frv: switch to generic sys_execve()Al Viro
current_pt_regs() here is simply __frame Acked-by: David Howells <dhowells@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-10-01frv: split ret_from_fork, simplify kernel_thread() a lotAl Viro
Acked-by: David Howells <dhowells@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-10-01m68k: switch to generic sys_execve()/kernel_execve()Al Viro
The tricky part here is that task_pt_regs() on m68k works *only* for process inside do_signal(). However, we need something much simpler - pt_regs of a process inside do_signal() may be at different offsets from the stack bottom, depending on the way we'd entered the kernel, but for a task inside sys_execve() it *is* at constant offset. Moreover, for a kernel thread about to become a userland process the same location is also fine - setting sp to that will leave the kernel stack pointer at the very bottom of the kernel stack when we finally switch to userland. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-10-01m68k: split ret_from_fork(), simplify kernel_thread()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-10-01m68k: always set stack frame format for ColdFire on thread startGreg Ungerer
The stack frame "format" field needs to be explicitly set on thread creation on ColdFire. For a normal long word aligned user stack pointer the frame format is 0x4. We were doing this for non-MMU ColdFire, but not for the case with MMU enabled. So fix it so we always do it if targeting ColdFire. The old code happend to rely on the stack frame format being inhereted from the process calling exec. Furture changes means that may not always work, so we really do want to set it explicitly. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30powerpc: switch to generic sys_execve()/kernel_execve()Al Viro
the only non-obvious part is that current_pt_regs() is really needed here - task_pt_regs() is NULL for kernel threads; it's OK for ptrace uses (the thing task_pt_regs() is intended for), but not for us. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30powerpc: split ret_from_forkAl Viro
... and get rid of in-kernel syscalls in kernel_thread() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30s390: convert to generic kernel_execve()Al Viro
same situation as with alpha and arm - only massage needed Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30s390: switch to generic kernel_thread()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30s390: fold kernel_thread_helper() into ret_from_fork()Al Viro
... and don't bother with syscall return path in case of kernel threads. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30s390: fold execve_tail() into start_thread(), convert to generic sys_execve()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30um: switch to generic kernel_thread()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30x86, um/x86: switch to generic sys_execve and kernel_execveAl Viro
32bit wrapper is lost on that; 64bit one is *not*, since we need to arrange for full pt_regs on stack when we call sys_execve() and we need to load callee-saved ones from there afterwards. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30x86: split ret_from_forkAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30alpha: introduce ret_from_kernel_execve(), switch to generic kernel_execve()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30alpha: switch to generic kernel_thread()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30alpha: switch to generic sys_execve()Al Viro
get rid of sys_execve() wrapper, while we are at it Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30arm: get rid of execve wrapper, switch to generic execve() implementationAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30arm: optimized current_pt_regs()Al Viro
... no need to read current_thread_info()->task only to feed it to task_thread_page() immediately afterwards. Moreover, not using current_thread_info() at all ends up with better assembler - we need a location very close to the top of kernel stack page and it's actually better to do or with 0x1fff, followed be subtracting a small constant than and with ~0x1fff, followed by adding a large one. Both & and | would be a couple of insns (mvn lsr/mvn lsl for |, a pair of bic for &), but the following addition would cost a pair of add while the subtraction ends up as a single sub. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30arm: introduce ret_from_kernel_execve(), switch to generic kernel_execve()Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30arm: split ret_from_fork, simplify kernel_thread() [based on patch by rmk]Al Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30preparation for generic kernel_thread()Al Viro
Let architectures select GENERIC_KERNEL_THREAD and have their copy_thread() treat NULL regs as "it came from kernel_thread(), sp argument contains the function new thread will be calling and stack_size - the argument for that function". Switching the architectures begins shortly... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2012-09-30Merge branch 'hyp-boot-mode-rmk' of ↵Russell King
git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into devel-stable
2012-09-29ARM: add v7 multi-platform defconfigRob Herring
Add a v7 defconfig enabling highbank, socfpga, mvebu, and vexpress platforms and their drivers. Most other options are left to the default. The existing individual platform defconfigs are kept for now as they are a bit different. In some cases, the choices look pretty arbitrary and just copied from other defconfigs. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Andrew Lunn <andrew@lunn.ch> Cc: Gregory Clement <gregory.clement@free-electrons.com> Cc: Dinh Nguyen <dinguyen@altera.com> Cc: Pawel Moll <pawel.moll@arm.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-09-29Merge tag 'ep93xx-fixes-for-3.7' of git://github.com/RyanMallon/linux-ep93xx ↵Olof Johansson
into next/fixes-non-critical From Ryan Mallon: * tag 'ep93xx-fixes-for-3.7' of git://github.com/RyanMallon/linux-ep93xx: ARM: ep93xx: Move ts72xx.h out of include/mach ARM: ep93xx: use __iomem pointers for MMIO ARM: ep93xx: Fix build error due to 'SZ_32M' undeclared
2012-09-29Merge branch 'lpc32xx/core' of git://git.antcom.de/linux-2.6 into next/socOlof Johansson
From Roland Stigge, three more updates to lpc32xx. * 'lpc32xx/core' of git://git.antcom.de/linux-2.6: ARM: LPC32xx: Support GPI 28 ARM: LPC32xx: Platform update for devicetree completion of spi-pl022 ARM: LPC32xx: Board cleanup
2012-09-29Merge branch 'lpc32xx/dts' of git://git.antcom.de/linux-2.6 into next/dtOlof Johansson
From Roland Stigge. Pulling in one bugfix to the lpc32xx DT conversion. * 'lpc32xx/dts' of git://git.antcom.de/linux-2.6: ARM: LPC32xx: LED fix in PHY3250 DTS file
2012-09-29Merge branch 'vt8500/devel' into next/dtOlof Johansson
Picked up one more bugfix by Tony Prisk: * vt8500/devel: arm: vt8500: Fixup for missing gpio.h
2012-09-29arm: vt8500: Fixup for missing gpio.hTony Prisk
mach/include/gpio.h was removed as part of the multiplatform-3.7 update. This patch removes the include from arch-vt8500/vt8500.c Signed-off-by: Tony Prisk <linux@prisktech.co.nz> Signed-off-by: Olof Johansson <olof@lixom.net>
2012-09-29Merge tag 'omap-devel-board-late-v3-for-v3.7' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup From Tony Lindgren: These board and platform related patches have been posted quite a while ago but have somehow fallen though the cracks as most of the focus has been making things to work with device tree. As the first patch depends on sparse IRQ related removal of irqs.h and related header moves, these are based on omap-cleanup-local-headers-for-v3.7 tag. * tag 'omap-devel-board-late-v3-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: serial: Change MAX_HSUART_PORTS to 6 ARM: OMAP4: twl-common: Support for additional devices on i2c1 bus
2012-09-29Merge tag 'devel-dt-arch-timer-for-v3.7' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt From Tony Lindgren: Few late patches to enable arch timer for omap5 using device tree. * tag 'devel-dt-arch-timer-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP5: Enable arch timer support ARM: OMAP: Add initialisation for the real-time counter.
2012-09-29efi: Fix the ACPI BGRT driver for images located in EFI boot services memoryJosh Triplett
The ACPI BGRT driver accesses the BIOS logo image when it initializes. However, ACPI 5.0 (which introduces the BGRT) recommends putting the logo image in EFI boot services memory, so that the OS can reclaim that memory. Production systems follow this recommendation, breaking the ACPI BGRT driver. Move the bulk of the BGRT code to run during a new EFI late initialization phase, which occurs after switching EFI to virtual mode, and after initializing ACPI, but before freeing boot services memory. Copy the BIOS logo image to kernel memory at that point, and make it accessible to the BGRT driver. Rework the existing ACPI BGRT driver to act as a simple wrapper exposing that image (and the properties from the BGRT) via sysfs. Signed-off-by: Josh Triplett <josh@joshtriplett.org> Link: http://lkml.kernel.org/r/93ce9f823f1c1f3bb88bdd662cce08eee7a17f5d.1348876882.git.josh@joshtriplett.org Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2012-09-29efi: Add a function to look up existing IO memory mappingsJosh Triplett
The EFI initialization creates virtual mappings for EFI boot services memory, so if a driver wants to access EFI boot services memory, it cannot call ioremap itself; doing so will trip the WARN about mapping RAM twice. Thus, a driver accessing EFI boot services memory must do so via the existing mapping already created during EFI intiialization. Since the EFI code already maintains a memory map for that memory, add a function efi_lookup_mapped_addr to look up mappings in that memory map. Signed-off-by: Josh Triplett <josh@joshtriplett.org> Link: http://lkml.kernel.org/r/0eb48ae012797912874919110660ad420b90268b.1348876882.git.josh@joshtriplett.org Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2012-09-29efi: Defer freeing boot services memory until after ACPI initJosh Triplett
Some new ACPI 5.0 tables reference resources stored in boot services memory, so keep that memory around until we have ACPI and can extract data from it. Signed-off-by: Josh Triplett <josh@joshtriplett.org> Link: http://lkml.kernel.org/r/baaa6d44bdc4eb0c58e5d1b4ccd2c729f854ac55.1348876882.git.josh@joshtriplett.org Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2012-09-29defconfigs: remove CONFIG_MTD_NAND_VERIFY_WRITEHuang Shijie
CONFIG_MTD_NAND_VERIFY_WRITE was killed recently, so remove it from defconfigs as well. Signed-off-by: Huang Shijie <b32955@freescale.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2012-09-29mtd: autcpu12-nvram: Convert driver to platform_deviceAlexander Shiyan
Because we can have a single kernel to support multiple machines, we need to make loading specific drivers for the target platform only. For this, driver is converted to the platform driver. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2012-09-28ARM: mvebu: fix build breaks from multi-platform conversionRob Herring
Moving ARCH_MVEBU for multi-platform support caused several breakages in recently added addr-map and pinctrl support for mvebu. This adds the necessary selects and include paths to fix the build. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Gregory CLEMENT <gregory.clement@free-electrons.com> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-09-28ARM: nomadik: remove NAND_NO_READRDY useArnd Bergmann
The nhk8815 board files uses NAND_NO_READRDY in its platform data, but this macro is getting removed because it was not being used anywhere. Without this patch, building nhk8815_defconfig results in: arch/arm/mach-nomadik/board-nhk8815.c:118:6: error: 'NAND_NO_READRDY' undeclared here (not in a function) Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Alessandro Rubini <rubini@unipv.it> Cc: Linus Walleij <linus.walleij@linaro.org>
2012-09-28ARM: 7541/1: Add ARM ERRATA 775420 workaroundSimon Horman
arm: Add ARM ERRATA 775420 workaround Workaround for the 775420 Cortex-A9 (r2p2, r2p6,r2p8,r2p10,r3p0) erratum. In case a date cache maintenance operation aborts with MMU exception, it might cause the processor to deadlock. This workaround puts DSB before executing ISB if an abort may occur on cache maintenance. Based on work by Kouei Abe and feedback from Catalin Marinas. Signed-off-by: Kouei Abe <kouei.abe.cp@rms.renesas.com> [ horms@verge.net.au: Changed to implementation suggested by catalin.marinas@arm.com ] Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-09-28ARM: 7542/1: mm: fix cache LoUIS API for xscale and feroceonLorenzo Pieralisi
Some architectures like xscale and feroceon have cache API variants that map cache flushing functions as aliases to the base architecture. This patch adds the required aliases to complete the implementation of cache flushing LoUIS API. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-09-28sparc64: Fix trailing whitespace in NG4 memcpy.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-09-28Merge branch 'cleanup/__iomem' into next/cleanup2Arnd Bergmann
* cleanup/__iomem: ARM: Orion5x: ts78xx: Add IOMEM for virtual addresses. ARM: ux500: use __iomem pointers for MMIO Two new cleanup patches that were not already part of the first cleanup branch. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-09-28ARM: Orion5x: ts78xx: Add IOMEM for virtual addresses.Andrew Lunn
Also convert logical or to + for register offsets from base addresses. This fixes a number of warnings currently seen in linux-next: warning: passing argument 2 of '__raw_writeb' makes pointer from interger without cast. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-09-28ARM: ux500: use __iomem pointers for MMIOArnd Bergmann
In the earlier sweeping changes, the ux500 uncompress.h file was missed because other problems were hiding this one. Without this patch, building u8500_defconfig results in: In file included from arch/arm/boot/compressed/misc.c:33:0: arch/arm/mach-ux500/include/mach/uncompress.h: In function 'putc': arch/arm/mach-ux500/include/mach/uncompress.h:32:2: warning: passing argument 1 of '__raw_readb' makes pointer from integer without a cast [enabled by default] arch/arm/include/asm/io.h:95:89: note: expected 'const volatile void *' but argument is of type 'u32' Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Linus Walleij <linus.walleij@linaro.org>
2012-09-28ARM: shmobile: add new __iomem annotation for new codeArnd Bergmann
While we fixed up all instances that were already present in v3.6, this one came in through new code. Without this patch, building kzm9g_defconfig results in: arch/arm/mach-shmobile/board-kzm9g.c: In function 'kzm9g_restart': arch/arm/mach-shmobile/board-kzm9g.c:781:2: warning: passing argument 2 of '__raw_writel' makes pointer from integer without a cast [enabled by default] Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Cc: Tetsuyuki Kobayashi <koba@kmckk.co.jp> Cc: Simon Horman <horms@verge.net.au>
2012-09-28Merge branch 'bcmring/removal' into next/multiplatformArnd Bergmann
The removal of bcmring has non-obvious commits with the way the multiplatform configuration works, so merge it in here. Conflicts: arch/arm/Kconfig arch/arm/Makefile arch/arm/mach-bcmring/arch.c Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-09-28Merge branch 'bcmring/removal' into next/cleanup2Arnd Bergmann
From "Christian Daudt" <csd@broadcom.com>: Remove mach-bcmring as this is no longer maintained or used. Updated the removal with: - drop the edit to mach-types requested by Russell King - eliminate defconfig mod from patch 1 requested Olof Johansson Also switched to using git send-email to avoid word-wrapping problems * bcmring/removal: ARM: Remove mach-bcmring Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-09-28Merge branch 'bcmring/cleanup' into bcmring/removalArnd Bergmann
Doing a large-scale cleaning and removing the platform in another branch don't mix well, so do the trivial merge here. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-09-28ARM: Remove mach-bcmringArnd Bergmann
Remove mach-bcmring as this is no longer maintained or used. Signed-off-by: Christian Daudt <csd@broadcom.com> Reviewed-by: Jiandong Zheng <jdzheng@broadcom.com> Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>