Commit Graph

13890 Commits

Author SHA1 Message Date
Sebastian Huber
40b80d86ef bsp/leon3: Use sysinit for bsp_debug_uart_init() 2016-06-20 08:18:39 +02:00
Sebastian Huber
a4fa007be9 bsp/leon3: Use sysinit for amba_initialize() 2016-06-20 08:11:16 +02:00
Sebastian Huber
16706b723f bsps: Fix printk() format warning 2016-06-17 08:07:14 +02:00
Sebastian Huber
305231bd3c bsps: Fix MPCI_Fatal() prototype
Close #2742.
2016-06-17 08:04:25 +02:00
Joel Sherrill
381b120acc libchip/shmdr/send.c: Fix warning and clean up 2016-06-16 09:03:22 -05:00
Joel Sherrill
82cb100aba libchip/shmdr/poll.c: Fix warning and clean up 2016-06-16 09:03:22 -05:00
Joel Sherrill
4788a074a5 mvme147s/shmsupp/mpisr.c: Fix warnings and clean up 2016-06-16 09:03:22 -05:00
Joel Sherrill
d5ff139894 mvme147s/shmsupp/getcfg.c: Fix warning 2016-06-16 09:03:22 -05:00
Sebastian Huber
b61d5cac7c bsps: Add CLOCK_DRIVER_USE_ONLY_BOOT_PROCESSOR
Add CLOCK_DRIVER_USE_ONLY_BOOT_PROCESSOR clock driver option.  If
defined, then do the clock tick processing on the boot processor on
behalf of all other processors.  Currently, this is intended as a
workaround for a Qemu shortcoming on ARM.

Update #2737.
2016-06-14 11:57:48 +02:00
Sebastian Huber
a0cd238d2b bsp/qoriq: Increase reserved size for FDT
Some boards require this size.
2016-06-13 13:42:02 +02:00
Sebastian Huber
10670a5503 bsp/irq-server: Fix install/remove
Do not wait for the interrupt server while owning the allocator lock.
This could lead to deadlock in case one of interrupt service routines or
user extensions want to obtain the allocator mutex as well.  Instead let
the interrupt server do the install/remove job entirely on behalf of the
requesting task.
2016-06-13 10:30:42 +02:00
Sebastian Huber
89f627b56b bsps/powerpc: Update to RTEMS printer changes 2016-06-09 09:39:18 +02:00
Alexander Krutwig
033443c869 bsp/atsam: Support QSPI flash 2016-06-06 12:57:08 +02:00
Alexander Krutwig
15f0f9b448 atsam: Fix network interface PHY handling
Close #2685.
2016-06-06 12:57:07 +02:00
YANG Qiao
6b5df955a6 arm/raspberrypi: add fbcons support for rpi bsp 2016-05-31 10:33:44 +02:00
YANG Qiao
c12069e855 arm/raspberrypi: add video outchar support for rpi bsp 2016-05-31 10:33:43 +02:00
Pavel Pisa
c64d5f0d0c arm/raspberrypi: move MMU in front of application image to respect variable memory size.
The page table is placed at address 0x00004000 which provides
required 16 kB space till the start of application image.

The RAM size specified in a linker script is upper limit
address of RAM utilized for the work area initialization.

If VideoCore reports to use lower address than expected
then work area size is adjusted (shrinked) appropriately.
2016-05-31 10:33:43 +02:00
YANG Qiao
c1a9f6a128 arm/raspberrypi: add VideoCore framebuffer without initialization 2016-05-31 10:33:43 +02:00
Pavel Pisa
b96defda47 arm/raspberrypi: Raspberry Pi v2 ALLOCATE_BUFFER VC4 operation returns direct address. 2016-05-31 10:33:43 +02:00
Pavel Pisa
de378ad40d arm/raspberrypi: ensure that correct RPI_PERIPHERAL_BASE is provided by raspberrypi.h
If the raspberrypi.h has been included without preceding inclussion
of bsp.h then BSP_IS_RPI2 has not been set for Raspberry Pi 2
BSP variant and bad things happen later.

The patch includes bspopts.h by raspberrypi.h and even includes
bsp.h in critical peripherals support.
2016-05-31 10:33:42 +02:00
Pavel Pisa
4c59eebfbf arm/raspberrypi: cmdline enhancement and early access workaround.
cmdline argument is returned without option name.
The calls to command line parsing can be called earlier before
BSS is cleaned out.
2016-05-31 10:33:42 +02:00
Sebastian Huber
dd2c57d40b libchip: Remove dwmac network interface driver
The network interface driver for this module is located in the new
network stack (libbsd), see file "if_dwc.c".
2016-05-31 10:25:25 +02:00
Sebastian Huber
a9cff51b05 bsp/qoriq: Fix nocache region placement
Avoid memory waste due to alignment padding.  Provide enough space for
the DPAA driver infrastructure.
2016-05-31 10:10:36 +02:00
Sebastian Huber
0546e65ec2 bsps: Add defines for some linker subsections
The GNU ld sort by name or alignment needs distinct input sections.
2016-05-31 10:10:36 +02:00
Sebastian Huber
ccda945996 bsps: Sort some sections first by alignment
This helps to avoid alignment padding and thus may reduce some memory
waste.
2016-05-31 10:10:36 +02:00
Chris Johns
8f9d07bbbc bsp/shared: Fix printk warnings. 2016-05-25 15:47:34 +10:00
Chris Johns
1503c1c382 i386/pc386: Fix printk formatting warnings. 2016-05-25 15:47:34 +10:00
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