summaryrefslogtreecommitdiffstats
path: root/rtemsbsd (follow)
Commit message (Collapse)AuthorAgeFilesLines
* rtemsbsd: Remove old DHCP init prototypeHEADmasterKinsey Moore2024-03-271-22/+0
| | | | | This prototype should have been removed with commit ac4db4cec5b6b1e0a25e910851e50831afb0749d.
* rtemsbsd/rtems: Don't leak memory on errorKinsey Moore2024-01-312-1/+17
|
* rtemsbsd/rtems: Check function return valuesKinsey Moore2024-01-312-5/+9
|
* rtemsbsd/rc-conf: Avoid use after freeKinsey Moore2024-01-311-1/+4
|
* rtemsbsd/sys/arm: Add imxrt1166 USBPHY driverChristian Mauderer2023-08-212-0/+235
| | | | | Adds a driver for the i.MXRT1166 USB PHY and enable USB for the imxrt11xx BSPs.
* bsp/imxrt: Enable cache handlingChristian Mauderer2023-08-211-1/+1
| | | | | The BSP needs the CPU_DATA_CACHE_ALIGNMENT set to enable correct cache handling in libbsd. Otherwise for example USB doesn't work reliable.
* imx: Enable GPIO driver for imxrt tooChristian Mauderer2023-07-241-2/+2
|
* rtemsbsd/rc_conf: Fixed non-nullterminated string causing crashesAaron Nyholm2023-04-131-1/+3
|
* arm/lpc: Add option to customize device probesSebastian Huber2022-09-063-9/+67
|
* if_lpe.c: Use interface transmitSebastian Huber2022-09-061-303/+207
| | | | This avoids the need for a transmit task and transmit interrupts.
* if_lpe.c: Move transmit initializationSebastian Huber2022-09-061-117/+152
| | | | | Move the transmit initialization out of the transmit task to be able to remove the transmit task in the next patch.
* if_lpe.c: Port to LibBSDSebastian Huber2022-09-061-245/+230
|
* if_lpe.c: Import legacy LPC Ethernet driverSebastian Huber2022-09-062-1481/+1682
| | | | | | | | | The standard FreeBSD MII support causes severe problems on the LPC3200 chip family. If an Ethernet module register is accessed while there is no clock from the PHY, the chip completely locks up and only an external watchdog can recover from this state. The legacy driver had a custom PHY management code which helped to avoid such issues. The if_lpe.c driver is no longer maintained by FreeBSD.
* Define IFCAP_NOMAP for Newlib compatibilitySebastian Huber2022-07-072-0/+6
|
* Define IN_HISTORICAL_NETS for kernel spaceSebastian Huber2022-07-071-0/+3
| | | | | | | | | | | | | | | | | | | Required by FreeBSD commit: Author: Mike Karels <karels@FreeBSD.org> Date: Tue Oct 26 22:01:09 2021 -0500 kernel: deprecate Internet Class A/B/C Hide historical Class A/B/C macros unless IN_HISTORICAL_NETS is defined; define it for user level. Define IN_MULTICAST separately from IN_CLASSD, and use it in pf instead of IN_CLASSD. Stop using class for setting default masks when not specified; instead, define new default mask (24 bits). Warn when an Internet address is set without a mask. MFC after: 1 month Reviewed by: cy Differential Revision: https://reviews.freebsd.org/D32708
* Kernel-side infrastructure to implement nvlist-based set/get ifcapsKonstantin Belousov2022-07-071-0/+12
| | | | | | | Reviewed by: hselasky, jhb, kp (previous version) Sponsored by: NVIDIA Networking MFC after: 3 weeks Differential revision: https://reviews.freebsd.org/D32551
* uipc_socket.c: Modify MSG_TLSAPPDATA to only do Alert RecordsRick Macklem2022-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Without this patch, the MSG_TLSAPPDATA flag would cause soreceive_generic() to return ENXIO for any non-application data record in a TLS receive stream. This works ok for TLS1.2, since Alert records appear to be the only non-application data records received. However, for TLS1.3, there can be post-handshake handshake records, such as NewSessionKey sent to the client from the server. These handshake records cannot be handled by the upcall which does an SSL_read() with length == 0. It appears that the client can simply throw away these NewSessionKey records, but to do so, it needs to receive them within the kernel. This patch modifies the semantics of MSG_TLSAPPDATA slightly, so that it only applies to Alert records and not Handshake records. It is needed to allow the krpc to work with KTLS1.3. Reviewed by: hselasky MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D35170
* Widen ifnet_detach_sxlock coverageKristof Provost2022-07-071-0/+2
| | | | | | | | | Widen the ifnet_detach_sxlock to cover the entire vnet sysuninit code. This ensures that we can't end up having the vnet_sysuninit free the UDP pcb while the detach code is running and trying to purge the UDP pcb. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D28530
* Add the MSG_TLSAPPDATA flag to indicate "return ENXIO" for non-application ↵Rick Macklem2022-07-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | TLS data records. The kernel RPC cannot process non-application data records when using TLS. It must to an upcall to a userspace daemon that will call SSL_read() to process them. This patch adds a new flag called MSG_TLSAPPDATA that the kernel RPC can use to tell sorecieve() to return ENXIO instead of a non-application data record, when that is what is at the top of the receive queue. I put the code in #ifdef KERN_TLS/#endif, although it will build without that, so that it is recognized as only useful when KERN_TLS is enabled. The alternative to doing this is to have the kernel RPC re-queue the non-application data message after receiving it, but that seems more complicated and might introduce message ordering issues when there are multiple non-application data records one after another. I do not know what, if any, changes will be required to support TLS1.3. Reviewed by: glebius Differential Revision: https://reviews.freebsd.org/D25923
* user-space: Request FreeBSD bitset APISebastian Huber2022-06-301-0/+1
| | | | | | This is required for recent Newlib versions. Update #4667.
* if_stmac: fix compilation error (related to crc32_raw move in FreeBSD)Karel Gardas2022-06-041-0/+1
| | | | | 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.
* Use rtems_task_exit()Sebastian Huber2022-06-016-14/+7
|
* if_atsam: Recover from receive freezesSebastian Huber2022-06-011-5/+15
| | | | | | | | | | | 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.
* if_atsam: Shorten sysctl namesSebastian Huber2022-06-011-27/+27
| | | | Update #4652.
* if_atsam: Add tx/rx desc sysctlsSebastian Huber2022-06-011-0/+77
| | | | Update #4652.
* if_atsam: Add register sysctlsSebastian Huber2022-06-011-2/+39
| | | | Update #4652.
* if_atsam: Allow stats reset via sysctlSebastian Huber2022-06-011-0/+25
| | | | Update #4652.
* Add program destructor supportSebastian Huber2022-05-123-0/+64
| | | | Update #4650.
* if_atsam: Fix interface stopSebastian Huber2022-05-111-2/+15
| | | | Close #4652.
* if_atsam: Support transmit bpfSebastian Huber2022-05-111-0/+2
| | | | Update #4652.
* if_atsam: Do not use rtems_bsdnet_newproc()Sebastian Huber2022-05-111-6/+11
| | | | Update #4652.
* if_atsam: Support IFCAP_VLAN_HWTAGGINGSebastian Huber2022-05-111-1/+13
| | | | | | This is required to enable checksum offload for vlan interfaces. Update #4652.
* if_atsam: Optimize receiveSebastian Huber2022-05-111-116/+72
| | | | | | | | 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.
* if_atsam: Optimize transmitSebastian Huber2022-05-111-282/+218
| | | | | | | | 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.
* if_atsam: Add multicast supportSebastian Huber2022-05-111-36/+75
| | | | Update #4652.
* if_atsam: Fix start/stop of interfaceSebastian Huber2022-05-111-41/+57
| | | | Update #4652.
* if_atsam: Fix interrupt setupSebastian Huber2022-05-111-1/+0
| | | | | | The interrupt is enabled by rtems_interrupt_handler_install(). Update #4652.
* if_atsam: Do not disable the Ethernet CRCSebastian Huber2022-05-111-8/+1
| | | | | | The Ethernet CRC and padding must be always generated by the MAC. Update #4652.
* if_atsam: Enable all capabilitiesSebastian Huber2022-05-111-0/+1
| | | | Update #4652.
* if_atsam: Fix warningsSebastian Huber2022-05-111-11/+6
| | | | Update #4652.
* if_mve: Add MV643XX Ethernet driverHeinz Junkes2022-03-074-0/+3726
| | | | Close #4345.
* rtems-bsd-program.h: Remove stray ';'Sebastian Huber2022-02-231-1/+1
|
* ppp: Fix transmitting dataChristian Mauderer2022-02-103-9/+35
| | | | | | | | | | | | 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
* aarch64/nexus: add GEM definitions for VersalGedare Bloom2021-06-252-0/+18
|
* EPOCH(9): Fix epoch call and drainSebastian Huber2021-06-111-4/+35
| | | | | | | 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.
* EPOCH(9): Use PER_CPU_DATA_NEED_INITIALIZATION()Sebastian Huber2021-06-101-0/+4
| | | | | Use the PER_CPU_DATA_NEED_INITIALIZATION() macro if necessary to request an initialization of the per-CPU data.
* i386: Remove unneeded include header filesJan Sommer2021-06-072-2252/+0
|
* libbsd nfs.c: Change filesystem utime_h handler to utimens_hRyan Long2021-05-281-25/+25
| | | | | | | | 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
* iicbus/rtems-i2c.c: Add rtems,path as an additional bus pathG S Niteesh Babu2021-04-221-3/+5
| | | | | | Adds "rtems,path" as an additional bus path for the i2c driver. Previously the bus path was provided in "rtems,i2c-path" property only.
* st-sdmmc: Handle short not cache aligned buffersChristian Mauderer2021-04-191-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.