[OpenBIOS] [PATCH 05/13] Switch IOMMU posix_memalign() calls over to ofmem_posix_memalign(), and then remove the private SPARC32 posix_memalign() implementation since it is no longer required.
Mark Cave-Ayland
mark.cave-ayland at siriusit.co.uk
Fri Dec 31 00:22:33 CET 2010
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at siriusit.co.uk>
---
openbios-devel/arch/sparc32/lib.c | 15 ---------------
openbios-devel/drivers/iommu.c | 4 ++--
openbios-devel/include/libc/stdlib.h | 1 -
3 files changed, 2 insertions(+), 18 deletions(-)
diff --git a/openbios-devel/arch/sparc32/lib.c b/openbios-devel/arch/sparc32/lib.c
index 788d6f5..a5ad8ca 100644
--- a/openbios-devel/arch/sparc32/lib.c
+++ b/openbios-devel/arch/sparc32/lib.c
@@ -216,21 +216,6 @@ realloc( void *ptr, size_t size )
return p;
}
-// XXX should be removed
-int
-posix_memalign(void **memptr, size_t alignment, size_t size)
-{
- void *block;
-
- block = mem_alloc(&cmem, size, alignment);
-
- if (!block)
- return -1;
-
- *memptr = block;
- return 0;
-}
-
/*
* Allocate memory. This is reusable.
*/
diff --git a/openbios-devel/drivers/iommu.c b/openbios-devel/drivers/iommu.c
index 019f8b7..716d01e 100644
--- a/openbios-devel/drivers/iommu.c
+++ b/openbios-devel/drivers/iommu.c
@@ -53,7 +53,7 @@ dvma_alloc(int size, unsigned int *pphys)
int ret;
npages = (size + (PAGE_SIZE-1)) / PAGE_SIZE;
- ret = posix_memalign(&va, npages * PAGE_SIZE, PAGE_SIZE);
+ ret = ofmem_posix_memalign(&va, npages * PAGE_SIZE, PAGE_SIZE);
if (ret != 0)
return NULL;
@@ -132,7 +132,7 @@ iommu_init(struct iommu *t, uint64_t base)
/* Allocate IOMMU page table */
/* Tremendous alignment causes great waste... */
ptsize = (vasize / PAGE_SIZE) * sizeof(int);
- ret = posix_memalign((void *)&ptab, ptsize, ptsize);
+ ret = ofmem_posix_memalign((void *)&ptab, ptsize, ptsize);
if (ret != 0) {
DPRINTF("Cannot allocate IOMMU table [0x%x]\n", ptsize);
for (;;) { }
diff --git a/openbios-devel/include/libc/stdlib.h b/openbios-devel/include/libc/stdlib.h
index 4059db2..ef08838 100644
--- a/openbios-devel/include/libc/stdlib.h
+++ b/openbios-devel/include/libc/stdlib.h
@@ -19,7 +19,6 @@
extern void *malloc( int size );
extern void free( void *ptr );
extern void *realloc( void *ptr, size_t size );
-extern int posix_memalign(void **memptr, size_t alignment, size_t size);
/* should perhaps go somewhere else... */
extern void qsort( void *base, size_t nmemb, size_t size, int (*compar)(const void*, const void*));
--
1.7.2.3
More information about the OpenBIOS
mailing list