Commit Graph

35682 Commits

Author SHA1 Message Date
Alexander V. Chernikov
7846249e1a routing: fix source address selection rules for IPv4 over IPv6.
Current logic always selects an IFA of the same family from the
 outgoing interfaces. In IPv4 over IPv6 setup there can be just
 single non-127.0.0.1 ifa, attached to the loopback interface.

Create a separate rt_getifa_family() to handle entire ifa selection
 for the IPv4 over IPv6.

Differential Revision: https://reviews.freebsd.org/D31868
MFC after:	1 week
2022-07-11 13:28:10 +02:00
John Baldwin
070f1b552c Remove copyinfrom() and copyinstrfrom().
These functions were added in 2001 and are currently unused.
copyinfrom() looks to have never been used.  copyinstrfrom() was used
for two weeks before the code was refactored to remove it's sole use.

Reviewed by:	brooks, kib
Obtained from:	CheriBSD
Sponsored by:	DARPA
Differential Revision:	https://reviews.freebsd.org/D24928
2022-07-11 13:28:10 +02:00
Joel Sherrill
00e0fb916e bsps/arm/realview-pbx-a9: Change license to BSD-2
Updates #3053.
2022-07-08 08:42:42 -05:00
Joel Sherrill
f6e9e89729 bsps/arm/raspberrypi: Change license to BSD-2
Updates #3053.
2022-07-08 08:42:42 -05:00
Joel Sherrill
f3237b3186 bsps/arm/lpc32xx: Change license to BSD-2
Updates #3053.
2022-07-08 08:42:42 -05:00
Joel Sherrill
445ddb31ef bsps/arm/lpc24xx: Change license to BSD-2
Updates #3053.
2022-07-08 08:42:42 -05:00
Joel Sherrill
d42276615c bsps/arm/imxrt: Change license to BSD-2
Updates #3053.
2022-07-08 08:42:42 -05:00
Joel Sherrill
c519d4589b bsps/arm/lpc176x: Change license to BSD-2
Updates #3053.
2022-07-08 08:42:42 -05:00
Joel Sherrill
03cb6e819c bsps/arm/include: Change license to BSD-2
Updates #3053.
2022-07-08 08:42:42 -05:00
Joel Sherrill
df50266c6a bsps/arm/imx: Change license to BSD-2
Updates #3053.
2022-07-08 08:42:42 -05:00
Joel Sherrill
6505459565 bsps/arm/csb337: Change license to BSD-2
Updates #3053.
2022-07-08 08:42:42 -05:00
Joel Sherrill
b1cc3dd07e bsps/arm/beagle: Change license to BSD-2
Updates #3053.
2022-07-08 08:42:42 -05:00
Joel Sherrill
6fc04f4cfd bsps/arm/atsamv: Change license to BSD-2
Updates #3053.
2022-07-08 08:42:42 -05:00
Joel Sherrill
9e0244e95f bsps/arm/altera-cyclone-v: Change license to BSD-2
Updates #3053.
2022-07-08 08:42:42 -05:00
Joel Sherrill
8ca4b5c8bb bsps/arm/shared: Change license to BSD-2
Updates #3053.
2022-07-08 08:42:42 -05:00
Sebastian Huber
e506df58ec validation: Test thread idle bodies
Update #3716.
2022-07-07 09:00:48 +02:00
Sebastian Huber
588a07e1a8 validation: Always test spurious interrupts
Update #3716.
2022-07-07 09:00:46 +02:00
Sebastian Huber
c75e03367a validation: Test thread free of FPU owner
Update #3716.
2022-07-07 09:00:44 +02:00
Sebastian Huber
af90f783f0 validation: Test scheduler detail
This particular state during a reconsider help request scheduler operation was
only covered by the existing test suites under some timing conditions.

Update #3716.
2022-07-07 09:00:29 +02:00
Sebastian Huber
e7d01e7803 rtems: Simplify rtems_scheduler_ident()
Use early returns to simplify rtems_scheduler_ident().
2022-07-07 08:48:26 +02:00
Sebastian Huber
80090639a6 score: Use RTEMS_SMP in _Thread_Create_idle()
Conditional expressions with inline functions are not optimized away if
optimization is disabled.  Avoid such expressions to prevent dead
branches.
2022-07-07 08:48:26 +02:00
Sebastian Huber
6e74cebb62 score: Conditional _Thread_Priority_replace()
This function is only used in SMP configurations.
2022-07-07 08:46:48 +02:00
Kinsey Moore
2f6ee01e9e bsps/aarch64: Use MMU pages appropriately
There were two bugs with MMU page use that were partially hiding each
other. The linker script page table section was 4x the size it needed to
be and the page table allocation routine was allocating pages PTRSIZE
times larger than it needed to. On ILP32, this resulted in incorrect but
functional allocation. On LP64, this resulted in allocation failures
earlier than expected.
2022-07-06 10:22:08 -05:00
Kinsey Moore
22015c0251 cpukit/aarch64: Remove _CPU_ISR_install_vector
This function was never actually used and is dead code.
2022-07-05 15:35:56 -05:00
Gabriel Moyano
eefaf0687c sppps01: Add test case for early returns of pps_event()
Update #2349.
2022-07-05 15:17:15 +02:00
Sebastian Huber
03e4d1e931 score: Add _CPU_Use_thread_local_storage()
At some point during system initialization, the idle threads are created.
Afterwards, the boot processor basically executes within the context of an idle
thread with thread dispatching disabled.  On some architectures, the
thread-local storage area of the associated thread must be set in dedicated
processor registers.  Add the new CPU port function to do this:

void _CPU_Use_thread_local_storage( const Context_Control *context )

Close #4672.
2022-07-04 08:30:42 +02:00
Sebastian Huber
9dd4bd3963 libtests/crypt01: Avoid stack overflows
The SHA512 functions may use huge amounts of stack space if compiled without
optimization.
2022-07-04 08:30:42 +02:00
Sebastian Huber
da8b234261 samples/minimum: Prevent a stack overflow
Prevent a stack overflow if RTEMS_COVERAGE is enabled.
2022-07-04 08:30:40 +02:00
Sebastian Huber
5c13a96f36 build: Add RTEMS_GCOV_COVERAGE option
Update #4670.
2022-07-04 08:29:52 +02:00
Sebastian Huber
7452f67dd9 gcov: Add wrapper to dump the gcov info
Update #4670.
2022-07-04 08:29:52 +02:00
Sebastian Huber
4f87edbb75 gcov: Add functions to dump the gcov information
Update #4670.
2022-07-04 08:29:52 +02:00
Sebastian Huber
2bc233fe58 gcov: Add fork(), etc. gcov wrappers
The compiler wraps fork(), etc. system calls if coverage generation is enabled.
These functions must be provided by the system.  For RTEMS, they just return an
error status.

Update #4670.
2022-07-04 08:29:52 +02:00
Sebastian Huber
a13047ca0e build: Allow separate optimization flags
Allow separate optimization flags for the BSP, cpukit, and tests.  For example,
the BSP and cpukit may be built without optimization if coverage
instrumentation is enabled, however, the tests may still use optimization.

Update #4670.
2022-07-04 08:29:52 +02:00
Sebastian Huber
a0aaa394b6 build: Fix optimization flags definition order
OPTIMIZATION_FLAGS must be defined before /build/bsp/bspopts is processed.

Update #4670.
2022-07-04 08:29:52 +02:00
Sebastian Huber
42da08dd9d build: Add cppflags, cflags, cxxflags to groups
Propagate the group defined cppflags, cflags, and cxxflags from parent groups
to child items through the build item context.

Update #4670.
2022-07-04 08:29:52 +02:00
Sebastian Huber
0bb7b84698 build: Improve value substitution
The waf build system uses lists for tool flags.  The build items may use
variable substitution.  Add the ability to use the variable substitution in
lists.  For example:

MORE_FLAGS = ['-more', '-flags']

flags:
- -some-flag
- ${MORE_FLAGS}

Before this change, the ${MORE_FLAGS} was substituted to "-more -flags".  This
would be passed by waf as a single command line argument to the tool.

After this change, the ${MORE_FLAGS} list extends the flags list:

flags = ['-some-flag', '-more', '-flags']

This list extension is performed if a list element consists of exactly one
variable.

Update #4670.
2022-07-04 08:29:52 +02:00
Sebastian Huber
4aeebaee5b build: Fix identifier pattern
Allow upper case characters in identifiers.

Update #4670.
2022-07-04 08:29:52 +02:00
Sebastian Huber
281f39a600 build: Move BSP_INCLUDES split
The goal is to let the build items define as much as possible.
2022-07-04 08:29:52 +02:00
Sebastian Huber
857fb17db1 build: Add more flags to BuildItemContext
Add cppflags, cflags, and cxxflags to BuildItemContext.  This allows to
propagate the flags from parent items to child items.

Update #4670.
2022-07-04 08:29:52 +02:00
Sebastian Huber
d07d6498c6 samples/cdtest: Test exceptions during system init
Update #4668.
Update #4672.
2022-07-04 08:09:48 +02:00
Sebastian Huber
c15842d99d bsps/xilinx-zynq: Init debug console only once
Initialize the debug console only once during early system initialization.
2022-07-01 06:50:16 +02:00
Sebastian Huber
00f39770ca bsp/lpc32xx: Optimize Ethernet transmit
The updated Ethernet interface driver in libbsd profits from more
transmit descriptors since it no longer uses transmit done interrupts.
2022-06-27 09:25:10 +02:00
Sebastian Huber
050eaa92ef bsp/stm32h7: Exclude some tests 2022-06-24 13:19:57 +02:00
Sebastian Huber
fea5ed5e7d bsp/rtl22xx: Exclude exit03 2022-06-24 13:15:00 +02:00
Sebastian Huber
58b31af20b tstsmallmem: Exclude exit03 and tftpfs 2022-06-24 13:15:00 +02:00
Sebastian Huber
39c09b3b3d riscv: Include missing header file 2022-06-24 13:15:00 +02:00
Sebastian Huber
ba56e23999 score: Account for <sys/bitset.h> API changes
Update #4667.
2022-06-23 10:29:31 +02:00
Sebastian Huber
a76988c881 score: Remove unused _Processor_mask_Nand()
Update #4667.
2022-06-23 10:29:31 +02:00
Sebastian Huber
89e910f1aa spcpuset01: Account for <sys/cpuset.h> API changes
Update #4667.
2022-06-23 10:29:19 +02:00
Sebastian Huber
5dffbc424e score: Make SMP only code explicit
Conditional expressions with inline functions are not optimized away if
optimization is disabled.  Avoid such expressions to prevent dead
branches.  It helps also during code review to immediately see if a loop
is used or not.
2022-06-23 10:28:49 +02:00