ref: 3841a46421991c7bf16e801eb668953e35196bc9
parent: 7c62c1270100f694734c1dbdf40c24ea5c2e2e5f
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sat Mar 13 09:57:53 EST 2021
kernel: remove ucalloc.c duplicates
--- a/sys/src/9/kw/ucalloc.c
+++ /dev/null
@@ -1,135 +1,0 @@
-/*
- * allocate uncached memory
- */
-#include "u.h"
-#include "../port/lib.h"
-#include "mem.h"
-#include "dat.h"
-#include "fns.h"
-
-#include <pool.h>
-
-typedef struct Private Private;
-struct Private {
- Lock;
- char msg[256];
- char* cur;
-};
-
-static Private ucprivate;
-
-static void
-ucpoolpanic(Pool* p, char* fmt, ...)
-{
- va_list v;
- Private *pv;
- char msg[sizeof pv->msg];
-
- pv = p->private;
- va_start(v, fmt);
- vseprint(pv->cur, &pv->msg[sizeof pv->msg], fmt, v);
- va_end(v);
- memmove(msg, pv->msg, sizeof msg);
- iunlock(pv);
- panic("%s", msg);
-}
-
-static void
-ucpoolprint(Pool* p, char* fmt, ...)
-{
- va_list v;
- Private *pv;
-
- pv = p->private;
- va_start(v, fmt);
- pv->cur = vseprint(pv->cur, &pv->msg[sizeof pv->msg], fmt, v);
- va_end(v);
-}
-
-static void
-ucpoolunlock(Pool* p)
-{
- Private *pv;
- char msg[sizeof pv->msg];
-
- pv = p->private;
- if(pv->cur == pv->msg){
- iunlock(pv);
- return;
- }
-
- memmove(msg, pv->msg, sizeof msg);
- pv->cur = pv->msg;
- iunlock(pv);
-
- iprint("%.*s", sizeof pv->msg, msg);
-}
-
-static void
-ucpoollock(Pool* p)
-{
- Private *pv;
-
- pv = p->private;
- ilock(pv);
- pv->pc = getcallerpc(&p);
- pv->cur = pv->msg;
-}
-
-static void*
-ucarena(usize size)
-{
- void *uv, *v;
-
- assert(size == 1*MiB);
-
- mainmem->maxsize += 1*MiB;
- if((v = mallocalign(1*MiB, 1*MiB, 0, 0)) == nil ||
- (uv = mmuuncache(v, 1*MiB)) == nil){
- free(v);
- mainmem->maxsize -= 1*MiB;
- return nil;
- }
- return uv;
-}
-
-static Pool ucpool = {
- .name = "Uncached",
- .maxsize = 4*MiB,
- .minarena = 1*MiB-32,
- .quantum = 32,
- .alloc = ucarena,
- .merge = nil,
- .flags = /*POOL_TOLERANCE|POOL_ANTAGONISM|POOL_PARANOIA|*/0,
-
- .lock = ucpoollock,
- .unlock = ucpoolunlock,
- .print = ucpoolprint,
- .panic = ucpoolpanic,
-
- .private = &ucprivate,
-};
-
-void
-ucfree(void* v)
-{
- if(v == nil)
- return;
- poolfree(&ucpool, v);
-}
-
-void*
-ucalloc(usize size)
-{
- assert(size < ucpool.minarena-128);
-
- return poolallocalign(&ucpool, size, 32, 0, 0);
-}
-
-void*
-ucallocalign(usize size, int align, usize span)
-{
- assert(size < ucpool.minarena-128);
-
- return poolallocalign(&ucpool, size, align, 0, span);
-}
--- a/sys/src/9/omap/fns.h
+++ b/sys/src/9/omap/fns.h
@@ -125,7 +125,7 @@
uintptr mmukunmap(uintptr, uintptr, usize);
extern void* mmuuncache(void*, usize);
extern void* ucalloc(usize);
-extern void* ucallocalign(usize size, int align, int span);
+extern void* ucallocalign(usize size, int align, usize span);
extern void ucfree(void*);
/*
--- a/sys/src/9/omap/ucalloc.c
+++ /dev/null
@@ -1,135 +1,0 @@
-/*
- * allocate uncached memory
- */
-#include "u.h"
-#include "../port/lib.h"
-#include "mem.h"
-#include "dat.h"
-#include "fns.h"
-
-#include <pool.h>
-
-typedef struct Private Private;
-struct Private {
- Lock;
- char msg[256];
- char* cur;
-};
-
-static Private ucprivate;
-
-static void
-ucpoolpanic(Pool* p, char* fmt, ...)
-{
- va_list v;
- Private *pv;
- char msg[sizeof pv->msg];
-
- pv = p->private;
- va_start(v, fmt);
- vseprint(pv->cur, &pv->msg[sizeof pv->msg], fmt, v);
- va_end(v);
- memmove(msg, pv->msg, sizeof msg);
- iunlock(pv);
- panic("%s", msg);
-}
-
-static void
-ucpoolprint(Pool* p, char* fmt, ...)
-{
- va_list v;
- Private *pv;
-
- pv = p->private;
- va_start(v, fmt);
- pv->cur = vseprint(pv->cur, &pv->msg[sizeof pv->msg], fmt, v);
- va_end(v);
-}
-
-static void
-ucpoolunlock(Pool* p)
-{
- Private *pv;
- char msg[sizeof pv->msg];
-
- pv = p->private;
- if(pv->cur == pv->msg){
- iunlock(pv);
- return;
- }
-
- memmove(msg, pv->msg, sizeof msg);
- pv->cur = pv->msg;
- iunlock(pv);
-
- iprint("%.*s", sizeof pv->msg, msg);
-}
-
-static void
-ucpoollock(Pool* p)
-{
- Private *pv;
-
- pv = p->private;
- ilock(pv);
- pv->pc = getcallerpc(&p);
- pv->cur = pv->msg;
-}
-
-static void*
-ucarena(usize size)
-{
- void *uv, *v;
-
- assert(size == 1*MiB);
-
- mainmem->maxsize += 1*MiB;
- if((v = mallocalign(1*MiB, 1*MiB, 0, 0)) == nil ||
- (uv = mmuuncache(v, 1*MiB)) == nil){
- free(v);
- mainmem->maxsize -= 1*MiB;
- return nil;
- }
- return uv;
-}
-
-static Pool ucpool = {
- .name = "Uncached",
- .maxsize = 4*MiB,
- .minarena = 1*MiB-32,
- .quantum = 32,
- .alloc = ucarena,
- .merge = nil,
- .flags = /*POOL_TOLERANCE|POOL_ANTAGONISM|POOL_PARANOIA|*/0,
-
- .lock = ucpoollock,
- .unlock = ucpoolunlock,
- .print = ucpoolprint,
- .panic = ucpoolpanic,
-
- .private = &ucprivate,
-};
-
-void
-ucfree(void* v)
-{
- if(v == nil)
- return;
- poolfree(&ucpool, v);
-}
-
-void*
-ucalloc(usize size)
-{
- assert(size < ucpool.minarena-128);
-
- return poolallocalign(&ucpool, size, 32, 0, 0);
-}
-
-void*
-ucallocalign(usize size, int align, int span)
-{
- assert(size < ucpool.minarena-128);
-
- return poolallocalign(&ucpool, size, align, 0, span);
-}
--- a/sys/src/9/port/ucalloc.c
+++ b/sys/src/9/port/ucalloc.c
@@ -119,7 +119,7 @@
}
void*
-ucallocalign(usize size, int align, int span)
+ucallocalign(usize size, int align, usize span)
{
void *v;
--- a/sys/src/9/teg2/fns.h
+++ b/sys/src/9/teg2/fns.h
@@ -164,7 +164,7 @@
uintptr mmukunmap(uintptr, uintptr, usize);
extern void* mmuuncache(void*, usize);
extern void* ucalloc(usize);
-extern void* ucallocalign(usize size, int align, int span);
+extern void* ucallocalign(usize size, int align, usize span);
extern void ucfree(void*);
/*