summaryrefslogtreecommitdiffstats
path: root/sys/arm/lpc
diff options
context:
space:
mode:
authorandrew <andrew@FreeBSD.org>2012-09-22 06:41:56 +0000
committerandrew <andrew@FreeBSD.org>2012-09-22 06:41:56 +0000
commitcd998f5e4e7fcffc2b88c0b04500e1fba2ad0e7e (patch)
tree9557129a8ffe8bf566ba3dcd2eb2275c13e4386e /sys/arm/lpc
parenta74ee85809555d43ba3be70a6f33a037fc22d53e (diff)
downloadFreeBSD-src-cd998f5e4e7fcffc2b88c0b04500e1fba2ad0e7e.zip
FreeBSD-src-cd998f5e4e7fcffc2b88c0b04500e1fba2ad0e7e.tar.gz
Create a common set_stackptrs in sys/arm/machdep.c.
On single core devices set_stackptrs is only ever called with cpu = 0 in initarm and will be identical to the existing function. On SMP this needs to be implemented for sys/arm/mp_machdep.c, but the implementations are identical for each SoC.
Diffstat (limited to 'sys/arm/lpc')
-rw-r--r--sys/arm/lpc/lpc_machdep.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/sys/arm/lpc/lpc_machdep.c b/sys/arm/lpc/lpc_machdep.c
index 99f4700..869baf8 100644
--- a/sys/arm/lpc/lpc_machdep.c
+++ b/sys/arm/lpc/lpc_machdep.c
@@ -109,11 +109,6 @@ __FBSDID("$FreeBSD$");
*/
#define KERNEL_PT_MAX 78
-/* Define various stack sizes in pages */
-#define IRQ_STACK_SIZE 1
-#define ABT_STACK_SIZE 1
-#define UND_STACK_SIZE 1
-
extern unsigned char kernbase[];
extern unsigned char _etext[];
extern unsigned char _edata[];
@@ -504,12 +499,8 @@ initarm(struct arm_boot_params *abp)
* of the stack memory.
*/
cpu_control(CPU_CONTROL_MMU_ENABLE, CPU_CONTROL_MMU_ENABLE);
- set_stackptr(PSR_IRQ32_MODE,
- irqstack.pv_va + IRQ_STACK_SIZE * PAGE_SIZE);
- set_stackptr(PSR_ABT32_MODE,
- abtstack.pv_va + ABT_STACK_SIZE * PAGE_SIZE);
- set_stackptr(PSR_UND32_MODE,
- undstack.pv_va + UND_STACK_SIZE * PAGE_SIZE);
+
+ set_stackptrs(0);
/*
* We must now clean the cache again....
OpenPOWER on IntegriCloud