Module Name: src
Committed By: macallan
Date: Fri Mar 1 02:30:42 UTC 2019
Modified Files:
src/sys/arch/sparc/dev: sx.c sxvar.h
Log Message:
adapt to changes in sxreg.h
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/sparc/dev/sx.c \
src/sys/arch/sparc/dev/sxvar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/sparc/dev/sx.c
diff -u src/sys/arch/sparc/dev/sx.c:1.3 src/sys/arch/sparc/dev/sx.c:1.4
--- src/sys/arch/sparc/dev/sx.c:1.3 Tue Apr 15 10:24:54 2014
+++ src/sys/arch/sparc/dev/sx.c Fri Mar 1 02:30:42 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: sx.c,v 1.3 2014/04/15 10:24:54 macallan Exp $ */
+/* $NetBSD: sx.c,v 1.4 2019/03/01 02:30:42 macallan Exp $ */
/*-
* Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sx.c,v 1.3 2014/04/15 10:24:54 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sx.c,v 1.4 2019/03/01 02:30:42 macallan Exp $");
#include "locators.h"
@@ -49,6 +49,7 @@ __KERNEL_RCSID(0, "$NetBSD: sx.c,v 1.3 2
#include <sparc/sparc/asm.h>
#include <sparc/dev/sxvar.h>
#include <sparc/dev/sxreg.h>
+#include "opt_sx.h"
/* autoconfiguration driver */
static int sx_match(device_t, struct cfdata *, void *);
@@ -57,6 +58,8 @@ static void sx_attach(device_t, device_t
CFATTACH_DECL_NEW(sx, sizeof(struct sx_softc),
sx_match, sx_attach, NULL, NULL);
+static struct sx_softc *sx0 = NULL;
+
static int
sx_match(device_t parent, struct cfdata *cf, void *aux)
{
@@ -90,7 +93,7 @@ sx_attach(device_t parent, device_t self
id = sx_read(sc, SX_ID);
aprint_normal_dev(self, "architecture rev. %d chip rev. %d\n",
(id & SX_ARCHITECTURE_MASK),
- (id & SX_CHIP_REVISION) >> 8);
+ (id & SX_CHIP_REVISION) >> 3);
/* stop the processor */
sx_write(sc, SX_CONTROL_STATUS, 0);
@@ -114,6 +117,8 @@ sx_attach(device_t parent, device_t self
/* ... and start the processor again */
sx_write(sc, SX_CONTROL_STATUS, SX_PB | SX_GO);
+ sx0 = sc;
+
#ifdef SX_DEBUG
sta(0xfc000000, ASI_SX, SX_LD(8, 31, 0));
for (i = 1; i < 60; i++)
@@ -143,3 +148,15 @@ sx_attach(device_t parent, device_t self
#endif
}
+void
+sx_dump(void)
+{
+ if (sx0 == NULL)
+ return;
+ printf("SX STATUS: %08x\n",
+ bus_space_read_4(sx0->sc_tag, sx0->sc_regh, SX_CONTROL_STATUS));
+ printf("SX ERROR : %08x\n",
+ bus_space_read_4(sx0->sc_tag, sx0->sc_regh, SX_ERROR));
+ printf("SX DIAG : %08x\n",
+ bus_space_read_4(sx0->sc_tag, sx0->sc_regh, SX_DIAGNOSTICS));
+}
Index: src/sys/arch/sparc/dev/sxvar.h
diff -u src/sys/arch/sparc/dev/sxvar.h:1.3 src/sys/arch/sparc/dev/sxvar.h:1.4
--- src/sys/arch/sparc/dev/sxvar.h:1.3 Sun Jun 29 03:57:10 2014
+++ src/sys/arch/sparc/dev/sxvar.h Fri Mar 1 02:30:42 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: sxvar.h,v 1.3 2014/06/29 03:57:10 tsutsui Exp $ */
+/* $NetBSD: sxvar.h,v 1.4 2019/03/01 02:30:42 macallan Exp $ */
/*-
* Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -51,4 +51,6 @@ sx_read(struct sx_softc *sc, int addr)
return bus_space_read_4(sc->sc_tag, sc->sc_regh, addr);
}
+void sx_dump(void);
+
#endif