Commit Graph

1007 Commits

Author SHA1 Message Date
Till Straumann
4be2812f5b 2007-12-08 Till Straumann <strauman@slac.stanford.edu>
* new-exceptions/e500_raw_exc_init.c, new-exceptions/raw_exception.c,
	shared/include/cpuIdent.c, shared/include/cpuIdent.h:
	Added different kinds of 'bookE' to the ppc_cpu_is_bookE feature
	check; unfortunately...
2007-12-08 22:46:59 +00:00
Till Straumann
7b2cb2234f 2007-12-07 Till Straumann <strauman@slac.stanford.edu>
* Makefile.am: must not add e500_raw_exc_init.c to
	xyz_SOURCES for mpc5xx
2007-12-07 18:42:40 +00:00
Till Straumann
76a5a3ccaf 2007-12-06 Till Straumann <strauman@slac.stanford.edu>
* shared/include/cpuIdent.h, shared/include/cpuIdent.c:
	added feature check for 603 'TLBMISS exception GPRS shadowing'.
2007-12-06 21:03:46 +00:00
Till Straumann
eb8420f7f2 2007-12-06 Till Straumann <strauman@slac.stanford.edu>
* new-exceptions/raw_exception.c, new-exceptions/raw_exception.h:
	Removed all #ifdef <cpu_flavor>. All exception vectors are now
	always defined.
	Changed implementation of <cpu>_vector_is_valid() from 'case'
	statements to table lookup.
	Replaced 'ASM_VECTORS_CRITICAL' by a variable
	'bsp_raw_vector_is_405_critical' which is set at run-time.
	Removed PPC_MSR_EXC_BITS. The exception handling code
	(libbsp/shared/vectors/vectors.S and ../irq/irq_asm.S) now
	has a run-time check for these bits.
	Both files are now free of #if <cpu_flavor> constructs.
2007-12-06 19:42:47 +00:00
Till Straumann
694c00cb4e 2007-12-05 Till Straumann <strauman@slac.stanford.edu>
* Makefile.am, configure.ac, preinstall.am,
	new-exceptions/e500_raw_exc_init.c: Started adding
	support for e500 CPU. Most stuff is borrowed from mpc6xx.
2007-12-06 00:21:07 +00:00
Till Straumann
a52ab9e1fb 2007-12-05 Till Straumann <strauman@slac.stanford.edu>
* rtems/powerpc/powerpc.h: added a #ifdef __ppc_generic
	branch. The goal is eventually to make this the starting
	point for cleanup (remove as many branches as possible;
	replace by run-time tests if necessary).
2007-12-06 00:07:21 +00:00
Joel Sherrill
7302f4c51f 2007-12-05 Joel Sherrill <joel.sherrill@OARcorp.com>
* new-exceptions/raw_exception.c: Conditionalize call to
	e500_setup_raw_exceptions() since that is not even in the tree yet.
2007-12-05 21:50:47 +00:00
Joel Sherrill
736503e97c 2007-12-05 Joel Sherrill <joel.sherrill@OARcorp.com>
* new-exceptions/raw_exception.c: Conditionalize some BOOKE vectors.
2007-12-05 21:29:41 +00:00
Till Straumann
464ba4d040 2007-12-05 Till Straumann <strauman@slac.stanford.edu>
* new-exceptions/raw_exception.c, new-exceptions/raw_exception.h:
	Added typedef for exception classes (classic, critical, ...
	synchronous / asynchronous). ppc_vector_is_valid() now returns
	the appropriate class.
2007-12-05 09:29:03 +00:00
Till Straumann
0fb0eb034c 2007-12-05 Till Straumann <strauman@slac.stanford.edu>
* new-exceptions/raw_exception.c: made all <cpu>_vector_is_valid()
	subroutines that are called from ppc_vector_is_valid() 'static'.
2007-12-05 08:35:55 +00:00
Till Straumann
7df69c3716 2007-12-05 Till Straumann <strauman@slac.stanford.edu>
* new-exceptions/raw_exception.c, new-exceptions/raw_exception.h:
	Qualified all exception vector symbols that are only defined
	#ifdef <cpu_flavor> with <cpu_flavor> in the symbol name.
	If the special flavor __ppc_generic is effective the ALL
	vector symbols are available and ppc_vector_is_valid() works
	for all supported CPUs (run-time check).
	This is work towards a #ifdef <cpu_flavor> free libcpu and
	exception framework.
2007-12-05 08:33:11 +00:00
Joel Sherrill
4216c573e3 2007-12-04 Joel Sherrill <joel.sherrill@OARcorp.com>
* mpc5xx/console-generic/console-generic.c, mpc8260/timer/timer.c,
	new-exceptions/cpu.c, old-exceptions/cpu.c: 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:37 +00:00
Thomas Doerfler
7edabafe3c added missing mpc83xx/spi driver 2007-12-04 20:37:06 +00:00
Joel Sherrill
8b5d31fa97 2007-12-03 Joel Sherrill <joel.sherrill@OARcorp.com>
* mpc5xx/console-generic/console-generic.c: 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:26:53 +00:00
Joel Sherrill
bfc9b02386 2007-12-03 Joel Sherrill <joel.sherrill@oarcorp.com>
* shared/include/cpuIdent.h: Correct conditionals and includes.
2007-12-03 15:45:20 +00:00
Till Straumann
ea39487c59 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* new-exceptions/raw_exception.c, new-exceptions/raw_exception.h,
	old-exception/cpu.c: define bsp_exceptions_in_RAM variable.
	This is probably only used by the simulator (were else
	can you install something to ROM ??).
2007-12-01 01:26:41 +00:00
Till Straumann
bd1cc5f09c 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* mpc6xx/mmu/bat.c, mpc6xx/mmu/pte121.c: use new
	feature-checks from cpuIdent.h rather than filtering
	CPU types when checking for availability of high BATs
	and an MMU with hardware page-table lookup.
2007-12-01 00:24:25 +00:00
Till Straumann
3fa48eef10 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* mpc6xx/clock/c_clock.c, mpc6xx/clock/c_clock.h:
	added support for bookE/ppc405 style CPUs where the
	decrementer works slightly differently.
2007-12-01 00:22:30 +00:00
Till Straumann
d18d7fe0dd 2007-11-29 Till Straumann <strauman@slac.stanford.edu>
* mpc6xx/exceptions/raw_exception.c,
	mpc6xx/exceptions/raw_exception.h: removed. mpc6xx
	uses generic version in new-exceptions.
2007-12-01 00:10:35 +00:00
Till Straumann
e955b062fb 2007-11-29 Till Straumann <strauman@slac.stanford.edu>
* shared/include/cpuIdent.h, shared/include/cpuIdent.c:
	Added a simple 'feature check' facility. Code should
	not check for a particular CPU type if possible but
	check the respective feature bit (e.g., 'has_altivec').
	This makes it much less cumbersome to add more CPU
	types in the future.
2007-12-01 00:06:00 +00:00
Till Straumann
486d6ec686 2007-11-29 Till Straumann <strauman@slac.stanford.edu>
* mpc6xx/mmu/bat.c, mpc6xx/mmu/bat.h: Added support
	for setting & reading IBATs.
2007-11-30 01:05:08 +00:00
Joel Sherrill
12ae8a16a5 2007-11-28 Joel Sherrill <joel.sherrill@OARcorp.com>
* ppc403/clock/clock.c: Now compiles and links.
2007-11-28 22:03:43 +00:00
Joel Sherrill
c4cc81993a 2007-11-28 Joel Sherrill <joel.sherrill@OARcorp.com>
* mpc5xx/clock/clock.c, mpc5xx/timer/timer.c, mpc8260/clock/clock.c,
	mpc8260/cpm/brg.c, mpc8260/timer/timer.c, mpc8xx/clock/clock.c,
	mpc8xx/console-generic/console-generic.c, mpc8xx/timer/timer.c,
	new-exceptions/raw_exception.c, old-exceptions/cpu.c,
	ppc403/clock/clock.c, ppc403/console/console.c,
	ppc403/console/console.c.polled, ppc403/console/console405.c,
	ppc403/ictrl/ictrl.c, ppc403/irq/ictrl.c, ppc403/timer/timer.c,
	ppc403/tty_drv/tty_drv.c: Eliminate PowerPC specific elements from
	the CPU Table. They have been replaced with variables named bsp_XXX
	as needed.
2007-11-28 21:45:06 +00:00
Till Straumann
54444d5faa 2007-11-28 Till Straumann <strauman@slac.stanford.edu>
* shared/src/cache.c: removed redundant mpc8xx versions
	of flush/invalidate 1 cache line routines.
2007-11-28 20:56:21 +00:00
Joel Sherrill
99f67930c2 2007-11-26 Joel Sherrill <joel.sherrill@oarcorp.com>
* sh7032/clock/ckinit.c, sh7032/delay/delay.c, sh7032/timer/timer.c,
	sh7045/clock/ckinit.c, sh7045/timer/timer.c, sh7750/clock/ckinit.c,
	sh7750/timer/timer.c: Eliminate the clicks_per_microsecond field in
	the SuperH CPU Table and define another mechanism for drivers to
	obtain this information.
2007-11-26 23:02:03 +00:00
Joel Sherrill
b72f579982 2007-11-26 Joel Sherrill <joel.sherrill@oarcorp.com>
* clock/ckinit.c: Eliminate the clicks_per_microsecond field in the
	MIPS CPU Table and define another mechanism for drivers to obtain
	this information.
2007-11-26 22:58:07 +00:00
Chris Johns
cb32666020 2007-11-22 Chris Johns <chrisj@rtems.org>
* m68k/mcf5235/include/mcf5235.h: Remove '/' from define label.
2007-11-22 04:40:41 +00:00
Till Straumann
ff9d8898e5 2007-11-13 Till Straumann <strauman@slac.stanford.edu>
* shared/src/cache.c: moved generic operations
	(flush/invalidate 1 data line, invalidate 1 inst. line)
	from #ifdef <cpu_flavor> to general section (all CPUs).
2007-11-14 00:42:18 +00:00
Till Straumann
a10c721462 2007-11-13 Till Straumann <strauman@slac.stanford.edu>
* shared/src/cache_.h: include <libcpu/cache.h> only
	#ifdef _OLD_EXCEPTIONS - no need for <libcpu/cache.h>
	otherwise.
2007-11-14 00:40:20 +00:00
Till Straumann
b472166df6 2007-11-13 Till Straumann <strauman@slac.stanford.edu>
* shared/include/byteorder.h: fixed wrong pointer-type
	of ld_le32() (uint16_t* -> uint32_t*).
2007-11-14 00:36:59 +00:00
Joel Sherrill
5a364be362 2007-11-03 Ray Xu <rayx.cn@gmail.com>
*lpc22xx/irq/bsp_irq_asm.S: Add veneer for ARM<->Thumb
        lpc22xx/irq/bsp_irq_init.c: add VIC address init
2007-11-06 22:54:21 +00:00
Till Straumann
8e1d542c07 2007-11-06 Till Straumann <strauman@slac.stanford.edu>
* mpc5xx/irq/irq.c, mpc5xx/exceptions/raw_exception.c,
	new-exceptions/raw_exception.c: test for non-NULL-ness before calling
	'on'/'off' methods so that users don't have to provide
	no-ops if they don't want this feature.
2007-11-06 21:54:18 +00:00
Thomas Doerfler
55a685bddc added SPI support to libi2c
added IRQ support to MPC83xx i2c driver
added mpc83xx spi driver
2007-10-25 16:17:56 +00:00
Joel Sherrill
c9274ae19a 2007-10-05 Ray Xu <xr@trasin.net>
* lpc22xx/clock/clockdrv.c, lpc22xx/irq/irq.c, lpc22xx/irq/irq.h: Now
	runs in Skyeye.
2007-10-05 18:57:52 +00:00
Joel Sherrill
3d7fa72bc2 2007-09-12 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1257/bsps
	* sh7032/score/cpu_asm.c, sh7032/timer/timer.c, sh7045/score/cpu_asm.c,
	sh7045/timer/timer.c, sh7750/score/cpu_asm.c, sh7750/timer/timer.c:
	Code outside of cpukit should use the public API for
	rtems_interrupt_disable/rtems_interrupt_enable. By bypassing the
	public API and directly accessing _CPU_ISR_Disable and
	_CPU_ISR_Enable, they were bypassing the compiler memory barrier
	directive which could lead to problems. This patch also changes the
	type of the variable passed into these routines and addresses minor
	style issues.
2007-09-12 15:23:49 +00:00
Joel Sherrill
f93630db63 2007-09-12 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1257/bsps
	* mpc5xx/exceptions/raw_exception.c, mpc5xx/irq/irq.c,
	mpc6xx/exceptions/raw_exception.c,
	mpc8260/exceptions/raw_exception.c,
	mpc8xx/exceptions/raw_exception.c, new-exceptions/raw_exception.c,
	ppc403/ictrl/ictrl.c, ppc403/irq/ictrl.c: Code outside of cpukit
	should use the public API for
	rtems_interrupt_disable/rtems_interrupt_enable. By bypassing the
	public API and directly accessing _CPU_ISR_Disable and
	_CPU_ISR_Enable, they were bypassing the compiler memory barrier
	directive which could lead to problems. This patch also changes the
	type of the variable passed into these routines and addresses minor
	style issues.
2007-09-12 15:23:44 +00:00
Joel Sherrill
23f19746d4 2007-09-12 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1257/bsps
	* at91rm9200/irq/irq.c, lpc22xx/irq/irq.c, mc9328mxl/irq/irq.c,
	s3c2400/irq/irq.c: Code outside of cpukit should use the public API
	for rtems_interrupt_disable/rtems_interrupt_enable. By bypassing the
	public API and directly accessing _CPU_ISR_Disable and
	_CPU_ISR_Enable, they were bypassing the compiler memory barrier
	directive which could lead to problems. This patch also changes the
	type of the variable passed into these routines and addresses minor
	style issues.
2007-09-12 15:23:30 +00:00
Joel Sherrill
4a1eb75b90 2007-09-11 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am, configure.ac: Do not build networking drivers if
	networking is disabled.
2007-09-11 13:10:12 +00:00
Joel Sherrill
9af457f4d7 2007-09-06 Joel Sherrill <joel.sherrill@oarcorp.com>
* mpc6xx/mmu/pte121.c: Fix warning.
2007-09-06 22:28:23 +00:00
Thomas Doerfler
267c7c598f added i2c support 2007-08-10 08:17:10 +00:00
Joel Sherrill
8661209e6e 2007-07-31 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1249/build
	* configure.ac: Jerry Needell <jerry.needell@unh.edu> reported that the
	leon3 was left out of the cache enable logic. Thus the cache
	management support code was empty on LEON3 CPUs.
2007-07-31 20:23:52 +00:00
Thomas Doerfler
6aff507844 added PPC_e300 to raw_exception.c
removed timed abort in ns16550.c transmit code
2007-07-18 12:51:30 +00:00
Thomas Doerfler
185da08642 additional fixes for the shared exception code 2007-07-10 18:43:12 +00:00
Thomas Doerfler
f610e83f53 compilable release of virtex/gen83xx/gen5200 powerpc adaptations. Merged many different versions of new exception handling code to shared sources. 2007-07-10 16:00:28 +00:00
Thomas Doerfler
78f96ab7c7 fixed some problems with shared PPC exception handling code 2007-07-05 20:32:43 +00:00
Thomas Doerfler
862c231785 added virtex BSP support and some missing files for common PPC
exception handling
2007-07-04 12:37:36 +00:00
Thomas Doerfler
73cdeb6a51 merged individual exception handler code to a common one. 2007-07-04 12:25:49 +00:00
Joel Sherrill
b37fb8dc50 2007-06-04 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am: Now use the m68k memcpy and memset recently added to
	newlib instead of our own.
	* shared/misc/memcpy.c: Removed.
2007-06-04 17:52:20 +00:00
Joel Sherrill
a205b96b9b 2007-05-21 Joel Sherrill <joel.sherrill@oarcorp.com>
* mpc6xx/clock/c_clock.c: Tinker with math so it does not overflow on
	psim and give a negative nanoseconds since last tick.
2007-05-21 19:29:34 +00:00
Ralf Corsepius
a1b953a476 2007-05-07 Ralf Corsépius <ralf.corsepius@rtems.org>
* mpc8xx/clock/clock.c: Remove unused var extclk_value.
2007-05-07 10:44:17 +00:00