ROM vectors and related information needed to support the Performa 588
(and quite probably all LC/Performa 580/588 models). Thanks to Yasuhiro Endoh for providing the necessary data.
This commit is contained in:
parent
6f382db074
commit
15b125de34
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: machdep.c,v 1.183 1998/02/24 05:59:34 scottr Exp $ */
|
||||
/* $NetBSD: machdep.c,v 1.184 1998/02/24 07:00:14 scottr Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1996, 1997 The NetBSD Foundation, Inc.
|
||||
@ -1990,6 +1990,35 @@ static romvec_t romvecs[] =
|
||||
(caddr_t)0x4081c406, /* FixDiv */
|
||||
(caddr_t)0x4081c312, /* FixMul */
|
||||
},
|
||||
/*
|
||||
* Vectors verified for the Performa 588 (and 580?)
|
||||
*/
|
||||
{ /* 19 */
|
||||
"Performa 580 ROMs",
|
||||
(caddr_t) 0x4089a8be, /* ADB interrupt */
|
||||
(caddr_t) 0x0, /* PM ADB interrupt */
|
||||
(caddr_t) 0x408b2f94, /* ADBBase + 130 interupt */
|
||||
(caddr_t) 0x4080a360, /* CountADBs */
|
||||
(caddr_t) 0x4080a37a, /* GetIndADB */
|
||||
(caddr_t) 0x4080a3a6, /* GetADBInfo */
|
||||
(caddr_t) 0x4080a3ac, /* SetADBInfo */
|
||||
(caddr_t) 0x4080a752, /* ADBReInit */
|
||||
(caddr_t) 0x4080a3dc, /* ADBOp */
|
||||
(caddr_t) 0x0, /* PMgrOp */
|
||||
(caddr_t) 0x4080c05c, /* WriteParam */
|
||||
(caddr_t) 0x4080c086, /* SetDateTime */
|
||||
(caddr_t) 0x4080c5cc, /* InitUtil */
|
||||
(caddr_t) 0x4080b186, /* ReadXPRam */
|
||||
(caddr_t) 0x4080b190, /* WriteXPRam */
|
||||
(caddr_t) 0x408b3bf4, /* jClkNoMem */
|
||||
(caddr_t) 0x4080a818, /* ADBAlternateInit */
|
||||
(caddr_t) 0x408a99c0, /* Egret */
|
||||
(caddr_t) 0x408147c8, /* InitEgret */
|
||||
(caddr_t) 0x408a7f74, /* ADBReInit_JTBL */
|
||||
(caddr_t) 0x4087eb90, /* ROMResourceMap List Head */
|
||||
(caddr_t) 0x4081c406, /* FixDiv */
|
||||
(caddr_t) 0x4081c312, /* FixMul */
|
||||
},
|
||||
/* Please fill these in! -BG */
|
||||
};
|
||||
|
||||
@ -2050,6 +2079,7 @@ struct cpu_model_info cpu_models[] = {
|
||||
{MACH_MACP600, "Performa", " 600 ", MACH_CLASSIIvx, &romvecs[2]},
|
||||
{MACH_MACP460, "Performa", " 460 ", MACH_CLASSLC, &romvecs[14]},
|
||||
{MACH_MACP550, "Performa", " 550 ", MACH_CLASSLC, &romvecs[11]},
|
||||
{MACH_MACP580, "Performa", " 580 ", MACH_CLASSQ2, &romvecs[19]},
|
||||
{MACH_MACTV, "TV ", "", MACH_CLASSLC, &romvecs[12]},
|
||||
|
||||
/* The LCs... */
|
||||
@ -2092,6 +2122,7 @@ struct {
|
||||
{ MACH_MACLC575, (caddr_t)0xf9000000, 1024 * 1024 },
|
||||
{ MACH_MACC610, (caddr_t)0xf9000000, 1024 * 1024 },
|
||||
{ MACH_MACC650, (caddr_t)0xf9000000, 1024 * 1024 },
|
||||
{ MACH_MACP580, (caddr_t)0xf9000000, 1024 * 1024 },
|
||||
{ MACH_MACQ605, (caddr_t)0xf9000000, 1024 * 1024 },
|
||||
{ MACH_MACQ605_33, (caddr_t)0xf9000000, 1024 * 1024 },
|
||||
{ MACH_MACQ610, (caddr_t)0xf9000000, 1024 * 1024 },
|
||||
@ -2252,6 +2283,7 @@ setmachdep()
|
||||
case MACH_CLASSQ2:
|
||||
mac68k_machine.sonic = 1;
|
||||
case MACH_CLASSAV:
|
||||
case MACH_CLASSP580:
|
||||
VIA2 = 1;
|
||||
IOBase = 0x50f00000;
|
||||
Via1Base = (volatile u_char *)IOBase;
|
||||
@ -2383,6 +2415,15 @@ mac68k_set_io_offsets(base)
|
||||
sccA = (volatile u_char *)base + 0xc020;
|
||||
SCSIBase = base + 0x10000;
|
||||
break;
|
||||
case MACH_CLASSP580:
|
||||
/*
|
||||
* Here's a queer bird... it seems to be a cross between
|
||||
* the two different Quadra classes.
|
||||
*/
|
||||
Via1Base = (volatile u_char *) base;
|
||||
sccA = (volatile u_char *) base + 0xc020;
|
||||
SCSIBase = base;
|
||||
break;
|
||||
case MACH_CLASSAV:
|
||||
Via1Base = (volatile u_char *)base;
|
||||
sccA = (volatile u_char *)base + 0x4000;
|
||||
|
Loading…
Reference in New Issue
Block a user