Page MenuHomeFreeBSD

D10407.id33787.diff
No OneTemporary

D10407.id33787.diff

Index: contrib/zstd/lib/common/error_private.h
===================================================================
--- contrib/zstd/lib/common/error_private.h
+++ contrib/zstd/lib/common/error_private.h
@@ -20,7 +20,11 @@
/* ****************************************
* Dependencies
******************************************/
+#ifdef _KERNEL
+#include <sys/param.h> /* size_t */
+#else
#include <stddef.h> /* size_t */
+#endif
#include "zstd_errors.h" /* enum list */
Index: contrib/zstd/lib/common/fse.h
===================================================================
--- contrib/zstd/lib/common/fse.h
+++ contrib/zstd/lib/common/fse.h
@@ -43,7 +43,11 @@
/*-*****************************************
* Dependencies
******************************************/
+#ifdef _KERNEL
+#include <sys/param.h> /* size_t, ptrdiff_t */
+#else
#include <stddef.h> /* size_t, ptrdiff_t */
+#endif
/*-*****************************************
Index: contrib/zstd/lib/common/fse_decompress.c
===================================================================
--- contrib/zstd/lib/common/fse_decompress.c
+++ contrib/zstd/lib/common/fse_decompress.c
@@ -36,8 +36,17 @@
/* **************************************************************
* Includes
****************************************************************/
+#ifdef _KERNEL
+#include "zstd_kmalloc.h" /* malloc, free */
+#include <sys/systm.h> /* memcpy, memset */
+#else
+#ifdef _BOOTSTRAP
+#include <stand.h>
+#else
#include <stdlib.h> /* malloc, free, qsort */
#include <string.h> /* memcpy, memset */
+#endif
+#endif
#include "bitstream.h"
#include "compiler.h"
#define FSE_STATIC_LINKING_ONLY
@@ -82,12 +91,20 @@
FSE_DTable* FSE_createDTable (unsigned tableLog)
{
if (tableLog > FSE_TABLELOG_ABSOLUTE_MAX) tableLog = FSE_TABLELOG_ABSOLUTE_MAX;
+#ifdef _KERNEL
+ return (FSE_DTable*)malloc( FSE_DTABLE_SIZE_U32(tableLog) * sizeof (U32), M_ZSTD, M_WAITOK);
+#else
return (FSE_DTable*)malloc( FSE_DTABLE_SIZE_U32(tableLog) * sizeof (U32) );
+#endif
}
void FSE_freeDTable (FSE_DTable* dt)
{
+#ifdef _KERNEL
+ free(dt, M_ZSTD);
+#else
free(dt);
+#endif
}
size_t FSE_buildDTable(FSE_DTable* dt, const short* normalizedCounter, unsigned maxSymbolValue, unsigned tableLog)
Index: contrib/zstd/lib/common/huf.h
===================================================================
--- contrib/zstd/lib/common/huf.h
+++ contrib/zstd/lib/common/huf.h
@@ -40,7 +40,11 @@
#define HUF_H_298734234
/* *** Dependencies *** */
+#ifdef _KERNEL
+#include <sys/param.h> /* size_t */
+#else
#include <stddef.h> /* size_t */
+#endif
/* *** library symbols visibility *** */
Index: contrib/zstd/lib/common/mem.h
===================================================================
--- contrib/zstd/lib/common/mem.h
+++ contrib/zstd/lib/common/mem.h
@@ -17,8 +17,13 @@
/*-****************************************
* Dependencies
******************************************/
+#ifdef _KERNEL
+#include <sys/param.h> /* size_t, ptrdiff_t */
+#include <sys/systm.h> /* memcpy */
+#else
#include <stddef.h> /* size_t, ptrdiff_t */
#include <string.h> /* memcpy */
+#endif
/*-****************************************
@@ -47,7 +52,9 @@
* Basic Types
*****************************************************************/
#if !defined (__VMS) && (defined (__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */) )
+#ifndef _KERNEL
# include <stdint.h>
+#endif
typedef uint8_t BYTE;
typedef uint16_t U16;
typedef int16_t S16;
Index: contrib/zstd/lib/common/pool.h
===================================================================
--- contrib/zstd/lib/common/pool.h
+++ contrib/zstd/lib/common/pool.h
@@ -15,7 +15,11 @@
#endif
+#ifdef _KERNEL
+#include <sys/param.h> /* size_t */
+#else
#include <stddef.h> /* size_t */
+#endif
typedef struct POOL_ctx_s POOL_ctx;
Index: contrib/zstd/lib/common/pool.c
===================================================================
--- contrib/zstd/lib/common/pool.c
+++ contrib/zstd/lib/common/pool.c
@@ -9,8 +9,13 @@
/* ====== Dependencies ======= */
+#ifdef _KERNEL
+#include <sys/param.h> /* size_t */
+#include "zstd_kmalloc.h" /* malloc, calloc, free */
+#else
#include <stddef.h> /* size_t */
#include <stdlib.h> /* malloc, calloc, free */
+#endif
#include "pool.h"
/* ====== Compiler specifics ====== */
@@ -109,7 +114,11 @@
* and full queues.
*/
ctx->queueSize = queueSize + 1;
+#ifdef _KERNEL
+ ctx->queue = (POOL_job*) malloc(ctx->queueSize * sizeof(POOL_job), M_ZSTD, M_WAITOK);
+#else
ctx->queue = (POOL_job*) malloc(ctx->queueSize * sizeof(POOL_job));
+#endif
ctx->queueHead = 0;
ctx->queueTail = 0;
ctx->numThreadsBusy = 0;
@@ -119,7 +128,11 @@
(void)pthread_cond_init(&ctx->queuePopCond, NULL);
ctx->shutdown = 0;
/* Allocate space for the thread handles */
+#ifdef _KERNEL
+ ctx->threads = (pthread_t*)malloc(numThreads * sizeof(pthread_t), M_ZSTD, M_WAITOK);
+#else
ctx->threads = (pthread_t*)malloc(numThreads * sizeof(pthread_t));
+#endif
ctx->numThreads = 0;
/* Check for errors */
if (!ctx->threads || !ctx->queue) { POOL_free(ctx); return NULL; }
@@ -220,11 +233,19 @@
POOL_ctx* POOL_create(size_t numThreads, size_t queueSize) {
(void)numThreads;
(void)queueSize;
+#ifdef _KERNEL
+ return (POOL_ctx*)malloc(sizeof(POOL_ctx), M_ZSTD, M_WAITOK);
+#else
return (POOL_ctx*)malloc(sizeof(POOL_ctx));
+#endif
}
void POOL_free(POOL_ctx* ctx) {
+#ifdef _KERNEL
+ free(ctx, M_ZSTD);
+#else
free(ctx);
+#endif
}
void POOL_add(void* ctx, POOL_function function, void* opaque) {
Index: contrib/zstd/lib/common/xxhash.h
===================================================================
--- contrib/zstd/lib/common/xxhash.h
+++ contrib/zstd/lib/common/xxhash.h
@@ -75,7 +75,11 @@
/* ****************************
* Definitions
******************************/
+#ifdef _KERNEL
+#include <sys/param.h> /* size_t */
+#else
#include <stddef.h> /* size_t */
+#endif
typedef enum { XXH_OK=0, XXH_ERROR } XXH_errorcode;
Index: contrib/zstd/lib/common/xxhash.c
===================================================================
--- contrib/zstd/lib/common/xxhash.c
+++ contrib/zstd/lib/common/xxhash.c
@@ -97,11 +97,24 @@
***************************************/
/* Modify the local functions below should you wish to use some other memory routines */
/* for malloc(), free() */
+#ifdef _KERNEL
+#include "zstd_kmalloc.h"
+#include <sys/param.h>
+static void* XXH_malloc(size_t s) { return malloc(s, M_ZSTD, M_WAITOK); }
+static void XXH_free (void* p) { free(p, M_ZSTD); }
+/* for memcpy() */
+#include <sys/systm.h>
+#else
+#ifdef _BOOTSTRAP
+#include <stand.h>
+#else
#include <stdlib.h>
-static void* XXH_malloc(size_t s) { return malloc(s); }
-static void XXH_free (void* p) { free(p); }
/* for memcpy() */
#include <string.h>
+#endif /* _BOOTSTRAP */
+static void* XXH_malloc(size_t s) { return malloc(s); }
+static void XXH_free (void* p) { free(p); }
+#endif /* _KERNEL */
static void* XXH_memcpy(void* dest, const void* src, size_t size) { return memcpy(dest,src,size); }
#ifndef XXH_STATIC_LINKING_ONLY
@@ -141,7 +154,9 @@
#ifndef MEM_MODULE
# define MEM_MODULE
# if !defined (__VMS) && (defined (__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */) )
+#ifndef _KERNEL
# include <stdint.h>
+#endif
typedef uint8_t BYTE;
typedef uint16_t U16;
typedef uint32_t U32;
Index: contrib/zstd/lib/common/zstd_common.c
===================================================================
--- contrib/zstd/lib/common/zstd_common.c
+++ contrib/zstd/lib/common/zstd_common.c
@@ -12,8 +12,17 @@
/*-*************************************
* Dependencies
***************************************/
+#ifdef _KERNEL
+#include "zstd_kmalloc.h" /* malloc, calloc, free */
+#include <sys/systm.h> /* memset */
+#else
+#ifdef _BOOTSTRAP
+#include <stand.h>
+#else
#include <stdlib.h> /* malloc, calloc, free */
#include <string.h> /* memset */
+#endif
+#endif
#include "error_private.h"
#define ZSTD_STATIC_LINKING_ONLY
#include "zstd.h"
@@ -54,7 +63,11 @@
{
if (customMem.customAlloc)
return customMem.customAlloc(customMem.opaque, size);
+#ifdef _KERNEL
+ return malloc(size, M_ZSTD, M_WAITOK);
+#else
return malloc(size);
+#endif
}
void* ZSTD_calloc(size_t size, ZSTD_customMem customMem)
@@ -66,7 +79,11 @@
memset(ptr, 0, size);
return ptr;
}
+#ifdef _KERNEL
+ return malloc(size, M_ZSTD, M_WAITOK | M_ZERO);
+#else
return calloc(1, size);
+#endif
}
void ZSTD_free(void* ptr, ZSTD_customMem customMem)
@@ -75,6 +92,10 @@
if (customMem.customFree)
customMem.customFree(customMem.opaque, ptr);
else
+#ifdef _KERNEL
+ free(ptr, M_ZSTD);
+#else
free(ptr);
+#endif
}
}
Index: contrib/zstd/lib/common/zstd_errors.h
===================================================================
--- contrib/zstd/lib/common/zstd_errors.h
+++ contrib/zstd/lib/common/zstd_errors.h
@@ -15,7 +15,11 @@
#endif
/*===== dependency =====*/
+#ifdef _KERNEL
+#include <sys/param.h> /* size_t */
+#else
#include <stddef.h> /* size_t */
+#endif
/* ===== ZSTDERRORLIB_API : control library symbols visibility ===== */
Index: contrib/zstd/lib/common/zstd_kmalloc.h
===================================================================
--- /dev/null
+++ contrib/zstd/lib/common/zstd_kmalloc.h
@@ -0,0 +1,45 @@
+/*-
+ * Copyright (c) 2014-2015 Allan Jude <allanjude@freebsd.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef ZSTD_KMALLOC_H
+#define ZSTD_KMALLOC_H
+
+#if defined (__cplusplus)
+extern "C" {
+#endif
+
+#ifdef _KERNEL
+#include <sys/malloc.h>
+MALLOC_DECLARE(M_ZSTD);
+#endif
+
+#if defined (__cplusplus)
+}
+#endif
+
+#endif /* ZSTD_KMALLOC_H */
Index: contrib/zstd/lib/common/zstd_kmalloc.c
===================================================================
--- /dev/null
+++ contrib/zstd/lib/common/zstd_kmalloc.c
@@ -0,0 +1,33 @@
+/*-
+ * Copyright (c) 2016-2017 Allan Jude <allanjude@freebsd.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#include <sys/param.h>
+#include <sys/kernel.h>
+#include <sys/malloc.h>
+
+MALLOC_DEFINE(M_ZSTD, "zstd", "ZSTD Compressor");
Index: contrib/zstd/lib/compress/fse_compress.c
===================================================================
--- contrib/zstd/lib/compress/fse_compress.c
+++ contrib/zstd/lib/compress/fse_compress.c
@@ -35,9 +35,14 @@
/* **************************************************************
* Includes
****************************************************************/
+#ifdef _KERNEL
+#include "zstd_kmalloc.h" /* malloc, free */
+#include <sys/systm.h> /* memcpy, memset */
+#else
#include <stdlib.h> /* malloc, free, qsort */
#include <string.h> /* memcpy, memset */
#include <stdio.h> /* printf (debug) */
+#endif
#include "bitstream.h"
#include "compiler.h"
#define FSE_STATIC_LINKING_ONLY
@@ -450,10 +455,20 @@
size_t size;
if (tableLog > FSE_TABLELOG_ABSOLUTE_MAX) tableLog = FSE_TABLELOG_ABSOLUTE_MAX;
size = FSE_CTABLE_SIZE_U32 (tableLog, maxSymbolValue) * sizeof(U32);
+#ifdef _KERNEL
+ return (FSE_CTable*)malloc(size, M_ZSTD, M_WAITOK);
+#else
return (FSE_CTable*)malloc(size);
+#endif
}
-void FSE_freeCTable (FSE_CTable* ct) { free(ct); }
+void FSE_freeCTable (FSE_CTable* ct) {
+#ifdef _KERNEL
+ free(ct, M_ZSTD);
+#else
+ free(ct);
+#endif
+}
/* provides the minimum logSize to safely represent a distribution */
static unsigned FSE_minTableLog(size_t srcSize, unsigned maxSymbolValue)
Index: contrib/zstd/lib/compress/huf_compress.c
===================================================================
--- contrib/zstd/lib/compress/huf_compress.c
+++ contrib/zstd/lib/compress/huf_compress.c
@@ -43,8 +43,12 @@
/* **************************************************************
* Includes
****************************************************************/
+#ifdef _KERNEL
+#include <sys/systm.h> /* memcpy, memset */
+#else
#include <string.h> /* memcpy, memset */
#include <stdio.h> /* printf (debug) */
+#endif
#include "bitstream.h"
#define FSE_STATIC_LINKING_ONLY /* FSE_optimalTableLog_internal */
#include "fse.h" /* header compression */
Index: contrib/zstd/lib/compress/zstd_compress.c
===================================================================
--- contrib/zstd/lib/compress/zstd_compress.c
+++ contrib/zstd/lib/compress/zstd_compress.c
@@ -19,7 +19,11 @@
/*-*************************************
* Dependencies
***************************************/
+#ifdef _KERNEL
+#include <sys/systm.h> /* memset */
+#else
#include <string.h> /* memset */
+#endif
#include "mem.h"
#define FSE_STATIC_LINKING_ONLY /* FSE_encodeSymbol */
#include "fse.h"
Index: contrib/zstd/lib/compress/zstdmt_compress.h
===================================================================
--- contrib/zstd/lib/compress/zstdmt_compress.h
+++ contrib/zstd/lib/compress/zstdmt_compress.h
@@ -22,7 +22,11 @@
* These methods will stop being exposed in a future version */
/* === Dependencies === */
+#ifdef _KERNEL
+#include <sys/param.h> /* size_t */
+#else
#include <stddef.h> /* size_t */
+#endif
#define ZSTD_STATIC_LINKING_ONLY /* ZSTD_parameters */
#include "zstd.h" /* ZSTD_inBuffer, ZSTD_outBuffer, ZSTDLIB_API */
Index: contrib/zstd/lib/compress/zstdmt_compress.c
===================================================================
--- contrib/zstd/lib/compress/zstdmt_compress.c
+++ contrib/zstd/lib/compress/zstdmt_compress.c
@@ -20,7 +20,11 @@
/* ====== Dependencies ====== */
+#ifdef _KERNEL
+#include <sys/systm.h> /* memcpy, memset */
+#else
#include <string.h> /* memcpy, memset */
+#endif
#include "pool.h" /* threadpool */
#include "threading.h" /* mutex */
#include "zstd_internal.h" /* MIN, ERROR, ZSTD_*, ZSTD_highbit32 */
Index: contrib/zstd/lib/decompress/huf_decompress.c
===================================================================
--- contrib/zstd/lib/decompress/huf_decompress.c
+++ contrib/zstd/lib/decompress/huf_decompress.c
@@ -35,7 +35,11 @@
/* **************************************************************
* Dependencies
****************************************************************/
+#ifdef _KERNEL
+#include <sys/systm.h> /* memcpy, memset */
+#else
#include <string.h> /* memcpy, memset */
+#endif
#include "bitstream.h" /* BIT_* */
#include "compiler.h"
#include "fse.h" /* header compression */
Index: contrib/zstd/lib/decompress/zstd_decompress.c
===================================================================
--- contrib/zstd/lib/decompress/zstd_decompress.c
+++ contrib/zstd/lib/decompress/zstd_decompress.c
@@ -41,7 +41,11 @@
/*-*******************************************************
* Dependencies
*********************************************************/
+#ifdef _KERNEL
+#include <sys/systm.h> /* memcpy, memmove, memset */
+#else
#include <string.h> /* memcpy, memmove, memset */
+#endif
#include "mem.h" /* low level memory routines */
#define FSE_STATIC_LINKING_ONLY
#include "fse.h"
Index: contrib/zstd/lib/zstd.h
===================================================================
--- contrib/zstd/lib/zstd.h
+++ contrib/zstd/lib/zstd.h
@@ -14,7 +14,15 @@
#define ZSTD_H_235446
/* ====== Dependency ======*/
+#ifdef _KERNEL
+#include <sys/param.h> /* size_t */
+#else
+#ifdef _BOOTSTRAP
+#include <stand.h>
+#else
#include <stddef.h> /* size_t */
+#endif
+#endif
/* ===== ZSTDLIB_API : control library symbols visibility ===== */

File Metadata

Mime Type
text/plain
Expires
Thu, Mar 19, 9:06 AM (20 h, 3 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29957794
Default Alt Text
D10407.id33787.diff (18 KB)

Event Timeline