svn commit: r225287 - projects/armv6/sys/arm/arm
Grzegorz Bernacki
gber at FreeBSD.org
Wed Aug 31 08:44:45 UTC 2011
Author: gber
Date: Wed Aug 31 08:44:45 2011
New Revision: 225287
URL: http://svn.freebsd.org/changeset/base/225287
Log:
Allow pmap_map_section and pmap_map_entry to use cache parameter as an index to array with setting for memory type.
Obtained from: Marvell, Semihalf
Modified:
projects/armv6/sys/arm/arm/pmap-v6.c
Modified: projects/armv6/sys/arm/arm/pmap-v6.c
==============================================================================
--- projects/armv6/sys/arm/arm/pmap-v6.c Wed Aug 31 08:27:41 2011 (r225286)
+++ projects/armv6/sys/arm/arm/pmap-v6.c Wed Aug 31 08:44:45 2011 (r225287)
@@ -3501,20 +3501,7 @@ pmap_map_section(vm_offset_t l1pt, vm_of
KASSERT(((va | pa) & L1_S_OFFSET) == 0, ("ouin2"));
- switch (cache) {
- case PTE_NOCACHE:
- default:
- fl = 0;
- break;
-
- case PTE_CACHE:
- fl = pte_l1_s_cache_mode;
- break;
-
- case PTE_PAGETABLE:
- fl = pte_l1_s_cache_mode_pt;
- break;
- }
+ fl = l1_mem_types[cache];
pde[va >> L1_S_SHIFT] = L1_S_PROTO | pa |
L1_S_PROT(PTE_KERNEL, prot) | fl | L1_S_DOM(PMAP_DOMAIN_KERNEL);
@@ -3561,20 +3548,7 @@ pmap_map_entry(vm_offset_t l1pt, vm_offs
KASSERT(((va | pa) & PAGE_MASK) == 0, ("ouin"));
- switch (cache) {
- case PTE_NOCACHE:
- default:
- fl = 0;
- break;
-
- case PTE_CACHE:
- fl = pte_l2_s_cache_mode;
- break;
-
- case PTE_PAGETABLE:
- fl = pte_l2_s_cache_mode_pt;
- break;
- }
+ fl = l2s_mem_types[cache];
if ((pde[va >> L1_S_SHIFT] & L1_TYPE_MASK) != L1_TYPE_C)
panic("pmap_map_entry: no L2 table for VA 0x%08x", va);
@@ -3612,7 +3586,7 @@ pmap_map_chunk(vm_offset_t l1pt, vm_offs
#ifdef VERBOSE_INIT_ARM
printf("pmap_map_chunk: pa=0x%x va=0x%x size=0x%x resid=0x%x "
- "prot=0x%x type=%d\n", pa, va, size, resid, prot, type);
+ "prot=0x%x cache=%d\n", pa, va, size, resid, prot, cache);
#endif
f1 = l1_mem_types[type];
More information about the svn-src-projects
mailing list