From c40e45b75eb76d79a05c7fa85c1fa9b5c728a12f Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 7 Oct 2016 15:10:20 +0200 Subject: Update to FreeBSD head 2016-08-23 Git mirror commit 9fe7c416e6abb28b1398fd3e5687099846800cfd. --- rtemsbsd/rtems/generate_kvm_symbols | 100 ++++++++++++++++++-------------- rtemsbsd/rtems/rtems-kernel-init.c | 29 +++++++++ rtemsbsd/rtems/rtems-kernel-irqs.c | 2 +- rtemsbsd/rtems/rtems-kernel-jail.c | 4 +- rtemsbsd/rtems/rtems-kernel-malloc.c | 3 - rtemsbsd/rtems/rtems-kernel-mutex.c | 2 +- rtemsbsd/rtems/rtems-kernel-nexus.c | 6 +- rtemsbsd/rtems/rtems-kernel-page.c | 6 +- rtemsbsd/rtems/rtems-kernel-sx.c | 6 +- rtemsbsd/rtems/rtems-legacy-rtrequest.c | 3 +- 10 files changed, 101 insertions(+), 60 deletions(-) (limited to 'rtemsbsd/rtems') diff --git a/rtemsbsd/rtems/generate_kvm_symbols b/rtemsbsd/rtems/generate_kvm_symbols index 8097c516..5be75664 100755 --- a/rtemsbsd/rtems/generate_kvm_symbols +++ b/rtemsbsd/rtems/generate_kvm_symbols @@ -8,62 +8,76 @@ while read sym do symbols="${symbols} ${sym}" done <lock_object, &m->mutex)); } diff --git a/rtemsbsd/rtems/rtems-kernel-nexus.c b/rtemsbsd/rtems/rtems-kernel-nexus.c index a9c2427a..04638cca 100644 --- a/rtemsbsd/rtems/rtems-kernel-nexus.c +++ b/rtemsbsd/rtems/rtems-kernel-nexus.c @@ -121,9 +121,9 @@ nexus_probe(device_t dev) } static bool -nexus_get_start(const rtems_bsd_device *nd, int type, u_long *start) +nexus_get_start(const rtems_bsd_device *nd, int type, rman_res_t *start) { - u_long sr = *start; + u_long sr = (u_long)*start; size_t i; for (i = 0; i < nd->resource_count; ++i) { @@ -141,7 +141,7 @@ nexus_get_start(const rtems_bsd_device *nd, int type, u_long *start) static struct resource * nexus_alloc_resource(device_t bus, device_t child, int type, int *rid, - u_long start, u_long end, u_long count, u_int flags) + rman_res_t start, rman_res_t end, rman_res_t count, u_int flags) { struct resource *res = NULL; struct rman *rm; diff --git a/rtemsbsd/rtems/rtems-kernel-page.c b/rtemsbsd/rtems/rtems-kernel-page.c index cfcbb1a0..8f8c235a 100644 --- a/rtemsbsd/rtems/rtems-kernel-page.c +++ b/rtemsbsd/rtems/rtems-kernel-page.c @@ -94,10 +94,12 @@ rtems_bsd_page_alloc(uintptr_t size_in_bytes, int wait) mtx_unlock(&page_heap_mtx); #ifdef INVARIANTS - if (addr != NULL) { + wait |= M_ZERO; +#endif + + if (addr != NULL && (wait & M_ZERO) != 0) { memset(addr, 0, size_in_bytes); } -#endif return (addr); } diff --git a/rtemsbsd/rtems/rtems-kernel-sx.c b/rtemsbsd/rtems/rtems-kernel-sx.c index 84523a9a..ea0cf04e 100644 --- a/rtemsbsd/rtems/rtems-kernel-sx.c +++ b/rtemsbsd/rtems/rtems-kernel-sx.c @@ -146,7 +146,7 @@ _sx_xlock(struct sx *sx, int opts, const char *file, int line) } int -_sx_try_xlock(struct sx *sx, const char *file, int line) +sx_try_xlock_(struct sx *sx, const char *file, int line) { return (rtems_bsd_mutex_trylock(&sx->lock_object, &sx->mutex)); } @@ -158,13 +158,13 @@ _sx_xunlock(struct sx *sx, const char *file, int line) } int -_sx_try_upgrade(struct sx *sx, const char *file, int line) +sx_try_upgrade_(struct sx *sx, const char *file, int line) { return (1); } void -_sx_downgrade(struct sx *sx, const char *file, int line) +sx_downgrade_(struct sx *sx, const char *file, int line) { /* Do nothing */ } diff --git a/rtemsbsd/rtems/rtems-legacy-rtrequest.c b/rtemsbsd/rtems/rtems-legacy-rtrequest.c index e1269be9..2223ab09 100644 --- a/rtemsbsd/rtems/rtems-legacy-rtrequest.c +++ b/rtemsbsd/rtems/rtems-legacy-rtrequest.c @@ -44,7 +44,8 @@ rtems_bsdnet_rtrequest(int req, struct sockaddr *dst, struct sockaddr *gateway, { int error; - error = rtrequest(req, dst, gateway, netmask, flags, net_nrt); + error = rtrequest_fib(req, dst, gateway, netmask, flags, net_nrt, + BSD_DEFAULT_FIB); if (error != 0) { errno = error; -- cgit v1.2.3