Module Name: src Committed By: matt Date: Tue Nov 4 22:37:09 UTC 2014
Modified Files: src/sys/arch/arm/arm32: arm32_boot.c Log Message: Fix the stacks used by the other CPU to not overlap with the boot cpu's stacks. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/arm32/arm32_boot.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/arm32/arm32_boot.c diff -u src/sys/arch/arm/arm32/arm32_boot.c:1.9 src/sys/arch/arm/arm32/arm32_boot.c:1.10 --- src/sys/arch/arm/arm32/arm32_boot.c:1.9 Wed Oct 29 14:14:14 2014 +++ src/sys/arch/arm/arm32/arm32_boot.c Tue Nov 4 22:37:09 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: arm32_boot.c,v 1.9 2014/10/29 14:14:14 skrll Exp $ */ +/* $NetBSD: arm32_boot.c,v 1.10 2014/11/04 22:37:09 matt Exp $ */ /* * Copyright (c) 2002, 2003, 2005 Genetec Corporation. All rights reserved. @@ -123,7 +123,7 @@ #include <sys/cdefs.h> -__KERNEL_RCSID(1, "$NetBSD: arm32_boot.c,v 1.9 2014/10/29 14:14:14 skrll Exp $"); +__KERNEL_RCSID(1, "$NetBSD: arm32_boot.c,v 1.10 2014/11/04 22:37:09 matt Exp $"); #include "opt_ddb.h" #include "opt_kgdb.h" @@ -352,13 +352,13 @@ cpu_hatch(struct cpu_info *ci, cpuid_t c printf(" stacks"); #endif set_stackptr(PSR_FIQ32_MODE, - fiqstack.pv_va + cpu_index(ci) * FIQ_STACK_SIZE * PAGE_SIZE); + fiqstack.pv_va + (cpu_index(ci) + 1) * FIQ_STACK_SIZE * PAGE_SIZE); set_stackptr(PSR_IRQ32_MODE, - irqstack.pv_va + cpu_index(ci) * IRQ_STACK_SIZE * PAGE_SIZE); + irqstack.pv_va + (cpu_index(ci) + 1) * IRQ_STACK_SIZE * PAGE_SIZE); set_stackptr(PSR_ABT32_MODE, - abtstack.pv_va + cpu_index(ci) * ABT_STACK_SIZE * PAGE_SIZE); + abtstack.pv_va + (cpu_index(ci) + 1) * ABT_STACK_SIZE * PAGE_SIZE); set_stackptr(PSR_UND32_MODE, - undstack.pv_va + cpu_index(ci) * UND_STACK_SIZE * PAGE_SIZE); + undstack.pv_va + (cpu_index(ci) + 1) * UND_STACK_SIZE * PAGE_SIZE); ci->ci_lastlwp = NULL; ci->ci_pmap_lastuser = NULL;