Commit Graph

1667 Commits

Author SHA1 Message Date
Daniel Hellstrom
33de2037f6 sparc: Fix window underflow trap handler
The window underflow trap handler used %i5 which destroyed the %o5 of
the calling context.  Bug introduced by
0d3b5d4742.

Go back to the pre 0d3b5d4742 behaviour
and use the two unused instructions in the trap vector to optimize a
bit.

Close #2651.
2016-03-24 07:41:01 +01:00
Sebastian Huber
2145853b00 score: Fix simple timecounter support
Close #2502.
2016-01-27 08:09:05 +01:00
Sebastian Huber
0c9bf40b89 Fix interrupt epilogue for ARMv7-AR and PowerPC
Close #2470.
2015-11-17 07:47:31 +01:00
Sebastian Huber
e5a79e54d9 bsp/mpc83xx: Update due to header guard change
Close #2373.
2015-07-17 07:59:35 +02:00
Sebastian Huber
b171982439 bsps/powerpc: Provide debug and trace symbols 2015-07-08 10:07:59 +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
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
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
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
Alexander Krutwig
75acd9e69f bsps: Convert clock drivers to use a timecounter
Update #2271.
2015-05-20 08:40:34 +02:00
Sebastian Huber
7f53035504 bsps/sparc: Use inline functions for cache manager 2015-04-27 10:11:47 +02:00
Sebastian Huber
4bf2a6aa09 bsps/cache: Clarify range functions support 2015-04-27 09:40:16 +02:00
Hesham ALMatary
1602bf3973 Fix broken BSPs due to a shared cache function declaration.
Get rid of _CPU_cache_invalidate_instruction_range declaration
as it doesn't make sense here.
2015-04-27 09:25:39 +02:00
Sebastian Huber
26c142e5ad score: Refactor SMP cache manager support 2015-04-20 08:23:25 +02:00
Sebastian Huber
d4edbdbcbf Replace www.rtems.com with www.rtems.org 2015-03-20 15:42:34 +01:00
Daniel Cederman
665928a9b5 rtems: Use atomic operation with correct type 2015-03-20 12:00:00 +01:00
Joel Sherrill
24868ecb92 libcpu/bfin/clock/rtc.c: Do not use rtems_clock_get() 2015-03-17 10:05:05 -05:00
Joel Sherrill
9cc1892650 libcpu/powerpc/mpc8260/console-generic/console-generic.c: Include bsp.h to fix warning 2015-03-09 16:14:18 -05:00
Gedare Bloom
9d090fb70a sparc64: fix copyright notices.
The sparc64 port had some incorrect copyright notices affixed to
source code files.
2015-02-23 15:42:59 -05:00
Nick Withers
d11b711b3e bsps/powerpc: Fix a clock driver
PowerPC Book E: Account for an extra tick period if a tick increment's
pending.

Close #2230.
2015-01-30 06:57:00 +01:00
Sebastian Huber
f63e9a3aa8 bsps/powerpc: Fix switch statement in CPU ident
Close #2237.
2015-01-23 11:31:54 +01:00
Sebastian Huber
60d39b66e0 powerpc: Fix AltiVec VSCR save/restore 2015-01-20 14:01:50 +01:00
Joel Sherrill
85dbf520f8 libcpu/powerpc/mpc6xx/mmu/bat.c: Now compiles with gcc 5.x 2015-01-13 15:41:32 -06:00
Sebastian Huber
3e2647a714 powerpc: AltiVec and FPU context support
Add AltiVec and FPU support to the Context_Control in case we use the
e6500 multilib.

Add PPC_MULTILIB_ALTIVEC and PPC_MULTILIB_FPU multilib defines.  Add
non-volatile AltiVec and FPU context to Context_Control.  Add save/restore of
non-volatile AltiVec and FPU to _CPU_Context_switch().  Add save/restore
of volatile AltiVec and FPU context to the exception code.  Adjust data
cache optimizations for the new context and cache line size.
2015-01-13 11:37:28 +01:00
Sebastian Huber
c279d0a33f bsps/powerpc: Use e500 exc categories for e6500
This is not correct, but works for now.
2015-01-13 11:37:28 +01:00
Sebastian Huber
2e19bfde2f powerpc: Use PPC_HAS_FPU
Provide floating point context support only if PPC_HAS_FPU == 1.
2015-01-09 14:05:46 +01:00
Sebastian Huber
7c16e1a514 powerpc: Set PPC_DEFAULT_CACHE_LINE_SIZE for e6500 2015-01-09 14:05:08 +01:00
Sebastian Huber
84d3b9b0a2 powerpc: Use PPC_DEFAULT_CACHE_LINE_SIZE
Use it for the default PPC_CACHE_ALIGNMENT.  Use it for
PPC_STRUCTURE_ALIGNMENT.
2015-01-09 14:03:35 +01:00
Sebastian Huber
71b611d172 bsps/powerpc: ppc_exc_initialize_interrupt_stack() 2015-01-09 14:03:34 +01:00
Sebastian Huber
7bad67256e bsps/powerpc: Add TMR access macros 2015-01-09 14:03:34 +01:00
Sebastian Huber
c32a128cb2 bsps/powerpc: Add cache size functions 2015-01-09 14:03:34 +01:00
Sebastian Huber
7d26f60a1b bsps/powerpc: Delete C pre-processor warning
Do not warn about not implemented cache functions.
2015-01-09 14:03:34 +01:00
Sebastian Huber
5175ac6a87 bsps/powerpc: Support a cache alignment of 64
Give the BSP the ability to define PPC_CACHE_ALIGNMENT.
2015-01-09 14:03:33 +01:00
Sebastian Huber
f6660bfba4 bsps/powerpc: Support e6500 indentification 2015-01-09 14:03:33 +01:00
Sebastian Huber
fca5892454 bsps/mpc83xx: Fix warnings 2015-01-09 14:03:33 +01:00
Nick Withers
2d5c486914 Use fixed-width C99 types for PowerPC in_be16() and co.
Also use the const qualifier on the address pointer's target in in_*()

Closes #2128
2014-12-23 22:40:32 -05:00
Sebastian Huber
3cd3a260a6 bsp/mpc8xx: Fix warnings
close #2211
2014-12-12 16:36:39 +01:00
Sebastian Huber
3507f3f953 bsp/mpc8xx: Fix warnings
close #2211
2014-12-12 15:32:40 +01:00
Gedare Bloom
71d97c92e5 sparc64: put each copyright on one line 2014-12-08 13:16:37 -05:00
Sebastian Huber
1207288022 Update bug report URL 2014-12-05 07:47:32 +01:00
Ben Gras
13d9029453 beagle bsp: disable watchdog on am335x
On recent u-boots, the watchdog is turned on / left enabled. The
Beaglebone Black rev. C ships with such a u-boot internally so any
application booting from it must disable the watchdog.

Therefore this change is needed to boot an RTEMS app out-of-the-box
on a BBB Rev C - otherwise the user button must be held during boot
(to bypass the stock uboot) or the internal uboot must be updated. To
allow for a better out-of-the-box experience, we just turn off the
watchdog.
2014-12-05 04:05:45 +01:00
Jan Dolezal
038e1dba31 i386: doxygen and comments related to VESA real mode framebuffer 2014-12-04 13:37:50 -05:00
Daniel Hellstrom
dff1803cfb SPARC: optimize IRQ enable & disable
* Coding style cleanups.
* Use OS reserved trap 0x89 for IRQ Disable
* Use OS reserved trap 0x8A for IRQ Enable
* Add to SPARC CPU supplement documentation

This will result in faster Disable/Enable code since the
system trap handler does not need to decode which function
the user wants. Besides the IRQ disable/enabled can now
be inline which avoids the caller to take into account that
o0-o7+g1-g4 registers are destroyed by trap handler.

It was also possible to reduce the interrupt trap handler by
five instructions due to this.
2014-12-04 12:51:11 +01:00
Daniel Hellstrom
0d3b5d4742 SPARC: optimize window underflow trap
Save five instructions on underflow handling.

By using an optimized trap entry we can move instructions from
the window underflow function into the trap entry vector. By
setting WIM=0 and using RESTORE it is possible to move the
new WIM register content from the trapped window into the
to-be-restored register window. It is then possible to avoid
the WIM write delay.
2014-12-02 13:57:20 +01:00
Daniel Hellstrom
6930aa7f19 SPARC: optimize window overflow trap entry
By using a optimized trap entry we can move instructions from
the window overflow function into the trap entry vector. By
using the saved locals instead of g1 we don't need to save
that register temporarily. Also spead out non store instructions
inbetween stores to use the write buffer better.
2014-12-02 13:57:15 +01:00
Daniel Hellstrom
348d1812ba SPARC: window overflow optimization
I see no need for waiting the 3 instruction delay for wim to be
written in this case, since the STD after does not depend on WIM
2014-12-02 13:55:50 +01:00
Sebastian Huber
7e5c9b895e rtems: Move rtems_cache_aligned_malloc()
Make sure also the size is cache aligned since otherwise we may have
some overlap with the next allocation block.  A cache invalidate on this
area would be fatal.
2014-11-25 16:08:16 +01:00
Nigel Spon
502609c80d powerpc/haleakala: Add network driver
close 1405
2014-11-21 13:47:42 -06:00