ARM: Set the XN bit on kernel mappings that do not need to be executable.

This covers the kernel stack, globals frame and device memory. We shouldn't be
executing in any of these pages, so functionality should be unaffected. This is
primarily a debugging aid.
This commit is contained in:
Matthew Fernandez 2015-02-26 12:22:40 +11:00 committed by Adrian Danis
parent 3775341b9b
commit 86751e48f4
10 changed files with 38 additions and 38 deletions

View file

@ -279,7 +279,7 @@ map_kernel_window(void)
PPTR_GLOBALS_PAGE,
VMReadOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
true, /* armParityEnabled */
true /* armPageCacheable */
)
@ -291,7 +291,7 @@ map_kernel_window(void)
PPTR_KERNEL_STACK,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
true, /* armParityEnabled */
true /* armPageCacheable */
)

View file

@ -83,7 +83,7 @@ map_kernel_devices(void)
TIMER0_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -95,7 +95,7 @@ map_kernel_devices(void)
GIC_CONTROLLER_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -105,7 +105,7 @@ map_kernel_devices(void)
GIC_DISTRIBUTOR_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -118,7 +118,7 @@ map_kernel_devices(void)
UART0_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)

View file

@ -76,7 +76,7 @@ map_kernel_devices(void)
DMTIMER0_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -88,7 +88,7 @@ map_kernel_devices(void)
INTC_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -100,7 +100,7 @@ map_kernel_devices(void)
WDT1_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -113,7 +113,7 @@ map_kernel_devices(void)
UART0_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)

View file

@ -319,7 +319,7 @@ map_kernel_devices(void)
TIMER_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -330,7 +330,7 @@ map_kernel_devices(void)
GIC_CONTROLLER_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -340,7 +340,7 @@ map_kernel_devices(void)
GIC_DISTRIBUTOR_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -353,7 +353,7 @@ map_kernel_devices(void)
UART_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)

View file

@ -235,7 +235,7 @@ map_kernel_devices(void)
MCT_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -247,7 +247,7 @@ map_kernel_devices(void)
GIC_CONTROLLER_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -257,7 +257,7 @@ map_kernel_devices(void)
GIC_DISTRIBUTOR_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -269,7 +269,7 @@ map_kernel_devices(void)
L2CC_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -282,7 +282,7 @@ map_kernel_devices(void)
UART_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)

View file

@ -294,7 +294,7 @@ map_kernel_devices(void)
MCT_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -306,7 +306,7 @@ map_kernel_devices(void)
GIC_CONTROLLER_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -316,7 +316,7 @@ map_kernel_devices(void)
GIC_DISTRIBUTOR_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -329,7 +329,7 @@ map_kernel_devices(void)
UART_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)

View file

@ -228,7 +228,7 @@ map_kernel_devices(void)
EPIT_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -240,7 +240,7 @@ map_kernel_devices(void)
AVIC_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -252,7 +252,7 @@ map_kernel_devices(void)
L2CC_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -265,7 +265,7 @@ map_kernel_devices(void)
UART_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)

View file

@ -205,7 +205,7 @@ map_kernel_devices(void)
ARM_MP_PPTR1,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -217,7 +217,7 @@ map_kernel_devices(void)
ARM_MP_PPTR2,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -229,7 +229,7 @@ map_kernel_devices(void)
L2CC_PL310_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -243,7 +243,7 @@ map_kernel_devices(void)
UART_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)

View file

@ -178,7 +178,7 @@ map_kernel_devices(void)
GPTIMER11_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -190,7 +190,7 @@ map_kernel_devices(void)
INTC_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -203,7 +203,7 @@ map_kernel_devices(void)
UART3_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)

View file

@ -137,7 +137,7 @@ map_kernel_devices(void)
ARM_MP_PPTR1,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -149,7 +149,7 @@ map_kernel_devices(void)
ARM_MP_PPTR2,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -161,7 +161,7 @@ map_kernel_devices(void)
L2CC_PL310_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)
@ -175,7 +175,7 @@ map_kernel_devices(void)
UART_PPTR,
VMKernelOnly,
vm_attributes_new(
false, /* armExecuteNever */
true, /* armExecuteNever */
false, /* armParityEnabled */
false /* armPageCacheable */
)