Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/mac68k/mac68k Change sccA address for Quadra 800 fr...



details:   https://anonhg.NetBSD.org/src/rev/689220ceaf80
branches:  trunk
changeset: 962034:689220ceaf80
user:      rin <rin%NetBSD.org@localhost>
date:      Wed Apr 28 02:28:05 2021 +0000

description:
Change sccA address for Quadra 800 from base + 0xc000 to 0xc020.

The H/W partially decodes its address, and sccA is available at
offsets 0xc000, 0xc020, .... The functionality is same, but Mac
toolbox ROM routines use 0xc020, and QEMU for Quadra 800 only
supports this address.

Thanks Mark Cave-Ayland for discussion, who is working on NetBSD
support to QEMU for Quadra 800!

diffstat:

 sys/arch/mac68k/mac68k/machdep.c |  13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diffs (34 lines):

diff -r c83e85ee84b8 -r 689220ceaf80 sys/arch/mac68k/mac68k/machdep.c
--- a/sys/arch/mac68k/mac68k/machdep.c  Wed Apr 28 02:15:03 2021 +0000
+++ b/sys/arch/mac68k/mac68k/machdep.c  Wed Apr 28 02:28:05 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: machdep.c,v 1.361 2021/04/28 02:00:58 rin Exp $        */
+/*     $NetBSD: machdep.c,v 1.362 2021/04/28 02:28:05 rin Exp $        */
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -74,7 +74,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.361 2021/04/28 02:00:58 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.362 2021/04/28 02:28:05 rin Exp $");
 
 #include "opt_adb.h"
 #include "opt_compat_netbsd.h"
@@ -2122,6 +2122,15 @@
                        mac68k_machine.scsi96_2 = 1;
                        iop_init(0);    /* For console */
                        break;
+               case MACH_MACQ800:
+                       /*
+                        * The H/W partially decode address for sccA; it is
+                        * available at offsets 0xc000, 0xc020, .... Here,
+                        * we choose 0xc020, where Mac toolbox ROM uses.
+                        */
+                       sccA = (volatile u_char *)base + 0xc020;
+                       SCSIBase = base + 0x10000;
+                       break;
                case MACH_MACQ700:
                        sccA = (volatile u_char *)base + 0xc000;
                        SCSIBase = base + 0xf000;



Home | Main Index | Thread Index | Old Index