Commit Graph

75 Commits

Author SHA1 Message Date
Ralf Corsepius
0b6cb0cd0b 2011-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>
* avr/power.h: Revert previous patch.
2011-02-11 09:11:00 +00:00
Ralf Corsepius
60cde416df 2011-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>
* cpu.c, avr/interrupt.h, avr/power.h, rtems/score/cpu.h:
	Use "__asm__" instead of "asm" for improved c99-compliance.
2011-02-11 09:09:21 +00:00
Joel Sherrill
2e5a8933c1 2010-11-06 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1715/cpukit
	* rtems/score/cpu.h: Fix typo on _CPU_Context_Restart_self.
2010-11-06 22:32:06 +00:00
Joel Sherrill
479cbaf81d 2010-10-21 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems/score/cpu.h: Add RTEMS_COMPILER_NO_RETURN_ATTRIBUTE to
	_CPU_Context_restore() because it does not return. Telling GCC this
	avoids generation of dead code.
2010-10-21 22:18:05 +00:00
Joel Sherrill
bfc76f9e1b 2010-07-30 Gedare Bloom <giddyup44@yahoo.com>
PR 1599/cpukit
	* cpu_asm.S: Rename _Context_Switch_necessary to
	_Thread_Dispatch_necessary to more properly reflect the intent.
2010-07-30 18:52:12 +00:00
Joel Sherrill
4ef13360d6 2010-07-29 Gedare Bloom <giddyup44@yahoo.com>
PR 1635/cpukit
	* rtems/score/cpu.h, rtems/score/types.h: Refactoring of priority
	handling, to isolate the bitmap implementation of priorities in the
	supercore so that priority management is a little more modular. This
	change is in anticipation of scheduler implementations that can
	select how they manage tracking priority levels / finding the highest
	priority ready task. Note that most of the changes here are simple
	renaming, to clarify the use of the bitmap-based priority management.
2010-07-29 17:51:56 +00:00
Sebastian Huber
8bd26f1695 2010-07-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
* rtems/asm.h: Fixed header guard.
	* rtems/score/cpu.h: Assembler compatibility fixes.
2010-07-27 10:51:12 +00:00
Sebastian Huber
89b85e5100 2010-07-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
* rtems/score/cpu.h: Include <rtems/score/types.h> first.
	* rtems/score/types.h: Use <rtems/score/basedefs.h> header file.
2010-07-16 08:46:29 +00:00
Joel Sherrill
6d42b4c60a 2010-06-28 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1573/cpukit
	* cpu_asm.S, rtems/score/cpu.h: Add a per cpu data structure which
	contains the information required by RTEMS for each CPU core. This
	encapsulates information such as thread executing, heir, idle and
	dispatch needed.
2010-06-29 00:34:00 +00:00
Joel Sherrill
31af0dfe57 2010-05-10 Joel Sherrill <joel.sherrilL@OARcorp.com>
* Makefile.am, cpu_asm.S, avr/boot.h, avr/common.h, avr/crc16.h,
	avr/delay.h, avr/eeprom.h, avr/fuse.h, avr/interrupt.h, avr/io.h,
	avr/io1200.h, avr/io2313.h, avr/io2323.h, avr/io2333.h, avr/io2343.h,
	avr/io43u32x.h, avr/io43u35x.h, avr/io4414.h, avr/io4433.h,
	avr/io4434.h, avr/io76c711.h, avr/io8515.h, avr/io8534.h,
	avr/io8535.h, avr/io86r401.h, avr/io90pwm1.h, avr/io90pwm216.h,
	avr/io90pwm2b.h, avr/io90pwm316.h, avr/io90pwm3b.h, avr/io90pwm81.h,
	avr/io90pwmx.h, avr/io90scr100.h, avr/ioa6289.h, avr/ioat94k.h,
	avr/iocan128.h, avr/iocan32.h, avr/iocan64.h, avr/iocanxx.h,
	avr/iom103.h, avr/iom128.h, avr/iom1280.h, avr/iom1281.h,
	avr/iom1284p.h, avr/iom128rfa1.h, avr/iom16.h, avr/iom161.h,
	avr/iom162.h, avr/iom163.h, avr/iom164.h, avr/iom165.h,
	avr/iom165p.h, avr/iom168.h, avr/iom168p.h, avr/iom169.h,
	avr/iom169p.h, avr/iom16hva.h, avr/iom16m1.h, avr/iom16u4.h,
	avr/iom2560.h, avr/iom2561.h, avr/iom32.h, avr/iom323.h,
	avr/iom324.h, avr/iom325.h, avr/iom3250.h, avr/iom328p.h,
	avr/iom329.h, avr/iom3290.h, avr/iom32c1.h, avr/iom32hvb.h,
	avr/iom32m1.h, avr/iom32u4.h, avr/iom32u6.h, avr/iom406.h,
	avr/iom48.h, avr/iom48p.h, avr/iom64.h, avr/iom640.h, avr/iom644.h,
	avr/iom645.h, avr/iom6450.h, avr/iom649.h, avr/iom6490.h,
	avr/iom64c1.h, avr/iom64m1.h, avr/iom8.h, avr/iom8515.h,
	avr/iom8535.h, avr/iom88.h, avr/iom88p.h, avr/iom8hva.h, avr/iomx8.h,
	avr/iomxx0_1.h, avr/iomxx4.h, avr/iomxxhva.h, avr/iotn11.h,
	avr/iotn12.h, avr/iotn13.h, avr/iotn13a.h, avr/iotn15.h,
	avr/iotn167.h, avr/iotn22.h, avr/iotn2313.h, avr/iotn24.h,
	avr/iotn25.h, avr/iotn26.h, avr/iotn261.h, avr/iotn28.h,
	avr/iotn43u.h, avr/iotn44.h, avr/iotn45.h, avr/iotn461.h,
	avr/iotn48.h, avr/iotn84.h, avr/iotn85.h, avr/iotn861.h,
	avr/iotn87.h, avr/iotn88.h, avr/iotnx4.h, avr/iotnx5.h,
	avr/iotnx61.h, avr/iousb1286.h, avr/iousb1287.h, avr/iousb162.h,
	avr/iousb646.h, avr/iousb647.h, avr/iousb82.h, avr/iousbxx2.h,
	avr/iousbxx6_7.h, avr/iox128a1.h, avr/iox128a3.h, avr/iox16a4.h,
	avr/iox16d4.h, avr/iox256a3.h, avr/iox256a3b.h, avr/iox32a4.h,
	avr/iox32d4.h, avr/iox64a1.h, avr/iox64a3.h, avr/lock.h,
	avr/parity.h, avr/pgmspace.h, avr/portpins.h, avr/power.h,
	avr/sfr_defs.h, avr/signal.h, avr/sleep.h, avr/version.h, avr/wdt.h,
	rtems/asm.h, rtems/score/cpu.h: Update to avr .h files from avr-libc
	1.6.8. Tinker with code and includes to eliminate warnings. Now
	builds multilib.
	* avr/iom169pa.h, avr/iom16a.h, avr/iom16hva2.h, avr/iom16hvb.h,
	avr/iom16u2.h, avr/iom324pa.h, avr/iom32u2.h, avr/iom644p.h,
	avr/iom644pa.h, avr/iom649p.h, avr/iom64hve.h, avr/iom88pa.h,
	avr/iom8u2.h, avr/iotn2313a.h, avr/iotn24a.h, avr/iotn261a.h,
	avr/iotn4313.h, avr/iotn44a.h, avr/iotn461a.h, avr/iotn861a.h,
	avr/iox128d3.h, avr/iox192a3.h, avr/iox192d3.h, avr/iox256d3.h,
	avr/iox64d3.h, avr/signature.h: New files.
2010-05-10 16:31:24 +00:00
Joel Sherrill
febaa8a411 2010-03-27 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, cpu_asm.S: Add include of config.h
2010-03-27 15:03:09 +00:00
Ralf Corsepius
46e483b847 2009-12-02 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems/score/avr.h: Add avr6.
2009-12-02 10:23:33 +00:00
Ralf Corsepius
05c18861dd Whitespace removal. 2009-11-30 16:01:51 +00:00
Joel Sherrill
cdfe85a7f3 2009-08-11 Josh Switnicki <josh.switnicki@utoronto.ca>
* cpu.c, cpu_asm.S, rtems/score/cpu.h: Fix bug in
	_CPU_Context_Initialize.
2009-08-11 17:03:01 +00:00
Joel Sherrill
04a62dce21 2009-08-05 Josh Switnicki <josh.switnicki@utoronto.ca>
* Makefile.am: added AVR specific Header files to score/cpu/avr/avr.
	These are from avr-libc 1.6 and assumed to exist by AVR applications.
	* preinstall.am: Regenerated.
2009-08-06 14:52:07 +00:00
Joel Sherrill
b32020b470 2009-07-28 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, cpu_asm.S, rtems/score/cpu.h: Context switch now works well
	enough to run ticker to completion with the simulator clock idle
	task. But if you comment out the printk's in _CPU_Context_Initialize,
	it hangs. This remains to be investigated.
2009-07-28 23:14:23 +00:00
Joel Sherrill
3da35a18e5 2009-07-23 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, cpu_asm.S: Unsuccessful attempt to fix.
2009-07-23 17:40:06 +00:00
Joel Sherrill
b4404843ec 2009-07-17 Josh Switnicki <josh.switnicki@utoronto.ca>
*cpu_asm.S: implemented _CPU_Context_Restore by adding tags to
	restore section of context switch.
	Fixed bug in _CPU_Context_Switch. The wrong registers were being
	used for pointer to running task Context_Control struct.
2009-07-17 18:33:35 +00:00
Joel Sherrill
36c2586f92 2009-07-09 Josh Switnicki <josh.switnicki@utoronto.ca>
* cpu_asm.S: Fixed bug in _CPU_Context_Switch. The wrong registers
	were being used for pointer to running task Context_Control
	struct.
2009-07-10 19:07:54 +00:00
Joel Sherrill
7c46cf58b3 2009-07-03 Josh Switnicki <josh.switnicki@utoronto.ca>
* cpu.c: Implemented _CPU_Context_Initialize as a C function instead
	of a macro.  It works with limited functionality.  Implemented
	_CPU_Thread_Idle_body to use sleep instruction.
	* Makefile.am: Changed cpu_asm.c -> cpu_asm.S
	* cpu_asm.S: renamed from cpu_asm.c and implemented functions is asm
	* rtems/asm.h: Appended "macros.inc" to the end of "asm.h"
	* rtems/score/cpu.h:
	  + Included "avr/io.h".
	  + Added use 16 bit object definition.
	  + Modified Context_Control struct to relect the registers
	    that need to be saved.
	  + Implemented _CPU_ISR_Disable, _CPU_ISR_Enable, and _CPU_ISR_Flash.
	    Added function definitions for _CPU_Context_Initialize and
	    _CPU_Push.
2009-07-06 15:36:23 +00:00
Joel Sherrill
e8de5c718d 2009-05-05 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems/score/cpu.h: Lower number of priorities and do not inline as
	much.
2009-05-05 21:17:11 +00:00
Joel Sherrill
6eae3bdd5b 2009-05-04 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems/score/cpu.h: Lower minimum stack size to 512 and CPU alignment
	to 4.
2009-05-05 01:11:05 +00:00
Joel Sherrill
aaa5c0d08c 2009-05-04 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu_asm.c: Add stub for setjmp/longjmp. Remove when in newlib.
2009-05-04 20:34:42 +00:00
Joel Sherrill
fd234b864c 2009-02-27 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems/score/cpu.h: AVR stack grows down.
2009-02-27 18:19:33 +00:00
Joel Sherrill
cca8379862 2009-02-12 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Change prototype of IDLE thread to
	consistently return void * and take a uintptr_t argument.
2009-02-12 15:55:55 +00:00
Joel Sherrill
c03e2bc8c7 2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
	passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
	comments.
2009-02-11 21:45:05 +00:00
Joel Sherrill
78aa0609b4 2008-12-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, cpu_asm.c: Remove warnings -- even if code is just temporary.
2008-12-11 21:10:26 +00:00
Ralf Corsepius
1cb54d1f38 #include <stdint.h> instead of <rtems/stdint.h>. 2008-12-11 00:47:56 +00:00
Ralf Corsepius
383871acea Fix typo. 2008-12-07 11:25:55 +00:00
Joel Sherrill
274ee57ad2 2008-11-26 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, cpu_asm.c: Add debug printk() calls until the BSP/port can
	initialize and shutdown completely cleanly. When this works,
	implement context switch. Testing on avrtest and simulavr.
2008-11-26 14:29:56 +00:00
Ralf Corsepius
6162bc2a1d 2008-09-11 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems/score/types.h: Do not define boolean, single_precision,
	double_precision unless RTEMS_DEPRECATED_TYPES is given.
2008-09-11 14:10:16 +00:00
Ralf Corsepius
182aecb9c6 2008-08-21 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems/score/avr.h: Add avr25, avr31, avr35, avr51 to
	CPU_NAME cascade.
	* rtems/score/cpu.h: Add missing prototypes.h.
2008-08-21 04:14:53 +00:00
Ralf Corsepius
5b31128b99 Add avr25, avr31, avr35, avr51 to CPU_NAME cascade. 2008-08-21 04:14:20 +00:00
Ralf Corsepius
bdf9e8de99 Add missing prototypes. 2008-08-21 04:12:26 +00:00
Ralf Corsepius
b7b6100115 2008-08-21 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems/score/types.h: Include stdbool.h.
	Use bool as base-type for boolean.
2008-08-21 04:10:51 +00:00
Ralf Corsepius
30e2df697a Include stdbool.h. Use bool as base-type for boolean. 2008-08-21 04:10:35 +00:00
Joel Sherrill
3c87adba3f 2008-07-31 Joel Sherrill <joel.sherrill@OARcorp.com>
* cpu.c, rtems/score/cpu.h: Correct prototype of Idle threads.
2008-07-31 14:55:56 +00:00
Joel Sherrill
2fd427c792 2008-06-05 Joel Sherrill <joel.sherrill@OARcorp.com>
* rtems/score/cpu.h: Add CPU_SIMPLE_VECTORED_INTERRUPTS porting
	parameter to indicate that the port uses the Simple Vectored
	Interrupt model or the Programmable Interrupt Controller Model. The
	PIC model is implemented primarily in the BSP and it is responsible
	for all memory allocation.
2008-06-05 14:30:07 +00:00
Joel Sherrill
0ca6d0d938 2007-12-17 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems/score/cpu.h: Add _CPU_Context_Get_SP() for stack check utility.
2007-12-17 22:35:25 +00:00
Joel Sherrill
9804c40d4e 2007-12-17 Joel Sherrill <joel.sherrill@OARcorp.com>
* rtems/score/avr.h: Sweep to make sure grep for COPYRIGHT passes.
2007-12-17 16:12:35 +00:00
Joel Sherrill
ee29de05bc 2007-12-04 Joel Sherrill <joel.sherrill@OARcorp.com>
* cpu.c, rtems/score/cpu.h: Move interrupt_stack_size field from CPU
	Table to Configuration Table. Eliminate CPU Table from all ports.
	Delete references to CPU Table in all forms.
2007-12-04 22:19:10 +00:00
Joel Sherrill
4b89ba70ea 2007-12-03 Joel Sherrill <joel.sherrill@OARcorp.com>
* rtems/score/cpu.h: Moved most of the remaining CPU Table fields to
	the Configuration Table. This included pretasking_hook,
	predriver_hook, postdriver_hook, idle_task, do_zero_of_workspace,
	extra_mpci_receive_server_stack, stack_allocate_hook, and
	stack_free_hook. As a side-effect of this effort some multiprocessing
	code was made conditional and some style clean up occurred.
2007-12-03 22:22:55 +00:00
Joel Sherrill
60f016f59d 2007-05-22 Joel Sherrill <joel.sherrill@OARcorp.com>
* score/cpu/arm/cpu.c, score/cpu/avr/cpu.c, score/cpu/bfin/cpu.c,
	score/cpu/c4x/cpu.c, score/cpu/h8300/cpu.c, score/cpu/i386/cpu.c,
	score/cpu/m68k/cpu.c, score/cpu/mips/cpu.c, score/cpu/nios2/cpu.c,
	score/cpu/no_cpu/cpu.c, score/cpu/sh/cpu.c, score/cpu/sparc/cpu.c,
	cpukit/sapi/src/exinit.c: Move copying of CPU Table to shared
	executive initialization.
2007-05-22 20:57:34 +00:00
Ralf Corsepius
8b56aa3dea 2007-05-09 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems/score/cpu.h: Remove CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES.
2007-05-09 15:28:52 +00:00
Ralf Corsepius
4ec2f4f6f8 2007-04-17 Ralf Corsépius <ralf.corsepius@rtems.org>
* cpu_asm.c:
	  Use Context_Control_fp* instead of void* for fp_contexts.
	* rtems/score/cpu.h:
	  Use Context_Control_fp* instead of void* for fp_contexts.
	  Eliminate evil casts.
2007-04-17 05:05:59 +00:00
Ralf Corsepius
39308e008b Use Context_Control_fp* instead of void* for fp_contexts. 2007-04-17 05:05:54 +00:00
Ralf Corsepius
9e0abe51a1 Use Context_Control_fp* instead of void* for fp_contexts.
Eliminate evil casts.
2007-04-17 05:05:39 +00:00
Ralf Corsepius
63a88eb0bc Regenerate. 2007-01-08 08:43:28 +00:00
Ralf Corsepius
795da078a1 2006-11-17 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems/score/types.h: Remove unsigned64, signed64.
2006-11-17 05:58:06 +00:00
Joel Sherrill
ece004d72a 2006-01-16 Joel Sherrill <joel@OARcorp.com>
* rtems/score/cpu.h: Part of a large patch to improve Doxygen output.
	As a side-effect, grammar and spelling errors were corrected, spacing
	errors were address, and some variable names were improved.
2006-01-16 15:12:44 +00:00