File offset actually varies on a per-file-descriptor basis,
and not with the resource that is abstracted behind the file
descriptor.
This is consistent with both the POSIX model and also the
ISO C/C++ model, so Zephyr should follow suit.
This is very work-around-y, but it's necessary to ensure
that shared memory objects, block devices, files and
directories all behave consistently.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add a mode field for struct fd_entry, as well as a new
initializer, z_finalize_typed_fd().
The constants ZVFS_MODE_* may be used to differentiate
between fifo, character device, message queues, directories,
semaphores, block devices, shared memory objects, regular files,
symbolic links, and sockets.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Mark mlockall() and munlockall() as supported, as well as the
_POSIX_MEMLOCK Option.
These functions are currently expected to fail, but are
required so that conformant applications can still link
successfully.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add support for mlockall() and munlockall(). These two functions
comprise the _POSIX_MEMLOCK Option which is required by PSE51,
PSE52, PSE53, and PSE54.
Zephyr's on-demand paging API does not yet support pinning and
unpinning *all* virtual memory regions, so these functions are
expected to fail, setting errno to ENOSYS. Any other usage is
currently categorized as undefined behaviour.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Mark mlock() and munlock() as supported, as well as the
_POSIX_MEMLOCK_RANGE Option.
These functions are currently expected to fail, but are
required so that conformant applications can still link
successfully.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add support for mlock() and munlock(). These two functions
comprise the _POSIX_MEMLOCK_RANGE Option which is
required by PSE51, PSE52, PSE53, and PSE54.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Add stubs for mmap(), msync(), and munmap() as required by the
_POSIX_MAPPED_FILES Option and POSIX_MAPPED_FILES and
Option Group of IEEE 1003.1-2017.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The ioctl() call should be a part of the _XOPEN_STREAMS
Option in posix, so move it there.
Create a zephyr-native zvfs_ioctl() in the layer below.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Move the zvfs_ftruncate() call from fs.c to fdtable.c, as file
types other than regular files can also be truncated.
Instead of hard-wiring zvfs_ftruncate() to fs_truncate(),
add a new ZVFS_IOCTL_TRUNCATE so that the operation can be
handled with other ioctl() operations.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
The fstat() function is implemented as part of the
POSIX_FILE_SYSTEM Option Group, but it is implemented through
zvfs, as an ioctl, which allows other file descriptor types to
support queries of file descriptor status.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Route the fstat() call (part of POSIX_FILE_SYSTEM) to
zvfs_fstat() so that other types of file descriptors can also
supply file status information.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
An invalid feature test macro was found in in sysconf.h .
It should be corrected from _POSIX_XOPEN_STREAMS to
_XOPEN_STREAMS.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
With many tests having 10s or scenarios and variants, anytime we make a
change to a test right now, we end up building all scenarios on all
platforms which ends up in multiple 10s of the thousands of instances
that need to run on 30 or 40 runners blocking CI for hours. We do not
really need that, a test needs to be smart about its coverage and not
rely on boiling the ocean to catch, mostly build errors that are
platform specific.
Change this to do the normal coverage we get on push events.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add the list of supported features to the google_dragonclaw board
definition.
It allows running more tests.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
Run the sample on the IWDG of stm32f4 nucleo boards
instead of WWDG because the APB1 prescaler cannot set
the WWDG input clock source to match the wd timeout.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Add a driver for the National/TI LM95234 Quad Remote Diode and Local
Temperature Sensor with SMBus Interface and TruTherm Technology.
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Add note for UC81xx displays, which have been migrated to the MIPI DBI
API. This note describes how to define the MIPI DBI wrapper device
needed for the UC81xx display
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Convert UC81XX display to use MIPI DBI API, as this display uses a SPI
3/4 wire bus. In tree shields using this driver have also had their
devicetrees updated to use the new MIPI DBI SPI driver
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Extern declaration of __stack_chk_guard added volatile to
the type while the declaration was non-volatile. This cause
type check errors with compilers that declares the
__stack_chk_guard variable in an internal pre-include
header file (IAR).
While I think the volatile keyword is unnecessary, I decided
on keep it and add it to the declaration in
kernel/compiler_stack_protect.c
Tested with IAR ICCARM and the Zephyr SDK GCC.
Signed-off-by: Lars-Ove Karlsson <lars-ove.karlsson@iar.com>
This patch file updates the use of assertion macros
comparing strings.
Command line used:
```
./scripts/coccicheck --mode=patch \
--cocci=scripts/coccinelle/ztest_strcmp.cocci tests/
```
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
ztest now provides functionality to compare strings.
These are simpler to use than the strcmp ways.
The semantic patch transforms many of the commonly used patterns.
It does not handle variable length macros.
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
We want to able to use cocinelle on ztest functions as
well when transforming APIs.
Provide a simple macro so that test functions are recognized.
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
These tests are simple copies of the existing tests with the addition of
the CONFIG_MODULES=y option. This different Kconfig setting has no
practical effect on the code, and the tests are therefore redundant.
Remove them to halve the number of tests.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This adds a new sample to demonstrate the use of tristate symbols
in Kconfig to build a function as an llext module or as a built-in
part of Zephyr.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
The LL_EXTENSION_SYMBOL macro is used to export a symbol to the base
image. When CONFIG_LLEXT is not defined, or the file is being compiled
outside of an llext, the macro is not useful and would leave orphan
sections in the final image instead.
This patch adds the LL_EXTENSION_BUILD definition to the llext build
process, and uses it to stub out the symbol-defining macro when not
building an llext.
Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Implement suspend and resume, just stop and restart the timer that kicks
the main thread update cycles.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Adding MMIO mapping support in ENET module driver before MDIO, MAC
and PTP drivers initialization, so that they can reuse this mapping.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Enable MMU direct mapping, so that driver can use it for MMIO mapping
as currently hal driver needs direct mapping (physical address and
virtual address 1:1 mapping).
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Improve the sample application by displaying the captured frames instead
of just discarding them.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
In order to be generic, use a chosen node for camera so that the sample
is not specific to NXP SoCs. Also, always favorite a real video device
unless it is unavailable.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
There are some compatibilty situations where carriage return does not
work (e.g. on Serial Monitor in VSCode). Moreover, keeping the
timestamps logs on the console would help to have an idea about the
frame rate. So, it's better to use line feed instead of carriage return
in this case.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
The mt9m114 camera shield is now added. There are also some changes in
the mt9m114 camera driver, e.g. frame rate, default format, capabilities.
Update the sample document and test to reflect these changes.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
In some function in bitarray.c, we should check the pointer
of bitarry before taking bitarray lock.
In this patch, we move the null-check assert before the use of
the struct to provide better validation than a crash.
Signed-off-by: TaiJu Wu <tjwu1217@gmail.com>
This API converts a HCI error code to a string.
This can be useful if application developers want to print them
in the applications.
Later we can also use them in the host to improve debuggability.
Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
Add initial documentation how to configure and enable new USB device
support. Use literalinclude to pull code snippets from the samples.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>