Commit Graph

13863 Commits

Author SHA1 Message Date
Chris Johns
24d0ee57a4 cpukit, testsuite: Add rtems_printf and rtems_printer support.
This change adds rtems_printf and related functions and wraps the
RTEMS print plugin support into a user API. All references to the
plugin are removed and replaced with the rtems_printer interface.

Printk and related functions are made to return a valid number of
characters formatted and output.

The function attribute to check printf functions has been added
to rtems_printf and printk. No changes to remove warrnings are part
of this patch set.

The testsuite has been moved over to the rtems_printer. The testsuite
has a mix of rtems_printer access and direct print control via the
tmacros.h header file. The support for begink/endk has been removed
as it served no purpose and only confused the code base. The testsuite
has not been refactored to use rtems_printf. This is future work.
2016-05-25 15:47:34 +10:00
Sebastian Huber
2471316321 score: Rename _ISR_Disable() and _ISR_Enable()
Rename _ISR_Disable() into _ISR_Local_disable().  Rename _ISR_Enable()
into _ISR_Local_enable().  Remove _Debug_Is_owner_of_giant().

This is a preparation to remove the Giant lock.

Update #2555.
2016-05-20 07:50:37 +02:00
Sebastian Huber
4b04cb6155 score: Rename _ISR_Disable_without_giant()
Rename _ISR_Disable_without_giant() into _ISR_Local_disable().  Rename
_ISR_Enable_without_giant() into _ISR_Local_enable().

This is a preparation to remove the Giant lock.

Update #2555.
2016-05-20 07:50:34 +02:00
Sebastian Huber
d2bacb6c38 score: _Thread_Dispatch_increment_disable_level()
Avoid _Thread_Dispatch_increment_disable_level() and
_Thread_Dispatch_decrement_disable_level() and thus the Giant
lock.

This is a preparation to remove the Giant lock.

Update #2555.
2016-05-20 07:49:41 +02:00
Pavel Pisa
8830bfe65b arm/raspberrypi: add cmdline support for rpi bsp. 2016-05-19 13:21:40 +02:00
YANG Qiao
54c197a2af arm/raspberrypi: add VideoCore frame buffer control support 2016-05-19 13:21:40 +02:00
YANG Qiao
33e39d3102 arm/raspberrypi: add VideoCore mailbox support read and write 2016-05-19 13:21:40 +02:00
Pavel Pisa
12582291e0 arm/raspberrypi: add locking around GPIO pin function selection.
This is required if function or direction is changed by some driver
after start of thread multitasking or in interrupts drivers.

There can be problem with calling GPIO function selection before
data section is initialized. But actual ticket lock implementation
seems to be compatible even with memory initialized to zero oven
on SMP.
2016-05-19 13:21:40 +02:00
Pavel Pisa
4b62192f05 arm/raspberrypi: correct GPIO pin function selection.
Original implementation does only bitwise-or with previous register
value for all functions except IN. Switch from one to other function
would lead to incorrect value.
2016-05-19 13:21:40 +02:00
Pavel Pisa
e706a9d17c arm/raspberrypi: ensure that RTEMS application image can be started by U-boot.
The current versions of U-boot start kernel/RTEMS application image
with instruction and data caches enabled and it sets exception
base register to new address after its self-relocation.

        ldr     r0, [r9, #GD_RELOCADDR] /* r0 = gd->relocaddr */
        mcr     p15, 0, r0, c12, c0, 0  /* Set VBAR */

Included changes in bsp_start_hook_0 restore default state to
allow RTEMS image to run after startup from newer U-boot version
on Raspberry Pi.

Clear interrupt enable registers in interrupt controller
to ensure that RTEMS starts from well defined state.
2016-05-19 13:21:40 +02:00
Pavel Pisa
6fbc692fe2 bsps/arm: CP15 support for flush prefetch buffer and table base control. 2016-05-19 13:21:39 +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
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
0000791312 bsp/qoriq: Add and use qoriq_reset_qman_and_bman() 2016-05-02 07:46:13 +02:00
Sebastian Huber
ddc12de4a3 bsp/qoriq: Add DCFG to memory map 2016-05-02 07:46:13 +02:00
Sebastian Huber
d8f4689dba bsp/qoriq: Add bsp_restart() 2016-04-22 14:30:07 +02:00
Sebastian Huber
2816c84a55 bsp/qoriq: Use IPI_INDEX throughout 2016-04-22 14:30:07 +02:00
Sebastian Huber
9b1f338de9 bsp/qoriq: Add qoriq_start_spin_table_addr[]
Make the U-Boot start spin table addresses globally available for a
soft-reset.
2016-04-22 14:30:06 +02:00
Sebastian Huber
2c68a47e08 bsp/qoriq: Add qoriq_tlb1_invalidate_all_by_ts()
Generalize qoriq_tlb1_ts_0_only() to qoriq_tlb1_invalidate_all_by_ts().
2016-04-22 14:30:06 +02:00
Sebastian Huber
582e427280 bsp/qoriq: Move L1 cache invalidate function 2016-04-22 14:30:06 +02:00
Sebastian Huber
0ac0632b5c bsp/qoriq: Do not reset time base
We may use this as an entropy source.
2016-04-22 14:30:06 +02:00
Sebastian Huber
178180aa1c bsps: Copy FDT only if source != destination 2016-04-22 14:30:06 +02:00
Sebastian Huber
d35e6dded3 powerpc: Add FSL_EIS_TENSR, etc. defines 2016-04-22 14:30:05 +02:00
Sebastian Huber
c287dc0f46 bsp/qoriq: Flush and invalidate all L2 caches 2016-04-22 09:25:10 +02:00
Sebastian Huber
6a46d9974f bsp/qoriq: Optionally initialize register HID0
Enable the L2MMU multiple-hit detection on the e6500 core.
2016-04-22 09:25:10 +02:00
Pavel Pisa
b752f9454f i386/pc386: reimplemented check for unused EDID entry in fb_vesa.c to suppress GCC 6 warning.
closes #2634
2016-04-16 15:01:47 +02:00
Joel Sherrill
e65c45c4b6 Obsolete rtems_clock_get() directive.
This service was marked as deprecated long prior to the 4.11 release
series and is now being removed.

closes #2676.
2016-04-14 16:36:53 -05:00
Sebastian Huber
a12724f934 bsp/qoriq: Fix MMU initialization for e6500
In case a hypervisor mode is present, then we must set MAS8 for some TLB
operations, otherwise the run-time behaviour is unpredictable.
2016-04-14 07:59:55 +02:00
Sebastian Huber
d2c8693e15 bsp/atsam: Fix mbuf allocation 2016-04-01 08:33:29 +02:00
Sebastian Huber
2803314e1c bsp/leon3: Remove dead code 2016-03-31 13:33:45 +02:00
Alexander Krutwig
fb29ca55ea bsp/atsam: Add network interface driver 2016-03-31 13:00:44 +02:00
Sebastian Huber
0bd49f1535 bsp/atsam: Add nocache region support 2016-03-31 12:58:19 +02:00
Sebastian Huber
935e9c7dfc bsp/atsam: Fix sizes of internal SRAM 2016-03-31 12:58:19 +02:00
Chris Johns
0a2f5bdd19 bsp/pc386: Fix --console=/--printk= argument parsing. 2016-03-31 14:45:59 +11:00
Joel Sherrill
d33ab8256d v850/gdbv850sim/include/bsp.h: Do not include <rtems/iosupp.h> 2016-03-30 14:04:24 -05:00