Chris Johns
7cc487f2d3
rtemsbsd/vfs: Use VOP_REMOVE to remove file nodes
2023-08-07 07:58:30 +10:00
Chris Johns
fdde806c50
rtemsbsd/syscall: Set unitialised variable in open
...
The open path length was not set when at the root node and this
sometimes failed the current directory checks.
2023-08-06 15:45:21 +10:00
Chris Johns
f55a3dd32f
nfs: Support multiple mounts with the same path basename
...
NFSv4 mounts NFS file systems to the flat root of a pseudo file
system. This change allow the same basename to be used.
2023-07-21 14:56:02 +10:00
Chris Johns
1dfdee9ce9
freebsd/vfs: Pass in the td's cred to the VFS calls
...
Closes #4723
2023-07-21 14:56:02 +10:00
Chris Johns
65913f4b3b
syscall/open: Reference the path info directory vnode
...
The kernel open call requires a path so to open a file we need to
set the current directory to the parent vnode. If the open mode is
create the path info vnode is the directory to perform the open
create in. Using the parent node creates the file in wrong path.
Updates #4723
2023-07-21 14:56:02 +10:00
Aaron Nyholm
7170d1ed14
rtemsbsd/rc_conf: Fixed non-nullterminated string causing crashes
2023-04-13 09:35:19 +10:00
Sebastian Huber
ed25b390fc
Use rtems_task_exit()
2022-06-01 10:34:36 +02:00
Sebastian Huber
7bc7bae957
Add program destructor support
...
Update #4650 .
2022-05-12 07:45:30 +02:00
Chris Johns
f94a67a68d
rtemsbsd: Clear bus DMA memory a byte at a time
...
- memset may be optimized for performance and might work
with device type memory. Clear a byte at a time.
2021-10-21 11:23:30 +11:00
Chris Johns
2e5f808b09
rtemsbsd/syscalls: Remove pipe()
...
- This call is provided by RTEMS and that is preferred
Closes #4518
2021-09-23 15:42:12 +10:00
Chris Johns
d9dd59d9ef
rtemsbsd/open: Correctly open a mount directory
...
- If the open is for a directory and it is the root of the mounted
file system open from the pseudo's root node.
2021-09-23 13:31:08 +10:00
Chris Johns
7e282d2506
rtemsbsd/nfs: Add support to mount NFSv2
...
- NFSv2 requires userland RPC calls to determine the version of
NFS and the FH. This is passed to the kernel.
- Port more libc/rpc.
Update #4475
2021-09-02 08:45:12 +10:00
Chris Johns
882425fe54
kern/sys: Add NFSv4 client
...
Update #4475
2021-08-31 18:38:48 +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
ac4db4cec5
rtemsbsd: Remove DHCP init wrapper
...
- Object files cannot config init and resided in libbsd.a
Update #4475
2021-08-28 10:24:38 +10:00
Chris Johns
e56b5cb135
kern: Add kernel trace support (KTR)
...
Update #4475
2021-08-28 10:24:38 +10:00
Chris Johns
c7427fc154
kern: Add a proc0
...
- Provides the thread's proc pointer and with that access to creds
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
2a01430ba5
rtemsbsd: Catch timeout overflows
...
Update #4475
2021-08-28 10:24:37 +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
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
Sebastian Huber
158c270ded
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-15 18:46:08 +02:00
Sebastian Huber
cb94a7443d
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-11 08:46:37 +02: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
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
272d5f522d
ifmcstat: Port to RTEMS
2020-09-07 10:12:44 +02:00
Sebastian Huber
bd7e6eeb31
Conditionally include <bsp/linker-symbols.h>
...
Remove superfluous <bsp.h> include.
2020-08-05 15:04:48 +02:00
Christian Mauderer
5e3780023c
busdma: Don't sync nocache memory on ARM
...
The busdma shouldn't try to flush or invalidate cache in a nocache area.
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
Sebastian Huber
26866d2c1f
Fix linker errors with minimal build set
2020-07-08 10:21:20 +02:00
Sebastian Huber
afaeccc05a
NVMECONTROL(8): Port to RTEMS
...
Update #3821 .
2019-11-13 13:22:36 +01:00
Sebastian Huber
4a6660cee0
Fix pgsigio() warnings
2019-09-25 09:25:06 +02:00
Sebastian Huber
bd6b20c0e6
nexus: Avoid NULL pointer access
2019-09-23 10:13:29 +02:00
Sebastian Huber
d1c8a7fbf5
Add wrapper for strndup()
2019-09-11 10:25:04 +02:00
Nils Hölscher
fd86c091b9
rtems/rtems-kernel-nexus.c: LibBSD init now uses all pass levels.
...
I observed all Modules loading in the last fdt pass.
The reason was, nexus bus loading with BUS_PASS_DEFAULT.
2019-08-12 08:13:11 +02:00
Sebastian Huber
312f705d4f
EPOCH(9): Add epoch_drain_callbacks()
2019-07-09 13:56:23 +02:00
Sebastian Huber
ed1a63384b
EPOCH(9): Avoid inline functions
...
FreeBSD changed the epoch_enter() and epoch_exit() inline functions into
proper functions after a performance analysis to avoid code bloat.
2019-07-09 13:37:34 +02:00
Sebastian Huber
660a8835eb
SLEEPQUEUE(9): Fix timeout handling
2019-07-05 10:20:47 +02:00
Sebastian Huber
8f12ed3824
Add RTEMS-specific getcredhostuuid()
2019-06-05 14:15:57 +02:00
Sebastian Huber
b5f8d4831d
Use _SMP_Unicast_action()
...
It is a bit more efficient.
2019-05-21 07:40:53 +02:00
Sebastian Huber
a87e0f4f5c
Update due to API changes
...
Close #3749 .
2019-05-15 15:45:03 +02:00
Sebastian Huber
edc4bf9f71
Separate libbsd and RTEMS clock ticks
2019-05-15 13:43:49 +02:00
Sebastian Huber
510d1c96f6
Include missing <stdlib.h> to fix warnings
2019-05-15 13:43:46 +02:00
Sebastian Huber
061e27912c
Remove unused maxusers
2019-05-15 13:43:44 +02:00
Sebastian Huber
0a8c0ce47f
Remove dangerous weak definition of getentropy()
...
All BSP supporting libbsd should provide this function.
2019-05-15 13:43:41 +02:00
Sebastian Huber
49c75e331e
Use static inline functions for jail and prison
...
This helps the compiler to optimize away dead code.
2019-05-13 09:34:01 +02:00
Sebastian Huber
6e5c632248
Fix zero-copy mbuf support
...
In 2017 there was a change in the mbuf API.
2019-05-13 09:34:00 +02:00
Sebastian Huber
647dd08ae2
Update due to API changes
2019-04-11 09:38:45 +02:00
Christian Mauderer
9ed6c97139
bin/openssl: Port to RTEMS.
2019-03-28 07:17:24 +01:00