Commit Graph

13302 Commits

Author SHA1 Message Date
Sebastian Huber
808230add9 Upgrade to 4.11.99.0 2015-09-11 08:24:18 +02:00
Marcos Diaz
bebfc4209b Beaglebone: fix missing clobber in inline assembly.
flush_data_cache uses R0 directly but doesn't list it as a clobbered
register. Compiling with -O3 made this code break, since the function
that calls flush_data_cache already uses r0.

closes #2416.
2015-09-10 13:21:41 -05:00
Joel Sherrill
cf2f3834a3 lpc23xx_tli800: Add mdosfs_fsscandir01 to tests to avoid. Does not link. 2015-09-10 11:03:43 -07:00
Sebastian Huber
fc5e52b938 bsps/arm: Fix function definition
Close #2385.
2015-09-04 13:50:28 +02:00
Martin Galvan
7def219b84 various .h files: Add missing C++ extern wrappers
Updates #2405.
2015-09-03 11:28:04 -05:00
Ketul Shah
151e53feab Beagle: GPIO support (for BBB)
GPIO Driver Development for BeagleBone Black based on the generic GPIO API
2015-08-18 17:05:55 +02:00
Andre Marques
b09a578e8a Closes ticket #2390, and also updates the RPI implementation.
makes rtems_gpio_bsp_get_value return uint32_t.  Motivation: simplify
beagle gpio implementation for common gpio apio.
2015-08-18 02:26:48 +02:00
Andre Marques
61e7c698a4 Raspberry Pi implementation for the RTEMS GPIO API.
Added support for the new RTEMS GPIO API functions.

Test cases can be found in https://github.com/asuol/RTEMS_rpi_testing/tree/master/GPIO
2015-08-06 10:53:46 -04:00
Andre Marques
87f8b01f58 RTEMS GPIO API definition and implementation.
Changes relative to the previous patch set:

- Moved GPIO pin interrupts to rtems chains, instead of a local linked list;
- Restructured the pin tracking structure, separating the interrupt information for each pin meaning that a pin without any interrupt enabled only requires 8 bytes, while keeping interrupt information (handling information, handler chain control, ...) requires 24 additional bytes (total of 32 bytes per pin with interrupts enabled);
-  Added support for 'parallel' pin function assignment, allowing the function assignment to be set for multiple pins in a single GPIO hardware call. If a BSP does not support this feature it becomes a sequence of individual calls per pin. Also added support for GPIO pin groupings, allowing to write and read byte data to a series of pins which behave as a single entity;
- Added bank tracking structure to maintain the bank lock and bank level interrupt information (threaded/normal handling, interrupt counter);
- Changed GPIO settings to BSP defined constants, reducing dynamic memory allocation;
- Switched interrupt tasks for a rtems interrupt server, with the possibility of using normal interrupts (user handlers being called within ISR context).
2015-08-06 10:53:37 -04:00
Joel Sherrill
d138a22b54 ada-tests/support/init.c: Fix compile errors and warnings
closes #2379.
2015-08-02 08:31:09 -07:00
Sebastian Huber
d0733bb871 bsps/arm: Do not use __ARM_ARCH_7A__
This would lead to link-time errors in case less specialized compiler
machine options are used, e.g. to run the GCC test suite.
2015-07-31 09:58:48 +02:00
Sebastian Huber
579f16efd7 bsps/arm: Update due to API changes 2015-07-21 09:29:56 +02:00
Premysl Houdek
b2c252b5ca bsp/tms570 Use bitfields instead of hard-coded values
Signed-off-by: Premysl Houdek <kom541000@gmail.com>
2015-07-20 20:45:40 +10:00
Premysl Houdek
d6c67ad526 bsp/tms570: skipped 32bit field definitions and corrected single bit fields
there is no need to define access macros for field covering
whole registers. In addition, BSP_FLD32 does not work right
for field 32bit length.

Signed-off-by: Premysl Houdek <kom541000@gmail.com>
2015-07-20 20:45:26 +10:00
Sebastian Huber
e5a79e54d9 bsp/mpc83xx: Update due to header guard change
Close #2373.
2015-07-17 07:59:35 +02:00
Joel Sherrill
7e14385b46 sh/shared/startup/bspstart.c: Add include of percpu.h 2015-07-16 11:15:52 -07:00
Premysl Houdek
069560a5f9 bsp/tms570: source changes reflecting new headers.
Signed-off-by: Premysl Houdek <kom541000@gmail.com>
2015-07-16 11:15:52 -07:00
Pavel Pisa
602e395b4d bsp/tms570: fix get time resolution after infrastructure change to timecounter.
The update fixes breakage of TMS570 support after Alexander Krutwig
switch of RTEMS time read to timecounter mechanism

bsps: Convert clock drivers to use a timecounter

Mechanism to specify odd (non 1 Mhz) time base update frequencies
implemented after objections of  Martin Galvan.

Code is adjusted to convert RTEMS configuration parameter
microseconds_per_tick to such odd base if
TMS570_PREFERRED_TC_FREQUENCY is specified appropriately.

Signed-off-by: Premysl Houdek <kom541000@gmail.com>
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
2015-07-16 09:31:09 -07:00
Premysl Houdek
bea49c9477 bsp/tms570: New/generated header files for TMS570 SoC peripherals registers.
The header files are generated by script make_header.py.
Current script's version can be found at:

https://github.com/AoLaD/rtems-tms570-utils/tree/headers/headers/python

Registers offsets and fields have been extracted from reference manual.

Signed-off-by: Premysl Houdek <kom541000@gmail.com>
2015-07-16 09:31:09 -07:00
Joel Sherrill
4784214a6a remaining bsp.h: Fix by hand to LIBBSP_@CPU@_@BSP_FAMILY@_BSP_H
These files were left after running the script in the previous patch.
2015-07-16 08:43:51 -07:00
Joel Sherrill
9cff822a26 Most bsp.h: Switch to LIBBSP_@CPU@_@BSP_FAMILY@_H for guard
This was done by the following script run from libbsp:

find * -name bsp.h | xargs -e grep -l "#ifndef.*_BSP_H" | while read b
do
  echo $b
  cpu=`echo $b | cut -d'/' -f1 | tr '[:lower:]' '[:upper:]' `
  bsp=`echo $b | cut -d'/' -f2 | tr '[:lower:]' '[:upper:]' `
  g="LIBBSP_${cpu}_${bsp}_BSP_H"
  # echo $g
  sed -e "s/ifndef _BSP_H/ifndef ${g}/" \
      -e "s/define _BSP_H/define ${g}/" \
  -i $b

done
2015-07-16 08:40:05 -07:00
Sebastian Huber
93f5adb644 powerpc: Do not use the ATB for e500 multilib
The e500v1 has no support for the ATB.

Update #2369.
2015-07-15 10:52:40 +02:00
Sebastian Huber
c2596dfbd0 bsps/powerpc: Fix small-data area issue
Update #2369.
2015-07-09 10:00:26 +02:00
Sebastian Huber
b171982439 bsps/powerpc: Provide debug and trace symbols 2015-07-08 10:07:59 +02:00
Sebastian Huber
3e02a472ba bsp/qoriq: Enable branch prediction for T series 2015-07-08 10:07:59 +02:00
Sebastian Huber
994d7e12b5 bsp/qoriq: Use -O2 for T series 2015-07-08 10:07:59 +02:00
Jan Sommer
e77f625401 RaspberryPi: Use rtems_configuration_get_microseconds_per_tick to set clock counter
timer interrupt was hard coded to 10 ms per tick.
    Fix uses the setting of CONFIGURE_MICROSECONDS_PER_TICK to compute the correct start value for the counter
    See for more information: http://permalink.gmane.org/gmane.os.rtems.user/22691
2015-07-07 16:01:28 -05:00
Sebastian Huber
635ed82a12 bsp/qoriq: Update due to API changes 2015-07-01 11:13:50 +02:00
Sebastian Huber
32005a7284 bsp/mpc55xxevb: Fix configure script
This was the only configure.ac file with bspopts.h present in
AC_CONFIG_FILES().  This somehow prevented the generation of this file
leading to build errors for this BSP.
2015-06-26 09:40:24 +02:00
Sebastian Huber
27f08f5b72 bsps/arm: Update due to API changes 2015-06-26 09:40:03 +02:00
Sebastian Huber
48fed9a56e score: Simplify <rtems/system.h>
Drop the <rtems/score/percpu.h> include since this file exposes a lot of
implementation details.
2015-06-26 09:16:25 +02:00
Sebastian Huber
df8341ae30 bsp/gen5200: Simplify interrupt write support 2015-06-24 08:46:32 +02:00
Sebastian Huber
cdf30f0550 rtems: Add rtems_interrupt_local_disable|enable()
Add rtems_interrupt_local_disable|enable() as suggested by Pavel Pisa to
emphasize that interrupts are only disabled on the current processor.
Do not define the rtems_interrupt_disable|enable|flash() macros and
functions on SMP configurations since they don't ensure system wide
mutual exclusion.
2015-06-22 08:40:26 +02:00
Joel Sherrill
becbedac78 pc386/console/fb*.c: Use atomics to avoid dependency on pthreads
closes #2364.
2015-06-11 08:06:33 -07:00
Sebastian Huber
30f8412ab3 bsps/sparc: tlib clock driver timecounter support 2015-06-09 10:01:50 +02:00
Sebastian Huber
a51b3526ea sparc: Add SPARC_USE_SAFE_FP_SUPPORT
The SPARC ABI is a bit special with respect to the floating point context.
The complete floating point context is volatile.  Thus from an ABI point
of view nothing needs to be saved and restored during a context switch.
Instead the floating point context must be saved and restored during
interrupt processing.  Historically the deferred floating point switch is
used for SPARC and the complete floating point context is saved and
restored during a context switch to the new floating point unit owner.
This is a bit dangerous since post-switch actions (e.g. signal handlers)
and context switch extensions may silently corrupt the floating point
context.  The floating point unit is disabled for interrupt handlers.
Thus in case an interrupt handler uses the floating point unit then this
will result in a trap.

On SMP configurations the deferred floating point switch is not
supported in principle.  So use here a safe floating point support.  Safe
means that the volatile floating point context is saved and restored
around a thread dispatch issued during interrupt processing.  Thus
post-switch actions and context switch extensions may safely use the
floating point unit.

Update #2270.
2015-06-09 09:05:50 +02:00
Sebastian Huber
335e5caa9a score: Add Thread_Control::is_fp
Store the floating-point unit property in the thread control block
regardless of the CPU_HARDWARE_FP and CPU_SOFTWARE_FP settings.  Make
sure the floating-point unit is only enabled for the corresponding
multilibs.  This helps targets which have a volatile only floating point
context like SPARC for example.
2015-06-09 09:05:50 +02:00
Alexander Krutwig
2764bd43d0 sparc: Disable FPU in interrupt context
Update #2270.
2015-05-30 16:46:36 +02:00
Sebastian Huber
aff220db7a bsps/powerpc: Fix potential integer overflow
Update #2356.
2015-05-29 08:59:59 +02:00
ragunath
d55d7a067f beagle bsp: RTC support for BBB 2015-05-28 14:41:37 +02:00
Hesham ALMatary
5774c41455 generic_or1k: Fix a typo in a comment 2015-05-26 11:34:06 -05:00
Hesham ALMatary
5b1a10a01c generic_or1k: Use the correct bsp_specs file 2015-05-26 11:34:06 -05:00
Jan Dolezal
6f79310889 i386/pc386: default graphics driver changed from VGA to VESA based
basic VGA driver can be enabled during configure phase by exporting variable
USE_VGA=1 so that it is available in configure environment
cirrus driver is enabled the same way by exporting variable
USE_CIRRUS_GD5446=1
2015-05-26 11:26:54 -05:00
Jan Dolezal
56399c3bc8 i386/pc386/VESA framebuffer driver: modified and extended initialization options
driver is not initialized by default
initialization is possible through multiboot command line option or
through the string variable (see fb_default_mode.h) set in user's module
allowing the driver to evaluate this variable after the two
modules are linked together
2015-05-26 11:26:46 -05:00
Sebastian Huber
10454223a9 bsps/sparc: Delete unused local labels 2015-05-26 10:02:27 +02:00
Sebastian Huber
26ffb8c21c bsps/sparc: Change tabs to spaces 2015-05-26 10:02:11 +02:00
Hesham ALMatary
6f71dcb7cd Epiphany: Add the first epiphany_sim BSP v4
This BSP in intended to run on the simulator that should be built
from RSB. When building RTEMS for Epiphany --disable-networking must
be provided part of the configure command.
2015-05-21 16:03:34 -04:00
Joel Sherrill
60e4c0094a arm/s3c24xx/clock/clockdrv.c: Remove unused variable warning 2015-05-21 08:28:58 -07:00
Joel Sherrill
562c1b1b6d arm/lpc22xx/clock/clockdrv.c: Remove unused variable warning 2015-05-21 08:28:56 -07:00
Joel Sherrill
efd351d2f8 powerpc/shared/clock/clock.c: Remove unused variable warning 2015-05-21 08:28:56 -07:00