Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / u-boot / arch / powerpc / cpu / mpc824x / drivers / errors.h
diff --git a/qemu/roms/u-boot/arch/powerpc/cpu/mpc824x/drivers/errors.h b/qemu/roms/u-boot/arch/powerpc/cpu/mpc824x/drivers/errors.h
new file mode 100644 (file)
index 0000000..20794a2
--- /dev/null
@@ -0,0 +1,212 @@
+/*     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 */