aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-09-27arm64: ptrace: remove obsolete ptrace request numbers from user headersHEADmasterWill Deacon
The use of regsets has removed the need for many private ptrace requests, so remove the corresponding definitions from the user-visible ptrace.h Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-24arm64: Do not set the SMP/nAMP processor bitCatalin Marinas
If such bit exists on a given CPU, it must be set by the firmware or boot-loader prior to starting the kernel (see Documentation/arm64/booting.txt). Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-17arm64: Reserve memory range for the PCI I/O spaceCatalin Marinas
This patch reserves 64K for the PCI I/O space in the AArch64 Linux memory map (not mapped yet). Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Reported-by: Arnd Bergmann <arnd@arndb.de>
2012-09-17Revert "Add generic compat_sys_sendfile implementation"Catalin Marinas
This reverts commit d85a06d5ef792f53b674dd7dfda92726dba5f761. The compat_sys_sendfile prototype introduced by this patch does not match the PowerPC implementation. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-17Revert "Add generic compat_sys_sched_rr_get_interval implementation"Catalin Marinas
This reverts commit 338a7bd9176617ae96bea8e73189484d41f7f1c0. The compat_sys_sched_rr_get_interval prototype introduced by this patch does not match the PowerPC implementation. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-17Revert "arm64: Use generic compat_sys_sendfile and ↵Catalin Marinas
compat_sys_sched_rr_get_interval" This reverts commit ec4c071122b5e6a7f5700006d4a893de5982685e. The compat_sys_sendfile and compat_sys_sched_rr_get_interval generic prototypes introduced by previous patches break PowerPC. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-14arm64: Remove the DMA cache coherency functionsCatalin Marinas
These functions are not currently used by the DMA API implementation on AArch64. They may be introduced at a later date if the hardware requires explicit cache maintenance for the DMA buffers. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-14arm64: mm: register zone holes with page allocatorWill Deacon
Ensure that we register any holes with the page allocator so that the corresponding memmap is freed correctly. Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-14arm64: Update Nico's email addressCatalin Marinas
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-14arm64: Use generic compat_sys_sendfile and compat_sys_sched_rr_get_intervalCatalin Marinas
This patch switches the arm64 port to use the generic implementation of the above functions. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Cc: Arnd Bergmann <arnd@arndb.de>
2012-09-14Add generic compat_sys_sched_rr_get_interval implementationCatalin Marinas
This patch adds a generic implementation for compat_sys_sched_rr_get_interval as it is used by other architectures. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
2012-09-14Add generic compat_sys_sendfile implementationCatalin Marinas
This function is used by other architectures requiring compat support, so just make it generic. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Cc: Arnd Bergmann <arnd@arndb.de>
2012-09-14arm64: Use the generic builtin-* ffs/fls implementationCatalin Marinas
This patch removes the arm64-specific ffs/fls implementation and includes the generic gcc builtins implementation. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
2012-09-14Implement generic ffs/fls using __builtin_* functionsCatalin Marinas
This patch implements ffs, __ffs, fls, __fls using __builtin_* gcc functions. These header files can be used by other architectures that rely on the gcc builtins. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
2012-09-14arm64: Optimise the cache flushing for user processesCatalin Marinas
The AArch64 port used deferred cache flushing for user processes via flush_dcache_page() and __sync_icache_dcache() (called from set_pte_at()). Anonymous pages were always flushed in flush_dcache_page. This patch adds deferred flushing for anonymous pages and also avoids the I-cache invalidation in __sync_icache_dcache() for clean pages with VIPT I-cache configurations. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-14arm64: Use Device memory for IO_MMUFLAGS in head.SCatalin Marinas
IO_MMUFLAGS were still using MT_NORMAL as the memory type which is not suitable for device memory. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-14arm64: Replace AARCH32_EMULATION with COMPAT in ptrace.cCatalin Marinas
This file was missed by a previous commit removing AARCH32_EMULATION Kconfig option. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-14arm64: Remove the empty flush_anon_page()Catalin Marinas
Since __flush_anon_page() is empty, the flush_anon_page() function is a no-op. This patch removes the function and only uses the generic one (which is also empty). Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Reported-by: Simon Baatz <gmbnomis@gmail.com>
2012-09-14arm64: Implement cpu_cache_off()Catalin Marinas
This function disables the D-cache during setup_restart(). The patch also removes the empty cpu_cache_init() function. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-14arm64: Remove unnecessary delay in machine_restart()Catalin Marinas
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Reported-by: Arnd Bergmann <arnd@arndb.de>
2012-09-14arm64: Use EXPORT_SYMBOL_GPL for pm_* function pointersCatalin Marinas
External modules don't need to override them. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Reported-by: Arnd Bergmann <arnd@arndb.de>
2012-09-14arm64: Avoid some extern declarations in C filesCatalin Marinas
paging_init() and setup_mm_for_reboot() declarations have been moved to asm/mmu.h Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Reported-by: Arnd Bergmann <arnd@arndb.de>
2012-09-14arm64: Make some symbols in kernel/entry.S staticCatalin Marinas
el0_svc and ret_from_exception do not need to be visible outside the kernel/entry.S file. This patch removes the ENTRY() macro around them. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-07arm64: Update the booting.txt document initial register values and cachesCatalin Marinas
This patch adds the requirement that x1-x3 registers are set to 0 during boot for the primary CPU (reserved for future use). For the secondary CPUs, registers x0-x3 must also be set to 0 (reserved for future use). External caches (if present) must be configured and disabled. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-07arm64: ptrace: use regsets for hardware debug registersWill Deacon
This patch rewrites the ptrace interface to hw_breakpoint so that it uses regsets rather than a homebrew virtual register file. Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-07arm64: ptrace: use regset for TLS registerWill Deacon
Rather than introduce an arch-specific ptrace request (PTRACE_GET_THREAD_INFO), use a regset to describe the TLS register for AArch64 tasks instead. Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-07arm64: Ensure correct casting for get_user/put_user argumentsCatalin Marinas
There may be cases where sizeof(x) != sizeof(*ptr) and this confuses the compiler. This patch makes the conversion to/from "unsigned long" for get_user as that's what the inline asm expects. For put_user, it makes the conversion to __typeof__(*ptr). Most of the times, the compiler will just ignore these and not generate additional code. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-05arm64: Initialise the secondary_holding_pen_release variableWill Deacon
If left uninitialised, some random value could match the CPU Id of a secondary processor causing it to enter the kernel before being allowed by the primary CPU. Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-05arm64: Move the architecture-specific code out of arm_generic.cCatalin Marinas
The msr/mrs instructions for accessing the generic timers are AArch64-specific. The rest of the code however can be share with the AArch32 generic timers (Cortex-A15). This patch separates the architecture-specific code into the asm/arm_generic.h file. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-05arm64: Rename the generic timer constants to match the manualCatalin Marinas
IT_MASK changed to IMASK and ISTATUS defined (previously the 0x4 constant was used). Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-05fixup! arm64: Remove CONFIG_AARCH32_EMULATION Kconfig optionCatalin Marinas
A previous patch removed the AARCH32_EMULATION checks throughout the kernel but missed the Kconfig entry. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-05fixup! arm64: Only use the inline asm for get_user/put_userCatalin Marinas
Further simplify the get_user/put_user macros (similar to the generic code but with get_user setting the value to 0 in case of failure). Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-04fixup! arm64: Cache maintenance routinesCatalin Marinas
Use PAGE_SIZE instead of the unknown 'size' variable (leaked from the huge page patches). Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-04Merge tag 'v3.6-rc4' into upstreamCatalin Marinas
Linux 3.6-rc4
2012-09-04arm64: Only use the inline asm for get_user/put_userCatalin Marinas
Previously the code was using a branch to the corresponding functions defined in .S files. From a performance perspective, inlined get_user/put_user are better but with a few KB increase in the resulting Image size. The patch also reorganises the uaccess.h file so to look consistent. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Reported-by: Arnd Bergmann <arnd@arndb.de>
2012-09-04arm64: Add C3 stop to the generic timer featuresCatalin Marinas
There may be platforms that cannot be waken up by the generic timer directly and we need broadcast support. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Reported-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2012-09-04arm64: Add support for GFP_DMA32 in the DMA API implementationCatalin Marinas
If the device coherent mask is 32-bit or less, just pass GFP_DMA32 to the page allocator to benefit from ZONE_DMA32. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-04arm64: Assume the DMA is coherent and simplify the API implementationCatalin Marinas
The initial code was using swiotlb but assuming that the DMA is not coherent. Until we get a platform that needs this, just assume that the DMA is coherent and simplify the default DMA API implementation. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-04arm64: Remove compat_sys_personality()Catalin Marinas
There isn't a consensus among architectures on whether a 32-bit task can switch its personality from PER_LINUX32 to PER_LINUX. So we just follow the x86 implementation and remove compat_sys_personality(). Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-04arm64: Remove the CLOCK_TICK_RATE macroCatalin Marinas
With commit a7ea3bb (time/jiffies: Allow CLOCK_TICK_RATE to be undefined) this macro is no longer needed. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-04arm64: Remove CONFIG_AARCH32_EMULATION Kconfig optionCatalin Marinas
CONFIG_COMPAT is enough, there is no need to define another Kconfig option. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Reported-by: Arnd Bergmann <arnd@arndb.de>
2012-09-04fixup! arm64: Build files clean-upCatalin Marinas
Remove the arch/arm64/mm/Kconfig inclusion. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-04arm64: Remove BUG() call from compat_setup*_frame()Catalin Marinas
The functions are not used when !COMPAT, so leave them as dummy static inline. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2012-09-04arm64: Rename generic_defconfig to defconfigCatalin Marinas
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Reported-by: Arnd Bergmann <arnd@arndb.de>
2012-09-04arm64: Build files clean-upCatalin Marinas
Remove some unused symbols and loadmap call in install.sh. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Reported-by: Arnd Bergmann <arnd@arndb.de>
2012-09-01Linux 3.6-rc4v3.6-rc4Linus Torvalds
2012-09-01time: Move ktime_t overflow checking into timespec_valid_strictJohn Stultz
Andreas Bombe reported that the added ktime_t overflow checking added to timespec_valid in commit 4e8b14526ca7 ("time: Improve sanity checking of timekeeping inputs") was causing problems with X.org because it caused timeouts larger then KTIME_T to be invalid. Previously, these large timeouts would be clamped to KTIME_MAX and would never expire, which is valid. This patch splits the ktime_t overflow checking into a new timespec_valid_strict function, and converts the timekeeping codes internal checking to use this more strict function. Reported-and-tested-by: Andreas Bombe <aeb@debian.org> Cc: Zhouping Liu <zliu@redhat.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Prarit Bhargava <prarit@redhat.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: stable@vger.kernel.org Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-08-31Merge git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds
Pull KVM bugfixes from Marcelo Tosatti. * git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: x86: fix KVM_GET_MSR for PV EOI kvm: Fix nonsense handling of compat ioctl
2012-08-31Merge tag 'parisc-fixes' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6 Pull PARISC fixes from James Bottomley: "This is a set of two bug fixes. One is the ATOMIC problem which is now causing a compile failure in certain situations. The other is mishandling of PER_LINUX32 which may also cause user visible effects. Signed-off-by: James Bottomley <JBottomley@Parallels.com>" * tag 'parisc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6: [PARISC] fix personality flag check in copy_thread() [PARISC] Redefine ATOMIC_INIT and ATOMIC64_INIT to drop the casts
2012-08-31Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 fixes from Martin Schwidefsky: "A couple of s390 bug fixes for 3.5-rc4" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/32: Don't clobber personality flags on exec s390/smp: add missing smp_store_status() for !SMP s390/dasd: fix ioctl return value s390: Always use "long" for ssize_t to match size_t