Commit Graph

8696 Commits

Author SHA1 Message Date
Joel Sherrill
03bfdbb39c 2007-12-03 Joel Sherrill <joel.sherrill@OARcorp.com>
* amba/amba.c, startup/bspstart.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:24:07 +00:00
Joel Sherrill
2f1d801fd3 2007-12-03 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am: 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:24:05 +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
Joel Sherrill
1b1aca1fdb 2007-12-03 Joel Sherrill <joel.sherrill@oarcorp.com>
* shared/irq/irq.c, shared/irq/irq_supp.h: Correct conditionals and
	includes.
2007-12-03 15:44:59 +00:00
Chris Johns
7ace3828e5 2007-12-03 Chris Johns <chrisj@rtems.org>
* console/console.c: Set the baud rate for stdin to 19200 when
	opening the console. This is the default rate for the dbug
	monitor.
	* gdb-init: New.
2007-12-03 02:16:25 +00:00
Till Straumann
d62e807de8 2007-12-02 Till Straumann <strauman@slac.stanford.edu>
* vmeUniverse/vmeUniverse.c, vmeUniverse/vmeTsi148.c:
	silenced compiler warnings caused by type changes
	in byteorder.h (volatile unsigned * -> volatile uint32_t *)
2007-12-02 23:35:56 +00:00
Till Straumann
c10dc130f9 2007-12-02 Till Straumann <strauman@slac.stanford.edu>
* shared/irq/i8259.c, shared/irq/irq.h, shared/irq/irq_supp.h,
	shared/irq/openpic_i8259_irq.c: BSP_disable_irq_at_pic(),
	openpic_disable_irq(), BSP_irq_disable_at_i8259s() now return
	0/1 if irq was disabled/enabled prior to disabling.
	irq_supp.h now exports a inline helper routine for scanning
	a list of shared handlers; to be used by PIC drivers.
2007-12-02 21:49:07 +00:00
Till Straumann
daccc4ad33 2007-12-02 Till Straumann <strauman@slac.stanford.edu>
* irq/no_pic.c: use new inline routine exported by
	shared/irq/irq_supp.h for scanning the handler list.
2007-12-02 21:43:54 +00:00
Till Straumann
b1a2bbae5d 2007-12-02 Till Straumann <strauman@slac.stanford.edu>
* irq/irq_init.c: removed irrelevant comment.
2007-12-02 21:42:41 +00:00
Till Straumann
80d2e60b30 2007-12-02 Till Straumann <strauman@slac.stanford.edu>
* irq/irq_init.c: added new args to openpic_init().
	This BSP probably needs them (8245 has an EPIC).
	I would be surprised if the PCI interrupts with the
	old code actually worked...
2007-12-02 21:39:17 +00:00
Till Straumann
d7a2009a63 2007-12-02 Till Straumann <strauman@slac.stanford.edu>
* shared/openpic/openpic.c shared/openpic/openpic.h,
	shared/irq/irq_init.c: added more parameters to
	openpic_init() so that more details of the configuration
	can be overridden/set from the BSP. Moved setup of
	the EPIC-specific EOI delay from BSP code into openpic_init()
	using the new 'epic_freq' parameter.
2007-12-02 21:35:49 +00:00
Till Straumann
a3ae58967f 2007-12-02 Till Straumann <strauman@slac.stanford.edu>
* shared/openpic/openpic.c, shared/openpic/openpic.h:
	- eliminated conditional compilation (#ifdef mpc8240)
	  The difference in register-layout between the EPIC
	  and the std. openPIC is handled by an offset parameter
	  which can be set at run-time (initialization) with
	  a new routine 'openpic_set_src_offset()'.
	- allow BSP to define symbol BSP_OPEN_PIC_BIG_ENDIAN
	  which builds the driver for big-endian register access
	  (mpc8540).
	- openpic_disable_irq() now returns the old state so
	  that it can be restored later.
2007-12-02 20:46:00 +00:00
Till Straumann
f2783292a6 2007-12-01 Till Straumann <strauman@slac.stanford.edu>
* shared/irq/openpic_i8259_irq.c:
	- conditionally define 'irq_mask_or_tbl' only if
	  BSP_PCI_ISA_BRIDGE_IRQ is defined.
	- use _ISR_Get_level() / _ISR_Set_level() for re-enabling
	  interrupts rather than messing with MSR directly;
	  these macros:
	    o implement compiler memory barrier
		o will handle multiple levels (e500 'critical' interrupts)
		  if they are ever supported.
	- decrementer irqs are also shareable - added list traversal.
2007-12-01 21:59:20 +00:00
Till Straumann
34fb363561 2007-12-01 Till Straumann <strauman@slac.stanford.edu>
* shared/irq/irq_supp.h: Make sure BSP_SHARED_HANDLER_SUPPORT
	is set. The shared irq manager supports shared interrupts
	(but requires also that the PIC-driver supports them by
	traversing the list of shared handlers).
	Declare C_dispatch_irq_handler() which must be defined
	(like the other routines declared in this header) by the
	PIC-driver.
2007-12-01 21:35:27 +00:00
Till Straumann
2cb549f8dc 2007-12-01 Till Straumann <strauman@slac.stanford.edu>
* shared/clock/p_clock.c: (run-time) check for e500-cpu
	and install different ISR for that type of CPU.
2007-12-01 21:32:49 +00:00
Till Straumann
4f2d5f021b 2007-12-01 Till Straumann <strauman@slac.stanford.edu>
* shared/pci/detect_raven_bridge.c: use ifdef mvme2100
	rather than ifdef mpc824x so that we don't depend on
	compile-time CPU flavor. Eventually, this should become
	a run-time check.
2007-12-01 21:28:37 +00:00
Till Straumann
89a1112966 2007-12-01 Till Straumann <strauman@slac.stanford.edu>
* shared/vectors/vectors.h: Give the BSP_Exception_frame
	struct a name.
2007-12-01 21:25:39 +00:00
Till Straumann
c982f8039a 2007-12-01 Till Straumann <strauman@slac.stanford.edu>
* shared/vme/vmeconfig.c: Include <libcpu/bat.h> only
	if the BSP-specific configuration header (VMEConfig.h)
	defines BSP_VME_BAT_IDX so that this file can be used
	on CPUs w/o bats (e500).
2007-12-01 21:23:42 +00:00
Till Straumann
d8eb6c703e 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* startup/bspstart: removed _Cpu_table.exceptions_in_RAM.
2007-12-01 01:38:53 +00:00
Till Straumann
4af7ef3f40 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* startup/bspstart.c: removed bsp_exceptions_in_RAM
2007-12-01 01:31:27 +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
Joel Sherrill
9edf584f3b 2007-11-30 Joel Sherrill <joel.sherrill@OARcorp.com>
* irq/GT64260Int.c, network/if_100MHz/Makefile.am,
	network/if_1GHz/Makefile.am: Removed.
2007-11-30 22:59:34 +00:00
Till Straumann
956c9b58ab 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* shared/startup/pretaskinghook.c: Replaced inclusion of
	<bsp/consoleIo.h> by <rtems/bspIo.> (for printk) and
	made it conditional on #ifdef SHOW_MORE_INIT_SETTINGS.
2007-11-30 22:36:07 +00:00
Till Straumann
416ec41d40 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* shared/startup/bspstart.c: Removed excess /*, replaced
	#ifdef checks for mpc8240 by #ifdef mvme2100; eventually
	there should be run-time checks.
2007-11-30 22:33:30 +00:00
Till Straumann
4f38270a98 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* shared/motorola/motorola.c: removed excess initializer
	elements.
2007-11-30 22:27:47 +00:00
Till Straumann
5fe4d471e3 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* Makefile.am, irq/irq.c: fixed source-tree path of irq_supp.h,
	fixed type of 1st arg to C_dispatch_irq_handler() which
	is NOT a CPU_Interrupt_frame but a BSP_Exception_frame
	(not that it is ever used but the two layouts differ).
2007-11-30 22:22:48 +00:00
Till Straumann
89994ca64d *** empty log message *** 2007-11-30 22:17:40 +00:00
Till Straumann
a58ff1c3b7 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* irq/irq.h, irq/no_pic.c: some more changes to let
	using shared/irq/irq.c work.
2007-11-30 22:12:01 +00:00
Till Straumann
393a1e0584 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* Makefile.am, irq/irq.h, irq/no_pic.c: install
	and use new <irq/irq_supp.h> header.
2007-11-30 21:44:17 +00:00
Till Straumann
76e9cda9da 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* Makefile.am: install new <irq/irq_supp.h> header
2007-11-30 21:44:00 +00:00
Till Straumann
2eb9e3995c 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* shared/irq/irq.h, shared/irq/irq.c, shared/irq/irq_init.c,
	shared/irq/irq_supp.h (added):
	Removed 'is_processor_irq()' from irq.c; the BSP routines
	BSP_enable_irq_at_pic()/BSP_disable_irq_at_pic() are required
	to ignore processor irqs anyways. Removed
	all BSP-defined constants from irq.c. This makes irq.c (almost)
	binary-compatible among BSPs (ultimate goal is making 'shared'
	a library).
	Added a header (irq_supp.h) defining the interface between
	the generic interrupt manager (irq.c) and the routines it
	requires to be supplied by the BSP (eventually, these
	should go into rtems/irq.h).
2007-11-30 21:40:12 +00:00
Till Straumann
d9289680a6 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* vectors/vectors.S: Removed; this BSP now uses the shared
	version.
2007-11-30 20:53:06 +00:00
Till Straumann
a045c9df20 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* irq/irq.h, irq/irq_init.c: Removed the definition
	of ASM_IRQ_VECTOR_BASE; this symbol was only use to
	initialize the irqBase member of the rtems_irq_global_settings
	struct. However, irqBase is an rtems_irq_symbolic_name,
	so using BSP_LOWEST_OFFSET is more appropriate.
2007-11-30 20:45:11 +00:00
Till Straumann
8da6d77d10 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* irq/irq.h, irq/irq_init.c: Removed the definition
	of ASM_IRQ_VECTOR_BASE; this symbol was only use to
	initialize the irqBase member of the rtems_irq_global_settings
	struct. However, irqBase is an rtems_irq_symbolic_name,
	so using BSP_LOWEST_OFFSET is more appropriate.
2007-11-30 20:28:02 +00:00
Till Straumann
10483cba75 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* irq/irq.h, irq/irq.c (removed), irq/no_pic.c (added),
	irq/irq_init.c, Makefile.am: The PSIM BSP (currently)
	has no support for an interrupt controller or interrupts
	other than the decrementer. Removed all definitions for PCI + ISA
	interrupts and all unnecessary code (leftovers from copying).
	Separated PIC-specific bits into 'no_pic.c' which allows us
	to use 'irq.c' (i.e., more code) from 'shared'.
2007-11-30 19:55:46 +00:00
Till Straumann
431bcd7513 2007-11-30 Till Straumann <strauman@slac.stanford.edu>
* startup/linkcmds.c, start/start.S: call __eabi() from start.S
	and make sure linkcmds defines _SDA_BASE_ + _SDA2_BASE_ so that
	sysv + eabi are properly supported.
2007-11-30 19:45:40 +00:00
Joel Sherrill
a9c7159574 2007-11-30 Joel Sherrill <joel.sherrill@OARcorp.com>
* startup/bspstart.c: BSP_DIRTY_MEMORY should be tested for zero not
	just defined.
2007-11-30 18:16:16 +00:00
Joel Sherrill
0da3998706 2007-11-30 Daniel Hellstrom <daniel@gaisler.com>
* shared/include/grspw.h, shared/spw/grspw.c: GRSPW SpaceWire Driver.
	Fixes typecast to volatile integer instead of to integer. Added
	scanning for GRSPW2 Core, The GRSPW2 core is run in legacy mode.
2007-11-30 16:53:21 +00:00
Joel Sherrill
5b42368a5c 2007-11-30 Daniel Hellstrom <daniel@gaisler.com>
* shared/can/occan.c: LEON2/3 OCCAN CAN driver. Fixes typecast to
	volatile integer where needed. Fixes bug where closing the driver and
	opening it again could make the driver not starting transmission due
	to the software fifo was not cleared.
2007-11-30 16:52:15 +00:00
Joel Sherrill
6f237224b7 2007-11-30 Daniel Hellstrom <daniel@gaisler.com>
* rasta/rasta.c: LEON2 PCI RASTA driver. Changes RASTA PCI interrupt to
	5 from 4. This is to avoid conflict with the LAN9C111 network MAC
	driver using interrupt 4.
2007-11-30 16:51:00 +00:00
Joel Sherrill
e3481dcd4f 2007-11-30 Daniel Hellstrom <daniel@gaisler.com>
* shared/can/grcan.c, shared/can/grcan_rasta.c,
	shared/include/ambapp.h: GRCAN CAN driver. Fixes Interrupt
	enabling/disabling in the driver, interrupt may not be restored
	correctly. Implements the baud rate calculation routine. Removed
	unnecessary printk. Fixed scanning to support GRCAN and GRHCAN
	hardware. Added GRCAN device number to ambapp.h.
2007-11-30 16:48:13 +00:00
Till Straumann
a725a4d71f 2007-11-29 Till Straumann <strauman@slac.stanford.edu>
* startup/bspstart.c, Makefile.am: Initialize BATs and enable MMU
	to come closer to what other BSPs do. This allows us to use the
	shared irq_asm.S. No more individual assembly code :-)
2007-11-30 01:23:04 +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
d046f1ed65 2007-11-28 Joel Sherrill <joel.sherrill@OARcorp.com>
* startup/bspstart.c: Now compiles and links.
2007-11-28 22:02:57 +00:00
Joel Sherrill
641c3bd3bc 2007-11-28 Joel Sherrill <joel.sherrill@OARcorp.com>
* startup/bspstart.c: Fix mistake in previous work.
2007-11-28 21:45:45 +00:00