Commit Graph

33572 Commits

Author SHA1 Message Date
Sebastian Huber
845674e3fb build: Fix mghttpd01 test exclude
Update #3818.
2020-09-17 17:42:25 +02:00
Sebastian Huber
98d2adb935 libtest: Fix T_thread_switch_record()
If RTEMS_DEBUG is not defined, then we have to explicitly set the node
off the chain.

Update #3199.
2020-09-17 17:42:25 +02:00
Hesham Almatary
4897a82dec riscv: Make sifive_test finisher 4 bytes
QEMU is now stricter with MMIO sizes and accesses. uintptr_t on RV64
is 8 bytes and generates an sd instruction that Store/AMO faults
because sifive_test MMIO expects 4 bytes accesses.
2020-09-17 09:01:51 +01:00
Sebastian Huber
4eea8d4bc4 build: Fix dependencies for start and asm files
Add a feature to enforce an explicit target file for assembler sources.
Add a build start file node list and use it as a test program
dependency.

The fix for #3846 and #4080 needs to be combined, because the fix
for #3846 requires the removal of 'before=["cstlib"]'. This patch fixes
two issues:

1. The tracking of start file dependencies.

2. Reflect that executables depend on the start files.

We need a start.o file in the right path so that the linker can find is
as specified by the linker script, and not for example a start.S.17.o
file in some path. This part is addressed by the "explicit_asm_target"
feature.

This build process extension

@after("apply_link")
@feature("cprogram", "cxxprogram")
def process_start_files(self):
    if getattr(self, "start_files", False):
        self.link_task.dep_nodes.extend(self.bld.start_files)

addresses 2.

Close #3846.
Close #4080.
2020-09-17 08:57:54 +02:00
Sebastian Huber
4b767bd343 bsps/arm: Use RTEMS_SECTION() 2020-09-17 08:36:45 +02:00
Sebastian Huber
20d82377a6 arm: Fix arm_cp15_set_translation_table_entries()
In a multi-processor system we must broadcast the TLB maintenance operation to
the Inner Shareable domain to ensure that the other processors update their TLB
caches accordingly.

Close #4068.
2020-09-17 08:20:35 +02:00
Sebastian Huber
9979042a3a build: Fix multiple defintion error for i386/pc386
Make the objcopy an bld.objects() task generator.

Close #4079.
2020-09-15 20:07:47 +02:00
Sebastian Huber
2a4ccc4f8d bsp/pc386: Remove support for obsolete Binutils
Update #3818.
2020-09-15 15:14:38 +02:00
Sebastian Huber
8f424e4580 build: Fix i386/pc386 link of SMP start file
Update #3818.
2020-09-15 15:14:35 +02:00
Sebastian Huber
d9d31b381c build: Add RELOCADDR to i386/pc386 options
Update #3818.
2020-09-15 13:33:00 +02:00
Sebastian Huber
3be2380927 build: Fix i386/pc386 ABI flags
Update #3818.
2020-09-15 13:33:00 +02:00
Sebastian Huber
127c3ea527 build: Fix i386/pc386 with SMP enabled
Update #3818.
2020-09-15 09:20:28 +02:00
Sebastian Huber
2786b0aa38 bsps/riscv: Use far jump to boot_card()
Use a far jump to avoid errors like this:

relocation truncated to fit: R_RISCV_JAL against symbol `boot_card'
2020-09-15 09:20:27 +02:00
Sebastian Huber
4647789820 irqs01/smpirqs01: New tests
Close #4034.
2020-09-14 07:11:40 +02:00
Sebastian Huber
aa27a85a83 build: Use Python tarfile instead of pax
This patch is for the new build system.
2020-09-14 07:11:40 +02:00
Sebastian Huber
f3f0370f10 build: Alternative build system based on waf
Update #3818.
2020-09-14 07:11:32 +02:00
Gedare Bloom
9f096f4724 i386/score: fix assembly mnemonic
Closes #4076.
2020-09-12 09:11:28 -06:00
Joel Sherrill
5959b1e34c Remove tmoverhd which existed to produce the obsolete coverhd.h
Closes #4040.
2020-09-11 08:54:16 -05:00
Sebastian Huber
dd734d467d score: Fix _Thread_Initialize()
Fix an error cleanup path in SMP configurations to avoid a NULL pointer access.

Update #3959.
2020-09-11 15:47:02 +02:00
Joel Sherrill
e563e61c7a Remove remaining references to coverhd.h
Closes #4040.
2020-09-10 11:42:00 -05:00
Sebastian Huber
64d989d116 spintrcritical08: Increase clock tick interval
On some simulators, a clock tick interval of 1ms seems to be too short.
For example, the test failed on sparc/erc32 using the SIS.
2020-09-10 14:41:55 +02:00
Hesham Almatary
764ea57879 htif_console_handler is defined in htif.c
closes #4069.
2020-09-06 16:11:45 -05:00
Sebastian Huber
aedd92d147 score: Add stack free handler to TCB
This avoids a dependency to the stack free function in the thread
destruction.

Update #3959.
2020-08-31 17:30:17 +02:00
Sebastian Huber
2d5510307a score: Move _Stack_Allocator_free to separate file
This decouples the task stack allocation from the deallocation.

Update #3959.
2020-08-31 17:30:17 +02:00
Sebastian Huber
d8172209b3 score: Add _Stack_Allocator_do_initialize()
Do the stack allocator initialization and sanity check only if a
user-provided stack allocator was configured.  This avoids a dependency
of _Thread_Handler_initialization() on the stack allocator.

Update #3959.
2020-08-31 17:30:17 +02:00
Sebastian Huber
159db41166 score: Use _Freechain_Push()
The nodes are never NULL.

Update #3959.
2020-08-31 17:30:17 +02:00
Sebastian Huber
354c2b50a3 score: Add <rtems/score/freechainimpl.h>
Hide implementation details.

Update #3959.
2020-08-31 17:30:17 +02:00
Sebastian Huber
91c811a132 score: Add _Freechain_Push()
Update #3959.
2020-08-31 17:30:17 +02:00
Sebastian Huber
5bb93f22fc score: Fix debug assert
Do not access executing->current_state outside the protection of the
thread state lock.  Add missing state with a comment.
2020-08-31 17:30:17 +02:00
Sebastian Huber
6e6e23384f config: Add zero file descriptor data structures
Fix linker errors in the minimum test program on some BSPs introduced by
ced28f2cfc.
2020-08-31 17:30:17 +02:00
Sebastian Huber
ced28f2cfc config: Provide file descriptors only if necessary
Only provide the file descriptor array if
CONFIGURE_MAXIMUM_FILE_DESCRIPTORS > 0.  If someone configured
CONFIGURE_MAXIMUM_FILE_DESCRIPTORS == 0 and the appplication uses
something which requires a file descriptor, then a linker error will
show up.  An alternative would be to add a zero-length array
rtems_libio_iops[ 0 ] to librtemscpu.a which would be used in this
case.

Conditionally include some header files.
2020-08-31 16:19:57 +02:00
Sebastian Huber
1818b9a826 score: Optimize _Objects_Name_to_id_u32()
Remove the superfluous invalid name check since the object creation
directives ensure that objects with such a name cannot exist.  Also
finding an object with such a name would be no catastrophy if it really
exists.
2020-08-31 16:19:57 +02:00
Sebastian Huber
c7e30854f2 rtems: Add _RTEMS_Name_to_id()
Simplify object name to identifier directives.  Using
_RTEMS_Name_to_id() to implement the directives enables a tail call
optimization.

Change license to BSD-2-Clause according to file history.

Update #3053.
2020-08-31 16:19:57 +02:00
Sebastian Huber
33dbb3355f score: Constify objects name to id functions 2020-08-31 16:19:57 +02:00
Sebastian Huber
d556af3605 bsps: Always install IPI in SMP configs
The inter-processor interrupt (IPI) may be used to process per-CPU jobs.
See for example the blocked handler in T_interrupt_test().

Update #3199.
2020-08-31 16:19:53 +02:00
Jan Sommer
b87efa7599 bsp/xilinx-zynq: Flush TX-Buffer before initializing uart
Closes #4055
Closes #4056
2020-08-22 17:29:25 +10:00
Sebastian Huber
1a506170cc spintrcritical22: Use right thread wait flags 2020-08-21 13:48:48 +02:00
Sebastian Huber
cd74bd0c6d spintrcritical16: Use right thread wait flags 2020-08-21 13:48:44 +02:00
Sebastian Huber
a7a0a36461 config: Conditionally include header 2020-08-21 10:33:50 +02:00
Sebastian Huber
1bb2800102 mp03: Include missing header file 2020-08-21 09:18:29 +02:00
Sebastian Huber
abf25bcc99 score: Fix set but not used warning 2020-08-21 09:18:29 +02:00
Sebastian Huber
81efe37c35 confdefs: Fix cyclic dependency
Close #4061.
2020-08-21 08:57:09 +02:00
Sebastian Huber
75b2093afb sparc: Use RTEMS_XCONCAT()
Prefer macros with a proper namespace.
2020-08-20 14:55:14 +02:00
Sebastian Huber
fe6191f91a bsps/leon3: Remove superfluous includes 2020-08-20 14:54:18 +02:00
Sebastian Huber
95d37b6307 bsps/arm: Use _Assert() 2020-08-20 14:54:18 +02:00
eadler
208ebf2099 dd(1): Use a local swapbytes() function.
swab(3) has restrict qualifiers for src and dst.
Avoid relying on undefined overlapping swab behavior.

Obtained From: OpenBSD
2020-08-20 14:03:20 +02:00
Sebastian Huber
79fb53687b spintrcritical23: Fix unused variable warnings 2020-08-20 08:56:28 +02:00
Sebastian Huber
218053d0f1 sp37: Fix unused variable warnings 2020-08-20 08:56:28 +02:00
Aschref Ben Thabet
65e027c9ed psxkey01: Fix configuration
Key_ID array must have the right size, it shall have a value greater
than zero.
Note: In Standard C and C++, zero-size array is not
allowed..
2020-08-20 07:44:33 +02:00
Aschref Ben Thabet
cbfdcba555 Fix -Wchar-subscripts warnings
The argument to the ctype functions must be an int and the value of the
character must be representable as an unsigned char or equal to the
value of the macro EOF. If the argument has any other value, the
behavior is undefined.
2020-08-20 07:44:33 +02:00