Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
This file was missed by a previous commit removing AARCH32_EMULATION
Kconfig option.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
|
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>
|
|
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>
|
|
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Reported-by: Arnd Bergmann <arnd@arndb.de>
|
|
External modules don't need to override them.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Reported-by: Arnd Bergmann <arnd@arndb.de>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
IT_MASK changed to IMASK and ISTATUS defined (previously the 0x4
constant was used).
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
|
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>
|
|
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>
|
|
Use PAGE_SIZE instead of the unknown 'size' variable (leaked from the
huge page patches).
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
|
Linux 3.6-rc4
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Remove the arch/arm64/mm/Kconfig inclusion.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
|
The functions are not used when !COMPAT, so leave them as dummy static
inline.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
|
|
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Reported-by: Arnd Bergmann <arnd@arndb.de>
|
|
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>
|
|
|
|
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>
|
|
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
|
|
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
|
|
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
|