Commit Graph

43 Commits

Author SHA1 Message Date
Joel Sherrill
b07eae90b3 libbsp/mips/shared/irq.c: Fix warnings 2017-03-09 16:59:12 -06:00
Alexander Krutwig
75acd9e69f bsps: Convert clock drivers to use a timecounter
Update #2271.
2015-05-20 08:40:34 +02:00
Joel Sherrill
6a094d3930 libbsp/mips/shared: Fix warnings 2014-10-19 17:00:57 -05:00
Joel Sherrill
39afee9c16 mips/shared/gdbstub/mips-stub.c: Add prototype to stay self contained 2014-10-16 08:58:48 -05:00
Joel Sherrill
a5222b6544 mips/gdbstub: Fix warnings 2014-10-13 10:33:35 -05:00
Sebastian Huber
c48cf0bd0c score: Rename _BSP_Exception_frame_print()
Rename _BSP_Exception_frame_print() to _CPU_Exception_frame_print() to
be in line with other CPU port functions.
2014-09-11 09:10:16 +02:00
Sebastian Huber
03b7789ec7 score: Statically initialize _ISR_Vector_table 2014-04-29 09:51:22 +02:00
Sebastian Huber
a16af0b367 bsps/mips: Delete unused files
The MIPS port defines CPU_SIMPLE_VECTORED_INTERRUPTS to FALSE.
2014-04-29 09:51:22 +02:00
Chris Johns
c49985691f Change all references of rtems.com to rtems.org. 2014-03-21 08:10:47 +11:00
Daniel Ramirez
c2b752881d mips/shared: added new doxygen 2013-12-23 15:06:12 -05:00
Joel Sherrill
a15650dad5 mips/shared/.../clockdrv.c: Change get nanoseconds handler to static 2013-09-30 12:07:35 -05:00
Sebastian Huber
d19cce29dc score: Per-CPU thread dispatch disable level
Use a per-CPU thread dispatch disable level.  So instead of one global
thread dispatch disable level we have now one instance per processor.
This is a major performance improvement for SMP.  On non-SMP
configurations this may simplifiy the interrupt entry/exit code.

The giant lock is still present, but it is now decoupled from the thread
dispatching in _Thread_Dispatch(), _Thread_Handler(),
_Thread_Restart_self() and the interrupt entry/exit.   Access to the
giant lock is now available via _Giant_Acquire() and _Giant_Release().
The giant lock is still implicitly acquired via
_Thread_Dispatch_decrement_disable_level().

The giant lock is only acquired for high-level operations in interrupt
handlers (e.g. release of a semaphore, sending of an event).

As a side-effect this change fixes the lost thread dispatch necessary
indication bug in _Thread_Dispatch().

A per-CPU thread dispatch disable level greatly simplifies the SMP
support for the interrupt entry/exit code since no spin locks have to be
acquired in this area.  It is only necessary to get the current
processor index and use this to calculate the address of the own per-CPU
control.  This reduces the interrupt latency considerably.

All elements for the interrupt entry/exit code are now part of the
Per_CPU_Control structure: thread dispatch disable level, ISR nest level
and thread dispatch necessary.  Nothing else is required (except CPU
port specific stuff like on SPARC).
2013-08-09 23:02:38 +02:00
Gedare Bloom
fad2d38a9f RTEMS: Delete ChangeLog files.
This commit deletes all RTEMS ChangeLog files. These files have been abandoned
since converting to git version control. The historical data may be recovered
by checking out any commit before this one. Most of the contents of these
ChangeLog files can also be found in the git log.

Two external ChangeLog files, ChangeLog.slac and ChangeLog.zlib, remain.
2013-03-08 15:55:06 -05:00
Sebastian Huber
815994fd17 score: Add CPU_Exception_frame
Add CPU port type CPU_Exception_frame and function
_CPU_Exception_frame_print().

The CPU ports of avr, bfin, h8300, lm32, m32c, m32r, m68k, nios2, sh,
sparc64, and v850 use an empty default implementation of
_CPU_Exception_frame_print().

Add rtems_exception_frame and rtems_exception_frame_print().

Add RTEMS_FATAL_SOURCE_EXCEPTION for CPU exceptions.  Use rtems_fatal()
with source RTEMS_FATAL_SOURCE_EXCEPTION in CPU ports of i386, powerpc,
and sparc for unexpected exceptions.

Add third parameter to RTEMS_BSP_CLEANUP_OPTIONS() which controls the
BSP_PRINT_EXCEPTION_CONTEXT define used in the default
bsp_fatal_extension().

Add test sptests/spfatal26.
2012-11-27 17:03:40 +01:00
Ralf Corsépius
1c554014af Remove CVS-Ids. 2012-07-19 16:55:18 +02:00
Joel Sherrill
9b4422a251 Remove All CVS Id Strings Possible Using a Script
Script does what is expected and tries to do it as
smartly as possible.

+ remove occurrences of two blank comment lines
  next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
  contain CVS Ids
+ If the processing left a blank line at the top of
  a file, it was removed.
2012-05-11 08:44:13 -05:00
Jennifer Averett
0c0181dee2 PR 1993 - Convert MIPS to PIC IRQ model 2012-04-04 08:43:08 -05:00
Joel Sherrill
1973a2a620 2010-07-30 Gedare Bloom <giddyup44@yahoo.com>
PR 1599/cpukit
	* shared/irq/exception.S: Rename _Context_Switch_necessary to
	_Thread_Dispatch_necessary to more properly reflect the intent.
2010-07-30 18:51:12 +00:00
Sebastian Huber
dff46630ef 2010-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
* shared/irq/exception.S: Removed _ISR_Signals_to_thread_executing
	declaration.
2010-07-06 07:41:28 +00:00
Joel Sherrill
5a0b7914c8 2010-06-28 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1573/cpukit
	* shared/irq/exception.S: 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:38:20 +00:00
Joel Sherrill
a690c003e0 2010-05-13 Joel Sherrill <joel.sherrill@oarcorp.com>
* shared/liblnk/lnklib.S, shared/liblnk/pmon.S, shared/liblnk/regs.h,
	shared/startup/idtmem.S, shared/startup/idttlb.S: New files.
2010-05-13 20:51:39 +00:00
Joel Sherrill
a68347d546 2010-05-13 Joel Sherrill <joel.sherrill@oarcorp.com>
* shared/irq/exception.S: rbtx4925, rbtx4938, and hurricane had very
	similar versions of exception. Now all use shared/irq/exception.S
2010-05-13 19:22:46 +00:00
Joel Sherrill
0b91d327f9 2010-05-13 Joel Sherrill <joel.sherrill@oarcorp.com>
* shared/irq/exception.S: New file.
2010-05-13 18:08:38 +00:00
Joel Sherrill
f7c9b9e816 2010-04-28 Joel Sherrill <joel.sherrilL@OARcorp.com>
* shared/gdbstub/mips-stub.c: Remove warnings.
2010-04-28 18:59:49 +00:00
Ralf Corsepius
efdfd48add Whitespace removal. 2009-11-29 15:27:07 +00:00
Ralf Corsepius
3a3f3023ed Add missing prototypes. 2008-08-18 07:32:10 +00:00
Joel Sherrill
3a0e33706d 2007-09-10 Joel Sherrill <joel.sherrill@OARcorp.com>
* shared/gdbstub/mips-stub.c: Remove incorrect and unneccessary
	prototype of printk.
2007-09-10 11:26:48 +00:00
Joel Sherrill
c69885a5d7 2006-09-14 Joel Sherrill <joel@OARcorp.com>
* shared/gdbstub/mips-stub.c: Removed warnings.
2006-09-14 15:50:54 +00:00
Ralf Corsepius
f05b2ac0bc Remove duplicate white lines. 2004-04-21 16:01:48 +00:00
Ralf Corsepius
6128a4aa5e Remove stray white spaces. 2004-04-21 10:43:04 +00:00
Ralf Corsepius
3239698d1f Remove stray white spaces. 2004-04-15 13:26:21 +00:00
Joel Sherrill
45477a3a0e 2003-07-17 Joel Sherrill <joel@OARcorp.com>
PR 433/tools
	* mips-stub.c: Patch from C. M. Heard <heard@pobox.com> described as:

	The purpose of the patch is to make the stub ignore all
	characters except '+' (ack) or '-' (nak) when it has transmitted a
	packet and expects an acknowledgment. Without the patch,
	putpacket() will retransmit each time it receives anything other
	than '+' when expecting an ack, and that, bitter experience has
	found, frequently results in the stub failing to sync up when
	initially attaching to gdb.

	I think that rtems users will notice significant improvement in
	the of the mips stub if this patch is incorporated in the
	distribution; certainly I did in my stand-aline environment. I
	should hasten to add that it is only an improvement and not a 100%
	cure for synchronization problems because '+' characters can (and
	do) during as message data, and it's still possible for these to
	be mistaken as acks. I have no idea how to fix that short of
	redesigning the gdb-remote protocol.
2003-07-17 21:59:42 +00:00
Joel Sherrill
72bbcf17e3 2002-11-01 Joel Sherrill <joel@OARcorp.com>
* mips-stub.c: Removed warnings.
2002-11-01 21:53:28 +00:00
Joel Sherrill
0381a8d47b 2002-10-02 Joel Sherrill <joel@OARcorp.com>
* rtems-stub-glue.c: Removed should only be common copy.
2002-10-02 17:38:36 +00:00
Joel Sherrill
a68128530c 2002-08-14 Greg Menke <gregory.menke@gsfc.nasa.gov>
* mips-stub.c: Re-debugged a breakpoint problem, zbreak target
	address was a char * which caused the target instruction to not
	be fully copied, so the zbreak logic corrupted the original
	instruction and didn't insert a valid break instruction.
2002-08-14 22:58:30 +00:00
Joel Sherrill
db6cc07d1a 2001-03-08 Joel Sherrill <joel@OARcorp.com>
* mips-stub.c: Removed warnings.
2002-03-08 17:36:58 +00:00
Joel Sherrill
2f89140dba 2001-03-05 Greg Menke <gregory.menke@gsfc.nasa.gov>
* mips-stub.c: Debugged & tweaked the gdb command processing,
	zbreak stuff, breakpoint and step code.  Implemented 'T' command
	support and debugged remote gdb support w/ the Mongoose bsp.
	Added the memory segment support.
	* memlimits.h: Disabled all contents in favor of memory sement
	support.  This file could probably go away.
	* rtems-stub-glue.c (rtems_gdb_index_to_stub_id()): New routine.
	rtems_gdb_stub_get_register_from_context(): Implemented MIPS version.
	rtems_gdb_stub_get_offsets(): Implemented MIPS version.
	* README: Updated.
2002-03-08 16:32:07 +00:00
Joel Sherrill
5fa68868ae 2001-03-01 Joel Sherrill <joel@OARcorp.com>
* ChangeLog: Corrected previous entry.
2002-03-01 16:24:36 +00:00
Joel Sherrill
cd6bec6cef 2002-02-27 Greg Menke <gregory.menke@gsfc.nasa.gov>
* shared/gdbstub/README: Added text.
	* shared/gdbstub/mips-stub.c: Modified isr install routine to
	capture all exceptions.
2002-03-01 16:22:59 +00:00
Joel Sherrill
1bbe2e1dbb 2001-02-27 Joel Sherrill <joel@OARcorp.com>
* Significant modifications including adding thread support, the 'X'
	command, and reorganizing so that target CPU independent routines
	could be reused.
	* gdb_if.h: Added numerous prototypes.
	* mips-stub.c: Added thread support as well as 'X' command.
	Also noticed that the 'P' command was from the mips protocol.
	* rtems-stub-glue.c: New file.  This file contains all generic
	support which should be able to be reused on another target CPU.
2002-02-27 22:32:15 +00:00
Joel Sherrill
6953e68e51 2002-02-08 Joel Sherrill <joel@OARcorp.com>
* mips-stub.c (handle_exception): Prototype changed to be an RTEMS
	entry point.  Added comments about possible need to flush cache.
	(mips_gdb_stub_install): New routine.
2002-02-08 23:27:26 +00:00
Joel Sherrill
fc82e71072 2002-02-08 Joel Sherrill <joel@OARcorp.com>
* Makefile, stubinit.S, r46kstub.ld, ioaddr.h: Removed as unused
	with RTEMS.
	* r46kstub.c: Renamed to mips-stub.c.
	* mips-stub.c: New file -- was r46kstub.c.
	* memlimits.h: New file was limits.h.
	* limits.h: Removed.
	* r4600.h: Eliminated need for this file.
	* README: Updated.
 	* gdb_if.h: Added CVS Id.
	* mips-stub.c: Attempt to deal with MIPS1 versus MIPS3.
2002-02-08 21:26:00 +00:00
Joel Sherrill
fb63984771 2002-02-08 Joel Sherrill <joel@OARcorp.com>
* Merged r46kstub.c into RTEMS distribution without modification.
	I got the code from Franz Fischer <Franz.Fischer@franz-fischer.de>
	who had used this with an old version of RTEMS with the mips64orion
	port of RTEMS.  After adding this to the repository, I will tailor
	this to work with the RTEMS exception processing model and trim
	no longer needed parts.
	* ChangeLog, gdb_if.h, ioaddr.h, limits.h, Makefile, mips_opcode.h,
	r4600.h, r46kstub.c, r46kstub.ld, README, stubinit.S:
2002-02-08 20:03:26 +00:00