1991 Commits

Author SHA1 Message Date
Christian Mauderer
b1ecc253ee st-sdmmc: Handle short not cache aligned buffers
Possible data sources for SD driver:

- mmc_sd_switch():
    - length: 64 byte;
    - buffer on stack
- mmc_test_bus_width():
    - length: 4 or 8 byte
    - buffer in program memory or on stack
- mmc_app_send_scr():
    - length: 8 byte
    - buffer from device ivar structure
- mmc_app_sd_status():
    - length: 64 byte
    - buffer from device ivar structure
- mmc_send_ext_csd():
    - length: MMC_EXTCSD_SIZE = 512
    - buffer from device ivar structure
- rtems_bsd_mmcsd_disk_read_write():
    - length: depends on read
    - buffer from rtems_blkdev buffer -> already aligned
- mmcsd_ioctl_cmd():
    - length: depends on call
    - buffer malloced, not aligned -> patched in RTEMS

So the problematic buffers are only the ones up to 512 bytes. Copy these data
into a buffer to avoid that problem.
2021-04-19 09:02:30 +02:00
Christian Mauderer
00a5f9748e MMCSD: Use cache aligned alloc for ioctl
Some drivers can't easily work with buffers that are not cache aligned
and have an arbitrary length. Therefore use an aligned malloc instead.
2021-04-19 09:02:22 +02:00
Christian Mauderer
aef7a74b94 STM32H7: Fix SDMMC build for all other BSPs 2021-04-01 16:04:44 +02:00
Christian Mauderer
e0fcb31f01 STM32H7: Add SDMMC driver
Update #4372
2021-04-01 09:05:13 +02:00
Christian Mauderer
2caeaafb92 testsuite/media01: Add pattern test
Update #4372
2021-04-01 09:05:05 +02:00
Christian Mauderer
43ae62ed7f testsuite/media01: Enable md5 command
Update #4372
2021-04-01 09:04:54 +02:00
Christian Mauderer
33e3cf8eaf ping6: Honor file descriptor maximum
This is basically the same as the patch for ping.

Update #4360
2021-03-26 14:08:01 +01:00
Christian Mauderer
e7fb073f3a racoon/session: Honor file descriptor maximum
Dynamically allocate a big enough file descriptor set for select(). A
better solution would be to use kqueue() instead of select().

Update #4360
2021-03-26 14:08:01 +01:00
Kinsey Moore
023e94fd8b nexus: Add UKPHY driver to ZynqMP
ZynqMP hardware comes with many different Ethernet PHYs depending on
which board is used. Add the UKPHY driver to handle basic PHY
interaction for any unrecognized PHYs.
2021-03-10 08:57:59 -06:00
Kinsey Moore
3abebabf1d linker: Enforce set alignment requirements
According to commentary on GCC bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99143, the alignment
behavior of linker sections on which RTEMS has relied was never
guaranteed to be consistent across platforms and any alignment
requirements for linker sections needs to be enforced explicitly.
This adds those explicit alignment requirements.
2021-03-10 08:57:59 -06:00
Kinsey Moore
28129f8ee6 ck: Update for ILP32
libck assumes all AArch64 pointers are 8 bytes. This adds the required
defines to handle 4 byte pointers on ILP32.
2021-03-10 08:57:59 -06:00
Kinsey Moore
e256668d6e nexus: Add ZynqMP SLCR driver
Add a System Level Control Register driver for the Xilinx Zynq
Ultrascale+ MPSoC with basic clock control functionality for use with
the Cadence GEM. This also removes the Zynq-7000 clock control weakref
from compilation depending on the BSP in use.
2021-03-10 08:57:59 -06:00
Kinsey Moore
1d9f93cbaa nexus: Switch ZynqMP platforms to CGEM3
Similar to the UARTs, ZynqMP hardware platforms use the highest
memory-mapped CGEM peripheral as the primary instance of that
peripheral. This change allows operation on hardware as well as QEMU.
2021-03-10 08:57:59 -06:00
Kinsey Moore
b7a12cc8f9 if_cgem: Add support for ZynqMP CGEM
This is a port of the latest patch in FreeBSD that adds support for
64bit CGEMs as used in ZynqMP. This does not include the work necessary
for support on RISC-V systems.
2021-03-10 08:57:59 -06:00
Kinsey Moore
0c60fe524e rtembsd: Fix alignment of allocations for 64bit
Alignment on 64bit hardware is strict in comparison to running in an
emulator. This resolves an alignment exception when allocating memory on
real hardware.
2021-03-10 08:57:59 -06:00
Moyano, Gabriel
5b50a5181a ehci_pci: Add to build system
Closes #4264
2021-03-08 18:08:12 +01:00
Moyano, Gabriel
7abb8915d7 ehci_pci: Import from freebsd-org
see #4264
2021-03-08 18:07:46 +01:00
Kinsey Moore
68e79b6d18 zynq: Add support for SDHCI devices 2020-12-22 16:12:58 -06:00
Kinsey Moore
0ad342ae5f Add CGEM definitions for ZynqMP 2020-11-24 08:50:07 -06:00
Christian Mauderer
a58f553e9d if_ffec: Fix cache handling on tx
With the previous fix, it could happen that the end of the packet hasn't
been flushed. For example assume the following addresses:

ds_addr: 0x81c804A
ds_len: 0x57

In that case the data ends at 0x81c80a1. But due to the rounding the
area from 0x81c8040 to 0x81c80a0 would have been flushed.

This fix now first calculates the start and end address, aligns these
addresses and then recalculates the len that has to be flushed.

Update #4180
2020-11-17 11:33:23 +01:00
Christian Mauderer
9cd28904cf imxrt: Add support
Update #4180
2020-11-17 11:33:01 +01:00
Kinsey Moore
19d98d3a19 Update arm64/aarch64 support 2020-11-13 12:33:17 -06:00
Sebastian Huber
9ebb4e2025 dwc_otg: Enable voltage detector
Update #3910.
2020-10-27 06:29:39 +01:00
Sebastian Huber
0e7108f940 dwc_otg: Add support for nexus bus
Update #3910.
2020-10-27 06:29:37 +01:00
Sebastian Huber
8c4c7807f5 dwc_otg: Update host frame interval
Update the host frame interval after a device connection.  Select also
the FS/LS PHY clock.  It is not clear if this works on all platforms.

Update #3910.
2020-10-27 06:29:29 +01:00
Sebastian Huber
1189f7147a if_stmac: Add driver for STM32H7 ethernet module
Update #3910.
2020-10-27 06:28:47 +01:00
Sebastian Huber
06896e4842 NVD(4): Fix logical block count calculation
Update #4164.
2020-10-27 06:26:34 +01:00
Sebastian Huber
b057293e6b NVD(4): Fix NULL pointer access in nvd_sync()
Update #4164.
2020-10-27 06:26:22 +01:00
Sebastian Huber
e58e549728 mcast01: Fix write to read-only string 2020-10-27 06:16:58 +01:00
Chris Johns
c99a1ab00e powerpc/nexus: Add legacy PCI support to PowerPC Motorola Shared BSP family 2020-10-20 12:54:54 +11:00
Chris Johns
7027254d29 waf: Fix test module dependency check 2020-09-30 15:31:53 +10:00
Sebastian Huber
a0556e196a Add moxie support 2020-09-29 14:09:53 +02:00
Sebastian Huber
6b38edaf21 tsc_lpc32xx.c: Update due to API changes 2020-09-29 14:09:53 +02:00
Sebastian Huber
cb1faf6d43 Add or1k support 2020-09-29 06:30:01 +02:00
Sebastian Huber
1c2cc5b3f7 ck: Use default implementation < ARMv6 2020-09-29 06:29:52 +02:00
Sebastian Huber
f1f0362080 build: Ensure mandatory compiler/linker flags 2020-09-19 13:26:41 +02:00
Chris Johns
089780d2de waf: Implement module dependency checking in the build system
- Do not build a test if a dependency is not enabled.

- Perform a dependency check and generate an error if an enabled module
  depends on a disabled module.

Closes #4077
2020-09-16 15:52:15 +10:00
Chris Johns
025af7c529 build: Separate the kernel and user land include paths
- Provide support for separate user and kernel include paths in
  libbsd.py.

- Update all added files with a suitable context to build them
  with. Supported contexts are `kernel` and `user`.

- Kernel source use the kernel, CPU, and build header paths in
  this order.

- User source use the user, kernel, CPU and build header paths
  in this order. The FreeBSD /usr/include tree has some kernel
  header files installed as well as user land header files. This
  complicates the separation as some kernel header files are not
  visible to user land code while other are. This is handled by
  appending the kernel header paths to the user header paths so
  user land code will include a user header with the same name as
  a kernel header over the kernel header but will find a kernel
  header if there is no matching user header file.

Closes #4067
2020-09-16 15:52:15 +10:00
Chris Johns
c8c03f73f1 waf: Add a config report 2020-09-16 15:52:15 +10:00
Chris Johns
93effa4b01 waf: Reformat to PEP8 using yapf 2020-09-16 15:52:15 +10:00
Sebastian Huber
5eed6acb5f rtems-bsd-cxx: Undefine _GNU_SOURCE
At least the powerpc C++ compiler defines currently _GNU_SOURCE due to a GCC
configuration error.  This leads to conflicting qsort_r() definitions.

As a workaround undefine _GNU_SOURCE for this C++ compatibility test file.

Update #4078.
2020-09-14 17:13:12 +02:00
Sebastian Huber
2abb02ebae mcast01: Add test program 2020-09-10 09:49:28 +02:00
Sebastian Huber
272d5f522d ifmcstat: Port to RTEMS 2020-09-07 10:12:44 +02:00
Sebastian Huber
11bdcef24d ifmcstat: Import from FreeBSD 2020-09-07 09:39:22 +02:00
Sebastian Huber
03d7f76a81 nfsclient: Next attempt to fix 64-bit targets
In serporidok use the same structures used to hand over to the XDR
encode/decode routines.  We must not mix packed and unpacked structures.

Update #4025.
2020-08-18 07:32:20 +02:00
Sebastian Huber
d964a6703c telnet: Use rtems_shell_dup_current_env()
Update #3859.
2020-08-06 13:21:00 +02:00
Sebastian Huber
bd7e6eeb31 Conditionally include <bsp/linker-symbols.h>
Remove superfluous <bsp.h> include.
2020-08-05 15:04:48 +02:00
Sebastian Huber
c4233ce8ac racoon: Change type due to Newlib API changes 2020-08-05 13:21:46 +02:00
Christian Mauderer
9abf1d3885 testsuite: Use new name of test-info.h.
In RTEMS the test.h has been renamed to test-info.h to allow the new
test framework to take over.
2020-07-31 08:32:17 +02:00
Christian Mauderer
97dc907946 if_ffec: Align send buffers to cache if necessary. 2020-07-29 13:09:11 +02:00