Commit Graph

29 Commits

Author SHA1 Message Date
Sebastian Huber
a6f84b2753 powerpc: Add 64-bit context/interrupt support
Update #3082.
2017-08-22 16:26:19 +02:00
Sebastian Huber
38a1449fd4 powerpc: Add _CPU_Get_current_per_CPU_control()
Add _CPU_Get_current_per_CPU_control() on SMP configurations.  Use SPRG0
for the current per-CPU control.  This reduces the code size by three
instructions and is slightly faster.

Update #2805.
2016-11-10 09:58:37 +01: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
258ad71e96 SMP: Fix and optimize thread dispatching
According to the C11 and C++11 memory models only a read-modify-write
operation guarantees that we read the last value written in modification
order.  Avoid the sequential consistent thread fence and instead use the
inter-processor interrupt to set the thread dispatch necessary
indicator.
2015-09-28 13:56:57 +02:00
Sebastian Huber
7bad67256e bsps/powerpc: Add TMR access macros 2015-01-09 14:03:34 +01:00
Sebastian Huber
d7a267b3c4 bsp/gen5200: Fix warnings 2014-10-10 09:45:51 +02:00
Sebastian Huber
487b94e7ad bsps/powerpc: SMP support for SPR functions
These registers are local to a processor, there is no need to use SMP
locks here.
2014-04-16 09:07:33 +02:00
Chris Johns
c49985691f Change all references of rtems.com to rtems.org. 2014-03-21 08:10:47 +11:00
Sebastian Huber
dedc1393f3 bsps/powerpc: Fix GET_INTERRUPT_MASK macro
Use _PPC_INTERRUPT_DISABLE_MASK introduced with
801b5d8032.
2014-03-12 16:40:49 +01:00
Sebastian Huber
c6c998b000 bsps/powerpc: Per-CPU thread dispatch disable
Interrupt support for per-CPU thread dispatch disable level.
2013-08-09 23:02:43 +02:00
Sebastian Huber
4fe3ad2f99 bsps/powerpc: Add ppc_count_leading_zeros() 2013-07-09 16:42:00 +02:00
Joel Sherrill
0e27119f80 Use proper 3 line form of license text 2012-10-11 15:52:51 -05:00
Sebastian Huber
00d95ce002 2011-05-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
* shared/include/powerpc-utility.h: API changes for ppc_*_cache_*()
	functions.
2011-05-19 12:03:09 +00:00
Sebastian Huber
3560b4faa3 2011-05-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
* shared/include/powerpc-utility.h: Added ppc_fsl_system_version*()
	functions.
2011-05-11 08:46:33 +00:00
Sebastian Huber
0f801cdc62 2011-02-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
* shared/include/powerpc-utility.h: Fixed LINKER_SYMBOL() for
	assembler compatibilty.  Added synchronization, cache, and alternate
	time base functions.
2011-02-16 08:33:02 +00:00
Ralf Corsepius
f9acc339fe 2011-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>
* e500/mmu/mmu.c, mpc505/ictrl/ictrl.c, mpc505/timer/timer.c,
	mpc5xx/ictrl/ictrl.c, mpc5xx/timer/timer.c,
	mpc6xx/altivec/vec_sup.c, mpc6xx/clock/c_clock.c,
	mpc6xx/mmu/bat.c, mpc6xx/mmu/bat.h, mpc6xx/mmu/pte121.c,
	mpc8260/timer/timer.c, mpc8xx/timer/timer.c, new-exceptions/cpu.c,
	new-exceptions/bspsupport/ppc_exc_initialize.c,
	ppc403/clock/clock.c, ppc403/console/console.c,
	ppc403/console/console.c.polled, ppc403/console/console405.c,
	ppc403/irq/ictrl.c, ppc403/tty_drv/tty_drv.c,
	rtems/powerpc/cache.h, shared/include/powerpc-utility.h, shared/src/cache.c:
	Use "__asm__" instead of "asm" for improved c99-compliance.
2011-02-11 09:46:53 +00:00
Ralf Corsepius
359e537416 Whitespace removal. 2009-11-30 05:09:41 +00:00
Thomas Doerfler
e08dbc5ea9 various PowerPC code maintenance 2009-11-03 18:45:04 +00:00
Thomas Doerfler
3fcc78aef9 move timebase access functions from cpukit to libcpu 2009-10-30 19:28:46 +00:00
Thomas Doerfler
2d2de4eba1 Update for exception support changes. 2009-10-23 07:32:46 +00:00
Thomas Doerfler
602aee2091 shared/include/utility.h: Removed file.
shared/include/powerpc-utility.h: Use constraint "b" for address
base registers in inline assembler statements.
Update for status-checks.h changes.
2008-10-10 15:50:15 +00:00
Joel Sherrill
a78df7ba0c Index: ChangeLog
===================================================================
RCS file: /usr1/CVS/rtems/c/src/lib/libcpu/powerpc/ChangeLog,v
retrieving revision 1.309
diff -u -r1.309 ChangeLog
--- ChangeLog	20 Aug 2008 17:29:18 -0000	1.309
+++ ChangeLog	22 Aug 2008 13:35:03 -0000
@@ -1,3 +1,8 @@
+2008-08-22	Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+	* shared/include/powerpc-utility.h: Fixed parameter evaluation in
+	special purpose register macros.
+
 2008-08-20	Sebastian Huber <sebastian.huber@embedded-brains.de>

 	* mpc55xx/fec/fec.c: Added copyright information.
2008-08-22 13:35:08 +00:00
Thomas Doerfler
d3c321367c Changed special purpose register inline functions to macros.
fixed some minors in mpc83xx support
added file for mpc55xx watchdog support
2008-07-18 15:56:48 +00:00
Thomas Doerfler
ecb869f738 Fixed typo in access macros for device control registers (DCR) 2008-07-17 11:29:32 +00:00
Till Straumann
7d453cf211 2008-07-16 Till Straumann <strauman@slac.stanford.edu>
* shared/include/powerpc-utility.h: Added
	GET_INTERRUPT_MASK macro.
2008-07-16 21:38:05 +00:00
Thomas Doerfler
574fb67510 updated gen83xx BSP
updated haleakala BSP
added MPC55xx BSP
2008-07-14 16:15:28 +00:00
Thomas Doerfler
3c6fe2e7f9 added haleakala BSP contributed by Michael Hamel 2008-07-14 08:46:06 +00:00
Thomas Doerfler
3128276784 changed names of internal macros 2008-07-10 06:43:45 +00:00
Thomas Doerfler
03bed2dbc0 Includes standard header files,
provides common assembler macros and inline functions for low-level
code.
2008-07-10 06:15:58 +00:00