Commit Graph

14202 Commits

Author SHA1 Message Date
Pavel Pisa
facebbb28e bsps/i386: Separate variable for i8259 IRQs disable due to in progress state.
The global state of enabled and disabled interrupts has to hold
interrupts really disabled by drivers and system. If the state is
combined with interrupts temporarily disabled because they are
processed at given time then it is impossible to maintain state
by interrupt handlers in drivers.
2016-10-11 22:17:04 +02:00
Sebastian Huber
282de10828 bsp/qoriq: Add GPIO register map 2016-10-11 10:42:36 +02:00
Sebastian Huber
00bac953f7 bsps/sparc: Support GR740 GPIO 2016-10-11 08:33:28 +02:00
Sebastian Huber
a899549ed2 bsp/atsam: Provide default buffer counts 2016-10-05 14:04:23 +02:00
Sebastian Huber
10eedb9fa6 bsp/atsam: Fix PHY detection 2016-10-05 14:04:07 +02:00
Sebastian Huber
8ace7ee42f bsp/mvme147*: Fix linker issue
The GNU linker does not allow a nonconstant expression for a region
length.
2016-09-23 08:41:58 +02:00
Sebastian Huber
bbe8833336 bsps/m68k: Add libatomic support to some bsp_specs
Update #2695.
2016-09-23 08:03:41 +02:00
Sebastian Huber
d6e58a0f14 bsps/m68k: Fix linker command file
Prevent garbage collection of interrupt vector table.
2016-09-23 06:57:12 +02:00
Pavel Pisa
425f6cfa11 arm/tms570: document BSP setup with included hardware initialization. 2016-09-22 09:56:06 +02:00
Pavel Pisa
aae17bf32d arm/tms570: update bootstrap generated preinstall.am 2016-09-22 09:51:31 +02:00
Pavel Pisa
98b6874031 arm/tms570: include TMS570_USE_HWINIT_STARTUP option to select bare metal startup and selftest. 2016-09-22 09:51:21 +02:00
Pavel Pisa
29430a3a10 arm/tms570: include hardware initialization and selftest based on Ti HalCoGen generated files.
The configuration is specific for TMS570LS3137 based HDK.
Pins configuration can be easily changed in

  rtems/c/src/lib/libbsp/arm/tms570/hwinit/init_pinmux.c

file.

The list tms570_selftest_par_list in the file

  rtems/c/src/lib/libbsp/arm/tms570/hwinit/bspstarthooks-hwinit.c

specifies peripherals which health status is examined
by parity self-test at BSP start-up. It can be easily
modified for other TMS570 family members variants same
as the selection of other tests in bspstarthooks-hwinit.c.
2016-09-22 09:50:59 +02:00
Pavel Pisa
5746f108bd arm/tms570: define base addresses of all TMS570LS3137 SPI interfaces.
Generated header file ti_herc/reg_spi.h contains complete registers
and fields set for Ti MibSPI peripheral.
Care has to be taken that only TMS570_SPI1, TMS570_SPI3 and TMS570_SPI5
are of this complete multibuffer type. TMS570_SPI2 and TMS570_SPI4
have substantial part of registers removed but else they are compatible.
2016-09-22 08:26:29 +02:00
Pavel Pisa
a396ed4778 bsps/arm: Export bsp_start_hook_0_done symbol from ARM start.S.
The symbol can be used by bsp_start_hook_0 when complete
RAM memory is initialization and overwritten during BSP
self-test. The test overwrites even memory used to store
return address / link register and regular resturn from
bsp_start_hook_0 is not possible then.
2016-09-22 08:26:13 +02:00
Pavel Pisa
4d3c866aec classic networking: adapt FXP driver to work with actual PCI and IRQ code.
Tested to work with QEMU provided Intel i82557b network controller emulation.

qemu-system-x86_64 -enable-kvm -kernel $APP_BINARY \
      -vga cirrus \
      -append "--console=/dev/com1" \
      -serial stdio \
      -net nic,vlan=1,macaddr=be:be:be:10:00:01,model=i82557b \
      -net tap,ifname=tap1,vlan=1,script=no,downscript=no
2016-09-21 10:24:59 +02:00
Pavel Pisa
8c83cbcc96 classic networking: do not reference BSP_irq_enabled_at_i8259s which is no more available on i386.
This change is required to build RTEMS with classic "--enable-networking"
and link applications/tests which reference RTEMS_BSP_NETWORK_DRIVER_ATTACH.
2016-09-20 22:45:16 +02:00
Sebastian Huber
55e0be3606 termios: Use IMFS nodes for new Termios devices
This makes the new Termios devices independent of device major/minor
numbers.  It enables BSP independent Termios device drivers which may
reside in the cpukit domain.  These drivers require an IMFS and do not
work with the device file system.  However, the device file system
should go away in the future.
2016-09-19 07:52:33 +02:00
Alexander Krutwig
0ab86d091a bsp/atsam: Add SPI bus driver 2016-09-16 10:07:03 +02:00
Alexander Krutwig
c186de5cd1 bsp/atsam: Use normal memory for QSPI flash area
This is a performance improvement for execute-in-place (XIP).
2016-09-16 08:18:50 +02:00
Pavel Pisa
5eb769ca8b arm/raspberrypi: define bsp_reset to restart board by watchdog.
Whether the board is restarted after application finish/exit
is controlled by BSP_RESET_BOARD_AT_EXIT configure option.
2016-09-08 23:40:21 +02:00
Sebastian Huber
275032b85a powerpc: Fix SMP context switch
We need the unmodified r4 for get_potential_new_heir.

This partially reverts commit 8d785f72d9.
2016-09-08 09:55:26 +02:00
Chris Johns
d416061846 testsuite: Add libdl/dl05 reloc test. 2016-09-08 16:52:39 +10:00
Sebastian Huber
531924df8b bsp/raspberrypi: Rename file 2016-09-08 07:43:02 +02:00
Pavel Pisa
5d369c8572 arm/raspberrypi: use GPU/system timer as clock source.
It has advantage that it is designed as free-running counter
with compare registers and can easily serve for for both
timecounter and tick interrupt.
2016-09-07 20:29:39 +02:00
Pavel Pisa
40f49d11cf arm/raspberrypi: correct and extend definitions for GPU timer. 2016-09-07 20:29:39 +02:00
Pavel Pisa
df2ee9d377 arm/raspberrypi: basic BCM2836 SMP implementation.
The BSP support is divided to startup/bspsmp_api.c file where
functions required by SuperCore are defined and BCM2836 hardware
initialization part in startup/bspsmp_init.c.

Separation is done to prevent smpfatal08 test build failure.
2016-09-07 20:29:39 +02:00
Pavel Pisa
38a5385bc0 arm/raspberrypi: propagate number of configured CPUs into linker script. 2016-09-07 20:29:39 +02:00
Pavel Pisa
dfbedf366d arm/raspberrypi: rename linkcmds to linkcmds.in to allow their configure processing. 2016-09-07 20:29:39 +02:00
Pavel Pisa
4c53be196d arm/raspberrypi: more definitions of BCM2836 core local peripherals. 2016-09-07 20:29:39 +02:00
Rohini Kulkarni
bf62c39021 arm/raspberrypi: include definitions of BCM2836 SMP mailboxes. 2016-09-07 20:29:39 +02:00
Pavel Pisa
6e6a77a690 bsps/arm: reorganize CP15 code to allow clean and invalidate ARMv7 cache by level.
New function arm_cp15_cache_invalidate_level and arm_cp15_cache_clean_level
can be used to maintain single cache level (instruction or data).
2016-09-07 20:29:39 +02:00
Pavel Pisa
5c49464108 bsps/arm: remove lock in arm_cp15_set_translation_table_entries().
Protection by rtems_interrupt_disable() is incompatible with SMP build.
Actual page table entries manipulation function does not need locking
and disabling cache and can be run concurrently even on multiple
CPUs as long as changes do not modify same region. If the function
is called from more threads/CPUs to modify same region with different
mapping options concurrently then there is problem at another level
of virtual address space management  and has to be solved by mutex
or other locking at that level.
2016-09-07 20:29:38 +02:00
Pavel Pisa
7ec689adc7 bsps/arm: use defines for cache type register format field.
The change documents meaning of codes and opens
well defined way to use cache type format for cache
examination/debugging outside of arm-cp15.h file.
2016-09-07 20:29:38 +02:00
Christian Mauderer
b9cc5aa9d3 bsp/atsam: Add SDRAM IS42S16320F-7BL. 2016-09-07 13:38:53 +02:00
Christian Mauderer
beb289eb5b bsp/atsam: Move ram init values to structure. 2016-09-07 13:38:53 +02:00
Sebastian Huber
cac586e6e8 bsp/xilinx-zynq: Avoid duplicate declaration 2016-09-06 10:56:27 +02:00
Chris Johns
caf2cbd813 arm/xilinx_zynq: Start the second core when an SMP build. 2016-09-01 11:11:09 +10:00
Pavel Pisa
13c985c4f4 arm/xilinx_zynq: ensure that cache is cleaned and MMU disabled when initialization starts.
The u-boot loader enables the MMU plus the data and instruction caches
in some versions which results in RTEMS boot failure.

Closes #2774.
2016-09-01 11:10:54 +10:00
Chris Johns
6deb41905a libdl: The dl04 is too big for some BSPs. Do not built it. 2016-08-30 18:03:52 +10:00
Mudit Jain
3c74f4aa4d arm/raspberrypi: Mailbox : Extending functionality
Adding functionality to get board serial,
power state & clock rate
2016-08-27 10:18:19 +02:00
Alexander Krutwig
8099e0ae86 bsp/atsam: Add missing break statement 2016-08-24 16:31:44 +02:00
Alexander Krutwig
8cf102dd6b bsp/atsam: Fix data cache flush 2016-08-24 16:08:16 +02:00
Chris Johns
89a319a0f8 libbsp/arm: Fix ARM BSPs missing the bsp_translation_table_end symbol.
Closes #2775.
2016-08-23 11:13:47 +10:00
Alexander Krutwig
fea392a350 bsp/atsam: Add timeout to QSPI send command 2016-08-18 08:56:45 +02:00
Chris Johns
01aa1ba34a libbsp/arm: Add the TTB table to the default MMU set up as read/write.
This lets the table be changed at runtime for dynamic loading and
debugger support.

Closes #2775.
2016-08-15 09:18:27 +10:00
Chris Johns
03c1038edb librtems++: Remove from RTEMS.
This is old and there are better design patterns for threading and C++.
We recommend you use the new C++ standards based support.

Closes #2777.
2016-08-11 17:24:06 +10:00
Chris Johns
9a4eca5843 build-system: Always enable C++ if the compiler is present.
We always build a C++ compiler and building with C++ does not effect
RTEMS or the runtime. This patch always enabled the support. There is
no need to manually enable it any more.

You can disable C++ with '--disable-cxx'.

If an architecture does not have a C++ compiler support is automatically
disabled.
2016-08-11 17:20:10 +10:00
Alexander Krutwig
5d0f0de4aa bsp/atsam: Add power support 2016-08-08 13:56:36 +02:00
Alexander Krutwig
e5fd901141 atsam: Add atsam_rtc_get_time() 2016-08-08 09:34:58 +02:00
Pavel Pisa
912a1a90ce arm/raspberrypi: framebuffer driver checks for initialization and tries runtime init if required.
Code works but there is problem how to setup caching for the regions
(arm_cp15_set_translation_table_entries arguments).

If ARMV7_MMU_DATA_READ_WRITE_CACHED is used then CPU
accesses are noncoherent with VideoCore and some
part of image update are not visible until pushed from
cache by other activities. If ARMV7_MMU_DATA_READ_WRITE
is used then access is extremely slow.

Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
2016-07-31 13:10:28 +02:00