Added the implementation of timespec_get() with tests.
The implementation used clock_gettime() as a reference.
The tests used psxtimes01 as a reference.
Updates
rtems/programs/gsoc#69
In order for the linker to pick the correct soft-float libraries when
building for a target without an FPU the -msoft-float flag needs to be
present.
This is already the case in the pkg-config file where ABI_FLAGS are
included in Ldflags:
Ldflags: ${ABI_FLAGS} -B${libdir} -qrtems -Wl,--gc-sections
But this is not present in the custom make includes:
LDFLAGS = -B$(exec_prefix)/$(RTEMS_BSP)/lib -qrtems -Wl,--gc-sections
The RTEMS template make rule for linking includes all of CFLAGS:
define bsp-link-c
$(LINK.c) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \
-o $(basename $@)$(EXEEXT) $(LINK_OBJS) $(LINK_LIBS)
endef
The standard (GNU) built-in make rule for linking does not include
CFLAGS when linking:
$(CC) $(LDFLAGS) $* $(LOADLIBES) $(LDLIBS) -o $@
Add ABI_FLAGS to LDFLAGS in the custom make includes such that building
soft-float applications works with the default built-in make rules as
well.
These changes were made to address GCC -Wsign-compare warnings.
In this case, the vendor ID in the management structure was unsigned
and the vendor parameters to various helper functions were signed.
This change was made to address GCC -Wshift-negative-value.
Shifting a negative value is undefined in the C programming language
because one's and two's complement representations give different
results.
Closes#5385.
Fixes following unused parameter warning (treated as error) in build
without assertions.
[ 25/1550] Compiling bsps/arm/xilinx-zynq/start/bspsmp.c
../../../bsps/arm/xilinx-zynq/start/bspsmp.c: In function
'_CPU_SMP_Start_processor':
../../../bsps/arm/xilinx-zynq/start/bspsmp.c:42:40: error:
unused parameter 'cpu_index' [-Werror=unused-parameter]
42 | bool _CPU_SMP_Start_processor(uint32_t cpu_index)
| ~~~~~~~~~^~~~~~~~~
cc1: all warnings being treated as errors
Happens if arm/xilinx_zynq_zedboard board is configured and RTEMS_SMP
is enabled.
Signed-off-by: Michal Lenc <michallenc@seznam.cz>
The sizeof(ino_t) can potentially vary based on the target. This
resulted in -Wformat warnings. Add PRIdino_t in <rtems/inttypes.h>
to have a portable format specifier.
Closes#5393.
This adds a backend for flashdev that simulates a flash device with
adjustable delays to simulate real flash devices and offers
configurable flash parameters. This also migrates the JFFS2
filesystem tests to the flashdev framework and eliminates the
purpose-built simulated flash in the testsuite in favor of a more
generic and widely usable solution.
This adds summary support to the build with a global option to enable
this support and necessary changes to the imported summary support
source to integrate it into the build system and resolve errors.
This makes the number of active chipselects a BSP configuration
parameter. The name of the macro in upstream source is misleading and
suggests that the driver can support up to the selected value when in
actuality it requires that number of chips to be present. If this number
of chips is not present, the driver will hang on initialization waiting
for a chip to respond that does not exist.
Move JFFS2 from the Cygwin implementation of CRC32 to the zlib
implementation which can take advantage of hardware acceleration and
reduces code duplication. Synthetic benchmarks on AArch64 hardware show
approximately a 17x improvement in CRC32 calculation speed and
real-world testing with JFFS2 shows a 1% improvement in mount times, a
5% improvement in data write times, and a 9% improvement in garbage
collection times.
A test was written to compare hash generation between the two algorithms
and a partition was created with one and then remounted with the other
with no errors.
Adds the registers that expose the second microblaze timer interrupt.
Moves the system clock to a shared interrupt so users may add a new
interrupt off the second interrupt.
rtems_message_queue_broadcast() may, under certain circumstances, copy
the message to tasks which were not waiting on the message queue when
the broadcast started, and may copy the message multiple times to the
same task.
This behaviour is, based on discussion in #4804, something that might
not change in the short term, so expose it in the user documentation.
The wording is copied with modifications from an existing internal
requirements note.
Also correct "none-atomic" -> "non-atomic" in said internal requirements
note.
The changes were auto-generated from rtems-central.
Uses the CONFIGURE_MAXIMUM_PRIORITY to set the priority range for
EDF and CBS schedulers under the control of applications.
The default priority behavior is now the same as other schedulers.
The user API to get a task's current priority returns 0 for deadline
driven tasks.
Fixes#5390
When a callback does not exist, the Flashdev API should return error
where possible instead of success. When the API returns success for
missing callbacks, the Flashdev API client code may end up using
uninitialized variables as if they were filled by the API.
Closes#5391