From 18fa92c2dcc6c52e0bf27d214d80f0c25a89b47d Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 20 Aug 2018 15:53:03 +0200 Subject: Update to FreeBSD head 2018-02-01 Git mirror commit d079ae0442af8fa3cfd6d7ede190d04e64a2c0d4. Update #3472. --- rtemsbsd/include/machine/_limits.h | 4 +- rtemsbsd/include/machine/atomic.h | 38 ++++++++++ .../include/machine/rtems-bsd-kernel-namespace.h | 9 ++- rtemsbsd/include/machine/rtems-bsd-kernel-space.h | 2 + rtemsbsd/include/rtems/bsd/local/device_if.h | 47 ++++++++++-- rtemsbsd/include/rtems/bsd/local/ifdi_if.h | 88 ++++++++++++++++------ rtemsbsd/include/rtems/bsd/local/usbdevs.h | 17 ++++- rtemsbsd/include/rtems/bsd/local/usbdevs_data.h | 50 ++++++++++-- rtemsbsd/include/vm/vm_phys.h | 0 9 files changed, 214 insertions(+), 41 deletions(-) create mode 100644 rtemsbsd/include/vm/vm_phys.h (limited to 'rtemsbsd/include') diff --git a/rtemsbsd/include/machine/_limits.h b/rtemsbsd/include/machine/_limits.h index c7187c60..18383c33 100644 --- a/rtemsbsd/include/machine/_limits.h +++ b/rtemsbsd/include/machine/_limits.h @@ -7,7 +7,7 @@ */ /* - * Copyright (c) 2009-2013 embedded brains GmbH. All rights reserved. + * Copyright (c) 2009, 2018 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Dornierstr. 4 @@ -46,4 +46,6 @@ #define __INT_MAX INT_MAX +#define __SIZE_T_MAX __SIZE_MAX__ + #endif /* _RTEMS_BSD_MACHINE__LIMITS_H_ */ diff --git a/rtemsbsd/include/machine/atomic.h b/rtemsbsd/include/machine/atomic.h index b95a4b5a..f7de4178 100644 --- a/rtemsbsd/include/machine/atomic.h +++ b/rtemsbsd/include/machine/atomic.h @@ -491,6 +491,27 @@ atomic_readandclear_int(volatile int *p) return (tmp); } +static inline int +atomic_load_int(volatile int *p) +{ + int tmp; + +#if defined(_RTEMS_BSD_MACHINE_ATOMIC_USE_ATOMIC) + std::atomic_int *q = + reinterpret_cast(const_cast(p)); + + tmp = q->load(std::memory_order_relaxed); +#elif defined(_RTEMS_BSD_MACHINE_ATOMIC_USE_STDATOMIC) + atomic_int *q = (atomic_int *)RTEMS_DEVOLATILE(int *, p); + + tmp = atomic_load_explicit(q, memory_order_relaxed); +#else + tmp = *p; +#endif + + return (tmp); +} + static inline int atomic_load_acq_int(volatile int *p) { @@ -513,6 +534,23 @@ atomic_load_acq_int(volatile int *p) return (tmp); } +static inline void +atomic_store_int(volatile int *p, int v) +{ +#if defined(_RTEMS_BSD_MACHINE_ATOMIC_USE_ATOMIC) + std::atomic_int *q = + reinterpret_cast(const_cast(p)); + + q->store(v, std::memory_order_relaxed); +#elif defined(_RTEMS_BSD_MACHINE_ATOMIC_USE_STDATOMIC) + atomic_int *q = (atomic_int *)RTEMS_DEVOLATILE(int *, p); + + atomic_store_explicit(q, v, memory_order_relaxed); +#else + *p = v; +#endif +} + static inline void atomic_store_rel_int(volatile int *p, int v) { diff --git a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h index dd0b2ed2..3bdb6916 100644 --- a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h +++ b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h @@ -1744,6 +1744,7 @@ #define ieee80211_wme_initparams _bsd_ieee80211_wme_initparams #define ieee80211_wme_updateparams _bsd_ieee80211_wme_updateparams #define ieee80211_wme_updateparams_locked _bsd_ieee80211_wme_updateparams_locked +#define ieee80211_wme_vap_ac_is_noack _bsd_ieee80211_wme_vap_ac_is_noack #define ieee80211_wme_vap_getparams _bsd_ieee80211_wme_vap_getparams #define ifa_add_loopback_route _bsd_ifa_add_loopback_route #define ifa_alloc _bsd_ifa_alloc @@ -2594,6 +2595,7 @@ #define make_dev_args_init_impl _bsd_make_dev_args_init_impl #define make_dev_s _bsd_make_dev_s #define M_ALIAS _bsd_M_ALIAS +#define mallocarray _bsd_mallocarray #define malloc_init _bsd_malloc_init #define malloc_uninit _bsd_malloc_uninit #define m_append _bsd_m_append @@ -3207,6 +3209,7 @@ #define pf_pull_hdr _bsd_pf_pull_hdr #define pf_purge_expired_fragments _bsd_pf_purge_expired_fragments #define pf_purge_expired_src_nodes _bsd_pf_purge_expired_src_nodes +#define pf_purge_fragments _bsd_pf_purge_fragments #define pf_purge_proc _bsd_pf_purge_proc #define pf_purge_thread _bsd_pf_purge_thread #define pf_qids _bsd_pf_qids @@ -4043,7 +4046,6 @@ #define sctp_deact_sharedkey_ep _bsd_sctp_deact_sharedkey_ep #define sctp_default_supported_hmaclist _bsd_sctp_default_supported_hmaclist #define sctp_del_addr_from_vrf _bsd_sctp_del_addr_from_vrf -#define sctp_delayed_cksum _bsd_sctp_delayed_cksum #define sctp_delete_from_timewait _bsd_sctp_delete_from_timewait #define sctp_delete_prim_timer _bsd_sctp_delete_prim_timer #define sctp_delete_sharedkey _bsd_sctp_delete_sharedkey @@ -4654,6 +4656,7 @@ #define tcp6_usrreqs _bsd_tcp6_usrreqs #define tcp_abc_l_var _bsd_tcp_abc_l_var #define tcp_addoptions _bsd_tcp_addoptions +#define tcp_always_keepalive _bsd_tcp_always_keepalive #define tcp_autorcvbuf _bsd_tcp_autorcvbuf #define tcp_autorcvbuf_inc _bsd_tcp_autorcvbuf_inc #define tcp_autorcvbuf_max _bsd_tcp_autorcvbuf_max @@ -4770,6 +4773,7 @@ #define tcp_sendspace _bsd_tcp_sendspace #define tcp_setpersist _bsd_tcp_setpersist #define tcp_slowtimo _bsd_tcp_slowtimo +#define tcp_sndbuf_autoscale _bsd_tcp_sndbuf_autoscale #define tcps_states _bsd_tcps_states #define tcpstat _bsd_tcpstat #define tcp_state_change _bsd_tcp_state_change @@ -4963,6 +4967,7 @@ #define ulitecb _bsd_ulitecb #define ulitecbinfo _bsd_ulitecbinfo #define uma_align_cache _bsd_uma_align_cache +#define uma_avail _bsd_uma_avail #define uma_limit _bsd_uma_limit #define uma_print_stats _bsd_uma_print_stats #define uma_print_zone _bsd_uma_print_zone @@ -4974,10 +4979,12 @@ #define uma_size _bsd_uma_size #define uma_startup _bsd_uma_startup #define uma_zalloc_arg _bsd_uma_zalloc_arg +#define uma_zalloc_domain _bsd_uma_zalloc_domain #define uma_zcache_create _bsd_uma_zcache_create #define uma_zcreate _bsd_uma_zcreate #define uma_zdestroy _bsd_uma_zdestroy #define uma_zfree_arg _bsd_uma_zfree_arg +#define uma_zfree_domain _bsd_uma_zfree_domain #define uma_zone_exhausted _bsd_uma_zone_exhausted #define uma_zone_exhausted_nolock _bsd_uma_zone_exhausted_nolock #define uma_zone_get_cur _bsd_uma_zone_get_cur diff --git a/rtemsbsd/include/machine/rtems-bsd-kernel-space.h b/rtemsbsd/include/machine/rtems-bsd-kernel-space.h index bfdc27ec..b22d73e2 100644 --- a/rtemsbsd/include/machine/rtems-bsd-kernel-space.h +++ b/rtemsbsd/include/machine/rtems-bsd-kernel-space.h @@ -92,4 +92,6 @@ void rtems_bsd_assert_func(const char *file, int line, const char *func, const c #define ENOIOCTL (-3) /* ioctl not handled by this layer */ #define EDIRIOCTL (-4) /* do direct ioctl in GEOM */ +#define EDOOFUS __ELASTERROR + #endif /* _RTEMS_BSD_MACHINE_RTEMS_BSD_KERNEL_SPACE_H_ */ diff --git a/rtemsbsd/include/rtems/bsd/local/device_if.h b/rtemsbsd/include/rtems/bsd/local/device_if.h index e27c2b52..2f085cbf 100644 --- a/rtemsbsd/include/rtems/bsd/local/device_if.h +++ b/rtemsbsd/include/rtems/bsd/local/device_if.h @@ -23,6 +23,9 @@ #ifndef _device_if_h_ #define _device_if_h_ + +#include + /** @brief Unique descriptor for the DEVICE_PROBE() method */ extern struct kobjop_desc device_probe_desc; /** @brief A function implementing the DEVICE_PROBE() method */ @@ -104,8 +107,16 @@ typedef int device_probe_t(device_t dev); static __inline int DEVICE_PROBE(device_t dev) { kobjop_t _m; + int rc; + +TSENTER2(device_get_name(dev)); + KOBJOPLOOKUP(((kobj_t)dev)->ops,device_probe); - return ((device_probe_t *) _m)(dev); + rc = ((device_probe_t *) _m)(dev); + +TSEXIT2(device_get_name(dev)); + + return (rc); } /** @brief Unique descriptor for the DEVICE_IDENTIFY() method */ @@ -176,8 +187,16 @@ typedef int device_attach_t(device_t dev); static __inline int DEVICE_ATTACH(device_t dev) { kobjop_t _m; + int rc; + +TSENTER2(device_get_name(dev)); + KOBJOPLOOKUP(((kobj_t)dev)->ops,device_attach); - return ((device_attach_t *) _m)(dev); + rc = ((device_attach_t *) _m)(dev); + +TSEXIT2(device_get_name(dev)); + + return (rc); } /** @brief Unique descriptor for the DEVICE_DETACH() method */ @@ -210,8 +229,10 @@ typedef int device_detach_t(device_t dev); static __inline int DEVICE_DETACH(device_t dev) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)dev)->ops,device_detach); - return ((device_detach_t *) _m)(dev); + rc = ((device_detach_t *) _m)(dev); + return (rc); } /** @brief Unique descriptor for the DEVICE_SHUTDOWN() method */ @@ -236,8 +257,10 @@ typedef int device_shutdown_t(device_t dev); static __inline int DEVICE_SHUTDOWN(device_t dev) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)dev)->ops,device_shutdown); - return ((device_shutdown_t *) _m)(dev); + rc = ((device_shutdown_t *) _m)(dev); + return (rc); } /** @brief Unique descriptor for the DEVICE_SUSPEND() method */ @@ -271,8 +294,10 @@ typedef int device_suspend_t(device_t dev); static __inline int DEVICE_SUSPEND(device_t dev) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)dev)->ops,device_suspend); - return ((device_suspend_t *) _m)(dev); + rc = ((device_suspend_t *) _m)(dev); + return (rc); } /** @brief Unique descriptor for the DEVICE_RESUME() method */ @@ -301,8 +326,10 @@ typedef int device_resume_t(device_t dev); static __inline int DEVICE_RESUME(device_t dev) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)dev)->ops,device_resume); - return ((device_resume_t *) _m)(dev); + rc = ((device_resume_t *) _m)(dev); + return (rc); } /** @brief Unique descriptor for the DEVICE_QUIESCE() method */ @@ -335,8 +362,10 @@ typedef int device_quiesce_t(device_t dev); static __inline int DEVICE_QUIESCE(device_t dev) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)dev)->ops,device_quiesce); - return ((device_quiesce_t *) _m)(dev); + rc = ((device_quiesce_t *) _m)(dev); + return (rc); } /** @brief Unique descriptor for the DEVICE_REGISTER() method */ @@ -364,8 +393,10 @@ typedef void * device_register_t(device_t dev); static __inline void * DEVICE_REGISTER(device_t dev) { kobjop_t _m; + void * rc; KOBJOPLOOKUP(((kobj_t)dev)->ops,device_register); - return ((device_register_t *) _m)(dev); + rc = ((device_register_t *) _m)(dev); + return (rc); } #endif /* _device_if_h_ */ diff --git a/rtemsbsd/include/rtems/bsd/local/ifdi_if.h b/rtemsbsd/include/rtems/bsd/local/ifdi_if.h index b1a5da05..a1b92481 100644 --- a/rtemsbsd/include/rtems/bsd/local/ifdi_if.h +++ b/rtemsbsd/include/rtems/bsd/local/ifdi_if.h @@ -22,8 +22,10 @@ typedef int ifdi_attach_pre_t(if_ctx_t _ctx); static __inline int IFDI_ATTACH_PRE(if_ctx_t _ctx) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_attach_pre); - return ((ifdi_attach_pre_t *) _m)(_ctx); + rc = ((ifdi_attach_pre_t *) _m)(_ctx); + return (rc); } /** @brief Unique descriptor for the IFDI_ATTACH_POST() method */ @@ -34,8 +36,10 @@ typedef int ifdi_attach_post_t(if_ctx_t _ctx); static __inline int IFDI_ATTACH_POST(if_ctx_t _ctx) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_attach_post); - return ((ifdi_attach_post_t *) _m)(_ctx); + rc = ((ifdi_attach_post_t *) _m)(_ctx); + return (rc); } /** @brief Unique descriptor for the IFDI_DETACH() method */ @@ -46,8 +50,10 @@ typedef int ifdi_detach_t(if_ctx_t _ctx); static __inline int IFDI_DETACH(if_ctx_t _ctx) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_detach); - return ((ifdi_detach_t *) _m)(_ctx); + rc = ((ifdi_detach_t *) _m)(_ctx); + return (rc); } /** @brief Unique descriptor for the IFDI_SUSPEND() method */ @@ -58,8 +64,10 @@ typedef int ifdi_suspend_t(if_ctx_t _ctx); static __inline int IFDI_SUSPEND(if_ctx_t _ctx) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_suspend); - return ((ifdi_suspend_t *) _m)(_ctx); + rc = ((ifdi_suspend_t *) _m)(_ctx); + return (rc); } /** @brief Unique descriptor for the IFDI_SHUTDOWN() method */ @@ -70,8 +78,10 @@ typedef int ifdi_shutdown_t(if_ctx_t _ctx); static __inline int IFDI_SHUTDOWN(if_ctx_t _ctx) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_shutdown); - return ((ifdi_shutdown_t *) _m)(_ctx); + rc = ((ifdi_shutdown_t *) _m)(_ctx); + return (rc); } /** @brief Unique descriptor for the IFDI_RESUME() method */ @@ -82,8 +92,10 @@ typedef int ifdi_resume_t(if_ctx_t _ctx); static __inline int IFDI_RESUME(if_ctx_t _ctx) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_resume); - return ((ifdi_resume_t *) _m)(_ctx); + rc = ((ifdi_resume_t *) _m)(_ctx); + return (rc); } /** @brief Unique descriptor for the IFDI_TX_QUEUES_ALLOC() method */ @@ -97,8 +109,10 @@ static __inline int IFDI_TX_QUEUES_ALLOC(if_ctx_t _ctx, caddr_t *_vaddrs, int ntxqsets) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_tx_queues_alloc); - return ((ifdi_tx_queues_alloc_t *) _m)(_ctx, _vaddrs, _paddrs, ntxqs, ntxqsets); + rc = ((ifdi_tx_queues_alloc_t *) _m)(_ctx, _vaddrs, _paddrs, ntxqs, ntxqsets); + return (rc); } /** @brief Unique descriptor for the IFDI_RX_QUEUES_ALLOC() method */ @@ -112,8 +126,10 @@ static __inline int IFDI_RX_QUEUES_ALLOC(if_ctx_t _ctx, caddr_t *_vaddrs, int nrxqsets) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_rx_queues_alloc); - return ((ifdi_rx_queues_alloc_t *) _m)(_ctx, _vaddrs, _paddrs, nrxqs, nrxqsets); + rc = ((ifdi_rx_queues_alloc_t *) _m)(_ctx, _vaddrs, _paddrs, nrxqs, nrxqsets); + return (rc); } /** @brief Unique descriptor for the IFDI_QUEUES_FREE() method */ @@ -160,8 +176,10 @@ typedef int ifdi_msix_intr_assign_t(if_ctx_t _sctx, int msix); static __inline int IFDI_MSIX_INTR_ASSIGN(if_ctx_t _sctx, int msix) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_sctx)->ops,ifdi_msix_intr_assign); - return ((ifdi_msix_intr_assign_t *) _m)(_sctx, msix); + rc = ((ifdi_msix_intr_assign_t *) _m)(_sctx, msix); + return (rc); } /** @brief Unique descriptor for the IFDI_INTR_ENABLE() method */ @@ -196,8 +214,10 @@ typedef int ifdi_rx_queue_intr_enable_t(if_ctx_t _ctx, uint16_t _qid); static __inline int IFDI_RX_QUEUE_INTR_ENABLE(if_ctx_t _ctx, uint16_t _qid) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_rx_queue_intr_enable); - return ((ifdi_rx_queue_intr_enable_t *) _m)(_ctx, _qid); + rc = ((ifdi_rx_queue_intr_enable_t *) _m)(_ctx, _qid); + return (rc); } /** @brief Unique descriptor for the IFDI_TX_QUEUE_INTR_ENABLE() method */ @@ -208,8 +228,10 @@ typedef int ifdi_tx_queue_intr_enable_t(if_ctx_t _ctx, uint16_t _qid); static __inline int IFDI_TX_QUEUE_INTR_ENABLE(if_ctx_t _ctx, uint16_t _qid) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_tx_queue_intr_enable); - return ((ifdi_tx_queue_intr_enable_t *) _m)(_ctx, _qid); + rc = ((ifdi_tx_queue_intr_enable_t *) _m)(_ctx, _qid); + return (rc); } /** @brief Unique descriptor for the IFDI_LINK_INTR_ENABLE() method */ @@ -244,8 +266,10 @@ typedef int ifdi_mtu_set_t(if_ctx_t _ctx, uint32_t _mtu); static __inline int IFDI_MTU_SET(if_ctx_t _ctx, uint32_t _mtu) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_mtu_set); - return ((ifdi_mtu_set_t *) _m)(_ctx, _mtu); + rc = ((ifdi_mtu_set_t *) _m)(_ctx, _mtu); + return (rc); } /** @brief Unique descriptor for the IFDI_MEDIA_SET() method */ @@ -268,8 +292,10 @@ typedef int ifdi_promisc_set_t(if_ctx_t _ctx, int _flags); static __inline int IFDI_PROMISC_SET(if_ctx_t _ctx, int _flags) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_promisc_set); - return ((ifdi_promisc_set_t *) _m)(_ctx, _flags); + rc = ((ifdi_promisc_set_t *) _m)(_ctx, _flags); + return (rc); } /** @brief Unique descriptor for the IFDI_CRCSTRIP_SET() method */ @@ -306,8 +332,10 @@ static __inline int IFDI_IOV_INIT(if_ctx_t _ctx, uint16_t num_vfs, const nvlist_t * params) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_iov_init); - return ((ifdi_iov_init_t *) _m)(_ctx, num_vfs, params); + rc = ((ifdi_iov_init_t *) _m)(_ctx, num_vfs, params); + return (rc); } /** @brief Unique descriptor for the IFDI_IOV_UNINIT() method */ @@ -332,8 +360,10 @@ static __inline int IFDI_IOV_VF_ADD(if_ctx_t _ctx, uint16_t num_vfs, const nvlist_t * params) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_iov_vf_add); - return ((ifdi_iov_vf_add_t *) _m)(_ctx, num_vfs, params); + rc = ((ifdi_iov_vf_add_t *) _m)(_ctx, num_vfs, params); + return (rc); } /** @brief Unique descriptor for the IFDI_UPDATE_ADMIN_STATUS() method */ @@ -368,8 +398,10 @@ typedef int ifdi_media_change_t(if_ctx_t _ctx); static __inline int IFDI_MEDIA_CHANGE(if_ctx_t _ctx) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_media_change); - return ((ifdi_media_change_t *) _m)(_ctx); + rc = ((ifdi_media_change_t *) _m)(_ctx); + return (rc); } /** @brief Unique descriptor for the IFDI_GET_COUNTER() method */ @@ -380,8 +412,10 @@ typedef uint64_t ifdi_get_counter_t(if_ctx_t _ctx, ift_counter cnt); static __inline uint64_t IFDI_GET_COUNTER(if_ctx_t _ctx, ift_counter cnt) { kobjop_t _m; + uint64_t rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_get_counter); - return ((ifdi_get_counter_t *) _m)(_ctx, cnt); + rc = ((ifdi_get_counter_t *) _m)(_ctx, cnt); + return (rc); } /** @brief Unique descriptor for the IFDI_PRIV_IOCTL() method */ @@ -392,8 +426,10 @@ typedef int ifdi_priv_ioctl_t(if_ctx_t _ctx, u_long _cmd, caddr_t _data); static __inline int IFDI_PRIV_IOCTL(if_ctx_t _ctx, u_long _cmd, caddr_t _data) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_priv_ioctl); - return ((ifdi_priv_ioctl_t *) _m)(_ctx, _cmd, _data); + rc = ((ifdi_priv_ioctl_t *) _m)(_ctx, _cmd, _data); + return (rc); } /** @brief Unique descriptor for the IFDI_I2C_REQ() method */ @@ -404,8 +440,10 @@ typedef int ifdi_i2c_req_t(if_ctx_t _ctx, struct ifi2creq *_req); static __inline int IFDI_I2C_REQ(if_ctx_t _ctx, struct ifi2creq *_req) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_i2c_req); - return ((ifdi_i2c_req_t *) _m)(_ctx, _req); + rc = ((ifdi_i2c_req_t *) _m)(_ctx, _req); + return (rc); } /** @brief Unique descriptor for the IFDI_TXQ_SETUP() method */ @@ -416,8 +454,10 @@ typedef int ifdi_txq_setup_t(if_ctx_t _ctx, uint32_t _txqid); static __inline int IFDI_TXQ_SETUP(if_ctx_t _ctx, uint32_t _txqid) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_txq_setup); - return ((ifdi_txq_setup_t *) _m)(_ctx, _txqid); + rc = ((ifdi_txq_setup_t *) _m)(_ctx, _txqid); + return (rc); } /** @brief Unique descriptor for the IFDI_RXQ_SETUP() method */ @@ -428,8 +468,10 @@ typedef int ifdi_rxq_setup_t(if_ctx_t _ctx, uint32_t _txqid); static __inline int IFDI_RXQ_SETUP(if_ctx_t _ctx, uint32_t _txqid) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_ctx)->ops,ifdi_rxq_setup); - return ((ifdi_rxq_setup_t *) _m)(_ctx, _txqid); + rc = ((ifdi_rxq_setup_t *) _m)(_ctx, _txqid); + return (rc); } /** @brief Unique descriptor for the IFDI_TIMER() method */ @@ -501,8 +543,10 @@ static __inline int IFDI_SYSCTL_INT_DELAY(if_ctx_t _sctx, if_int_delay_info_t _iidi) { kobjop_t _m; + int rc; KOBJOPLOOKUP(((kobj_t)_sctx)->ops,ifdi_sysctl_int_delay); - return ((ifdi_sysctl_int_delay_t *) _m)(_sctx, _iidi); + rc = ((ifdi_sysctl_int_delay_t *) _m)(_sctx, _iidi); + return (rc); } /** @brief Unique descriptor for the IFDI_DEBUG() method */ diff --git a/rtemsbsd/include/rtems/bsd/local/usbdevs.h b/rtemsbsd/include/rtems/bsd/local/usbdevs.h index dbb8b0f2..4848ccd7 100644 --- a/rtemsbsd/include/rtems/bsd/local/usbdevs.h +++ b/rtemsbsd/include/rtems/bsd/local/usbdevs.h @@ -1,5 +1,3 @@ -/* ??? */ - /* * THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. * @@ -675,6 +673,7 @@ #define USB_VENDOR_AMIT2 0x15c5 /* AMIT */ #define USB_VENDOR_TEXTECH 0x15ca /* Textech International Ltd. */ #define USB_VENDOR_SOHOWARE 0x15e8 /* SOHOware */ +#define USB_VENDOR_ABIT 0x15eb /* ABIT Corporation */ #define USB_VENDOR_UMAX 0x1606 /* UMAX Data Systems */ #define USB_VENDOR_INSIDEOUT 0x1608 /* Inside Out Networks */ #define USB_VENDOR_AMOI 0x1614 /* Amoi Electronics */ @@ -714,6 +713,7 @@ #define USB_VENDOR_STELERA 0x1a8d /* Stelera Wireless */ #define USB_VENDOR_SEL 0x1adb /* Schweitzer Engineering Laboratories */ #define USB_VENDOR_CORSAIR 0x1b1c /* Corsair */ +#define USB_VENDOR_ASM 0x1b21 /* ASMedia Technology */ #define USB_VENDOR_MATRIXORBITAL 0x1b3d /* Matrix Orbital */ #define USB_VENDOR_OVISLINK 0x1b75 /* OvisLink */ #define USB_VENDOR_TML 0x1b91 /* The Mobility Lab */ @@ -757,6 +757,7 @@ #define USB_VENDOR_NHJ 0x2770 /* NHJ */ #define USB_VENDOR_THINGM 0x27b8 /* ThingM */ #define USB_VENDOR_PLANEX 0x2c02 /* Planex Communications */ +#define USB_VENDOR_QUECTEL 0x2c7c /* Quectel Wireless Solutions */ #define USB_VENDOR_VIDZMEDIA 0x3275 /* VidzMedia Pte Ltd */ #define USB_VENDOR_LINKINSTRUMENTS 0x3195 /* Link Instruments Inc. */ #define USB_VENDOR_AEI 0x3334 /* AEI */ @@ -822,6 +823,9 @@ #define USB_PRODUCT_ABBOTT_STEREO_PLUG 0x3410 /* Abbott Diabetics Stereo Plug */ #define USB_PRODUCT_ABBOTT_STRIP_PORT 0x3420 /* Abbott Diabetics Strip Port */ +/* ABIT products */ +#define USB_PRODUCT_ABIT_AK_020 0x7d0e /* 3G modem */ + /* AboCom products */ #define USB_PRODUCT_ABOCOM_XX1 0x110c /* XX1 */ #define USB_PRODUCT_ABOCOM_XX2 0x200c /* XX2 */ @@ -2581,6 +2585,7 @@ #define USB_PRODUCT_JETI_SPC1201 0x04b2 /* FTDI compatible adapter */ /* JMicron products */ +#define USB_PRODUCT_JMICRON_JMS567 0x0567 /* USB to SATA 6.0Gb/s bridge */ #define USB_PRODUCT_JMICRON_JM20336 0x2336 /* USB to SATA Bridge */ #define USB_PRODUCT_JMICRON_JM20337 0x2338 /* USB to ATA/ATAPI Bridge */ @@ -3818,12 +3823,15 @@ #define USB_PRODUCT_QUANTA_GLE 0xea06 /* HSDPA modem */ #define USB_PRODUCT_QUANTA_RW6815R 0xf003 /* HP iPAQ rw6815 RNDIS */ -/* Qtronix products */ -#define USB_PRODUCT_QTRONIX_980N 0x2011 /* Scorpion-980N keyboard */ +/* Quectel products */ +#define USB_PRODUCT_QUECTEL_EC25 0x0125 /* LTE modem */ /* Quickshot products */ #define USB_PRODUCT_QUICKSHOT_STRIKEPAD 0x6238 /* USB StrikePad */ +/* Qtronix products */ +#define USB_PRODUCT_QTRONIX_980N 0x2011 /* Scorpion-980N keyboard */ + /* Radio Shack */ #define USB_PRODUCT_RADIOSHACK_USBCABLE 0x4026 /* USB to Serial Cable */ @@ -3893,6 +3901,7 @@ #define USB_PRODUCT_REALTEK_RTL8188CU_COMBO 0x8754 /* RTL8188CU */ #define USB_PRODUCT_REALTEK_RTL8723BU 0xb720 /* RTL8723BU */ #define USB_PRODUCT_REALTEK_RTL8192SU 0xc512 /* RTL8192SU */ +#define USB_PRODUCT_REALTEK_RTL8812AU 0x8812 /* RTL8812AU Wireless Adapter */ /* RedOctane products */ #define USB_PRODUCT_REDOCTANE_DUMMY 0x0000 /* Dummy product */ diff --git a/rtemsbsd/include/rtems/bsd/local/usbdevs_data.h b/rtemsbsd/include/rtems/bsd/local/usbdevs_data.h index ef168bbf..d8fe4aea 100644 --- a/rtemsbsd/include/rtems/bsd/local/usbdevs_data.h +++ b/rtemsbsd/include/rtems/bsd/local/usbdevs_data.h @@ -1,5 +1,3 @@ -/* ??? */ - /* * THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. * @@ -141,6 +139,12 @@ const struct usb_knowndev usb_knowndevs[] = { "Abbott Diabetics", "Abbott Diabetics Strip Port", }, + { + USB_VENDOR_ABIT, USB_PRODUCT_ABIT_AK_020, + 0, + "ABIT Corporation", + "3G modem", + }, { USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX1, 0, @@ -8103,6 +8107,12 @@ const struct usb_knowndev usb_knowndevs[] = { "Jeti", "FTDI compatible adapter", }, + { + USB_VENDOR_JMICRON, USB_PRODUCT_JMICRON_JMS567, + 0, + "JMicron", + "USB to SATA 6.0Gb/s bridge", + }, { USB_VENDOR_JMICRON, USB_PRODUCT_JMICRON_JM20336, 0, @@ -14098,10 +14108,10 @@ const struct usb_knowndev usb_knowndevs[] = { "HP iPAQ rw6815 RNDIS", }, { - USB_VENDOR_QTRONIX, USB_PRODUCT_QTRONIX_980N, + USB_VENDOR_QUECTEL, USB_PRODUCT_QUECTEL_EC25, 0, - "Qtronix", - "Scorpion-980N keyboard", + "Quectel Wireless Solutions", + "LTE modem", }, { USB_VENDOR_QUICKSHOT, USB_PRODUCT_QUICKSHOT_STRIKEPAD, @@ -14109,6 +14119,12 @@ const struct usb_knowndev usb_knowndevs[] = { "Quickshot", "USB StrikePad", }, + { + USB_VENDOR_QTRONIX, USB_PRODUCT_QTRONIX_980N, + 0, + "Qtronix", + "Scorpion-980N keyboard", + }, { USB_VENDOR_RADIOSHACK, USB_PRODUCT_RADIOSHACK_USBCABLE, 0, @@ -14463,6 +14479,12 @@ const struct usb_knowndev usb_knowndevs[] = { "Realtek", "RTL8192SU", }, + { + USB_VENDOR_REALTEK, USB_PRODUCT_REALTEK_RTL8812AU, + 0, + "Realtek", + "RTL8812AU Wireless Adapter", + }, { USB_VENDOR_REDOCTANE, USB_PRODUCT_REDOCTANE_DUMMY, 0, @@ -22083,6 +22105,12 @@ const struct usb_knowndev usb_knowndevs[] = { "SOHOware", NULL, }, + { + USB_VENDOR_ABIT, 0, + USB_KNOWNDEV_NOPROD, + "ABIT Corporation", + NULL, + }, { USB_VENDOR_UMAX, 0, USB_KNOWNDEV_NOPROD, @@ -22317,6 +22345,12 @@ const struct usb_knowndev usb_knowndevs[] = { "Corsair", NULL, }, + { + USB_VENDOR_ASM, 0, + USB_KNOWNDEV_NOPROD, + "ASMedia Technology", + NULL, + }, { USB_VENDOR_MATRIXORBITAL, 0, USB_KNOWNDEV_NOPROD, @@ -22575,6 +22609,12 @@ const struct usb_knowndev usb_knowndevs[] = { "Planex Communications", NULL, }, + { + USB_VENDOR_QUECTEL, 0, + USB_KNOWNDEV_NOPROD, + "Quectel Wireless Solutions", + NULL, + }, { USB_VENDOR_VIDZMEDIA, 0, USB_KNOWNDEV_NOPROD, diff --git a/rtemsbsd/include/vm/vm_phys.h b/rtemsbsd/include/vm/vm_phys.h new file mode 100644 index 00000000..e69de29b -- cgit v1.2.3