diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-05-18 09:35:46 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-10-20 14:59:55 +0200 |
commit | 62c8ca0ead09ef289faf6517e177fd6f6d7a74a3 (patch) | |
tree | 8eeed454171864eb40485c13f004b39150704135 /freebsd | |
parent | Add CPUINFO command to default network init (diff) | |
download | rtems-libbsd-62c8ca0ead09ef289faf6517e177fd6f6d7a74a3.tar.bz2 |
Fix INVARIANTS support
Diffstat (limited to 'freebsd')
-rw-r--r-- | freebsd/sys/kern/kern_event.c | 2 | ||||
-rw-r--r-- | freebsd/sys/kern/subr_lock.c | 2 | ||||
-rw-r--r-- | freebsd/sys/sys/rmlock.h | 1 | ||||
-rw-r--r-- | freebsd/sys/sys/rwlock.h | 4 | ||||
-rw-r--r-- | freebsd/sys/sys/systm.h | 4 | ||||
-rw-r--r-- | freebsd/sys/vm/uma_core.c | 4 |
6 files changed, 17 insertions, 0 deletions
diff --git a/freebsd/sys/kern/kern_event.c b/freebsd/sys/kern/kern_event.c index a3464ada..ed1a9dab 100644 --- a/freebsd/sys/kern/kern_event.c +++ b/freebsd/sys/kern/kern_event.c @@ -2108,8 +2108,10 @@ static void kqueue_destroy(struct kqueue *kq) { +#ifndef __rtems__ KASSERT(kq->kq_fdp == NULL, ("kqueue still attached to a file descriptor")); +#endif /* __rtems__ */ seldrain(&kq->kq_sel); knlist_destroy(&kq->kq_sel.si_note); mtx_destroy(&kq->kq_lock); diff --git a/freebsd/sys/kern/subr_lock.c b/freebsd/sys/kern/subr_lock.c index 6ce4a06b..28991a9f 100644 --- a/freebsd/sys/kern/subr_lock.c +++ b/freebsd/sys/kern/subr_lock.c @@ -84,8 +84,10 @@ lock_init(struct lock_object *lock, struct lock_class *class, const char *name, int i; /* Check for double-init and zero object. */ +#ifndef __rtems__ KASSERT(flags & LO_NEW || !lock_initialized(lock), ("lock \"%s\" %p already initialized", name, lock)); +#endif /* __rtems__ */ /* Look up lock class to find its index. */ for (i = 0; i < LOCK_CLASS_MAX; i++) diff --git a/freebsd/sys/sys/rmlock.h b/freebsd/sys/sys/rmlock.h index efd60597..c14dcb15 100644 --- a/freebsd/sys/sys/rmlock.h +++ b/freebsd/sys/sys/rmlock.h @@ -112,6 +112,7 @@ void _rm_assert(const struct rmlock *rm, int what, const char *file, #define rm_rlock(rm, tracker) do { (void)tracker; rw_rlock(rm); } while (0) #define rm_runlock(rm, tracker) do { (void)tracker; rw_runlock(rm); } while (0) #define rm_sleep rw_sleep +#define _rm_assert _rw_assert #endif /* __rtems__ */ diff --git a/freebsd/sys/sys/rwlock.h b/freebsd/sys/sys/rwlock.h index 8988ecbd..8c1f8e6d 100644 --- a/freebsd/sys/sys/rwlock.h +++ b/freebsd/sys/sys/rwlock.h @@ -164,6 +164,10 @@ int _rw_try_rlock(struct rwlock *rw, const char *file, int line); void _rw_runlock(struct rwlock *rw, const char *file, int line); int _rw_try_upgrade(struct rwlock *rw, const char *file, int line); void _rw_downgrade(struct rwlock *rw, const char *file, int line); +#if defined(INVARIANTS) || defined(INVARIANT_SUPPORT) +void _rw_assert(const struct rwlock *rw, int what, const char *file, + int line); +#endif #endif /* __rtems__ */ #ifndef __rtems__ diff --git a/freebsd/sys/sys/systm.h b/freebsd/sys/sys/systm.h index 90c11bb1..6b557c56 100644 --- a/freebsd/sys/sys/systm.h +++ b/freebsd/sys/sys/systm.h @@ -105,7 +105,11 @@ enum VM_GUEST { VM_GUEST_NO = 0, VM_GUEST_VM, VM_GUEST_XEN, VM_GUEST_HV, VM_GUEST_VMWARE, VM_GUEST_KVM, VM_LAST }; #if defined(WITNESS) || defined(INVARIANT_SUPPORT) +#ifndef __rtems__ void kassert_panic(const char *fmt, ...) __printflike(1, 2); +#else /* __rtems__ */ +#define kassert_panic panic +#endif /* __rtems__ */ #endif #ifdef INVARIANTS /* The option is always available */ diff --git a/freebsd/sys/vm/uma_core.c b/freebsd/sys/vm/uma_core.c index 01a46a41..6c85b0e8 100644 --- a/freebsd/sys/vm/uma_core.c +++ b/freebsd/sys/vm/uma_core.c @@ -2204,8 +2204,10 @@ uma_zalloc_arg(uma_zone_t zone, void *udata, int flags) WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "uma_zalloc_arg: zone \"%s\"", zone->uz_name); } +#ifndef __rtems__ KASSERT(curthread->td_critnest == 0 || SCHEDULER_STOPPED(), ("uma_zalloc_arg: called with spinlock or critical section held")); +#endif /* __rtems__ */ #ifdef DEBUG_MEMGUARD if (memguard_cmp_zone(zone)) { @@ -2742,8 +2744,10 @@ uma_zfree_arg(uma_zone_t zone, void *item, void *udata) CTR2(KTR_UMA, "uma_zfree_arg thread %x zone %s", curthread, zone->uz_name); +#ifndef __rtems__ KASSERT(curthread->td_critnest == 0 || SCHEDULER_STOPPED(), ("uma_zfree_arg: called with spinlock or critical section held")); +#endif /* __rtems__ */ /* uma_zfree(..., NULL) does nothing, to match free(9). */ if (item == NULL) |