1883 Commits

Author SHA1 Message Date
Christian Mauderer
aad7461410 rtems_waf: Move to the public repositories.
For an update from an earlier version it is necessary to do a

    git submodule sync rtems_waf
    git submodule update rtems_waf

after this commit is applied to update the submodules URL.
2018-06-18 13:15:51 +02:00
Christian Mauderer
f8cf0746b3 beagle: Disable WiFi if libbsd is build without it.
Update #3351.
2018-06-05 09:59:16 +02:00
Christian Mauderer
e1d62e8ace waf: Fix python3 compatibility. 2018-05-24 11:20:34 +02:00
Sebastian Huber
b2eb48c23b dhcpcd: Add hooks 2018-05-08 07:37:17 +02:00
Sebastian Huber
8bd38d645c dhcpcd: Add rtems_dhcpcd_start()
Use it throughout to start the DHCP client (dhcpcd).
2018-05-08 06:50:17 +02:00
Sebastian Huber
bd09f9f132 rc_conf: Do not create directories used by dhcpcd
The dhcpcd will create the directories on its own.
2018-05-08 06:50:17 +02:00
Sebastian Huber
9c570da872 rc_conf: Include missing header files 2018-05-08 06:50:17 +02:00
Christian Mauderer
dd35ec5cd7 waf: Allow to add libs per test.
Update #3419.
2018-05-04 07:15:36 +02:00
Christian Mauderer
a779a3b870 pfctl: Undef INET6 to avoid warning. 2018-05-03 07:09:46 +02:00
Christian Mauderer
338f3005fc buildset: Add minimal and everything config.
This adds two new buildset configurations: One that leaves out as much
features as possible and one that enables all features. For the default
configuration WiFi support is now disabled.

To disable IPv6 for the minimal configuration, all -DINET6 are
eliminated in libbsd.py. They are now replaced by a #ifdef that checks
for RTEMS_BSD_MODULE_NETINET6 instead.

Close #3351.
2018-05-03 07:09:46 +02:00
Christian Mauderer
4eb250246d tcpdump: Remove unused file. 2018-05-03 07:09:46 +02:00
Christian Mauderer
93f19042f9 waf: Generate a rtems/bsd/modules.h
The generated file defines a RTEMS_BSD_MODULE_xxx for each enabled
module. That is usefull for conditional compilation depending on whether
a module is build not.

Update #3351.
2018-05-03 07:09:46 +02:00
Christian Mauderer
1588cf1e03 waf: Fix source code generators.
There have been some bugs with the strings left from the transition to
directly building from libbsd.py.
2018-05-03 07:09:46 +02:00
Christian Mauderer
821976e825 waf: Fix usage of build-include from config. 2018-05-03 07:09:46 +02:00
Sebastian Huber
634b3bfece rtems-debugger: Remove files
They are now in the main RTEMS sources.

Update #3419.
2018-05-02 10:36:41 +02:00
Sebastian Huber
443a058db4 Use network services from RTEMS
Close #3419.
2018-04-30 13:42:18 +02:00
Sebastian Huber
b1404f2392 Add DHCP clientid to test default network init 2018-04-30 13:42:18 +02:00
Sebastian Huber
ef5d536f84 at91_mci: Simplify XDMA usage 2018-04-27 10:14:44 +02:00
Sebastian Huber
d45899bce8 at91_mci: Get rid of bounce buffer 2018-04-27 09:05:37 +02:00
Sebastian Huber
3fac9e9cd4 at91_mci: Use real interrupt
Execute at91_mci_intr() in interrupt context.  Synchronize MMC requests
via RTEMS interrupt lock.
2018-04-26 15:23:08 +02:00
Sebastian Huber
c7e162abd8 mmc: Optimize mmc_wait_for_req()
Use a self-contained RTEMS binary semaphore instead of msleep() and
wakeup().  This is itself more efficient and in addition allows the use
of mmc_wakeup() in interrupt context.
2018-04-26 15:19:42 +02:00
Sebastian Huber
4b1426368b at91_mci: Fix use of BOARD_MCK 2018-04-26 11:14:39 +02:00
Sebastian Huber
f092186c84 at91_mci: Fix use of pre-processor defines 2018-04-26 11:14:10 +02:00
Christian Mauderer
854427bec4 waf: Add configurations with different modules.
Update #3351
2018-04-10 08:55:47 +02:00
Christian Mauderer
fedd993da8 freebsd-to-rtems.py: Use all modules.
Update #3351
2018-04-10 08:55:47 +02:00
Christian Mauderer
494b156fd2 waf: Remove module without sources.
There are no imported sources for a number of modules. Some of them
doesn't even have the right paths for freebsd-org anymore. Therefore
this patch removes the following modules:

- dev_usb_add_on
- dev_usb_bluetooth
- dev_usb_controller_add_on
- dev_usb_misc
- dev_usb_storage_add_on
- dev_usb_template
- dev_nic_cs

Update #3351
2018-04-10 08:55:47 +02:00
Christian Mauderer
a6a6d54909 waf: Fix freebsd-to-rtems.py.
Update #3351
2018-04-10 08:55:28 +02:00
Chris Johns
d797c5dcd2 waf: Refactor libbsd.py to support per module generation.
This change allows us to control the modules we want to build.

Update #3351
2018-04-10 08:54:58 +02:00
Chris Johns
f7a09b5985 waf: Support building from libbsd.py directly from waf.
Remove the need to generate a waf script.

Move various pieces of data from the builder code to libbsd.py and make
it configuration data.

Update #3351
2018-04-10 08:54:52 +02:00
Sebastian Huber
8189ea825a CRYPTO(4): Port to RTEMS 2018-03-28 07:59:12 +02:00
Sebastian Huber
6600368589 CRYPTO(4): Import from FreeBSD 2018-03-27 14:42:46 +02:00
Sebastian Huber
b8f7836e44 DEVFS(5): Fix warning 2018-03-27 14:42:46 +02:00
Sebastian Huber
8993827a73 DEVFS(5): Properly initialize fp->f_cdevpriv 2018-03-27 14:42:46 +02:00
Christian Mauderer
7ec935e03f vprintf: Add handler that mutes all output.
This adds a vprintf handler that can be used to suppress all outputs of
the libbsd.
2018-03-23 09:36:35 +01:00
Sebastian Huber
d300a34424 Silence rtems_bsd_ifconfig() 2018-03-23 09:14:34 +01:00
Christian Mauderer
b3d1e6a9c3 config.inc: Remove unused values. 2018-03-22 07:09:08 +01:00
Christian Mauderer
b2a210ca3e if_atsam: Add checksum offload. 2018-03-21 09:14:25 +01:00
Christian Mauderer
67c35b9ed1 openssl: Provide deprecated functions.
Some applications (like the civetweb web server) still use functions
that are deprecated by openssl. If OPENSSL_NO_DEPRECATED is defined,
openssl will not provide these functions. This patch removes the define
so that the functions are available.
2018-03-21 09:14:25 +01:00
Sebastian Huber
eae664ea8f mutex: Use panic() after ISR lock release
Using panic() with interrupts disabled could lead to an additional error
(INTERNAL_ERROR_BAD_THREAD_DISPATCH_ENVIRONMENT) due to a potentially
blocking output.
2018-03-13 11:27:11 +01:00
Sebastian Huber
2275776d21 dwc_otg: Default to USB host mode
In case no "dr_mode" property is present in the device tree, then
default to USB host mode.  This is necessary to support the Cyclone V
SoC Development Kit.
2018-02-06 09:56:35 +01:00
Sebastian Huber
b79c025a12 dwc_otg: Add compatibility string, constify
Support device tree of  Cyclone V SoC Development Kit.
2018-02-06 09:56:35 +01:00
Sebastian Huber
bcaa8a28a2 dw_mmc: Properly init/reset DMA 2018-02-06 09:56:35 +01:00
Sebastian Huber
138bf250c2 dw_mmc: Add MMCBR_IVAR_TIMING 2018-02-06 09:56:35 +01:00
Sebastian Huber
c30fa94277 Add device tree support for Altera/Intel Cyclone V
Close #3290.
2018-02-06 09:55:31 +01:00
Sebastian Huber
9906c4a5ee tests: Fix configuration dependencies 2018-02-05 12:05:52 +01:00
Sebastian Huber
0f9258f2fb linux/percpu.h: Fix for uni-processor config 2018-02-05 11:55:01 +01:00
Sebastian Huber
a0633c51db SLEEPQUEUE(9): Update due to API changes
Update #3264.
2018-02-05 10:56:39 +01:00
Sebastian Huber
8b3da1329b termios: Update due to API changes
Update #2843.
2018-02-05 10:56:24 +01:00
Sebastian Huber
327f4e1029 sdk_dpaa: What to do with tail queue drop?
The issue is this:

static int dpaa_eth_macless_probe(struct platform_device *_of_dev)
{
[...]
    INIT_LIST_HEAD(&priv->dpa_fq_list);

    err = dpa_fq_probe_macless(dev, &priv->dpa_fq_list, RX);
    if (!err)
        err = dpa_fq_probe_macless(dev, &priv->dpa_fq_list,
                       TX);
    if (err < 0)
        goto fq_probe_failed;
[...]
    /* Add the FQs to the interface, and make them active */
    /* For MAC-less devices we only get here for RX frame queues
     * initialization, which are the TX queues of the other
     * partition.
     * It is safe to rely on one partition to set the FQ taildrop
     * threshold for the TX queues of the other partition
     * because the ERN notifications will be received by the
     * partition doing qman_enqueue.
     */
    err = dpa_fqs_init(dev,  &priv->dpa_fq_list, true);
    if (err < 0)
        goto fq_alloc_failed;
[...]

The priv->dpa_fq_list contains a list of FQ_TYPE_RX_PCD  and FQ_TYPE_TX
items.  I don't understand what the "For MAC-less devices we only get
here for RX frame queues initialization" means in this context.  The
td_enable == true in dpa_fqs_init().  So, we have:

int dpa_fq_init(struct dpa_fq *dpa_fq, bool td_enable)
{
[...]
        if (dpa_fq->fq_type == FQ_TYPE_TX ||
                dpa_fq->fq_type == FQ_TYPE_TX_CONFIRM ||
                dpa_fq->fq_type == FQ_TYPE_TX_CONF_MQ) {
[...]
            initfq.we_mask |= QM_INITFQ_WE_OAC;
[...]
        }

        if (td_enable) {
            initfq.we_mask |= QM_INITFQ_WE_TDTHRESH;
            qm_fqd_taildrop_set(&initfq.fqd.td,
                    DPA_FQ_TD, 1);
            initfq.fqd.fq_ctrl = QM_FQCTRL_TDE;
        }

The td_enable == true && dpa_fq->fq_type == FQ_TYPE_TX causes later:

int qman_init_fq(struct qman_fq *fq, u32 flags, struct qm_mcc_initfq *opts)
{
[...]
    if (opts && (opts->we_mask & QM_INITFQ_WE_OAC)) {
        /* And can't be set at the same time as TDTHRESH */
        if (opts->we_mask & QM_INITFQ_WE_TDTHRESH)
            return -EINVAL;
    }

This aborts the  initialization of the MAC-less driver.  I don't
understand why this path doesn't happen on the SDK Linux system.

Update #3277.
2018-01-23 14:55:35 +01:00
Sebastian Huber
d62a3df1c7 sdk_dpaa: Port to RTEMS
Update #3277.
2018-01-23 14:55:31 +01:00