[OpenBIOS] [commit] r1266 - trunk/openbios-devel/arch/sparc32

repository service svn at openbios.org
Sun Feb 16 17:26:38 CET 2014


Author: mcayland
Date: Sun Feb 16 17:26:37 2014
New Revision: 1266
URL: http://tracker.coreboot.org/trac/openbios/changeset/1266

Log:
SPARC32: implement obp_dumb_memfree()

Signed-off-by: Olivier Danet <odanet at caramail.com>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>

Modified:
   trunk/openbios-devel/arch/sparc32/lib.c
   trunk/openbios-devel/arch/sparc32/romvec.h

Modified: trunk/openbios-devel/arch/sparc32/lib.c
==============================================================================
--- trunk/openbios-devel/arch/sparc32/lib.c	Sun Feb 16 17:26:34 2014	(r1265)
+++ trunk/openbios-devel/arch/sparc32/lib.c	Sun Feb 16 17:26:37 2014	(r1266)
@@ -239,10 +239,18 @@
     return obp_memalloc(va, size, align);
 }
 
-void obp_dumb_memfree(__attribute__((unused))char *va,
-                             __attribute__((unused))unsigned sz)
+void obp_dumb_memfree(char *va, unsigned size)
 {
-    DPRINTF("obp_dumb_memfree 0x%p (size %d)\n", va, sz);
+    phys_addr_t phys;
+    ucell cellmode;
+
+    DPRINTF("obp_dumb_memfree: virta 0x%x, sz %d\n", (unsigned int)va, size);
+
+    phys = ofmem_translate(pointer2cell(va), &cellmode);
+
+    ofmem_unmap(pointer2cell(va), size);
+    ofmem_release_virt(pointer2cell(va), size);
+    ofmem_release_phys(phys, size);
 }
 
 /* Data fault handling routines */

Modified: trunk/openbios-devel/arch/sparc32/romvec.h
==============================================================================
--- trunk/openbios-devel/arch/sparc32/romvec.h	Sun Feb 16 17:26:34 2014	(r1265)
+++ trunk/openbios-devel/arch/sparc32/romvec.h	Sun Feb 16 17:26:37 2014	(r1266)
@@ -31,8 +31,8 @@
 int obp_inst2pkg_handler(int dev_desc);
 char *obp_dumb_memalloc(char *va, unsigned int size);
 char *obp_dumb_memalloc_handler(char *va, unsigned int size);
-void obp_dumb_memfree(__attribute__((unused))char *va, __attribute__((unused))unsigned sz);
-void obp_dumb_memfree_handler(__attribute__((unused))char *va, __attribute__((unused))unsigned sz);
+void obp_dumb_memfree(char *va, unsigned size);
+void obp_dumb_memfree_handler(char *va, unsigned size);
 char *obp_dumb_mmap(char *va, int which_io, unsigned int pa, unsigned int size);
 char *obp_dumb_mmap_handler(char *va, int which_io, unsigned int pa, unsigned int size);
 void obp_dumb_munmap(__attribute__((unused)) char *va, __attribute__((unused)) unsigned int size);



More information about the OpenBIOS mailing list