diff packages/hal/sparclite/arch/current/ChangeLog @ 46:797268ecc331 ecos-sw-1999-10-19

Merge from eCos master repository on 1999-10-19-18:55:31-BST
author jlarmour
date Tue, 19 Oct 1999 19:19:52 +0000
parents a3cc6665b684
children c38311975d4f
line wrap: on
line diff
--- a/packages/hal/sparclite/arch/current/ChangeLog
+++ b/packages/hal/sparclite/arch/current/ChangeLog
@@ -1,3 +1,39 @@
+1999-10-15  Hugo Tyson  <hmt@cygnus.co.uk>
+
+	* src/vectors.S (not_window_overflow): Actually the dispatcher
+	into exception VSRs.  Bugfix: wrong number was placed in %l3 for
+	call to xvsr, so for *some* types of trap, including user traps
+	other than those handled directly in-HAL, a vector way off the end
+	of the array would be used.  Apparently those other types of trap
+	never happen, but just in case...
+
+1999-10-13  Hugo Tyson  <hmt@cygnus.co.uk>
+
+	* src/vectors.S: Optionally implement Multiple (rather than
+	Single) Vector Trapping.  The config options to control this are
+	in the platform HAL because some SPARCs do not support SVT, where
+	it is optional the platform says so.  This demands a variable
+	sized region be reserved for trampoline code or the vectors in
+	RAM, which is done via section .ram_vectors, defined herein.
+
+	* src/sparclite.ld: Define SECTION_ram_vectors(...) to deal with
+	the new .ram_vectors section.  This is to provide a variable sized
+	area at the start of RAM to hold either trampoline code when SVT
+	is selected, or a fill 4k + handlers of vectors when MVT is
+	selected.  Previously this was bodged by pretending RAM starts at
+	0x4000200 in ROM startup builds.
+	(comment from the example .ldi files...)
+	The ram_vectors section is to allow some free space to copy
+	vectors into from the ROM.  This is required to be variable size
+	to accomodate SVT or MVT; 80 bytes vs 4kB.  Copying is not
+	necessary with MVT, but it is optional because it may offer
+	performance gains.  Copying is required for SVT because the
+	(aligned) start of ROM contains initialization instructions.  RAM
+	copy is used rather than leave a big gap in the ROM to get an
+	aligned address for the trampoline code.  For RAM startup,
+	ram_vectors will usually be of size zero, unless MVT and copying
+	are enabled for memory estimation reasons.
+
 1999-09-29  Hugo Tyson  <hmt@cygnus.co.uk>
 
 	[src/vectors.S: needed no change!]