413 Commits

Author SHA1 Message Date
Alex White
40b9c6ce63 if_xae: Port to RTEMS 2022-03-07 17:04:05 -06:00
Heinz Junkes
de0badf2c3 if_mve: Add MV643XX Ethernet driver
Update #4345.
2022-03-07 10:52:52 +01:00
Sebastian Huber
4895323e6c rtems-bsd-program.h: Remove stray ';' 2022-02-23 15:57:06 +01:00
Chris Johns
25a883272a Add support for Xilinx Versal APAC 2021-10-21 11:29:14 +11:00
Kinsey Moore
38f3de6469 rtemsbsd/atomic: Return a value for CMPSET
When the cmpset and fcmpset functions were refactored, the return value
of the operation was discarded instead of being returned for SMP builds
outside of gcc 4.x. This had the effect of turning these functions into
a long busywait loop that eventually failed due to integer overflow.

This patch restores the use of the return value of the atomic
operations.
2021-10-08 09:05:05 -05:00
Christian Mauderer
b7c51ac449 imx: Remove ccm functions alredy defined in RTEMS
The imx_ccm_*_hz are all defined in RTEMS. So don't duplicate them in
libbsd. Otherwise some applications get linker errors.

Update #3869
2021-09-02 09:19:27 +02:00
Chris Johns
882425fe54 kern/sys: Add NFSv4 client
Update #4475
2021-08-31 18:38:48 +10:00
Chris Johns
c6dbc96748 kern/sys: Add the kernel RPC and XDR support
Updates #4475
2021-08-28 10:25:46 +10:00
Chris Johns
6514d56158 sys/kern: Add VFS support
- Refactor the libio interface

- Move syscalls into an rtemsbsd location

- Provide a root directory mount point

Update #4475
2021-08-28 10:25:46 +10:00
Chris Johns
e56b5cb135 kern: Add kernel trace support (KTR)
Update #4475
2021-08-28 10:24:38 +10:00
Chris Johns
46a15fa7aa sys/kern: Add lockmgr support
- See `man lockmgr`

- Implement the lock_object and move the RTEMS mutex to that object

- Add debug support to track the locks with gdb

Update #4475
2021-08-28 10:24:38 +10:00
Chris Johns
974742defc kern-symbols: Add symbols from the everything build set
Update #4475
2021-08-28 10:24:37 +10:00
Chris Johns
59f652fe88 Implement portable kernel symbol namespace tool
- The script's use of sort proved to not be portable

- No need to check the commits as symbols are only added

- Regenerated kernel header to reset the sort order

Update #4475
2021-08-28 10:24:37 +10:00
Chris Johns
f5c405ec05 bsp/motorola_powerpc: Add dc and ukphy support
- Add the dc net dev to the BSP

- Add the ukphy support

Closes # 4246
2021-08-28 10:23:41 +10:00
Chris Johns
45ff774c3c rtemsbsd: Add interface support routines
- Add the ability to check if an interface is up
2021-08-27 17:02:59 +10:00
Chris Johns
3f1e128488 rtemsbsd/bus: Add PCI support to the nexus bus
- Add PCI IO region support

- Add support map buffers to PCI address space

- Add BSP conditional IO space support. Some PC implementations
  have PCI IO space mapped differently to memory space and this needs
  to be reflected in the busspace.

- Include bsp.h to pick per BSP configuration.

Closes #4245
2021-08-27 16:53:41 +10:00
Stephen Clark
c41318075e nexus: Added SDHCI driver to ZynqMP
Made ZynqMP build with the SDHCI driver.
2021-07-15 11:29:09 -05:00
Kinsey Moore
a53aeb5eb9 rtemsbsd: Present all ZynqMP interfaces by default
Now that the issue with false PHY detection on unterminated MII busses
has been resolved, present all hardware interfaces for use on ZynqMP.
2021-07-15 10:07:16 -05:00
Kinsey Moore
b0c8153d54 rtemsbsd: Use config.inc to control ZynqMP ethernet
This alters the selection of the 4 Cadence GEM interfaces on the Zynq
Ultrascale+ MPSoC BSP to be provided by config.inc instead of being
provided by options in the RTEMS BSP itself since those options appear
to be dead code when not used in conjunction with LibBSD.
2021-07-01 10:33:39 -05:00
Stephen Clark
6cc63cbe65 rtemsbsd: Made TTCP command build for RTEMS
Updated ttcp.c to build clean for RTEMS 6 and the machines it
originally built for. Also fixed ttcp.c to close network
sockets after completion. Defined a shell command for TTCP in
rtems-bsd-shell-ttcp.c. Added TTCP to the list of RTEMS network
commands in netcmds-config.h. Added declaration of the TTCP shell
command to rtems-bsd-commands.h. Modified libbsd.py to make waf
build TTCP and its shell command.
2021-06-29 16:03:42 -05:00
Kinsey Moore
4ce914cb90 rtemsbsd: Make ZynqMP CGEM interfaces selectable
Use the new options from the ZynqMP BSPs to allow selection of the
available CGEM ethernet interfaces.
2021-06-28 09:15:13 -05:00
Christian Mauderer
e0fcb31f01 STM32H7: Add SDMMC driver
Update #4372
2021-04-01 09:05:13 +02: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
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
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
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
0e7108f940 dwc_otg: Add support for nexus bus
Update #3910.
2020-10-27 06:29:37 +01:00
Sebastian Huber
1189f7147a if_stmac: Add driver for STM32H7 ethernet module
Update #3910.
2020-10-27 06:28:47 +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
Sebastian Huber
272d5f522d ifmcstat: Port to RTEMS 2020-09-07 10:12:44 +02:00
Christian Mauderer
7e453ad5c9 imx: Don't use USB_NEED_BUSDMA_COHERENT_ALLOC
That option makes problems with some drivers because the buffers are not
allways cache line aligned.

Update 3869
2020-07-29 13:09:11 +02:00
Christian Mauderer
cdd6003eb8 busdma: Option to round to cache lines on sync
Some targets support only flushing or invalidating complete cache lines.
In this cases misaligned buffers might lead to unexpected results. This
patch adds a flag that allows drivers to signal to the bus dma driver
that it is OK to round a buffer to the next full cache line. That's for
example necessary if a driver wants to send out 14 byte via a USB DMA.
Only the driver knows whether these 14 bytes are located in an otherwise
unused cache line aligned buffer.
2020-07-29 13:09:11 +02:00
Christian Mauderer
1398d9329f imx: Use RTEMS GPIO driver instead of FreeBSD one
Update 3869
2020-07-29 13:09:11 +02:00
Christian Mauderer
4c762de2fd gpioregulator: Remove.
There is a bug in the #ifdef regarding FDT so this file hasn't been
compiled. If that bug is solved, the driver doesn't work for some other
reason.

With the FDT-bug the driver hasn't been used by anyone. So just remove
it again.
2020-07-29 13:09:11 +02:00
Jan Sommer
a69293ca57 i386: Port to RTEMS
- Update imported files to compile rtems-libbsd for i386 based BSPs
- Mostly commenting out parts which create compile or link errors in
RTEMS, but aren't needed
2020-04-17 13:18:06 +02:00
Jan Sommer
dc86c55f51 i386: Delete old machine dependent files
- The files in the i386 directory have been moved to common x86 directories by FreeBSD:
  - freebsd/sys/x86/x86/legacy.c
  - 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-04-17 13:15:51 +02:00
Christian Mauderer
c5455b03ed ehci_imx: Add to build. 2020-04-15 16:14:18 +02:00
Christian Mauderer
113662dfaf Add support for i.mx cache.
Update #3869.
2020-04-14 16:39:21 +02:00
Christian Mauderer
24806eec09 regulator: Add to build.
Update #3869.
2020-04-14 16:39:20 +02:00
Christian Mauderer
3a1d48c70c imx6_ccm: Add and build module.
Update #3869.
2020-04-14 16:39:20 +02:00
Sebastian Huber
64c45b5a1a usb_busdma: Add USB_NEED_BUSDMA_COHERENT_ALLOC
Some BSPs have a cache-coherent memory area, however, it should not be
used for the USB controller.
2020-04-14 16:39:20 +02:00
Sebastian Huber
46b3858b27 Update to FreeBSD stable/12 2020-02-10
Git mirror commit 0d1c391321b34b3025cf0e72f2231d836ff76da8.
2020-02-18 15:00:48 +01:00
Sebastian Huber
afaeccc05a NVMECONTROL(8): Port to RTEMS
Update #3821.
2019-11-13 13:22:36 +01:00
Sebastian Huber
da6b9a1891 NVME(4): Port to RTEMS
Update #3821.
2019-11-13 13:22:10 +01:00
Sebastian Huber
b5f802ef43 Add support for EARLY_COUNTER 2019-09-25 10:59:50 +02:00
Sebastian Huber
f105680799 Remove obsolete header files 2019-09-25 09:26:20 +02:00
Sebastian Huber
4a6660cee0 Fix pgsigio() warnings 2019-09-25 09:25:06 +02:00