summaryrefslogtreecommitdiffstats
path: root/rtemsbsd/local
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-08-22 14:59:50 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-09-21 10:29:41 +0200
commit3489e3b6396ee9944a6a2e19e675ca54c36993b4 (patch)
treecd55cfac1c96ff4b888a9606fd6a0d8eb65bb446 /rtemsbsd/local
parentck: Define CK_MD_PPC32_LWSYNC if available (diff)
downloadrtems-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.c29
-rw-r--r--rtemsbsd/local/ifdi_if.c106
-rw-r--r--rtemsbsd/local/sdhci_if.c4
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>