Commit Graph

320 Commits

Author SHA1 Message Date
thorpej
3b29e1e158 Clean up the Rawhide interrupt code some more:
- Actually display the kn300 irq, not the MCPCIA irq, in the interrupt
  string.  Also, don't bother displaying device/pin on strays, since
  it doesn't play will with shared interrupts that would happen due to
  a PCI-PCI bridge.
- Shave a few more cycles out of the interrupt dispatch routine.
1999-04-16 21:29:47 +00:00
thorpej
d38cab08e5 Add SGMAP stuff for Window 2, and rename Window 0's SGMAP stuff to indicate
its use.
1999-04-16 02:18:07 +00:00
thorpej
1ddebc8444 Fix a silly bug present since rev 1.1; the direct-mapped window is
supposed to be Window 1, but a cut'n'paste error made it stomp over
Window 0, thus breaking ISA DMA.  Fix this.  (Confirmed to work with
floppy driver.)

While I'm here, do something I've been meaning to do for a while: change
Window 1 from a 1G at 2G to a 2G at 2G direct-mapped window, and add
a Window 2 of 1G at 1G SGMAP-mapped.  Chain Window 2 to Window 1, and
use it as a fall-back for PCI DMA if the system has more than 2G of RAM.
1999-04-15 23:47:52 +00:00
thorpej
31c4e50d3a - Change the "savunit[]" and "savirqs[]" arrays to ints, rather than chars.
The access is more efficient this way (and this was done in the interrupt
  dispatch code, so some cycles are actually shaved), and gcc gets annoyed
  when chars are used as array subscripts.
- Adjust for the fixed Rawhide console initialization.
- When mapping a PCI interrupt, don't always map device 1 to IRQ 16.  Device
  1 is only the internal 53c810 on MID 5, and is an invalid device number
  on any other MID.
- Adjust for change mcpcia_config/mcpcia_softc structures.
- Nuke the kludgy linked list of mcpcia_softc structures.  Instead, just
  use savunit[v] to index into mcpcia_cd.cd_devs[] to find the MCPCIA
  which has the stray interrupt.
- Some other minor cosmetic cleanup.
1999-04-15 22:37:25 +00:00
thorpej
592cdd4bda Adjust for new register access arguments, and make one slight cosmetic
change.
1999-04-15 22:32:21 +00:00
thorpej
f2368c1301 CHIP_EX_MALLOC_SAFE() now must pay attention in class. 1999-04-15 22:31:16 +00:00
thorpej
279f30928f Add support for a single statically-allocated MCPCIA configuration structure,
which holds state of the MCPCIA to which the console is attached.

- All MCPCIA info is now stored in the mcpcia_config structure; the
  mcpcia_softc only contains a struct device and a pointer to one of these.
- If attaching the console MCPCIA, use the static configuration, else allocate
  the substructure.
- Rename mcpcia_init() to mcpcia_init0(), and make it take a "mallocsafe"
  argument.
- Implement a new mcpcia_init(), which looks for the MCPCIA which has the
  EISA bridge attached.  Initialize this MCPCIA as the console MCPCIA (the
  console on the Rawhide is only allowed on this MCPCIA; firmware rule).
- Eliminate the kludgy linked listed of mcpcia_softcs.  Just use mcpcia_cd
  to find all configured instances.

Separate bug fix: Actually clear the MCPCIA error mask after probing for
PCI (and ISA) devices, don't just clear it twice in mcpcia_init0().

Some other slight cleanup.
1999-04-15 22:27:40 +00:00
cgd
6d0fadbd19 be more consistent about use of 'cputype'. e.g. it's in a header, don't
bother 'externing' it everywhere!
1999-04-10 01:21:36 +00:00
pk
23c3e1a4a1 Fix garbled words in copyright statement. 1999-04-06 19:26:32 +00:00
cgd
8e85aac1ce move pci/pci_machdep.h to include/pci_machdep.h. (can't do it via
repository copy because alpha already had an include/pci_machdep.h in
the attic.)
1999-03-19 03:40:46 +00:00
perry
02a2323b29 ovbcopy->memmove 1999-03-12 22:56:21 +00:00
perry
a92175a153 nuke ovbcopy 1999-03-12 22:54:58 +00:00
mjacob
1611b4799f Gronk. DWLPX comment in a MCPCIA file. 1999-02-17 03:17:17 +00:00
thorpej
02d221f94a Fix printf format problems on Alpha. 1999-02-12 06:25:13 +00:00
thorpej
db631acd8a Fix printf format problems on Alpha. 1999-02-12 06:07:52 +00:00
ross
d963824bdc #include <machine/intrcnt.h> 1998-11-19 02:35:39 +00:00
ross
bc9cb58205 Fix interrupt map for baseboard bridge. 1998-11-19 02:33:37 +00:00
mjacob
82b48f66b6 If NSIO not defined, compile errors. 1998-10-31 23:51:05 +00:00
ross
e43333b7e7 Move if_ade* from alpha/pci/ to alpha/a12/ 1998-09-24 05:36:05 +00:00
ross
86f044d10e Track changes elsewhere in the PCI interface. 1998-09-23 21:20:55 +00:00
ross
55714d5b34 Update for vm_offset_t, vaddr_t sweep. 1998-09-23 21:17:17 +00:00
thorpej
1df7dffd26 Nuke an unused variable. 1998-09-01 21:28:04 +00:00
cgd
d58173741d kill the last remnants of __BROKEN_INDIRECT_CONFIG. (only the pica port
used it, and it's non-working and apparently slated for replacement.)
1998-08-31 22:28:04 +00:00
cgd
3110e22945 use current bus_space interface names for barrier ops 1998-08-30 23:29:10 +00:00
thorpej
c529c40718 Normalize the copyright notice on this file. 1998-08-15 20:42:25 +00:00
thorpej
d5df55112a vm_offset_t -> {paddr_t,vaddr_t}, vm_size_t -> vsize_t 1998-08-14 16:50:00 +00:00
thorpej
8eeb95fce4 Implement pci_intr_disestablish(). 1998-08-01 20:25:12 +00:00
thorpej
92fa3a68ad In sio_intr_disestablish, also make sure that IRQs 0, 1, 8, and 13
default to edge-triggered, just like in the setup.
1998-08-01 19:38:29 +00:00
thorpej
0b60fda7c8 Implement sio_intr_disestablish(), and ensure that an initially-enabled
interrupt is never disabled and an initially-level-triggered interrupt
never becomes untyped.
1998-08-01 18:54:21 +00:00
thorpej
f948e430bb Provide a hook for bypassing space accounting, needed to support ISA PnP
for now.
1998-07-31 04:37:02 +00:00
thorpej
eb32016a95 Split up using BWX for PCI config and bus access. Default to using BWX for
the former, but not the latter.  Hopefully, this will address some problems
people have been experiencing w/ some devices on Pyxis systems when BWX
is used for bus access.  (If it's not used for PCI config access, we can
get fatal machine checks while probing behind PCI-PCI bridges!!)
1998-07-29 01:28:44 +00:00
mjacob
a5e7f763c2 minor tweak, and example of how to do error insertion 1998-07-08 00:58:09 +00:00
mjacob
275fb86f8d add some error handling definitions 1998-07-08 00:40:18 +00:00
thorpej
de83dce0de On second thought, call that like the rest of the shared intr functions. 1998-07-07 22:24:38 +00:00
thorpej
1ddd528346 Fix typi. 1998-07-07 22:02:57 +00:00
thorpej
e82fc7d3cd The Pyxis core logic in the 164SX and 164LX seems to have problems with
stray interrupts.  Do what Digital UNIX (formerly DEC OSF/1) does; just
ignore strays.
1998-07-07 21:49:47 +00:00
thorpej
ca73507d0b The Pyxis core logic in the Miata seems to have problems with stray interrupts.
Do what Digital UNIX (formerly DEC OSF/1) does; just ignore strays.
1998-07-07 21:47:49 +00:00
thorpej
be83de18fd Use ALPHA_SHARED_INTR_DISABLE() to test if a shared interrupt should
be disabled after a stray.
1998-07-07 21:44:57 +00:00
jonathan
011f2bda08 defopt NS, NSIP. 1998-07-05 06:49:00 +00:00
jonathan
3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
thorpej
02b767eee5 Take a stab at EB66 support. An EB66 is basically an EB64+ with a
21066 LCA instead of a 21064 + APECS.
1998-06-27 10:10:51 +00:00
thorpej
dff0b84aba Oops, forgot option header. 1998-06-27 08:59:03 +00:00
ross
50604bf85b Kill off some EVCNT_COUNTERS calls, since [A] it has to be rewritten anyway
before it can be useful, and [B] #ifdefs do not belong at every call site,
a common API should be defined and the implementations conditionalized, not
the calls. Duhh.

Also, remove the initial XXX mystery_icu debugging code.
1998-06-26 21:59:46 +00:00
ross
a0f70c580c New platforms: Mikasa and Mikasa/Pinnacle, aka Pinkasa.
Like the 1000A, the AlphaServer 1000 has a daughtercard assembly that
integrates the CPU and core logic, so these can be ev4/apecs or ev5/cia.
New systype, and, sigh, another way of doing interrupts and another
mystery icu.

Kill off some EVCNT_COUNTERS calls, since [A] it has to be rewritten anyway
before it can be useful, and [B] #ifdefs do not belong at every call site,
a common API should be defined and the implementations conditionalized, not
all the calls. Duhh.
1998-06-26 21:45:56 +00:00
thorpej
78d7f07efd Very preliminary support for the Tadpole/DEC AlphaBook. These are basically
AXPpci33 machines + power management and a Cirrus PCI-PCMCIA controller.

There is currently no support for the power management facilities, and
the PCI-PCMCIA controller driver needs some work, but this should boot
and run from disk.
1998-06-26 05:42:34 +00:00
ross
63e87b1a8e New platforms: Noritake, Pintake, and Corelle. Sometimes these are ev4/apecs,
sometimes they are ev5/cia.
1998-06-24 01:38:59 +00:00
ross
49d5ae18ba Call pci_1000a_pickintr() like on other platforms, but for 1000a expand
the iot, memt, and pc in the call so that pci_1000a_pickintr() (and the
other routines in that module) do not need to be aware of the core logic
type just to pass down memory and I/O space tags or to call the decompose
function.
1998-06-24 01:32:06 +00:00
thorpej
e2ebc10c2d Duuuh! Align the SGMAP page tables to 32K, not 32M. 1998-06-23 02:31:05 +00:00
thorpej
02182100df Use config_defer(). 1998-06-09 18:49:33 +00:00
thorpej
8dedb90f13 The ISA chipset must persist; it's required after autoconfig time. 1998-06-08 23:49:05 +00:00