android_kernel_samsung_univ.../arch/arm/include/asm
Nicolas Pitre ec706dab29 ARM: add a vma entry for the user accessible vector page
The kernel makes the high vector page visible to user space. This page
contains (amongst others) small code segments that can be executed in
user space.  Make this page visible through ptrace and /proc/<pid>/mem
in order to let gdb perform code parsing needed for proper unwinding.

For example, the ERESTART_RESTARTBLOCK handler actually has a stack
frame -- it returns to a PC value stored on the user's stack.   To
unwind after a "sleep" system call was interrupted twice, GDB would
have to recognize this situation and understand that stack frame
layout -- which it currently cannot do.

We could fix this by hard-coding addresses in the vector page range into
GDB, but that isn't really portable as not all of those addresses are
guaranteed to remain stable across kernel releases.  And having the gdb
process make an exception for this page and get  content from its own
address space for it looks strange, and it is not future proof either.

Being located above PAGE_OFFSET, this vma cannot be deleted by
user space code.

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
2010-10-01 22:35:19 -04:00
..
hardware Merge branch 'for-linus/samsung-2635' of git://git.fluff.org/bjdooks/linux 2010-08-14 11:59:44 -07:00
mach Merge branch 'devel-stable' into devel 2010-07-31 14:20:16 +01:00
a.out-core.h
a.out.h
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
assembler.h ARM: fix build error in arch/arm/kernel/process.c 2010-04-21 08:45:21 +01:00
atomic.h ARM: 6212/1: atomic ops: add memory constraints to inline asm 2010-07-09 11:29:35 +01:00
auxvec.h
bitops.h ARM: boolean bit testing 2009-10-11 16:25:06 +01:00
bitsperlong.h
bug.h
bugs.h
byteorder.h
cache.h dma-mapping: rename ARCH_KMALLOC_MINALIGN to ARCH_DMA_MINALIGN 2010-08-11 08:59:21 -07:00
cacheflush.h ARM: 6112/1: Use the Inner Shareable I-cache and BTB ops on ARMv7 SMP 2010-05-08 10:44:30 +01:00
cachetype.h
checksum.h
clkdev.h ARM: 6001/1: removing compilation warning comming from clkdev.h 2010-03-29 17:33:32 +01:00
cpu-multi32.h
cpu-single.h
cpu.h ARM: 5872/1: ARM: include needed linux/cpu.h in asm/cpu.h 2010-01-10 13:03:52 +00:00
cputime.h
cputype.h Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel 2009-09-21 16:02:30 +01:00
current.h
delay.h
device.h
div64.h
dma-mapping.h Revert "[ARM] pxa: remove now unnecessary dma_needs_bounce()" 2010-09-08 12:28:39 +01:00
dma.h ARM: 5870/1: arch/arm: Fix build failure for defconfigs without CONFIG_ISA_DMA_API set 2010-01-10 00:08:03 +00:00
domain.h
ecard.h
elf.h ARM: add a vma entry for the user accessible vector page 2010-10-01 22:35:19 -04:00
emergency-restart.h
entry-macro-vic2.S ARM: Add common entry code for system with two VICs 2010-01-15 17:10:14 +09:00
errno.h
fb.h
fcntl.h
fiq.h
fixmap.h
flat.h
floppy.h
fpstate.h
ftrace.h Merge branch 'devel-stable' into devel 2009-09-12 12:02:26 +01:00
futex.h ARM: fix build error in arch/arm/kernel/process.c 2010-04-21 08:45:21 +01:00
glue.h ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
gpio.h
hardirq.h ARM: 6138/1: Add support for 10 hardirq bits 2010-05-20 23:51:07 +01:00
highmem.h kmap_atomic: make kunmap_atomic() harder to misuse 2010-08-09 20:44:54 -07:00
hw_irq.h
hwcap.h ARM: 6207/1: Replace CONFIG_HAS_TLS_REG with HWCAP_TLS and check for it on V6 2010-07-09 14:41:35 +01:00
ide.h
io.h ARM: implement CONFIG_STRICT_DEVMEM by disabling access to RAM via /dev/mem 2010-10-01 22:31:34 -04:00
ioctl.h
ioctls.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
ipcbuf.h
irq_regs.h
irq.h ARM: 6197/2: preliminary support for sparse IRQ 2010-07-09 14:41:33 +01:00
irqflags.h
Kbuild archs: replace unifdef-y with header-y 2010-08-14 22:26:51 +02:00
kdebug.h
kexec.h ARM: 6117/1: kdump: implement crash_setup_regs() 2010-07-09 15:00:51 +01:00
kgdb.h kgdb,arm: Individual register get/set for arm 2010-08-05 09:22:21 -05:00
kmap_types.h kdb: core for kgdb back end (2 of 2) 2010-05-20 21:04:21 -05:00
kprobes.h
leds.h
limits.h
linkage.h
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
local.h
localtimer.h
locks.h
mach-types.h arm: move mach-types to include/generated 2009-12-12 13:08:14 +01:00
mc146818rtc.h
memblock.h ARM: Convert platform reservations to use LMB rather than bootmem 2010-07-27 08:48:23 +01:00
memory.h Merge branch 'misc' into devel 2010-07-31 14:20:02 +01:00
mman.h arm: add arch_mmap_check(), get rid of sys_arm_mremap() 2009-12-11 06:34:09 -05:00
mmu_context.h ARM: add a vma entry for the user accessible vector page 2010-10-01 22:35:19 -04:00
mmu.h ARM: 5905/1: ARM: Global ASID allocation on SMP 2010-02-15 21:39:51 +00:00
module.h
msgbuf.h
mtd-xip.h
mutex.h
nwflash.h
outercache.h ARM: 5994/1: ARM: Add outer_cache_fns.sync function pointer (2/4) 2010-03-25 21:13:49 +00:00
page-nommu.h
page.h ARM: Pass VMA to copy_user_highpage() implementations 2009-10-05 15:17:45 +01:00
param.h
parport.h
pci.h ARM: 6058/1: Add support for PCI domains 2010-04-22 21:38:11 +01:00
percpu.h
perf_event.h ARM: 6330/1: perf: reword comments relating to perf_event_do_pending 2010-09-01 10:06:08 +01:00
pgalloc.h ARM: implement highpte 2009-08-17 20:02:06 +01:00
pgtable-hwdef.h
pgtable-nommu.h ARM: 5988/1: pgprot_dmacoherent() for non-mmu builds 2010-03-13 10:48:22 +00:00
pgtable.h ARM: 6383/1: Implement phys_mem_access_prot() to avoid attributes aliasing 2010-09-19 12:19:18 +01:00
pmu.h ARM: 6064/1: pmu: register IRQs at runtime 2010-05-17 11:53:57 +01:00
poll.h
posix_types.h
proc-fns.h ARM: Kill CONFIG_CPU_32 2009-12-18 16:07:53 +00:00
processor.h ARM: 6194/1: change definition of cpu_relax() for ARM11MPCore 2010-07-01 10:13:52 +01:00
procinfo.h
ptrace.h ARM: Tighten check for allowable CPSR values 2010-08-15 22:04:24 +01:00
resource.h
scatterlist.h asm-generic: remove ARCH_HAS_SG_CHAIN in scatterlist.h 2010-05-27 09:12:54 -07:00
seccomp.h ARM: SECCOMP support 2010-10-01 22:32:18 -04:00
sections.h
segment.h
sembuf.h
serial.h
setup.h ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
sizes.h
smp_plat.h ARM: Fix ptrace accesses 2009-12-14 14:54:28 +00:00
smp_scu.h
smp_twd.h ARM: 6125/1: ARM TWD: move TWD registers to common header 2010-05-12 11:18:13 +01:00
smp.h ARM: rename mach_cpu_disable() to platform_cpu_disable() 2010-05-15 15:03:51 +01:00
socket.h net: Generalize socket rx gap / receive queue overflow cmsg 2009-10-12 13:26:31 -07:00
sockios.h
sparsemem.h
spinlock_types.h locking: Convert raw_rwlock to arch_rwlock 2009-12-14 23:55:32 +01:00
spinlock.h ARM: 5897/1: spinlock: don't use deprecated barriers on ARMv7 2010-02-15 21:39:50 +00:00
stackprotector.h ARM: initial stack protector (-fstack-protector) support 2010-06-14 21:31:00 -04:00
stacktrace.h
stat.h
statfs.h
string.h
swab.h ARM: 5772/1: Use REV and REV16 for byte swapping on ARMv6+ 2009-10-25 15:59:53 +00:00
system.h ARM: 6269/1: Add 'code' parameter for hook_fault_code() 2010-07-27 10:48:34 +01:00
tcm.h ARM: 5580/2: ARM TCM (Tightly-Coupled Memory) support v3 2009-09-15 22:11:05 +01:00
termbits.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
termios.h
therm.h
thread_info.h ARM: SECCOMP support 2010-10-01 22:32:18 -04:00
thread_notify.h ARM: Convert VFP/Crunch/XscaleCP thread_release() to exit_thread() 2009-12-18 14:53:41 +00:00
timex.h
tlb.h
tlbflush.h ARM: 6299/1: errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID 2010-08-10 22:10:54 +01:00
tls.h ARM: 6207/1: Replace CONFIG_HAS_TLS_REG with HWCAP_TLS and check for it on V6 2010-07-09 14:41:35 +01:00
topology.h
traps.h
types.h
uaccess.h ARM: fix build error in arch/arm/kernel/process.c 2010-04-21 08:45:21 +01:00
ucontext.h ARM: 6051/1: VFP: preserve the HW context when calling signal handlers 2010-04-14 11:11:30 +01:00
unaligned.h
unified.h Fix "W" macro in arch/arm/include/asm/unified.h 2009-09-18 23:30:11 +01:00
unistd.h ARM: 6343/1: wire up fanotify and prlimit64 syscalls on ARM 2010-09-01 10:06:08 +01:00
unwind.h
user.h ARM: 6051/1: VFP: preserve the HW context when calling signal handlers 2010-04-14 11:11:30 +01:00
vfp.h
vfpmacros.h ARM: 6203/1: Make VFPv3 usable on ARMv6 2010-07-09 14:41:34 +01:00
vga.h
xor.h