SystemC::Vregs NEWS --  history of user-visible changes.
Copyright (C) 2002 Wilson Snyder.

The contributors that suggested a given feature is shown in [].
	
This uses outline mode in Emacs.  See C-h m [M-x describe-mode].

* Changes in Vregs 1.240 12/13/2002

**	Added subclassing of enumerations.  
	A enumeration can now reference another enumeration, and all values under the
	lower enumeration will be included in the upper enumeration.

**	Added a castHBytep() or castNBytep() method to each structure.
	For safety, use it in place of reinterpret_cast<uint8_t*>(&struct)
	to avoid endian-ness mistakes.

**	Added support for registers wider then 32 bits.

**	Renamed "vregs" executable to "vreg" to avoid Win2K conflict
	with uppercase directory by the same name.

**	Allow -descfunc attribute on enums to create a function to get description name

***	Added error when a struct of one endian-ness inherits a struct of
	opposite endian-ness.  Use "-[no]netorder" on derived type to fix it.

****	Fixed propagation of attributes across wildcarded classes.

****	Fixed decimal reset values in VregsRegInfo classes.

* Changes in Vregs 1.230 8/8/2002

**	Added --noregtest attribute to registers, for suppressing testing.

***	Added _hash.pm output file, for easy conversion of enum
	values to/from text descriptions.

***	Make m_w data storage protected.  Use w() accessors instead.

****	Warn about empty bit descriptions.

****	Added dump() methods for internal debugging.


* Changes in Vregs 1.240 3/11/2002

***	Allow duplicate enumeration values.  The ascii() method will
	print the first sorted enumeration text.

****	Fix ORing in of ranged addresses.  [Greg Waters]


* Changes in Vregs 1.200 11/26/2001

**	Allow replacement of enumeration before/after rules.

***	Fixed bug where enumerations in registers would cause wrong
	reset value in _info.cpp

***	Made sizes in vregs_info be a 64 bit integer.

**	Added macros for compile-time hooks to add debugging checks, listed
	below.  See them in include/VregsClass.h.

***	Define VREGS_ENUM_DEF_INITTER(badValue) to make the default ctor
	for enum-classes initialize the enum.  Otherwise it's undefined.

***	Define VREGS_SETFIELD_CHK(str,val,u_max) to validate the argument
	before stuffing it into struct.field "str".  Otherwise Vregs classes
	silently truncate the argument.

***	Define VREGS_STRUCT_DEF_CTOR(TypeName, numWords) if you want structs
	to have a default contructor, e.g. to initialize the words to
	0xdeadbeef.  Otherwise Vregs structs are initially undefined (just
	like a C++ array of uint32_t).

****	Changed enumeration ascii() default to "?E" instead of "%E"

* Changes in Vregs 1.100 10/18/2001

**	Added rules for .cpp files: before_enum_cpp,
	after_enum_cpp, before_class_cpp, after_class_cpp.

***	Made RBASEA_ and RBASEAE_ defines from common prefix
	exising across multiple registers.  RBASEAM_ is a power-of-two
	mask for extracting that range.

***	Classes which have a smaller base class now have the
	correct sizeof(), previously they would have the base's sizeof.

***	Non-contiguous fields are now postfixed with a number instead
	of prefixed.  Thus CR1_Reg_Field and CR2_Reg_Field become
	CR_Reg_Field_1 and CR_Reg_Field_2.

***	Fields that extend beyond 32 bits now get additional defines
	with the word number enclosed in them.  This allows for easy
	extraction from 32-bit busses.

****	Comment columns in register definitions now become attributes.
	This allows other parsers to pick off the fields they need.

****	Fixed E_ enum defines to be in hex, not decimal.


* Changes in Vregs 1.000 9/03/2001

**	First publicized release.

***	Added ENUM ascii() methods to cpp instead of inlined .h


* Changes in Vregs 0.1 6/27/2001

****	Package Released as Beta


----------------------------------------------------------------------
$Revision: #6 $$Date: 2002/12/13 $$Author: wsnyder $
----------------------------------------------------------------------
Copyright information:

Copyright (C) 2001 Wilson Snyder

   See the README file included with this file for licencing information.

Local variables:
mode: outline
paragraph-separate: "[ 	]*$"
end: