aboutsummaryrefslogtreecommitdiff
path: root/sys/arm/sa11x0
diff options
context:
space:
mode:
authorRafal Jaworowski <raj@FreeBSD.org>2009-07-01 20:07:44 +0000
committerRafal Jaworowski <raj@FreeBSD.org>2009-07-01 20:07:44 +0000
commitf981547c99aa909a561ec9a668f78768e4695507 (patch)
treea7696be83dc2729f368d170dd019d6bb053285eb /sys/arm/sa11x0
parent15ca46f69d68d39d78cb7595226bfe464e47e107 (diff)
downloadsrc-f981547c99aa909a561ec9a668f78768e4695507.tar.gz
src-f981547c99aa909a561ec9a668f78768e4695507.zip
Map DPCPU pages into ARM kernel VA space.
DPCPU area was not properly mapped into kernel VA space, which caused page fault on the first DPCPU access. This patch fixes the problem by mapping DPCPU area into kernel VA space. Submitted by: Michal Hajduk, Piotr Ziecik Reviewed by: cognet, stas Approved by: re (kib) Obtained from: Semihalf
Notes
Notes: svn path=/head/; revision=195256
Diffstat (limited to 'sys/arm/sa11x0')
-rw-r--r--sys/arm/sa11x0/assabet_machdep.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/arm/sa11x0/assabet_machdep.c b/sys/arm/sa11x0/assabet_machdep.c
index 4fa66562b83c..521f3c309e69 100644
--- a/sys/arm/sa11x0/assabet_machdep.c
+++ b/sys/arm/sa11x0/assabet_machdep.c
@@ -313,6 +313,9 @@ initarm(void *arg, void *arg2)
pmap_map_chunk(l1pagetable, KERNBASE, KERNBASE,
((uint32_t)lastaddr - KERNBASE), VM_PROT_READ|VM_PROT_WRITE,
PTE_CACHE);
+ /* Map the DPCPU pages */
+ pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa, DPCPU_SIZE,
+ VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
/* Map the stack pages */
pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa,
IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);