linux/arch/arm
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
..
boot ARM: Fix build error when using KCONFIG_CONFIG 2010-09-19 16:18:37 +01:00
common arm: fix "arm: fix pci_set_consistent_dma_mask for dmabounce devices" 2010-09-22 17:22:38 -07:00
configs omap: Fix omap_4430sdp_defconfig for make oldconfig 2010-08-16 09:22:04 +03:00
include/asm ARM: add a vma entry for the user accessible vector page 2010-10-01 22:35:19 -04:00
kernel ARM: add a vma entry for the user accessible vector page 2010-10-01 22:35:19 -04:00
lib Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-08-03 14:31:24 -07:00
mach-aaec2000 ARM: do not define VMALLOC_END relative to PAGE_OFFSET 2010-10-01 22:28:19 -04:00
mach-at91 ARM: 6406/1: at91sam9g45: fix i2c bus speed 2010-09-23 15:08:48 +01:00
mach-bcmring ARM: do not define VMALLOC_END relative to PAGE_OFFSET 2010-10-01 22:28:19 -04:00
mach-clps711x ARM: do not define VMALLOC_END relative to PAGE_OFFSET 2010-10-01 22:28:19 -04:00
mach-cns3xxx ARM: cns3xxx: Add support for AHCI controllers 2010-06-08 17:37:09 +04:00
mach-davinci ARM: 6409/1: davinci: map sram using MT_MEMORY_NONCACHED instead of MT_DEVICE 2010-09-25 15:58:40 +01:00
mach-dove ARM: dove: fix __io() definition to use bus based offset 2010-09-19 22:43:42 -04:00
mach-ebsa110 ARM: do not define VMALLOC_END relative to PAGE_OFFSET 2010-10-01 22:28:19 -04:00
mach-ep93xx ARM: 6359/1: ep93xx: move clock initialization earlier 2010-09-08 12:28:39 +01:00
mach-footbridge ARM: do not define VMALLOC_END relative to PAGE_OFFSET 2010-10-01 22:28:19 -04:00
mach-gemini
mach-h720x ARM: do not define VMALLOC_END relative to PAGE_OFFSET 2010-10-01 22:28:19 -04:00
mach-imx ARM: imx: fix build failure concerning otg/ulpi 2010-08-23 20:50:17 -07:00
mach-integrator ARM: do not define VMALLOC_END relative to PAGE_OFFSET 2010-10-01 22:28:19 -04:00
mach-iop13xx Merge branch 'misc' into devel 2010-07-31 14:20:02 +01:00
mach-iop32x
mach-iop33x
mach-ixp4xx arm: fix "arm: fix pci_set_consistent_dma_mask for dmabounce devices" 2010-09-22 17:22:38 -07:00
mach-ixp23xx ARM: 6283/1: Remove useless PCIO_BASE definitions 2010-08-05 10:35:49 +01:00
mach-ixp2000 ARM: 6269/1: Add 'code' parameter for hook_fault_code() 2010-07-27 10:48:34 +01:00
mach-kirkwood ARM: kirkwood: Unbreak PCIe I/O port 2010-09-19 22:43:25 -04:00
mach-ks8695 ARM: 6269/1: Add 'code' parameter for hook_fault_code() 2010-07-27 10:48:34 +01:00
mach-lh7a40x ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
mach-loki
mach-lpc32xx ARM: LPC32XX: Arch config menu supoport and makefiles 2010-07-27 08:46:22 -07:00
mach-mmp ARM: pxa168: fix corrected reset vector 2010-09-25 09:47:03 +08:00
mach-msm ARM: do not define VMALLOC_END relative to PAGE_OFFSET 2010-10-01 22:28:19 -04:00
mach-mv78xx0
mach-mx3 Merge branch 'imx-for-2.6.36' of git://git.pengutronix.de/git/imx/linux-2.6 2010-09-01 10:08:50 +01:00
mach-mx5 ARM: mxc: turn off HWCAP_NEON for older versions of imx51 silicon 2010-10-01 22:26:38 -04:00
mach-mx25 Merge branch 'imx-for-2.6.36' of git://git.pengutronix.de/git/imx/linux-2.6 2010-09-01 10:08:50 +01:00
mach-mxc91231 ARM: mxc91231: remove paragraphs with old address of the FSF 2010-06-30 09:00:27 +02:00
mach-netx ARM: do not define VMALLOC_END relative to PAGE_OFFSET 2010-10-01 22:28:19 -04:00
mach-nomadik ARM: AMBA: Add pclk definition for platforms using primecells 2010-07-22 09:55:38 +01:00
mach-ns9xxx ARM: 6263/1: ns9xxx: fix FTBFS for zImage 2010-07-26 10:33:07 +01:00
mach-nuc93x
mach-omap1 ARM: do not define VMALLOC_END relative to PAGE_OFFSET 2010-10-01 22:28:19 -04:00
mach-omap2 ARM: do not define VMALLOC_END relative to PAGE_OFFSET 2010-10-01 22:28:19 -04:00
mach-orion5x ARM: Fix gen_nand probe structures contents 2010-08-12 02:21:18 +01:00
mach-pnx4008 ARM: do not define VMALLOC_END relative to PAGE_OFFSET 2010-10-01 22:28:19 -04:00
mach-pxa Merge master.kernel.org:/home/rmk/linux-2.6-arm 2010-09-27 12:32:36 -07:00
mach-realview Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-08-03 14:31:24 -07:00
mach-rpc ARM: do not define VMALLOC_END relative to PAGE_OFFSET 2010-10-01 22:28:19 -04:00
mach-s3c24a0/include/mach
mach-s3c64xx ARM: S3C64XX: Add IORESOURCE_IRQ_HIGHLEVEL flag to dm9000 on mach-real6410 2010-09-18 09:54:55 +09:00
mach-s3c2400
mach-s3c2410 ARM: SAMSUNG: Fix on build warning regarding VMALLOC_END type 2010-08-27 15:28:38 +09:00
mach-s3c2412 ARM: Remove DISCONTIGMEM support 2010-07-16 10:57:35 +01:00
mach-s3c2416 s3c-fb: add device name initialization 2010-08-11 08:59:10 -07:00
mach-s3c2440 panic: keep blinking in spite of long spin timer mode 2010-08-11 08:59:22 -07:00
mach-s3c2443 s3c-fb: add device name initialization 2010-08-11 08:59:10 -07:00
mach-s5p6440 ARM: SAMSUNG: Fix on build warning regarding VMALLOC_END type 2010-08-27 15:28:38 +09:00
mach-s5p6442 ARM: SAMSUNG: Fix on build warning regarding VMALLOC_END type 2010-08-27 15:28:38 +09:00
mach-s5pc100 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-08-11 09:13:19 -07:00
mach-s5pv210 ARM: S5PV210: Add FIMC clocks 2010-09-14 17:59:16 +09:00
mach-s5pv310 ARM: S5PV310: Fix on Secondary CPU startup 2010-08-27 18:29:58 +09:00
mach-sa1100 Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel-stable 2010-08-06 18:10:25 +01:00
mach-shark ARM: do not define VMALLOC_END relative to PAGE_OFFSET 2010-10-01 22:28:19 -04:00
mach-shmobile ARM: mach-shmobile: ap4evb: fix write protect for SDHI1 2010-08-20 20:41:23 +09:00
mach-spear3xx ARM: AMBA: Add pclk definition for platforms using primecells 2010-07-22 09:55:38 +01:00
mach-spear6xx ARM: AMBA: Add pclk definition for platforms using primecells 2010-07-22 09:55:38 +01:00
mach-stmp37xx
mach-stmp378x
mach-tegra arm: tegra: VMALLOC_END should be unsigned long 2010-08-22 12:54:23 -07:00
mach-u300 ARM: 6377/1: supply _cansleep gpio function to U300 2010-09-17 10:16:49 +01:00
mach-ux500 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2010-08-09 21:00:07 -07:00
mach-versatile ARM: do not define VMALLOC_END relative to PAGE_OFFSET 2010-10-01 22:28:19 -04:00
mach-vexpress ARM: 6411/1: vexpress: set RAM latencies to 1 cycle for PL310 on ct-ca9x4 tile 2010-09-27 14:57:36 +01:00
mach-w90x900 i2c/nuc900: add i2c driver support for nuc900 2010-08-11 00:34:38 +01:00
mm ARM: implement CONFIG_STRICT_DEVMEM by disabling access to RAM via /dev/mem 2010-10-01 22:31:34 -04:00
nwfpe ARM: arch/arm/nwfpe/fpsr.h: Checkpatch cleanup 2010-05-24 20:40:12 +01:00
oprofile
plat-iop Merge branch 'misc' into devel 2010-07-31 14:20:02 +01:00
plat-mxc ARM: imx: set cache line size to 64 bytes for i.MX5 2010-08-21 12:22:43 +02:00
plat-nomadik ARM: 6376/1: plat-nomadik: MTU: Change prescaler limit and comment updates 2010-09-17 10:16:48 +01:00
plat-omap ARM: 6408/1: omap: Map only available sram memory 2010-09-25 15:58:40 +01:00
plat-orion Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-08-07 17:07:31 -07:00
plat-pxa ARM: pxa: Make id const in pwm_probe() 2010-08-30 09:59:44 +08:00
plat-s3c24xx Merge branch 'master' into for-next 2010-06-16 18:08:13 +02:00
plat-s5p ARM: S5P: Decrease IO Registers memory region size on FIMC 2010-09-14 17:57:55 +09:00
plat-samsung ARM: SAMSUNG: Fix on s5p_gpio_[get,set]_drvstr 2010-09-14 17:59:31 +09:00
plat-spear Merge branch 'master' into for-next 2010-08-04 15:14:38 +02:00
plat-stmp3xxx
plat-versatile ARM: 6264/1: fix Versatile Express LED oversight 2010-07-26 10:48:34 +01:00
tools ARM: Update mach-types 2010-09-09 22:49:26 +01:00
vfp ARM: 6203/1: Make VFPv3 usable on ARMv6 2010-07-09 14:41:34 +01:00
Kconfig ARM: SECCOMP support 2010-10-01 22:32:18 -04:00
Kconfig-nommu
Kconfig.debug ARM: implement CONFIG_STRICT_DEVMEM by disabling access to RAM via /dev/mem 2010-10-01 22:31:34 -04:00
Makefile ARM: link board specific files after core files 2010-10-01 22:26:38 -04:00