aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
Commit message (Collapse)AuthorAgeFilesLines
* ARM: 7527/1: uaccess: explicitly check __user pointer when !CPU_USE_DOMAINSRussell King2016-10-294-21/+56
| | | | | | | | | | | | | | | | | | | | commit 8404663f81d212918ff85f493649a7991209fa04 upstream. The {get,put}_user macros don't perform range checking on the provided __user address when !CPU_HAS_DOMAINS. This patch reworks the out-of-line assembly accessors to check the user address against a specified limit, returning -EFAULT if is is out of range. [will: changed get_user register allocation to match put_user] [rmk: fixed building on older ARM architectures] Change-Id: I9bfb98408bd76da6a342258dd50e72aa283f5416 Reported-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* ARM: assembler.h: Add string declaration macroDave Martin2016-10-291-0/+9
| | | | | | | | | | | | | Declaring strings in assembler source involves a certain amount of tedious boilerplate code in order to annotate the resulting symbol correctly. Encapsulating this boilerplate in a macro should help to avoid some duplication and the occasional mistake. Change-Id: I0238dfb0bc97285d9a32b55289b4949cda13fbde Signed-off-by: Dave Martin <dave.martin@linaro.org> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
* ARM: 7301/1: Rename the T() macro to TUSER() to avoid namespace conflictsCatalin Marinas2016-10-297-79/+79
| | | | | | | | | | This macro is used to generate unprivileged accesses (LDRT/STRT) to user space. Change-Id: Iede5f5f8454abafd3b7d4519b7aa77b85fe474b6 Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* tuna: Add CONFIG_SECURITY_PERF_EVENTS_RESTRICT=yKyle Repinski2016-10-292-0/+2
| | | | | Change-Id: Ic3ba8d94c0c83c832054eda8799d9e1251d70b18 Signed-off-by: Kyle Repinski <repinski23@gmail.com>
* UPSTREAM: arm: missing checks of __get_user()/__put_user() return valuesAl Viro2016-10-291-6/+6
| | | | | | | | | | (cherry pick from commit 7f1b5a9966b176e10d6cd322324a82be2379a51b) Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Bug: 9674955 Bug: 25773781 Change-Id: I0bed5e1b77e1309747a963719a12f20b47cd2703
* BACKPORT: FROMLIST: mm: ASLR: use get_random_long()dcashman2016-10-291-1/+1
| | | | | | | | | | | | | (cherry picked from commit https://lkml.org/lkml/2016/2/4/833) Replace calls to get_random_int() followed by a cast to (unsigned long) with calls to get_random_long(). Also address shifting bug which, in case of x86 removed entropy mask for mmap_rnd_bits values > 31 bits. Bug: 26963541 Signed-off-by: Daniel Cashman <dcashman@android.com> Signed-off-by: Daniel Cashman <dcashman@google.com> Change-Id: Iac34b63294ec120edcbf8760186667a84a5cf556
* FROMLIST: arm: mm: support ARCH_MMAP_RND_BITS.dcashman2016-10-292-2/+10
| | | | | | | | | | | | | | | | (cherry picked from commit https://lkml.org/lkml/2015/12/21/341) arm: arch_mmap_rnd() uses a hard-code value of 8 to generate the random offset for the mmap base address. This value represents a compromise between increased ASLR effectiveness and avoiding address-space fragmentation. Replace it with a Kconfig option, which is sensibly bounded, so that platform developers may choose where to place this compromise. Keep 8 as the minimum acceptable value. Bug: 24047224 Signed-off-by: Daniel Cashman <dcashman@android.com> Signed-off-by: Daniel Cashman <dcashman@google.com> Change-Id: I2f6c18a0060e1c21b53200ecdcfde9a8c2e3db98
* ARM: 7169/1: topdown mmap supportRob Herring2016-10-293-5/+171
| | | | | | | | | | | | | | | | Similar to other architectures, this adds topdown mmap support in user process address space allocation policy. This allows mmap sizes greater than 2GB. This support is largely copied from MIPS and the generic implementations. The address space randomization is moved into arch_pick_mmap_layout. Tested on V-Express with ubuntu and a mmap test from here: https://bugs.launchpad.net/bugs/861296 Signed-off-by: Rob Herring <rob.herring@calxeda.com> Acked-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* ARM: 7168/1: use cache type functions for arch_get_unmapped_areaRob Herring2016-10-291-17/+6
| | | | | | | | | | There are already cache type decoding functions, so use those instead of custom decode code which only works for ARMv6. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Acked-by: Nicolas Pitre <nico@linaro.org> Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* tuna: clean up defconfigTrulan Martin2016-05-292-6/+6
| | | | | | | | Re-enable SCSI support (for USB storage). Align with updated BCMD driver. Remove some deprecated options. Change-Id: I6a7f80c35788ce814ac34585bca590e27d2c6674
* tuna: enable CMA in defconfigTrulan Martin2016-05-292-2/+34
| | | | Change-Id: Ibd1164e6fa56d4a1bd8439fa18b23935171a9420
* ARM: ioremap: allow CMA memory to be mapped for Ducati purposesLuden2016-05-011-1/+14
|
* OMAP: switch Ducati allocations to CMALuden2016-05-013-9/+189
|
* CMA fixes for kernel 3.0Luden2016-05-012-0/+16
|
* Added configurable RPROC AUTOSUSPEND timeout.Luden2016-04-032-0/+2
| | | | | | | This setting can be used both to adjust the timeout and to disable autosuspension completely. Change-Id: Idff82013d36ee824772994c708af502a62a232ec
* Power usage bug work-around for tuna SMC.Luden2016-04-032-4/+4
| | | | | | | | | | This commit implements the work-around for the power usage bug in tuna SMC PA and enables SMC-related kernel options. Note that in order to take advantage of this code there are also some userspace changes that are required, e.g. enabling SMC PA loading and using tuna keymaster version that is ported to Keymaster HAL 0. Change-Id: I0e4705c6959e73fbeaec9bfb62d5e82e1dfa62a4
* omap: Fix warning when OMAP errata options are disabled.Kyle Repinski2016-03-111-0/+7
|
* Removed garbage on the screen during early boot.Luden2016-03-111-0/+33
| | | | Change-Id: I76aabb05867233b6e7b84b512bae5f5a640ab589
* tuna: decrease IOBUFS size to 9MBLuden2016-03-112-0/+2
| | | | | | | So far I wasn't able to find the use case when IOBUFS goes above ~8.3MB, so lowering the threshold from 90MB to 9MB seems to be safe. Change-Id: I0dc0874c46a2484cf28dbd2420319f9661d7f3a9
* Add config option to override IPU_MEM_IOBUFS carveout sizeLuden2016-03-112-0/+17
| | | | | | | | Note that omap4_ion_heap_secure_input_addr needs a fixed value instead of a dynamically calculated one, which would change after overriding this carveout size, causing problems as that address is hardcoded in out Ducati. Change-Id: I5018d88c0ecf7444b133f545f963363acaf99198
* tuna: use dynamic tiler allocationsLuden2016-03-112-2/+4
| | | | Change-Id: I357fe0a0f36396fef89faae5429b9ac1b4aa8952
* omap4: ion: add config option to force dynamic tiler allocationsLuden2016-03-112-4/+16
| | | | Change-Id: I35aa150bdeda21b063591cd18ef55f01a6171e8c
* defconfig: enable CONFIG_IDIV_EMULATEMichael Gernoth2016-03-112-0/+2
| | | | | | Allows newer blobs to run Change-Id: Ib7ae1f21b681e5b85301013f8f79545e9369f88f
* arm/traps: get full DIV instruction in thumb modeMichael Gernoth2016-03-111-0/+13
| | | | Change-Id: Ie60d2124d7835e85f03008d3dfe259b70490b4f2
* arm: add SDIV/UDIV emulation for ARMv7 processorsVladimir Murzin2016-03-113-0/+222
| | | | | | | | | | | | | | | | | | | | The Virtualization Extensions introduce the requirement for an ARMv7-A implementation to include SDIV and UDIV. Any implementation of the Virtualization Extensions must include the SDIV and UDIV instructions in the Thumb and ARM instruction sets. In an ARMv7-A implementation that does not include the Virtualization Extensions, it is IMPLEMENTATION DEFINED whether: * SDIV and UDIV are not implemented * SDIV and UDIV are implemented only in the Thumb instruction set * SDIV and UDIV are implemented in the Thumb and ARM instruction sets. This patch adds a handler to trap and emulate unimplemented SDIV and UDIV instructions in ARM and Thumb modes. Also some basic statistic is exported via /proc/cpu/idiv_emulation Change-Id: I8e721ecac62a05fab42ed7db7951b4c837a59bc7 Signed-off-by: Vladimir Murzin <murzin.v@gmail.com>
* ARM: 7206/1: Add generic ARM instruction set condition code checks.Leif Lindholm2016-03-113-1/+93
| | | | | | | | | | | | This patch breaks the ARM condition checking code out of nwfpe/fpopcode.{ch} into a standalone file for opcode operations. It also modifies the code somewhat for coding style adherence, and adds some temporary variables for increased readability. Change-Id: I9935fbdebff9ddd263007412edd6a2b3eb06ae69 Signed-off-by: Leif Lindholm <leif.lindholm@arm.com> Reviewed-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* defconfigs: disable zcacheZiyan2016-02-102-6/+4
| | | | Change-Id: I0b793c06bb6a68ed3045d76cfc5239d0eaa71d60
* tuna: enable UID_CPUTIMEZiyan2016-01-172-0/+2
|
* tuna_defconfig: enable CONFIG_DUMMYZiyan2016-01-172-2/+2
| | | | | | | | Makes Netd happier on M: E/Netd(163): cannot find interface dummy0 See system/netd commit 3667936aadcabddc708797ac38ce1ffb2f992cb3. Change-Id: I8b0e7f99b70a1f07c2f886ce8b0632f087223f77
* defconfigs: disable unnecessary optionsZiyan2016-01-082-40/+37
| | | | | | Mainly debugging ones. Change-Id: I74e154e7774b59e30fcaaa5391ac1f16d70ed3fd
* defconfig: enable LZ4-backed zRAM and ZCacheZiyan2016-01-082-14/+44
| | | | Change-Id: Ida98ff1bce9d2b1c17e10734e872dff67c635dca
* defconfigs: enable KSM_CHECK_PAGEZiyan2016-01-082-0/+2
| | | | Change-Id: I4aa6da2d40301f93af99e29b0462749046999ef7
* tuna: enable BFQ-v7r8 I/O schedulerZiyan2016-01-081-0/+3
| | | | Change-Id: I7e20165ded78349d79e4ea75fcb409f0f8aae7b2
* tuna: add omaplfb platform dataZiyan2016-01-053-3/+21
| | | | | | | This allows us to disable the unused nonsecure tiler2d carveout (10 mb). Since the freed carveout memory will be added to tiler2d, we can lower its carveout size by this amount. Change-Id: I12b0eb55a4bbb2f6dc251697d93c96fc574cc472
* omap: Remove extra newline in resetreason.Kyle Repinski2016-01-051-1/+1
| | | | Change-Id: Ibab8e1b343555e9d359eff6eccbadfd07687a3da
* omap: ion: Remove extra space in debug message.Kyle Repinski2016-01-051-1/+1
| | | | Change-Id: I65bf354322fff214b72ca2950ada8c15a625e202
* tuna: very slightly relax ram timingsBoy Petersen2015-08-211-6/+6
| | | | | ...to avoid errors. Got a report via PM that the sharper values may cause instabilities. I guess these settings are final now.
* tuna: sharper ram timings according to specsBoy Petersen2015-08-211-8/+8
| | | | | | | | | | | Samsung K3PE7E700M RAM chips are CL5. Set it accordingly. Also, set tRCD and tRP to what's still stable. Adjust tWR, tCAS and tRAS to reflect sane values. Lower does not necessarily mean better in these cases. Information sources: http://en.wikipedia.org/wiki/SDRAM_latency http://forums.legitreviews.com/about20065.html
* tuna: defconfigs: do not disable selinuxZiyan2015-08-172-2/+2
| | | | Change-Id: Ia14955d0824e0ef4be802f27b8b14c2addb8e1c6
* tuna: vibrator: remove unnecessary loggingZiyan2015-05-101-8/+3
| | | | | | - don't log sysfs reads - make pwm value change log message clearer - only log vibrator events in dynamic debug mode
* defconfig: enable f2fsZiyan2015-05-022-0/+12
| | | | Change-Id: Ifbd5bb5e617e6ba3b27f1192545802f0ea7c0e82
* tuna: nfc: Disable wakelock when powered off.Kyle Repinski2015-05-021-5/+10
| | | | | | | In less than a day's time I had quite a few minutes of nfc wakelock... Unsure if we should bail if enable/disable of wakelock fails, will revist. Signed-off-by: Kyle Repinski <repinski23@gmail.com>
* [TEST] revert rpc/rpmsg changesZiyan2015-05-017-414/+41
|
* Revert "tuna: remove duplicated call"Ziyan2015-04-201-0/+1
| | | | This reverts commit b01a056a0b676685942d80886c069499e86058e0.
* OMAPDSS: DSS: Scale DSS OPP according to pixel clock rateTaras Kondratiuk2015-04-181-1/+3
| | | | | | | | | | Before enabling pixel clock DSS should set its OPP for OPP framework to set correct VDD_CORE voltage level. When pixel clock is disabled DSS can set the lowest OPP. Change-Id: Ia1459614ae306dba9b048b149e474442e2880bba Signed-off-by: Taras Kondratiuk <taras@ti.com>
* OMAPDSS: DSI: add missing includeZiyan2015-04-181-15/+16
|
* tuna: update defconfigZiyan2015-04-172-8/+14
| | | | | | | | | | | - enable SLUB_DEBUG SLUB_DEBUG is very cheap by default, and allows more expensive poisoning to be turned on at runtime. It also makes /proc/slabinfo available, which is critical for debugging memory issues. - enable CONFIG_CRYPTO_AES_ARM - enable DHD_USE_SCHED_SCAN - normalize
* tuna: remove FB ram size from platform dataZiyan2015-04-151-7/+0
| | | | FB ram size should not be specified since it is being calculated.
* tuna: update regulator configurationsZiyan2015-04-151-0/+24
|
* tuna: disable cgroup memory resource controllerZiyan2015-04-052-2/+2
| | | | | It causes more harm than good. http://lwn.net/Articles/516533/