case MACH_CLASSQ2:
setmachdep(){	static int firstpass = 1;	int setup_mrg_vectors = 0;	struct cpu_model_info *cpui;	/*	 * First, set things that need to be set on the first pass only	 * Ideally, we'd only call this once, but for some reason, the	 * VIAs need interrupts turned off twice !?	 */	if (firstpass) {		get_machine_info();		load_addr = 0;	}	cpui = &(cpu_models[mac68k_machine.cpu_model_index]);	current_mac_model = cpui;	if (!firstpass)		return;	/*	 * Get the console buffer physical address.  If we can't, we	 * assume that videoaddr is already a physical address. 	 * Note that get_physical doesn't yet work on the '040.	 */	if ((mmutype == MMU_68040) || !get_physical(videoaddr, &conspa))		conspa = videoaddr;	/*	 * Set up any machine specific stuff that we have to before	 * ANYTHING else happens	 */	switch (cpui->class) {	/* Base this on class of machine... */	case MACH_CLASSII:		VIA2 = 1;		IOBase = 0x50f00000;		Via1Base = (volatile u_char *) IOBase;		mac68k_machine.scsi80 = 1;		mac68k_machine.sccClkConst = 115200;		via_reg(VIA1, vIER) = 0x7f;	/* disable VIA1 int */		via_reg(VIA2, vIER) = 0x7f;	/* disable VIA2 int */		setup_mrg_vectors = 1;		break;	case MACH_CLASSPB:		VIA2 = 1;		IOBase = 0x50f00000;		Via1Base = (volatile u_char *) IOBase;		mac68k_machine.scsi80 = 1;		mac68k_machine.sccClkConst = 115200;		/* Disable everything but PM; we need it. */		via_reg(VIA1, vIER) = 0x6f;	/* disable VIA1 int */		/* Are we disabling something important? */		via_reg(VIA2, vIER) = 0x7f;	/* disable VIA2 int */		break;	case MACH_CLASSDUO:		/*		 * The Duo definitely does not use a VIA2, but it looks		 * like the VIA2 functions might be on the MSC at the RBV		 * locations.  The rest is copied from the Powerbooks.		 */		VIA2 = 0x13;		IOBase = 0x50f00000;		Via1Base = (volatile u_char *) IOBase;		mac68k_machine.scsi80 = 1;		mac68k_machine.sccClkConst = 115200;		/* Disable everything but PM; we need it. */		via_reg(VIA1, vIER) = 0x6f;	/* disable VIA1 int */		/* Are we disabling something important? */		via_reg(VIA2, rIER) = 0x7f;	/* disable VIA2 int */		break;	case MACH_CLASSQ:	case MACH_CLASSAV:		VIA2 = 1;		IOBase = 0x50f00000;		Via1Base = (volatile u_char *) IOBase;		mac68k_machine.sonic = 1;		mac68k_machine.scsi96 = 1;		mac68k_machine.sccClkConst = 115200;		via_reg(VIA1, vIER) = 0x7f;	/* disable VIA1 int */		via_reg(VIA2, vIER) = 0x7f;	/* disable VIA2 int */		if (cpui->machineid == MACH_MACQ700) {			mac68k_vidlog = mac68k_vidphys = 0xf9000000;			mac68k_vidlen = 2 * 1024 * 1024;		}		break;	case MACH_CLASSIIci:		VIA2 = 0x13;		IOBase = 0x50f00000;		Via1Base = (volatile u_char *) IOBase;		mac68k_machine.scsi80 = 1;		mac68k_machine.sccClkConst = 115200;		via_reg(VIA1, vIER) = 0x7f;	/* disable VIA1 int */		via_reg(VIA2, rIER) = 0x7f;	/* disable RBV int */		break;	case MACH_CLASSIIsi:		VIA2 = 0x13;		IOBase = 0x50f00000;		Via1Base = (volatile u_char *) IOBase;		mac68k_machine.scsi80 = 1;		mac68k_machine.sccClkConst = 115200;		via_reg(VIA1, vIER) = 0x7f;	/* disable VIA1 int */		via_reg(VIA2, rIER) = 0x7f;	/* disable RBV int */		break;	case MACH_CLASSIIvx:		VIA2 = 0x13;		IOBase = 0x50f00000;		Via1Base = (volatile u_char *) IOBase;		mac68k_machine.scsi80 = 1;		mac68k_machine.sccClkConst = 115200;		via_reg(VIA1, vIER) = 0x7f;	/* disable VIA1 int */		via_reg(VIA2, rIER) = 0x7f;	/* disable RBV int */		break;	case MACH_CLASSLC:		VIA2 = 0x13;		IOBase = 0x50f00000;		Via1Base = (volatile u_char *) IOBase;		mac68k_machine.scsi80 = 1;		mac68k_machine.sccClkConst = 115200;		via_reg(VIA1, vIER) = 0x7f;	/* disable VIA1 int */		via_reg(VIA2, rIER) = 0x7f;	/* disable RBV int */		break;	default:	case MACH_CLASSH:	case MACH_CLASSIIfx:		break;	}	/*	 * Set up current ROM Glue vectors.  Actually now all we do	 * is save the address of the ROM Glue Vector table. This gets	 * used later when we re-map the vectors from MacOS Address	 * Space to NetBSD Address Space.	 */	if ((mac68k_machine.serial_console & 0x03) == 0 || setup_mrg_vectors)		mrg_MacOSROMVectors = cpui->rom_vectors;	firstpass = 0;}