diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-08-22 14:59:50 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-09-21 10:29:41 +0200 |
commit | 3489e3b6396ee9944a6a2e19e675ca54c36993b4 (patch) | |
tree | cd55cfac1c96ff4b888a9606fd6a0d8eb65bb446 /rtemsbsd/local | |
parent | ck: Define CK_MD_PPC32_LWSYNC if available (diff) | |
download | rtems-libbsd-3489e3b6396ee9944a6a2e19e675ca54c36993b4.tar.bz2 |
Update to FreeBSD head 2018-09-17
Git mirror commit 6c2192b1ef8c50788c751f878552526800b1e319.
Update #3472.
Diffstat (limited to 'rtemsbsd/local')
-rw-r--r-- | rtemsbsd/local/cryptodev_if.c | 29 | ||||
-rw-r--r-- | rtemsbsd/local/ifdi_if.c | 106 | ||||
-rw-r--r-- | rtemsbsd/local/sdhci_if.c | 4 |
3 files changed, 113 insertions, 26 deletions
diff --git a/rtemsbsd/local/cryptodev_if.c b/rtemsbsd/local/cryptodev_if.c index 648003d8..a989d0e8 100644 --- a/rtemsbsd/local/cryptodev_if.c +++ b/rtemsbsd/local/cryptodev_if.c @@ -20,35 +20,26 @@ #include <opencrypto/cryptodev.h> #include <rtems/bsd/local/cryptodev_if.h> -struct kobj_method cryptodev_newsession_method_default = { - &cryptodev_newsession_desc, (kobjop_t) kobj_error_method -}; -struct kobjop_desc cryptodev_newsession_desc = { - 0, &cryptodev_newsession_method_default -}; +static int null_freesession(device_t dev, + crypto_session_t crypto_session) +{ + return 0; +} -struct kobj_method cryptodev_freesession_method_default = { - &cryptodev_freesession_desc, (kobjop_t) kobj_error_method +struct kobjop_desc cryptodev_newsession_desc = { + 0, { &cryptodev_newsession_desc, (kobjop_t)kobj_error_method } }; struct kobjop_desc cryptodev_freesession_desc = { - 0, &cryptodev_freesession_method_default -}; - -struct kobj_method cryptodev_process_method_default = { - &cryptodev_process_desc, (kobjop_t) kobj_error_method + 0, { &cryptodev_freesession_desc, (kobjop_t)null_freesession } }; struct kobjop_desc cryptodev_process_desc = { - 0, &cryptodev_process_method_default -}; - -struct kobj_method cryptodev_kprocess_method_default = { - &cryptodev_kprocess_desc, (kobjop_t) kobj_error_method + 0, { &cryptodev_process_desc, (kobjop_t)kobj_error_method } }; struct kobjop_desc cryptodev_kprocess_desc = { - 0, &cryptodev_kprocess_method_default + 0, { &cryptodev_kprocess_desc, (kobjop_t)kobj_error_method } }; diff --git a/rtemsbsd/local/ifdi_if.c b/rtemsbsd/local/ifdi_if.c index e5a81946..e9337b8d 100644 --- a/rtemsbsd/local/ifdi_if.c +++ b/rtemsbsd/local/ifdi_if.c @@ -26,6 +26,9 @@ #include <net/if_var.h> #include <net/if_media.h> #include <net/iflib.h> +#include <net/if_clone.h> +#include <net/if_dl.h> +#include <net/if_types.h> #include <rtems/bsd/local/ifdi_if.h> @@ -35,6 +38,18 @@ { } + static int + null_knlist_add(if_ctx_t _ctx __unused, struct knote *_kn) + { + return (0); + } + + static int + null_knote_event(if_ctx_t _ctx __unused, struct knote *_kn, int _hint) + { + return (0); + } + static void null_timer_op(if_ctx_t _ctx __unused, uint16_t _qsidx __unused) { @@ -47,6 +62,12 @@ } static int + null_int_int_op(if_ctx_t _ctx __unused, int arg0 __unused) + { + return (ENOTSUP); + } + + static int null_queue_intr_enable(if_ctx_t _ctx __unused, uint16_t _qid __unused) { return (ENOTSUP); @@ -98,12 +119,73 @@ return (ENOTSUP); } + static void + null_media_status(if_ctx_t ctx __unused, struct ifmediareq *ifmr) + { + ifmr->ifm_status = IFM_AVALID | IFM_ACTIVE; + ifmr->ifm_active = IFM_ETHER | IFM_25G_ACC | IFM_FDX; + } + + static int + null_cloneattach(if_ctx_t ctx __unused, struct if_clone *ifc __unused, + const char *name __unused, caddr_t params __unused) + { + return (0); + } + + static void + null_rx_clset(if_ctx_t _ctx __unused, uint16_t _flid __unused, + uint16_t _qid __unused, caddr_t *_sdcl __unused) + { + } + static void + null_object_info_get(if_ctx_t ctx __unused, void *data __unused, int size __unused) + { + } + static int + default_mac_set(if_ctx_t ctx, const uint8_t *mac) + { + struct ifnet *ifp = iflib_get_ifp(ctx); + struct sockaddr_dl *sdl; + + if (ifp && ifp->if_addr) { + sdl = (struct sockaddr_dl *)ifp->if_addr->ifa_addr; + MPASS(sdl->sdl_type == IFT_ETHER); + memcpy(LLADDR(sdl), mac, ETHER_ADDR_LEN); + } + return (0); + } + +struct kobjop_desc ifdi_knlist_add_desc = { + 0, { &ifdi_knlist_add_desc, (kobjop_t)null_knlist_add } +}; + +struct kobjop_desc ifdi_knote_event_desc = { + 0, { &ifdi_knote_event_desc, (kobjop_t)null_knote_event } +}; + +struct kobjop_desc ifdi_object_info_get_desc = { + 0, { &ifdi_object_info_get_desc, (kobjop_t)null_object_info_get } +}; + struct kobjop_desc ifdi_attach_pre_desc = { - 0, { &ifdi_attach_pre_desc, (kobjop_t)kobj_error_method } + 0, { &ifdi_attach_pre_desc, (kobjop_t)null_int_op } }; struct kobjop_desc ifdi_attach_post_desc = { - 0, { &ifdi_attach_post_desc, (kobjop_t)kobj_error_method } + 0, { &ifdi_attach_post_desc, (kobjop_t)null_int_op } +}; + +struct kobjop_desc ifdi_reinit_pre_desc = { + 0, { &ifdi_reinit_pre_desc, (kobjop_t)null_int_op } +}; + +struct kobjop_desc ifdi_reinit_post_desc = { + 0, { &ifdi_reinit_post_desc, (kobjop_t)null_int_op } +}; + +struct kobjop_desc ifdi_cloneattach_desc = { + 0, { &ifdi_cloneattach_desc, (kobjop_t)null_cloneattach } }; struct kobjop_desc ifdi_detach_desc = { @@ -131,7 +213,11 @@ struct kobjop_desc ifdi_rx_queues_alloc_desc = { }; struct kobjop_desc ifdi_queues_free_desc = { - 0, { &ifdi_queues_free_desc, (kobjop_t)kobj_error_method } + 0, { &ifdi_queues_free_desc, (kobjop_t)null_void_op } +}; + +struct kobjop_desc ifdi_rx_clset_desc = { + 0, { &ifdi_rx_clset_desc, (kobjop_t)null_rx_clset } }; struct kobjop_desc ifdi_init_desc = { @@ -143,7 +229,7 @@ struct kobjop_desc ifdi_stop_desc = { }; struct kobjop_desc ifdi_msix_intr_assign_desc = { - 0, { &ifdi_msix_intr_assign_desc, (kobjop_t)kobj_error_method } + 0, { &ifdi_msix_intr_assign_desc, (kobjop_t)null_int_int_op } }; struct kobjop_desc ifdi_intr_enable_desc = { @@ -174,6 +260,10 @@ struct kobjop_desc ifdi_mtu_set_desc = { 0, { &ifdi_mtu_set_desc, (kobjop_t)kobj_error_method } }; +struct kobjop_desc ifdi_mac_set_desc = { + 0, { &ifdi_mac_set_desc, (kobjop_t)default_mac_set } +}; + struct kobjop_desc ifdi_media_set_desc = { 0, { &ifdi_media_set_desc, (kobjop_t)null_void_op } }; @@ -207,11 +297,11 @@ struct kobjop_desc ifdi_update_admin_status_desc = { }; struct kobjop_desc ifdi_media_status_desc = { - 0, { &ifdi_media_status_desc, (kobjop_t)kobj_error_method } + 0, { &ifdi_media_status_desc, (kobjop_t)null_media_status } }; struct kobjop_desc ifdi_media_change_desc = { - 0, { &ifdi_media_change_desc, (kobjop_t)kobj_error_method } + 0, { &ifdi_media_change_desc, (kobjop_t)null_int_op } }; struct kobjop_desc ifdi_get_counter_desc = { @@ -242,6 +332,10 @@ struct kobjop_desc ifdi_watchdog_reset_desc = { 0, { &ifdi_watchdog_reset_desc, (kobjop_t)null_void_op } }; +struct kobjop_desc ifdi_watchdog_reset_queue_desc = { + 0, { &ifdi_watchdog_reset_queue_desc, (kobjop_t)null_timer_op } +}; + struct kobjop_desc ifdi_led_func_desc = { 0, { &ifdi_led_func_desc, (kobjop_t)null_led_func } }; diff --git a/rtemsbsd/local/sdhci_if.c b/rtemsbsd/local/sdhci_if.c index 1d6c26d4..e50e7a47 100644 --- a/rtemsbsd/local/sdhci_if.c +++ b/rtemsbsd/local/sdhci_if.c @@ -16,10 +16,12 @@ #include <sys/queue.h> #include <sys/kernel.h> #include <sys/kobj.h> +#include <sys/lock.h> +#include <sys/mutex.h> #include <sys/types.h> -#include <sys/bus.h> #include <sys/sysctl.h> #include <sys/taskqueue.h> +#include <machine/bus.h> #include <dev/mmc/bridge.h> #include <dev/sdhci/sdhci.h> |