757 Commits

Author SHA1 Message Date
Karel Gardas
508af74f79 if_stmac: fix compilation error (related to crc32_raw move in FreeBSD)
FreeBSD in 2019 moved crc32 function into separate gsb_crc32.h header
file and probably after libbsd sync with this change if_stmac got broken.
2022-06-04 19:54:09 +02:00
Sebastian Huber
d1bfa784b7 Use rtems_task_exit() 2022-06-01 10:36:17 +02:00
Sebastian Huber
9e87868ec2 if_atsam: Recover from receive freezes
Under unknown conditions the receive path ended up in a frozen state.
In this state, the DMA and driver descriptor head were equal and all
receive descriptors had the used bit set.  So, the DMA was unable to
store received frames.  However, the receive daemon was never woken up
to refill the receive buffers.  It seems that the RXUBR interrupt can be
used to recover from this state.

Update #4652.
2022-06-01 09:59:10 +02:00
Sebastian Huber
eea3f0eec3 if_atsam: Shorten sysctl names
Update #4652.
2022-06-01 09:59:10 +02:00
Sebastian Huber
1ed12b8af7 if_atsam: Add tx/rx desc sysctls
Update #4652.
2022-06-01 09:59:10 +02:00
Sebastian Huber
eb58e82197 if_atsam: Add register sysctls
Update #4652.
2022-06-01 09:59:10 +02:00
Sebastian Huber
5650e92685 if_atsam: Allow stats reset via sysctl
Update #4652.
2022-06-01 09:59:09 +02:00
Sebastian Huber
c6212520ab Add program destructor support
Update #4650.
2022-05-12 07:48:02 +02:00
Sebastian Huber
38e1610af2 if_atsam: Fix interface stop
Close #4652.
2022-05-11 16:05:46 +02:00
Sebastian Huber
8039d70d94 if_atsam: Support transmit bpf
Update #4652.
2022-05-11 16:05:26 +02:00
Sebastian Huber
5c4ac7a917 if_atsam: Do not use rtems_bsdnet_newproc()
Update #4652.
2022-05-11 16:05:26 +02:00
Sebastian Huber
202502a397 if_atsam: Support IFCAP_VLAN_HWTAGGING
This is required to enable checksum offload for vlan interfaces.

Update #4652.
2022-05-11 16:05:26 +02:00
Sebastian Huber
62fc2b6a03 if_atsam: Optimize receive
Do not use the interface mutex in the receive loop.  Avoid multiple
reads of DMA descriptor words.  Use a compile-time constant for the
receive DMA descriptor count to simplify calculations.

Update #4652.
2022-05-11 16:05:26 +02:00
Sebastian Huber
6be24bd16a if_atsam: Optimize transmit
Use the transmit interface handler to avoid a transmit task/interrupt.
Use a compile-time constant for the transmit DMA descriptor count to
simplify calculations.

Update #4652.
2022-05-11 16:05:26 +02:00
Sebastian Huber
3150b37022 if_atsam: Add multicast support
Update #4652.
2022-05-11 16:05:26 +02:00
Sebastian Huber
f4efcbfda5 if_atsam: Fix start/stop of interface
Update #4652.
2022-05-11 16:05:26 +02:00
Sebastian Huber
339ba3dd9f if_atsam: Fix interrupt setup
The interrupt is enabled by rtems_interrupt_handler_install().

Update #4652.
2022-05-11 16:05:26 +02:00
Sebastian Huber
5b62a8bfa1 if_atsam: Do not disable the Ethernet CRC
The Ethernet CRC and padding must be always generated by the MAC.

Update #4652.
2022-05-11 16:05:26 +02:00
Sebastian Huber
c58bb6095a if_atsam: Enable all capabilities
Update #4652.
2022-05-11 16:05:25 +02:00
Sebastian Huber
73c764a70e if_atsam: Fix warnings
Update #4652.
2022-05-11 16:05:25 +02:00
Heinz Junkes
878713ba45 if_mve: Add MV643XX Ethernet driver
Close #4345.
2022-03-07 10:53:16 +01:00
Sebastian Huber
1b6529ee94 rtems-bsd-program.h: Remove stray ';' 2022-02-23 15:57:30 +01:00
Christian Mauderer
0b883f311e ppp: Fix transmitting data
The pppstart expected that a driver write would somehow magically
process all data passed to the write function. Because ppp disables all
buffering that originally has been in termios, that assumption is not
true for all but polled drivers.

With this patch, the pppstart now gets and processes the feedback that
is returned from the driver via rtems_termios_dequeue_characters.

Update #4493
2022-02-10 09:15:58 +01:00
Gedare Bloom
8f870a3593 aarch64/nexus: add GEM definitions for Versal 2021-06-25 13:02:38 -06:00
Sebastian Huber
df8f5fc876 EPOCH(9): Fix epoch call and drain
Since the epoch call callbacks may lock/unlock a mutex the callbacks must be
called from within thread context with thread dispatching enabled.  Use thread
pinning to ensure that the calling thread stays on the right processor.  Use
the interrupt server to ensure the thread context for the epoch drain.
2021-06-11 08:39:26 +02:00
Sebastian Huber
fb6a312bd6 EPOCH(9): Use PER_CPU_DATA_NEED_INITIALIZATION()
Use the PER_CPU_DATA_NEED_INITIALIZATION() macro if necessary to request an
initialization of the per-CPU data.
2021-06-10 10:07:57 +02:00
Jan Sommer
5b82fcf06a i386: Remove unneeded include header files 2021-06-07 10:39:46 +02:00
Ryan Long
5e7ef1252b libbsd nfs.c: Change filesystem utime_h handler to utimens_h
Changed nfs_utime() to nfs_utimens(), changed the arguments to use
a timespec array instead of individual variables for access and
modified time.

Updates #4400
2021-05-28 14:28:20 -05:00
G S Niteesh Babu
5251e0c816 iicbus/rtems-i2c.c: Add rtems,path as an additional bus path
Adds "rtems,path" as an additional bus path for the i2c driver.
Previously the bus path was provided in "rtems,i2c-path" property
only.
2021-04-22 18:45:50 +02:00
Christian Mauderer
829afafbcb 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:03:40 +02:00
Vijay Kumar Banerjee
9b9a976847 Revert "Import telnetd from RTEMS repository"
This reverts commit 1b07480ddc93c10777eff5072e7621ed0c96d30c.
2021-04-13 12:16:50 -06:00
Vijay Kumar Banerjee
1b07480ddc Import telnetd from RTEMS repository
The files have been taken from RTEMS repository with head commit at
bd9e45d91f77657445400bc2c814f251c9e37cef
2021-04-07 19:15:51 -06:00
Christian Mauderer
5e175b5f74 STM32H7: Fix SDMMC build for all other BSPs 2021-04-01 15:51:28 +02:00
Christian Mauderer
1bb4a56e4d STM32H7: Add SDMMC driver
Update #4372
2021-04-01 09:05:53 +02:00
G S Niteesh Babu
3cdf289424 arm/ti/ti_pinmux: Remove TI pinmux driver
The TI driver has been moved to RTEMS so the driver can be removed
from libBSD.

The following files have been removed from libBSD and moved to
RTEMS.
1) ti/am335x/am335x_scm_padconf.c
2) ti/am335x/am335x_scm_padconf.h
3) ti/ti_pinmux.c
4) ti/ti_pinmux.h

Update #3784
2021-03-21 12:35:04 +01:00
Kinsey Moore
98d197895b Add CGEM definitions for ZynqMP 2020-11-24 08:49:49 -06:00
Christian Mauderer
5cb4146627 imxrt: Add support
Update #4180
2020-11-20 08:56:30 +01:00
Kinsey Moore
9f52a0df17 Update arm64/aarch64 support 2020-11-13 12:34:01 -06:00
Sebastian Huber
3ad2cea0c5 dwc_otg: Enable voltage detector
Update #3910.
2020-10-27 06:33:07 +01:00
Sebastian Huber
6c83023331 dwc_otg: Add support for nexus bus
Update #3910.
2020-10-27 06:33:05 +01:00
Sebastian Huber
c28f67a9be if_stmac: Add driver for STM32H7 ethernet module
Update #3910.
2020-10-27 06:33:02 +01:00
Sebastian Huber
9fa7bcf55a NVD(4): Fix logical block count calculation
Close #4164.
2020-10-27 06:27:06 +01:00
Sebastian Huber
9f196b281c NVD(4): Fix NULL pointer access in nvd_sync()
Update #4164.
2020-10-27 06:27:01 +01:00
Chris Johns
bff15c3326 powerpc/nexus: Add legacy PCI support to PowerPC Motorola Shared BSP family 2020-10-26 07:42:09 +11:00
Sebastian Huber
b6c55e1c57 tsc_lpc32xx.c: Update due to API changes 2020-09-23 07:40:07 +02:00
Sebastian Huber
5f29d17bee linux/crc32.h: Update due to API changes 2020-09-22 17:31:19 +02:00
Sebastian Huber
48e33f00e4 linux/genalloc.h: Update due to API changes 2020-09-21 15:19:36 +02:00
Jan Sommer
66019c3e78 i386: Delete old machine dependent files
- The files in the i386 directory have been moved to common x86 directories by FreeBSD:
  - freebsd/sys/i386/include/machine/bus.h
  - freebsd/sys/x86/include/machine/legacyvar.h
  - freebsd/sys/x86/include/machine/specialreg.h
- Add header files in rtemsbsd directory to direct compiler to new files
2020-09-16 15:52:58 +10:00
Sebastian Huber
d2d3fabf30 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:41 +02:00
Sebastian Huber
d56d9b6d3b ifmcstat: Port to RTEMS 2020-09-10 13:24:18 +02:00