Commit Graph

13 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
862c231785 added virtex BSP support and some missing files for common PPC
exception handling
2007-07-04 12:37:36 +00:00