Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/sgimips/hpc Fix wdsc(4) probe failure on HPC1.5 mac...



details:   https://anonhg.NetBSD.org/src/rev/052e5d2183ed
branches:  trunk
changeset: 993258:052e5d2183ed
user:      tsutsui <tsutsui%NetBSD.org@localhost>
date:      Sun Sep 02 16:18:50 2018 +0000

description:
Fix wdsc(4) probe failure on HPC1.5 machines (Indigo R3k/R4k, IP6/IP10/IP12).

The alignment adjustment code was removed in rev 1.36 for common
mips bus_space changes, but the code was not bus_space related
but used for uint32_t register acccess during probe.

Reported and tested by Naruaki Etomi in PR port-sgimips/53522.
Should be pulled up to netbsd-8.

diffstat:

 sys/arch/sgimips/hpc/wdsc.c |  7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diffs (28 lines):

diff -r 42c2fe2d137d -r 052e5d2183ed sys/arch/sgimips/hpc/wdsc.c
--- a/sys/arch/sgimips/hpc/wdsc.c       Sun Sep 02 16:13:42 2018 +0000
+++ b/sys/arch/sgimips/hpc/wdsc.c       Sun Sep 02 16:18:50 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: wdsc.c,v 1.34 2015/02/18 16:47:58 macallan Exp $       */
+/*     $NetBSD: wdsc.c,v 1.35 2018/09/02 16:18:50 tsutsui Exp $        */
 
 /*
  * Copyright (c) 2001 Wayne Knowles
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wdsc.c,v 1.34 2015/02/18 16:47:58 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wdsc.c,v 1.35 2018/09/02 16:18:50 tsutsui Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -105,6 +105,9 @@
                    haa->hpc_regs->scsi0_ctl);
                asr = MIPS_PHYS_TO_KSEG1(haa->ha_sh + haa->ha_devoff);
 
+               /* XXX: hpc1 offset due to SGIMIPS_BUS_SPACE_HPC brain damage */
+               asr = (asr + 3) & ~0x3;
+
                if (platform.badaddr((void *)reset, sizeof(reset)))
                        return 0;
 



Home | Main Index | Thread Index | Old Index