diff options
Diffstat (limited to 'cpu/mpc824x/drivers/errors.h')
| -rw-r--r-- | cpu/mpc824x/drivers/errors.h | 218 | 
1 files changed, 218 insertions, 0 deletions
| diff --git a/cpu/mpc824x/drivers/errors.h b/cpu/mpc824x/drivers/errors.h new file mode 100644 index 000000000..143518809 --- /dev/null +++ b/cpu/mpc824x/drivers/errors.h @@ -0,0 +1,218 @@ +/*	Copyright Motorola, Inc. 1993, 1994 +	ALL RIGHTS RESERVED + +	You are hereby granted a copyright license to use, modify, and +	distribute the SOFTWARE so long as this entire notice is retained +	without alteration in any modified and/or redistributed versions, +	and that such modified versions are clearly identified as such. +	No licenses are granted by implication, estoppel or otherwise under +	any patents or trademarks of Motorola, Inc. + +	The SOFTWARE is provided on an "AS IS" basis and without warranty. +	To the maximum extent permitted by applicable law, MOTOROLA DISCLAIMS +	ALL WARRANTIES WHETHER EXPRESS OR IMPLIED, INCLUDING IMPLIED +	WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR +	PURPOSE AND ANY WARRANTY AGAINST INFRINGEMENT WITH +	REGARD TO THE SOFTWARE (INCLUDING ANY MODIFIED VERSIONS +	THEREOF) AND ANY ACCOMPANYING WRITTEN MATERIALS. + +	To the maximum extent permitted by applicable law, IN NO EVENT SHALL +	MOTOROLA BE LIABLE FOR ANY DAMAGES WHATSOEVER +	(INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF +	BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS +	INFORMATION, OR OTHER PECUNIARY LOSS) ARISING OF THE USE OR +	INABILITY TO USE THE SOFTWARE.   Motorola assumes no responsibility +	for the maintenance and support of the SOFTWARE. + +*/ + + +#include "config.h" + +/* +         1         2         3         4         5         6         7         8 +01234567890123456789012345678901234567890123456789012345678901234567890123456789 +*/ +/* List define statements here */ + +/* These are for all the toolboxes and functions to use. These will help +to standardize the error handling in the current project */ + +				/* this is the "data type" for the error +				messages in the system */ +#define STATUS unsigned int + +				/* this is a success status code */ +#define SUCCESS 1 + +				/* likewise this is failure */ +#define FAILURE 0 + +#define NUM_ERRORS 47 + +/* This first section of "defines" are for error codes ONLY.  The called +   routine will return one of these error codes to the caller.  If the final +   returned code is "VALID", then everything is a-okay.  However, if one +   of the functions returns a non-valid status, that error code should be +   propogated back to all the callers.  At the end, the last caller will +   call an error_processing function, and send in the status which was +   returned.  It's up to the error_processing function to determine which +   error occured (as indicated by the status), and print an appropriate +   message back to the user. +*/ +/*----------------------------------------------------------------------*/ +/* these are specifically for the parser routines 			*/ + +#define UNKNOWN_COMMAND		0xfb00 /* "unrecognized command " */ +#define UNKNOWN_REGISTER	0xfb01 /* "unknown register "*/ +#define ILLEGAL_RD_STAGE	0xfb02 /* cannot specify reg. family in range*/ +#define ILLEGAL_REG_FAMILY	0xfb03 /* "cannot specify a range of special +					or miscellaneous registers"*/ +#define RANGE_CROSS_FAMILY	0xfb04 /* "cannot specify a range across +					register families" */ +#define UNIMPLEMENTED_STAGE	0xfb05 /* invalid rd or rmm parameter format */ +#define REG_NOT_WRITEABLE	0xfb06 /* "unknown operator in arguements"*/ +#define INVALID_FILENAME	0xfb07 /* "invalid download filename" */ +#define INVALID_BAUD_RATE	0xfb08 	/* invalid baud rate from sb command */ +#define UNSUPPORTED_REGISTER	0xfb09 	/* Special register is not supported */ +#define FOR_BOARD_ONLY		0xfb0a  /* "Not available for Unix." */ + + + +/*----------------------------------------------------------------------*/ +/* these are for the error checking toolbox				*/ + +#define INVALID			0xfd00 /* NOT valid */ +#define VALID			0xfd01 /* valid */ + +					/* This error is found in the fcn: +					is_right_size_input() to indicate +					that the input was not 8 characters +					long.  */ +#define INVALID_SIZE		0xfd02 + +					/* This error is found in the fcn: +					is_valid_address_range() to indicate +					that the address given falls outside +					of valid memory defined by MEM_START +					to MEM_END. +					*/ +#define OUT_OF_BOUNDS_ADDRESS	0xfd03 + +					/* This error is found in the fcn: +					is_valid_hex_input() to indicate that +					one of more of the characters entered +					are not valid hex characters.  Valid +					hex characters are 0-9, A-F, a-f. +					*/ +#define INVALID_HEX_INPUT	0xfd04 + +					/* This error is found in the fcn: +					is_valid_register_number() to indicate +					that a given register does not exist. +					*/ +#define REG_NOT_READABLE	0xfd05 + +					/* This error is found in the fcn: +					is_word_aligned_address() to indicate +					that the given address is not word- +					aligned.  A word-aligned address ends +					in 0x0,0x4,0x8,0xc. +					*/ +#define	NOT_WORD_ALIGNED	0xfd07 + +					/* This error is found in the fcn: +					is_valid_address_range() to indicate +					that the starting address is greater +					than the ending address. +					*/ +#define REVERSED_ADDRESS	0xfd08 + +					/* this error tells us that the address +					specified as the destination is within +					the source addresses  */ +#define RANGE_OVERLAP		0xfd09 + + +#define	ERROR			0xfd0a /* An error occured */ +#define INVALID_PARAM		0xfd0b /* "invalid input parameter " */ + + +#define INVALID_FLAG		0xfd0c	/* invalid flag */ + +/*----------------------------------------------------------------------*/ +/* these are for the getarg toolbox 					*/ + +#define INVALID_NUMBER_ARGS 	0xFE00 /* invalid number of commd arguements */ +#define UNKNOWN_PARAMETER	0xFE01 /* "unknown type of parameter "*/ + + + + + +/*----------------------------------------------------------------------*/ +/* these are for the tokenizer toolbox 					*/ + +#define ILLEGAL_CHARACTER 	0xFF00 /* unrecognized char. in input stream*/ +#define TTL_NOT_SORTED 		0xFF01 /* token translation list not sorted */ +#define TTL_NOT_DEFINED 	0xFF02 /* token translation list not assigned*/ +#define INVALID_STRING 		0xFF03 /* unable to extract string from input */ +#define BUFFER_EMPTY 		0xFF04 /* "input buffer is empty" */ +#define INVALID_MODE		0xFF05 /* input buf is in an unrecognized mode*/ +#define TOK_INTERNAL_ERROR	0xFF06 /* "internal tokenizer error" */ +#define TOO_MANY_IBS		0xFF07 /* "too many open input buffers" */ +#define NO_OPEN_IBS		0xFF08 /* "no open input buffers" */ + + + +/* these are for the read from screen toolbox */ + +#define RESERVED_WORD		0xFC00 /* used a reserved word as an arguement*/ + + +/* these are for the breakpoint routines */ + +#define FULL_BPDS		0xFA00 /* breakpoint data structure is full */ + + + +/* THESE are for the downloader */ + +#define NOT_IN_S_RECORD_FORMAT 	0xf900 /* "not in S-Record Format" */ +#define UNREC_RECORD_TYPE	0xf901 /* "unrecognized record type" */ +#define CONVERSION_ERROR	0xf902 /* "ascii to int conversion error" */ +#define INVALID_MEMORY		0xf903 /* "bad s-record memory address " */ + + +/* these are for the compression and decompression stuff */ + +#define COMP_UNK_CHARACTER	0xf800 /* "unknown compressed character " */ + +#define COMP_UNKNOWN_STATE	0xf801 /* "unknown binary state" */ + +#define NOT_IN_COMPRESSED_FORMAT 0xf802 /* not in compressed S-Record format */ + + +/* these are for the DUART handling things */ + +					/* "unrecognized serial port configuration" */ +#define UNKNOWN_PORT_STATE 	0xf700 + + +/* these are for the register toolbox */ + +					/* "cannot find register in special +					 purpose register file " */ +#define SPR_NOT_FOUND		0xf600 + + +/* these are for the duart specific stuff */ + +					/* "transparent mode needs access to +						two serial ports" */ +#define TM_NEEDS_BOTH_PORTS	0xf500 + + +/*----------------------------------------------------------------------*/ +/* these are specifically for the flash routines 			*/ +#define FLASH_ERROR	 	0xf100		/* general flash error */ |