Commit Graph

29237 Commits

Author SHA1 Message Date
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
Sebastian Huber
88e09b983d score: _CORE_message_queue_Insert_message()
Move common code into _CORE_message_queue_Insert_message().
2016-05-02 07:46:14 +02:00
Sebastian Huber
1b7a6a3863 score: _CORE_message_queue_Set_message_priority()
Remove _CORE_message_queue_Set_message_priority() and set the priority
in _CORE_message_queue_Insert_message().
2016-05-02 07:46:14 +02:00
Sebastian Huber
99112f76b8 score: _CORE_message_queue_Submit()
Move lock acquire to caller of _CORE_message_queue_Submit() to allow
state checks during send operations under lock protection.
2016-05-02 07:46:14 +02:00
Sebastian Huber
b0eba5ed8a score: _CORE_message_queue_Seize()
Move lock acquire to caller of _CORE_message_queue_Seize() to allow
state checks during receive operations under lock protection.
2016-05-02 07:46:14 +02:00
Sebastian Huber
7580995b47 score: _CORE_message_queue_Close()
Move lock acquire to caller of _CORE_message_queue_Close() to allow
state checks during object close operations under lock protection.
Ensures deletion safety on uni-processor configuration.
2016-05-02 07:46:14 +02:00
Sebastian Huber
dd6c28eee0 posix: Delete POSIX_Message_queue_Control::named
Delete unused POSIX_Message_queue_Control::named.
2016-05-02 07:46:14 +02:00