Date: Wed, 31 Aug 2011 08:44:45 +0000 (UTC) From: Grzegorz Bernacki <gber@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r225287 - projects/armv6/sys/arm/arm Message-ID: <201108310844.p7V8ijCR090606@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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];
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201108310844.p7V8ijCR090606>