Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 280007
b: refs/heads/master
c: 8d9f014
h: refs/heads/master
i:
  280005: 70c49b9
  280003: 5f0070a
  279999: fa2f501
v: v3
  • Loading branch information
Finn Thain authored and Geert Uytterhoeven committed Dec 10, 2011
1 parent a4fd674 commit 4656ad4
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 34 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ed04c97d5187c2d606a8fee0ec9ba172942ee508
refs/heads/master: 8d9f014ad16711d79c8a575f2d3d009d2a16c7b7
2 changes: 1 addition & 1 deletion trunk/arch/m68k/mac/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -594,7 +594,7 @@ static struct mac_model mac_data_table[] = {
.ident = MAC_MODEL_TV,
.name = "TV",
.adb_type = MAC_ADB_CUDA,
.via_type = MAC_VIA_QUADRA,
.via_type = MAC_VIA_IIci,
.scsi_type = MAC_SCSI_OLD,
.scc_type = MAC_SCC_II,
.nubus_type = MAC_NUBUS,
Expand Down
12 changes: 12 additions & 0 deletions trunk/arch/m68k/mac/macints.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,18 @@
*
* 6 - off switch (?)
*
* Machines with Quadra-like VIA hardware, except PSC and PMU machines, support
* an alternate interrupt mapping, as used by A/UX. It spreads ethernet and
* sound out to their own autovector IRQs and gives VIA1 a higher priority:
*
* 1 - unused (?)
*
* 3 - on-board SONIC
*
* 5 - Apple Sound Chip (ASC)
*
* 6 - VIA1
*
* For OSS Macintoshes (IIfx only at this point):
*
* 3 - Nubus interrupt
Expand Down
43 changes: 11 additions & 32 deletions trunk/arch/m68k/mac/via.c
Original file line number Diff line number Diff line change
Expand Up @@ -194,38 +194,17 @@ void __init via_init(void)
if (oss_present)
return;

/* Some machines support an alternate IRQ mapping that spreads */
/* Ethernet and Sound out to their own autolevel IRQs and moves */
/* VIA1 to level 6. A/UX uses this mapping and we do too. Note */
/* that the IIfx emulates this alternate mapping using the OSS. */

via_alt_mapping = 0;
if (macintosh_config->via_type == MAC_VIA_QUADRA)
switch (macintosh_config->ident) {
case MAC_MODEL_C660:
case MAC_MODEL_Q840:
/* not applicable */
break;
case MAC_MODEL_P588:
case MAC_MODEL_TV:
case MAC_MODEL_PB140:
case MAC_MODEL_PB145:
case MAC_MODEL_PB160:
case MAC_MODEL_PB165:
case MAC_MODEL_PB165C:
case MAC_MODEL_PB170:
case MAC_MODEL_PB180:
case MAC_MODEL_PB180C:
case MAC_MODEL_PB190:
case MAC_MODEL_PB520:
/* not yet tested */
break;
default:
via_alt_mapping = 1;
via1[vDirB] |= 0x40;
via1[vBufB] &= ~0x40;
break;
}
if ((macintosh_config->via_type == MAC_VIA_QUADRA) &&
(macintosh_config->adb_type != MAC_ADB_PB1) &&
(macintosh_config->adb_type != MAC_ADB_PB2) &&
(macintosh_config->ident != MAC_MODEL_C660) &&
(macintosh_config->ident != MAC_MODEL_Q840)) {
via_alt_mapping = 1;
via1[vDirB] |= 0x40;
via1[vBufB] &= ~0x40;
} else {
via_alt_mapping = 0;
}

/*
* Now initialize VIA2. For RBV we just kill all interrupts;
Expand Down

0 comments on commit 4656ad4

Please sign in to comment.