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);