Commit Graph
29243 Commits
Author SHA1 Message Date
Sebastian Huber 9276fdec2e score: Fix CORE mutex initialization
The priority inheritance and ceiling CORE mutexes wrongly used the FIFO
queueing discipline.  Delete misleading _CORE_mutex_Is_priority().  Bug
introduced by 1e1a91ed11.

Add test sptests/spmutex01, since no existing uni-processor test covered
the thread priority queueing discipline for CORE mutexes.
2016-05-12 13:20:33 +02:00
Sebastian Huber 2b71210f33 Revert "score: Avoid use of uninitialized variable"
Sorry, I should not fix warnings unmindfully.

This reverts commit 35c8efc950.
2016-05-11 16:42:29 +02:00
Sebastian Huber 35c8efc950 score: Avoid use of uninitialized variable
Properly set the needs_help to NULL in _Scheduler_SMP_Enqueue_ordered()
in case the thread is inserted into the ready set.
2016-05-11 16:07:40 +02:00
Chris Johns c3fd48d09c i386/pc386: Clean out removed functions. 2016-05-11 11:45:02 +10:00
Chris Johns 8cb397b27d i386/pc386: Add x86 debug register support for hardware break points. 2016-05-11 11:45:02 +10:00
Chris Johns fc138a1027 i386/pc386: EOI the master and slave for slave IRQ signals. 2016-05-11 11:45:02 +10:00
Chris Johns 02ef5d9a05 i386/pc386: Add --ide-disable boot command line option. 2016-05-11 11:45:02 +10:00
Chris Johns 93fb879796 i386/pc386: Fix interrupt support.
Fix the interrupt and stop the spurious interrupt from happening.

The fix moves the EOI to C code and cleans that functionality out
of the asm part of the ISR handler.

The code checks the ISR and IRR registers on the enable.

Only ack the master for a slave IRQ if the slave has no other pending
requests.
2016-05-11 11:45:01 +10:00
Chris Johns 292dbff069 i386/pc386: Fix printk with the console changes. 2016-05-11 11:45:01 +10:00
Chris Johns beefa11201 bsp/pc386: Use irq-generic. 2016-05-11 11:45:01 +10:00
Chris Johns b61f58fc2c bsp/shared: Print the exception stack frame before the shut down message.
This lets you see the exception otherwise the key press clears the screen
on the reboot on a PC BSP.

Also state there has been a fatal error.
2016-05-11 11:45:01 +10:00
Chris Johns 43f18a14ae bsp/shared: Add bsp_interrupt_handler_is_empty. 2016-05-11 11:45:01 +10:00
Chris Johns 8ce75671eb ibchip/ns16550: Minor optimisation. 2016-05-11 11:45:01 +10:00
Chris Johns 03ad2a5a92 i386/pc386: Add IO and memory support to PCI UART devices.
Use the BAR to determine IO and memory mapped support for PCI UART
boards.
2016-05-11 11:45:01 +10:00
Chris Johns 014292a164 i386/pc386: Add support for the gdb stub to use available console drivers.
Move the gdb stub from the i386 UART code to use the libchip drivers.

Use any ports discovered during the probes.

Add gdb control to the boot command line.

Change the device naming to the full device path, not a partial path.
For example /dev/com1.
2016-05-11 11:45:01 +10:00
Sebastian Huber f57f513d9b bsp/qoriq: Add portal clear functions 2016-05-09 13:06:51 +02:00
Sebastian Huber c70f9d19ee bsp/qoriq: Set M and G bits in ENTRY_DEV_CACHED()
Set M and G MMU attribute bits in ENTRY_DEV_CACHED().
2016-05-09 13:06:49 +02:00
Martin Galvan b4d7d5d52e sonic.c: Fix warning on gcc 6
GCC 6.0 previews give the following warning on sonic.c:

../../../../../rtems/c/src/libchip/network/sonic.c:837:11: warning:
statement is indented as if it were guarded by... [-Wmisleading-indentation]

This was discussed here:

https://lists.rtems.org/pipermail/devel/2016-March/014004.html

and we concluded it would be better to rewrite the entire snippet.
2016-05-06 17:08:47 -03:00
Sebastian Huber f65f803a26 score: Avoid Giant lock for CBS scheduler
Update #2555.
2016-05-06 08:17:05 +02:00
Sebastian Huber 64051ec80b posix: Avoid Giant lock in pthread_equal()
Update #2555.
2016-05-06 08:17:05 +02:00
Sebastian Huber bb2ad039a7 rtems: Avoid Giant lock for signals
Update #2555.
2016-05-06 08:17:04 +02:00
Sebastian Huber b30ab250f0 mpci: Avoid Giant lock in _MPCI_Process_response()
Update #2555.
Update #2703.
2016-05-04 07:55:26 +02:00
Sebastian Huber a0dee7c7bf score: Simplify _Thread_Get_interrupt_disable()
Remove the object location parameter.
2016-05-04 07:24:31 +02:00
Sebastian Huber 49a134dd87 rtems: Return status in _Event_Surrender() 2016-05-04 07:24:31 +02:00
Sebastian Huber 822ec58968 score: Add _Thread_MP_Is_remote() 2016-05-04 07:24:31 +02:00
Sebastian Huber 8c77150b39 score: Simplify _Thread_Get_objects_information() 2016-05-04 07:24:30 +02:00
Sebastian Huber 876dde7a7d score: Make _Objects_Information_table const
The _Objects_Information_table is statically initialized.  So, we can
make it read-only.
2016-05-04 07:24:30 +02:00
Sebastian Huber 469dc4776d score: Simplify _Objects_Id_to_name() 2016-05-04 07:24:30 +02:00
Sebastian Huber 0ab4fb7ca6 score: Fix _Objects_Id_to_name()
Avoid out-of-bounds array access in case the object class is invalid.
2016-05-04 07:24:30 +02:00
Sebastian Huber 1d40d81b4b rtems: Remove task variables
Update #2494.
Update #2555.
2016-05-04 07:24:30 +02:00
Sebastian Huber 159b637015 bsp/mvme5500: Use thread local variable
Use thread local variable instead of task variable.

Update #2494.
2016-05-04 07:24:29 +02:00
Sebastian Huber b1b6f3b0e0 confdefs.h: Fix message queue size estimate
Account for maximum message size alignment.  Simplify
_CORE_message_queue_Initialize().
2016-05-04 07:24:29 +02:00
Sebastian Huber e4fd35ddcb confdefs.h: Fix named object size estimate
Account for the terminating null character.  Use _POSIX_PATH_MAX instead
of NAME_MAX according to _POSIX_Semaphore_Manager_initialization() and
_POSIX_Message_queue_Manager_initialization().
2016-05-04 07:24:29 +02:00
Sebastian Huber 0a68d8e45a score: Optimize _Objects_Get_local()
Make the interrupt lock context the second parameter to avoid register
moves.
2016-05-02 13:46:50 +02:00
Sebastian Huber e38a92bd9a mpci: Make _*_MP_Get_packet() static 2016-05-02 13:46:50 +02:00
Sebastian Huber c506158c1a mpci: Make _*_MP_Send_response_packet() static 2016-05-02 13:46:50 +02:00
Sebastian Huber b1b8bd25b1 mpci: Fix _CORE_barrier_Surrender()
Bug introduced by f27383a518.
2016-05-02 13:46:50 +02:00
Sebastian Huber 981eed2176 score: Add dummy Strong APA scheduler
Start with a copy of the Priority SMP scheduler implementation.

Update #2510.
2016-05-02 07:46:17 +02:00
Sebastian Huber 66374dfc0c posix: Avoid Giant lock in _POSIX_signals_Send()
Update #2555.
Update #2690.
2016-05-02 07:46:17 +02:00
Sebastian Huber 259d885168 posix: Remove superfluous thread dispatch disable
The _Thread_queue_Enqueue_critical() already deals with thread
dispatching.

Update #2555.
2016-05-02 07:46:17 +02:00
Sebastian Huber d5cc9fd6f1 score: __RTEMS_DO_NOT_INLINE_CORE_MUTEX_SEIZE__
Delete __RTEMS_DO_NOT_INLINE_CORE_MUTEX_SEIZE__ as a preparation to
restructure the CORE mutex variants and reduce the branch complexity.
2016-05-02 07:46:16 +02:00
Sebastian Huber 500a8e9c62 score: Delete __RTEMS_STRICT_ORDER_MUTEX__
Remove support for strict order mutexes.

Close #2124.
2016-05-02 07:46:16 +02:00
Sebastian Huber 1ef8e4a8e9 score: Avoid Giant lock for set time of day
Update #2555.
Update #2630.
2016-05-02 07:46:16 +02:00
Sebastian Huber 3888771772 score: Streamline set time of day functions
Rename _TOD_Set() into _TOD_Set_with_timespec().  Rename
_TOD_Set_with_timestamp() into _TOD_Set().  This is now in line with
_TOD_Get() and _TOD_Get_as_timespec().  The timestamp is the canonical
format.
2016-05-02 07:46:16 +02:00
Sebastian Huber 77726405fa score: _Objects_Get_name_as_string()
Avoid Giant lock in _Objects_Get_name_as_string().

Update #2555.
2016-05-02 07:46:16 +02:00
Sebastian Huber f4d541ccfe rtems: Avoid Giant lock in rtems_object_set_name()
Update #2555.
2016-05-02 07:46:15 +02:00
Sebastian Huber f009ed086d rtems: Avoid Giant lock for semaphores
Update #2555.
2016-05-02 07:46:15 +02:00
Sebastian Huber c8982e5f6a posix: Simplify message queues
The mq_open() function returns a descriptor to a POSIX message queue
object identified by a name.  This is similar to sem_open().  In
contrast to the POSIX semaphore the POSIX message queues use a separate
object for the descriptor.  This extra object is superfluous, since the
object identifier can be used directly for this purpose, just like for
the semaphores.

Update #2702.
Update #2555.
2016-05-02 07:46:15 +02:00
Sebastian Huber 6741d30a31 rtems: Avoid Giant lock for message queues
Update #2555.
2016-05-02 07:46:15 +02:00
Sebastian Huber 7e66865e17 score: Move message notification
Move message notification to end of critical section and delegate the
message queue release to the notification handler.  It may do more
complex notification actions out of the critical section.

Update #2555.
2016-05-02 07:46:15 +02:00