summaryrefslogtreecommitdiff
path: root/roms/openbios/arch/sparc32/ofmem_sparc32.c
diff options
context:
space:
mode:
Diffstat (limited to 'roms/openbios/arch/sparc32/ofmem_sparc32.c')
-rw-r--r--roms/openbios/arch/sparc32/ofmem_sparc32.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/roms/openbios/arch/sparc32/ofmem_sparc32.c b/roms/openbios/arch/sparc32/ofmem_sparc32.c
index 2767b7bf3..d2935a8ba 100644
--- a/roms/openbios/arch/sparc32/ofmem_sparc32.c
+++ b/roms/openbios/arch/sparc32/ofmem_sparc32.c
@@ -142,7 +142,16 @@ void ofmem_arch_create_available_entry(phandle_t ph, ucell *availentry, phys_add
/* Unmap a set of pages */
void ofmem_arch_unmap_pages(ucell virt, ucell size)
{
- /* Currently do nothing */
+ unsigned long pa;
+ ucell i;
+
+ for (i = 0; i < size; i += PAGE_SIZE) {
+ pa = find_pte(virt, 0);
+ *(uint32_t *)pa = 0;
+ virt += PAGE_SIZE;
+ }
+
+ srmmu_flush_whole_tlb();
}
/* Map a set of pages */