shithub: riscv

Download patch

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*);
 
 /*