diff options
Diffstat (limited to 'roms/openbios/arch/sparc32/ofmem_sparc32.c')
-rw-r--r-- | roms/openbios/arch/sparc32/ofmem_sparc32.c | 11 |
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 */ |