Module Name: src
Committed By: nakayama
Date: Thu Aug 22 09:57:31 UTC 2013
Modified Files:
src/sys/arch/sparc64/dev: psycho.c psychovar.h
Log Message:
Handle US-IIe's STICK counter as 64-bit explicitly to fix a hang at
boot after about 6.5 minutes on 32-bit kernel.
To generate a diff of this commit:
cvs rdiff -u -r1.114 -r1.115 src/sys/arch/sparc64/dev/psycho.c
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/sparc64/dev/psychovar.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/sparc64/dev/psycho.c
diff -u src/sys/arch/sparc64/dev/psycho.c:1.114 src/sys/arch/sparc64/dev/psycho.c:1.115
--- src/sys/arch/sparc64/dev/psycho.c:1.114 Tue Aug 20 19:19:23 2013
+++ src/sys/arch/sparc64/dev/psycho.c Thu Aug 22 09:57:30 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: psycho.c,v 1.114 2013/08/20 19:19:23 macallan Exp $ */
+/* $NetBSD: psycho.c,v 1.115 2013/08/22 09:57:30 nakayama Exp $ */
/*
* Copyright (c) 1999, 2000 Matthew R. Green
@@ -55,7 +55,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: psycho.c,v 1.114 2013/08/20 19:19:23 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: psycho.c,v 1.115 2013/08/22 09:57:30 nakayama Exp $");
#include "opt_ddb.h"
@@ -1520,16 +1520,16 @@ psycho_sabre_dmamap_sync(bus_dma_tag_t t
/* US-IIe STICK support */
-long
+uint64_t
psycho_getstick(void)
{
- long foo;
+ uint64_t stick;
- foo = bus_space_read_8(psycho0->sc_bustag, psycho0->sc_bh,
+ stick = bus_space_read_8(psycho0->sc_bustag, psycho0->sc_bh,
STICK_CNT_LOW) |
(bus_space_read_8(psycho0->sc_bustag, psycho0->sc_bh,
STICK_CNT_HIGH) & 0x7fffffff) << 32;
- return foo;
+ return stick;
}
void
Index: src/sys/arch/sparc64/dev/psychovar.h
diff -u src/sys/arch/sparc64/dev/psychovar.h:1.19 src/sys/arch/sparc64/dev/psychovar.h:1.20
--- src/sys/arch/sparc64/dev/psychovar.h:1.19 Tue Aug 20 19:19:23 2013
+++ src/sys/arch/sparc64/dev/psychovar.h Thu Aug 22 09:57:30 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: psychovar.h,v 1.19 2013/08/20 19:19:23 macallan Exp $ */
+/* $NetBSD: psychovar.h,v 1.20 2013/08/22 09:57:30 nakayama Exp $ */
/*
* Copyright (c) 1999, 2000 Matthew R. Green
@@ -138,7 +138,7 @@ bus_space_tag_t psycho_alloc_bus_tag(str
#define psycho_alloc_mem_tag(pp) psycho_alloc_bus_tag((pp), PCI_MEMORY_BUS_SPACE)
#define psycho_alloc_io_tag(pp) psycho_alloc_bus_tag((pp), PCI_IO_BUS_SPACE)
-long psycho_getstick(void);
+uint64_t psycho_getstick(void);
void psycho_setstick(long);
void psycho_nextstick(long);