summaryrefslogtreecommitdiffstats
path: root/cfe/cfe/verif/vapisubr.c
diff options
context:
space:
mode:
Diffstat (limited to 'cfe/cfe/verif/vapisubr.c')
-rw-r--r--cfe/cfe/verif/vapisubr.c122
1 files changed, 122 insertions, 0 deletions
diff --git a/cfe/cfe/verif/vapisubr.c b/cfe/cfe/verif/vapisubr.c
new file mode 100644
index 0000000..1ec130a
--- /dev/null
+++ b/cfe/cfe/verif/vapisubr.c
@@ -0,0 +1,122 @@
+/* *********************************************************************
+ * Broadcom Common Firmware Environment (CFE)
+ *
+ * Verification Test APIs File: vapisubr.c
+ *
+ * This module contains special low-level routines for use
+ * by verification programs. The routines here are the "C"
+ * routines for higher-level functions.
+ *
+ * Author: Mitch Lichtenberg (mpl@broadcom.com)
+ *
+ *********************************************************************
+ *
+ * Copyright 2000,2001,2002,2003
+ * Broadcom Corporation. All rights reserved.
+ *
+ * This software is furnished under license and may be used and
+ * copied only in accordance with the following terms and
+ * conditions. Subject to these conditions, you may download,
+ * copy, install, use, modify and distribute modified or unmodified
+ * copies of this software in source and/or binary form. No title
+ * or ownership is transferred hereby.
+ *
+ * 1) Any source code used, modified or distributed must reproduce
+ * and retain this copyright notice and list of conditions
+ * as they appear in the source file.
+ *
+ * 2) No right is granted to use any trade name, trademark, or
+ * logo of Broadcom Corporation. The "Broadcom Corporation"
+ * name may not be used to endorse or promote products derived
+ * from this software without the prior written permission of
+ * Broadcom Corporation.
+ *
+ * 3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED
+ * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ * PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT
+ * SHALL BROADCOM BE LIABLE FOR ANY DAMAGES WHATSOEVER, AND IN
+ * PARTICULAR, BROADCOM SHALL NOT BE LIABLE FOR DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+ * TORT (INCLUDING NEGLIGENCE OR OTHERWISE), EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ ********************************************************************* */
+
+
+#include "sbmips.h"
+#include "bsp_config.h"
+#include "lib_types.h"
+#include "lib_printf.h"
+#include "lib_string.h"
+#include "cfe_console.h"
+
+#if CFG_VAPI
+
+void vapi_doputs(char *str);
+void vapi_dodumpregs(uint64_t *gprs);
+
+const static char * const gpregnames[] = {
+ "$0/zero","$1/AT","$2/v0","$3/v1","$4/a0","$5/a1","$6/a2","$7/a3",
+ "$8/t0","$9/t1","$10/t2","$11/t3","$12/t4","$13/t5","$14/t6","$15/t7",
+ "$16/s0","$17/s1","$18/s2","$19/s3","$20/s4","$21/s5","$22/s6","$23/s7",
+ "$24/t8","$25/t9","$26/k0","$27/k1","$28/gp","$29/sp","$30/fp","$31/ra",
+ "INX",
+ "RAND",
+ "TLBLO0",
+ "TLBLO1",
+ "CTEXT",
+ "PGMASK",
+ "WIRED",
+ "BADVADDR",
+ "COUNT",
+ "TLBHI",
+ "COMPARE",
+ "SR",
+ "CAUSE",
+ "EPC",
+ "PRID",
+ "CONFIG",
+ "LLADDR",
+ "WATCHLO",
+ "WATCHHI",
+ "XCTEXT",
+ "ECC",
+ "CACHEERR",
+ "TAGLO",
+ "TAGHI",
+ "ERREPC"};
+
+
+
+
+void vapi_doputs(char *str)
+{
+ xprintf("# %s\n",str);
+}
+
+void vapi_dodumpregs(uint64_t *gprs)
+{
+ int cnt = sizeof(gpregnames)/sizeof(char *);
+ int idx;
+
+ xprintf("# GPRS:\n");
+ for (idx = 0; idx < cnt; idx++) {
+ if ((idx & 1) == 0) xprintf("# ");
+ xprintf(" %8s=%016llX ",gpregnames[idx],gprs[idx]);
+ if ((idx & 1) == 1) xprintf("\n");
+ }
+ xprintf("\n");
+
+}
+
+#endif /* CFG_VAPI */
+
+/* *********************************************************************
+ * End
+ ********************************************************************* */
+
+