diff options
author | Matt Macy <mmacy@FreeBSD.org> | 2020-10-17 00:05:34 +0000 |
---|---|---|
committer | Matt Macy <mmacy@FreeBSD.org> | 2020-10-17 00:05:34 +0000 |
commit | 0be360124f8f108f73365e31448e7550f877f3ac (patch) | |
tree | 78557e980720fdcfd76497e6630c29ce1688559c /include/os/freebsd/spl | |
parent | e2228bd99047bb6a0cef0da931147b1f28f155c2 (diff) | |
download | src-vendor/openzfs.tar.gz src-vendor/openzfs.zip |
Update OpenZFS to 2.0.0-rc3-gbd565fvendor/openzfs/2.0.0-rc3-gfc5966vendor/openzfs
Notes
Notes:
svn path=/vendor-sys/openzfs/dist/; revision=366774
svn path=/vendor-sys/openzfs/2.0.0-rc3-gfc5966/; revision=366775; tag=vendor/openzfs/2.0.0-rc3-gfc5966
Diffstat (limited to 'include/os/freebsd/spl')
-rw-r--r-- | include/os/freebsd/spl/rpc/xdr.h | 4 | ||||
-rw-r--r-- | include/os/freebsd/spl/sys/atomic.h | 11 | ||||
-rw-r--r-- | include/os/freebsd/spl/sys/byteorder.h | 10 | ||||
-rw-r--r-- | include/os/freebsd/spl/sys/ccompile.h | 12 | ||||
-rw-r--r-- | include/os/freebsd/spl/sys/cmn_err.h | 9 | ||||
-rw-r--r-- | include/os/freebsd/spl/sys/condvar.h | 1 | ||||
-rw-r--r-- | include/os/freebsd/spl/sys/kmem.h | 10 | ||||
-rw-r--r-- | include/os/freebsd/spl/sys/kmem_cache.h | 3 | ||||
-rw-r--r-- | include/os/freebsd/spl/sys/kstat.h | 13 | ||||
-rw-r--r-- | include/os/freebsd/spl/sys/proc.h | 3 | ||||
-rw-r--r-- | include/os/freebsd/spl/sys/procfs_list.h | 6 | ||||
-rw-r--r-- | include/os/freebsd/spl/sys/sig.h | 5 | ||||
-rw-r--r-- | include/os/freebsd/spl/sys/simd_x86.h | 11 | ||||
-rw-r--r-- | include/os/freebsd/spl/sys/sunddi.h | 1 | ||||
-rw-r--r-- | include/os/freebsd/spl/sys/sysmacros.h | 7 | ||||
-rw-r--r-- | include/os/freebsd/spl/sys/taskq.h | 9 | ||||
-rw-r--r-- | include/os/freebsd/spl/sys/uio.h | 4 |
17 files changed, 89 insertions, 30 deletions
diff --git a/include/os/freebsd/spl/rpc/xdr.h b/include/os/freebsd/spl/rpc/xdr.h index 59d5e425bedb..c98466e9d16a 100644 --- a/include/os/freebsd/spl/rpc/xdr.h +++ b/include/os/freebsd/spl/rpc/xdr.h @@ -33,7 +33,7 @@ #include <rpc/types.h> #include_next <rpc/xdr.h> -#ifndef _KERNEL +#if !defined(_KERNEL) && !defined(_STANDALONE) #include <assert.h> @@ -66,6 +66,6 @@ xdrmem_control(XDR *xdrs, int request, void *info) xdrmem_control((xdrs), (req), (op)) : \ (*(xdrs)->x_ops->x_control)(xdrs, req, op)) -#endif /* !_KERNEL */ +#endif /* !_KERNEL && !_STANDALONE */ #endif /* !_OPENSOLARIS_RPC_XDR_H_ */ diff --git a/include/os/freebsd/spl/sys/atomic.h b/include/os/freebsd/spl/sys/atomic.h index 4227e5f7d3ec..1a68bfc4de23 100644 --- a/include/os/freebsd/spl/sys/atomic.h +++ b/include/os/freebsd/spl/sys/atomic.h @@ -29,6 +29,8 @@ #ifndef _OPENSOLARIS_SYS_ATOMIC_H_ #define _OPENSOLARIS_SYS_ATOMIC_H_ +#ifndef _STANDALONE + #include <sys/types.h> #include <machine/atomic.h> @@ -179,4 +181,13 @@ atomic_cas_ptr(volatile void *target, void *cmp, void *newval) } #endif /* !defined(COMPAT_32BIT) && defined(__LP64__) */ +#else /* _STANDALONE */ +/* + * sometimes atomic_add_64 is defined, sometimes not, but the + * following is always right for the boot loader. + */ +#undef atomic_add_64 +#define atomic_add_64(ptr, val) *(ptr) += val +#endif /* !_STANDALONE */ + #endif /* !_OPENSOLARIS_SYS_ATOMIC_H_ */ diff --git a/include/os/freebsd/spl/sys/byteorder.h b/include/os/freebsd/spl/sys/byteorder.h index ae767242bd18..0b3d01eb3759 100644 --- a/include/os/freebsd/spl/sys/byteorder.h +++ b/include/os/freebsd/spl/sys/byteorder.h @@ -80,10 +80,11 @@ #define BE_64(x) BSWAP_64(x) #endif +#if !defined(_STANDALONE) #if BYTE_ORDER == _BIG_ENDIAN #define htonll(x) BMASK_64(x) #define ntohll(x) BMASK_64(x) -#else +#else /* BYTE_ORDER == _LITTLE_ENDIAN */ #ifndef __LP64__ static __inline__ uint64_t htonll(uint64_t n) @@ -96,11 +97,12 @@ ntohll(uint64_t n) { return ((((uint64_t)ntohl(n)) << 32) + ntohl(n >> 32)); } -#else +#else /* !__LP64__ */ #define htonll(x) BSWAP_64(x) #define ntohll(x) BSWAP_64(x) -#endif -#endif +#endif /* __LP64__ */ +#endif /* BYTE_ORDER */ +#endif /* _STANDALONE */ #define BE_IN32(xa) htonl(*((uint32_t *)(void *)(xa))) diff --git a/include/os/freebsd/spl/sys/ccompile.h b/include/os/freebsd/spl/sys/ccompile.h index bffe6d21e31d..cf1e0a8a6376 100644 --- a/include/os/freebsd/spl/sys/ccompile.h +++ b/include/os/freebsd/spl/sys/ccompile.h @@ -113,9 +113,9 @@ extern "C" { #define __VPRINTFLIKE(__n) __sun_attr__((__VPRINTFLIKE__(__n))) #define __KPRINTFLIKE(__n) __sun_attr__((__KPRINTFLIKE__(__n))) #define __KVPRINTFLIKE(__n) __sun_attr__((__KVPRINTFLIKE__(__n))) -#ifdef _KERNEL +#if defined(_KERNEL) || defined(_STANDALONE) #define __NORETURN __sun_attr__((__noreturn__)) -#endif +#endif /* _KERNEL || _STANDALONE */ #define __CONST __sun_attr__((__const__)) #define __PURE __sun_attr__((__pure__)) @@ -174,7 +174,7 @@ typedef int enum_t; #define __exit #endif -#ifdef _KERNEL +#if defined(_KERNEL) || defined(_STANDALONE) #define param_set_charp(a, b) (0) #define ATTR_UID AT_UID #define ATTR_GID AT_GID @@ -183,9 +183,15 @@ typedef int enum_t; #define ATTR_CTIME AT_CTIME #define ATTR_MTIME AT_MTIME #define ATTR_ATIME AT_ATIME +#if defined(_STANDALONE) +#define vmem_free kmem_free +#define vmem_zalloc kmem_zalloc +#define vmem_alloc kmem_zalloc +#else #define vmem_free zfs_kmem_free #define vmem_zalloc(size, flags) zfs_kmem_alloc(size, flags | M_ZERO) #define vmem_alloc zfs_kmem_alloc +#endif #define MUTEX_NOLOCKDEP 0 #define RW_NOLOCKDEP 0 diff --git a/include/os/freebsd/spl/sys/cmn_err.h b/include/os/freebsd/spl/sys/cmn_err.h index 00d686439f94..ba4cff37d5f3 100644 --- a/include/os/freebsd/spl/sys/cmn_err.h +++ b/include/os/freebsd/spl/sys/cmn_err.h @@ -52,42 +52,33 @@ extern "C" { /*PRINTFLIKE2*/ extern void cmn_err(int, const char *, ...) __KPRINTFLIKE(2); -#pragma rarely_called(cmn_err) extern void vzcmn_err(zoneid_t, int, const char *, __va_list) __KVPRINTFLIKE(3); -#pragma rarely_called(vzcmn_err) extern void vcmn_err(int, const char *, __va_list) __KVPRINTFLIKE(2); -#pragma rarely_called(vcmn_err) /*PRINTFLIKE3*/ extern void zcmn_err(zoneid_t, int, const char *, ...) __KPRINTFLIKE(3); -#pragma rarely_called(zcmn_err) extern void vzprintf(zoneid_t, const char *, __va_list) __KVPRINTFLIKE(2); -#pragma rarely_called(vzprintf) /*PRINTFLIKE2*/ extern void zprintf(zoneid_t, const char *, ...) __KPRINTFLIKE(2); -#pragma rarely_called(zprintf) extern void vuprintf(const char *, __va_list) __KVPRINTFLIKE(1); -#pragma rarely_called(vuprintf) /*PRINTFLIKE1*/ extern void panic(const char *, ...) __KPRINTFLIKE(1) __NORETURN; -#pragma rarely_called(panic) extern void vpanic(const char *, __va_list) __KVPRINTFLIKE(1) __NORETURN; -#pragma rarely_called(vpanic) #endif /* !_ASM */ diff --git a/include/os/freebsd/spl/sys/condvar.h b/include/os/freebsd/spl/sys/condvar.h index a634ab6b6807..9b1893bcb84c 100644 --- a/include/os/freebsd/spl/sys/condvar.h +++ b/include/os/freebsd/spl/sys/condvar.h @@ -36,6 +36,7 @@ #include <sys/spl_condvar.h> #include <sys/mutex.h> #include <sys/time.h> +#include <sys/errno.h> /* * cv_timedwait() is similar to cv_wait() except that it additionally expects diff --git a/include/os/freebsd/spl/sys/kmem.h b/include/os/freebsd/spl/sys/kmem.h index 28c65e74a250..dc3b4f5d7877 100644 --- a/include/os/freebsd/spl/sys/kmem.h +++ b/include/os/freebsd/spl/sys/kmem.h @@ -29,6 +29,7 @@ #ifndef _OPENSOLARIS_SYS_KMEM_H_ #define _OPENSOLARIS_SYS_KMEM_H_ +#ifdef _KERNEL #include <sys/param.h> #include <sys/malloc.h> #include <sys/vmem.h> @@ -93,5 +94,14 @@ void *calloc(size_t n, size_t s); zfs_kmem_alloc((size), (kmflags) | M_ZERO) #define kmem_free(buf, size) zfs_kmem_free((buf), (size)) +#endif /* _KERNEL */ + +#ifdef _STANDALONE +/* + * At the moment, we just need it for the type. We redirect the alloc/free + * routines to the usual Free and Malloc in that environment. + */ +typedef int kmem_cache_t; +#endif /* _STANDALONE */ #endif /* _OPENSOLARIS_SYS_KMEM_H_ */ diff --git a/include/os/freebsd/spl/sys/kmem_cache.h b/include/os/freebsd/spl/sys/kmem_cache.h index d8e0349e4ca3..9eec3b4585cb 100644 --- a/include/os/freebsd/spl/sys/kmem_cache.h +++ b/include/os/freebsd/spl/sys/kmem_cache.h @@ -30,6 +30,7 @@ #ifndef _SPL_KMEM_CACHE_H #define _SPL_KMEM_CACHE_H +#ifdef _KERNEL #include <sys/taskq.h> /* kmem move callback return values */ @@ -46,4 +47,6 @@ extern void spl_kmem_cache_set_move(kmem_cache_t *, #define kmem_cache_set_move(skc, move) spl_kmem_cache_set_move(skc, move) +#endif /* _KERNEL */ + #endif diff --git a/include/os/freebsd/spl/sys/kstat.h b/include/os/freebsd/spl/sys/kstat.h index 5ceb88b297d9..f5157c7f4fe3 100644 --- a/include/os/freebsd/spl/sys/kstat.h +++ b/include/os/freebsd/spl/sys/kstat.h @@ -6,7 +6,6 @@ * UCRL-CODE-235197 * * This file is part of the SPL, Solaris Porting Layer. - * For details, see <http://zfsonlinux.org/>. * * The SPL is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -24,8 +23,11 @@ #ifndef _SPL_KSTAT_H #define _SPL_KSTAT_H + #include <sys/types.h> +#ifndef _STANDALONE #include <sys/sysctl.h> +#endif struct list_head {}; #include <sys/mutex.h> #include <sys/proc.h> @@ -129,9 +131,10 @@ struct kstat_s { kstat_raw_ops_t ks_raw_ops; /* ops table for raw type */ char *ks_raw_buf; /* buf used for raw ops */ size_t ks_raw_bufsize; /* size of raw ops buffer */ +#ifndef _STANDALONE struct sysctl_ctx_list ks_sysctl_ctx; struct sysctl_oid *ks_sysctl_root; - +#endif /* _STANDALONE */ }; typedef struct kstat_named_s { @@ -216,10 +219,16 @@ extern void kstat_runq_exit(kstat_io_t *); __kstat_set_seq_raw_ops(k, h, d, a) #define kstat_set_raw_ops(k, h, d, a) \ __kstat_set_raw_ops(k, h, d, a) +#ifndef _STANDALONE #define kstat_create(m, i, n, c, t, s, f) \ __kstat_create(m, i, n, c, t, s, f) #define kstat_install(k) __kstat_install(k) #define kstat_delete(k) __kstat_delete(k) +#else +#define kstat_create(m, i, n, c, t, s, f) ((kstat_t *)0) +#define kstat_install(k) +#define kstat_delete(k) +#endif #endif /* _SPL_KSTAT_H */ diff --git a/include/os/freebsd/spl/sys/proc.h b/include/os/freebsd/spl/sys/proc.h index a455cfbab66f..8583df509b55 100644 --- a/include/os/freebsd/spl/sys/proc.h +++ b/include/os/freebsd/spl/sys/proc.h @@ -41,7 +41,7 @@ #include <sys/kmem.h> #include <sys/malloc.h> - +#ifdef _KERNEL #define CPU curcpu #define minclsyspri PRIBIO #define defclsyspri minclsyspri @@ -111,4 +111,5 @@ zfs_proc_is_caller(proc_t *p) return (p == curproc); } +#endif /* _KERNEL */ #endif /* _OPENSOLARIS_SYS_PROC_H_ */ diff --git a/include/os/freebsd/spl/sys/procfs_list.h b/include/os/freebsd/spl/sys/procfs_list.h index da13f0387cb5..4bc603756ea4 100644 --- a/include/os/freebsd/spl/sys/procfs_list.h +++ b/include/os/freebsd/spl/sys/procfs_list.h @@ -25,6 +25,8 @@ #ifndef _SPL_PROCFS_LIST_H #define _SPL_PROCFS_LIST_H +#ifndef _STANDALONE + #include <sys/kstat.h> #include <sys/mutex.h> @@ -64,4 +66,8 @@ void procfs_list_uninstall(procfs_list_t *procfs_list); void procfs_list_destroy(procfs_list_t *procfs_list); void procfs_list_add(procfs_list_t *procfs_list, void *p); +#else +typedef int procfs_list_t; +#endif /* !_STANDALONE */ + #endif /* _SPL_PROCFS_LIST_H */ diff --git a/include/os/freebsd/spl/sys/sig.h b/include/os/freebsd/spl/sys/sig.h index 426a9e827ecb..a4d440d38326 100644 --- a/include/os/freebsd/spl/sys/sig.h +++ b/include/os/freebsd/spl/sys/sig.h @@ -29,6 +29,8 @@ #ifndef _OPENSOLARIS_SYS_SIG_H_ #define _OPENSOLARIS_SYS_SIG_H_ +#ifndef _STANDALONE + #include_next <sys/signal.h> #include <sys/param.h> #include <sys/lock.h> @@ -62,4 +64,7 @@ issig(int why) } return (0); } + +#endif /* !_STANDALONE */ + #endif /* _OPENSOLARIS_SYS_SIG_H_ */ diff --git a/include/os/freebsd/spl/sys/simd_x86.h b/include/os/freebsd/spl/sys/simd_x86.h index 63d6017b79e0..480bfd28973b 100644 --- a/include/os/freebsd/spl/sys/simd_x86.h +++ b/include/os/freebsd/spl/sys/simd_x86.h @@ -26,15 +26,12 @@ * $FreeBSD$ */ -#include <sys/cdefs.h> #include <sys/types.h> -#include <sys/systm.h> +#include <sys/cdefs.h> #include <sys/proc.h> -#ifdef __i386__ -#include <x86/fpu.h> -#else -#include <machine/fpu.h> -#endif +#include <sys/systm.h> + +#include <machine/pcb.h> #include <x86/x86_var.h> #include <x86/specialreg.h> diff --git a/include/os/freebsd/spl/sys/sunddi.h b/include/os/freebsd/spl/sys/sunddi.h index 41d0f4512977..bfbc3e10a1d2 100644 --- a/include/os/freebsd/spl/sys/sunddi.h +++ b/include/os/freebsd/spl/sys/sunddi.h @@ -6,7 +6,6 @@ * UCRL-CODE-235197 * * This file is part of the SPL, Solaris Porting Layer. - * For details, see <http://zfsonlinux.org/>. * * The SPL is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the diff --git a/include/os/freebsd/spl/sys/sysmacros.h b/include/os/freebsd/spl/sys/sysmacros.h index 5afca10447e7..2d0164cb129f 100644 --- a/include/os/freebsd/spl/sys/sysmacros.h +++ b/include/os/freebsd/spl/sys/sysmacros.h @@ -31,6 +31,7 @@ #define _SYS_SYSMACROS_H #include <sys/param.h> +#include <sys/systm.h> #include <sys/isa_defs.h> #include <sys/libkern.h> #include <sys/zone.h> @@ -71,7 +72,11 @@ extern "C" { #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) #endif +#ifdef _STANDALONE +#define boot_ncpus 1 +#else /* _STANDALONE */ #define boot_ncpus mp_ncpus +#endif /* _STANDALONE */ #define kpreempt_disable() critical_enter() #define kpreempt_enable() critical_exit() #define CPU_SEQID curcpu @@ -319,7 +324,7 @@ extern unsigned char bcd_to_byte[256]; /* avoid any possibility of clashing with <stddef.h> version */ -#define offsetof(s, m) ((size_t)(&(((s *)0)->m))) +#define offsetof(type, field) __offsetof(type, field) #endif /* diff --git a/include/os/freebsd/spl/sys/taskq.h b/include/os/freebsd/spl/sys/taskq.h index 200f9e838b8d..3040549e043d 100644 --- a/include/os/freebsd/spl/sys/taskq.h +++ b/include/os/freebsd/spl/sys/taskq.h @@ -26,6 +26,8 @@ #ifndef _SYS_TASKQ_H #define _SYS_TASKQ_H +#ifdef _KERNEL + #include <sys/types.h> #include <sys/proc.h> #include <sys/taskqueue.h> @@ -112,4 +114,11 @@ void taskq_resume(taskq_t *); } #endif +#endif /* _KERNEL */ + +#ifdef _STANDALONE +typedef int taskq_ent_t; +#define taskq_init_ent(x) +#endif /* _STANDALONE */ + #endif /* _SYS_TASKQ_H */ diff --git a/include/os/freebsd/spl/sys/uio.h b/include/os/freebsd/spl/sys/uio.h index 2b4357a30b09..cb577df105e9 100644 --- a/include/os/freebsd/spl/sys/uio.h +++ b/include/os/freebsd/spl/sys/uio.h @@ -29,6 +29,8 @@ #ifndef _OPENSOLARIS_SYS_UIO_H_ #define _OPENSOLARIS_SYS_UIO_H_ +#ifndef _STANDALONE + #include_next <sys/uio.h> #include <sys/_uio.h> #include <sys/debug.h> @@ -107,4 +109,6 @@ uio_index_at_offset(uio_t *uio, offset_t off, uint_t *vec_idx) return (off); } +#endif /* !_STANDALONE */ + #endif /* !_OPENSOLARIS_SYS_UIO_H_ */ |