diff options
author | Rafal Jaworowski <raj@FreeBSD.org> | 2009-07-01 20:07:44 +0000 |
---|---|---|
committer | Rafal Jaworowski <raj@FreeBSD.org> | 2009-07-01 20:07:44 +0000 |
commit | f981547c99aa909a561ec9a668f78768e4695507 (patch) | |
tree | a7696be83dc2729f368d170dd019d6bb053285eb /sys/arm/sa11x0 | |
parent | 15ca46f69d68d39d78cb7595226bfe464e47e107 (diff) | |
download | src-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.c | 3 |
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); |