Commit Graph

1493 Commits

Author SHA1 Message Date
kleink 1fbd0b3749 GC the unused `physadr' type, which was not able to hold a complete physical
address on 2 architectures anyhow.  Also, move the definition of the `label_t'
type inside _KERNEL protection, since it is specific to the in-kernel
setjmp()/longjmp() implementations.
1998-06-14 20:09:22 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
mjacob b6ac862e01 Roll back to 1.55 level since 1.56 will not compile. 1998-06-12 21:14:43 +00:00
thorpej dfeb8f794c Delete a debugging clause that is no longer necessary, and also can't
work properly if we're testing for a pmap active on _other_ processors.
1998-06-12 07:28:07 +00:00
thorpej 0a47d0d577 Rename active_pmap() to PMAP_ISACTIVE(). 1998-06-12 00:45:47 +00:00
thorpej ff16cd85c0 In pmap_enter(): if old PTE was not valid, we don't need to sync
the I-stream, for the same reason we don't need to invalidate the TLB.
1998-06-11 10:36:08 +00:00
thorpej 2683c2826d Track mappings entered w/ VM_PROT_EXECUTE, and only synchronize the
I-stream when changing PTE bits or removing mappings that were entered
w/ EXECUTE protection.
1998-06-11 10:30:14 +00:00
thorpej c0c2cb0f9a Garbage-collect the old PMAPSTATS stuff; it didn't compile, and should
just be redone from scratch.  Get it out of the way now to make it easier
to restructure a few things.
1998-06-11 05:16:35 +00:00
thorpej 3af0f95d24 Define a macro to test PG_EXEC. 1998-06-11 05:10:41 +00:00
thorpej 55207ad8b4 Define a software PTE bit to track VM_PROT_EXEC. 1998-06-11 05:09:47 +00:00
thorpej afc9b7c59b Significantly reduce the number of I-stream synchronizations by really
decoupling this operation from TLB invalidations (e.g. pull I-stream
syncs out of loops, executing them only once, etc.).
1998-06-11 05:08:37 +00:00
thorpej 817b595bab Separate syncing the I-stream from invalidating the translation buffer. 1998-06-11 02:45:21 +00:00
thorpej 1abd24fffe Correct a comment. 1998-06-11 00:34:16 +00:00
thorpej 02182100df Use config_defer(). 1998-06-09 18:49:33 +00:00
ross 69717a7f0e Fix a UVM #if so {} balance is preserved and ctags(1) doesn't lose. 1998-06-09 09:31:58 +00:00
thorpej 680a3d77f4 Add isa_dma{freeze,thaw}(), used to temporarily stop and then restart
all ISA DMA.  Needed by e.g. the SmartCard reader for Sharks.
1998-06-09 01:04:17 +00:00
thorpej 53394a1d41 Change the ISA DMA API to take an isa_chipset_tag_t rather than
a struct device * corresponding to the ISA bus device.  The ISA DMA
controller driver functions have been renamed and now take a struct
isa_dma_state *, and are called indirectly by machine-dependent code
which provides the DMA state.

These changes allow e.g. `ofisa' (the OpenFirmware configuration
mechanism for the ISA bus, used by e.g. Sharks) to use the MI ISA
DMA controller code.
1998-06-09 00:06:54 +00:00
thorpej 8dedb90f13 The ISA chipset must persist; it's required after autoconfig time. 1998-06-08 23:49:05 +00:00
thorpej f5cd6a7736 Add debugging support to the bus_space macros. If BUS_SPACE_DEBUG (or DEBUG)
is defined, the bus_space macros will check to ensure that the bus address
and the target buffer (if applicable) are aligned properly for the size
of the type being used.  If they are not, a message will be displayed on
the console.

Strict alignment is required by the Alpha architecture, and a trap will
occur of unaligned access is performed.  These changes will aid debugging
of broken device drivers.
1998-06-08 03:42:19 +00:00
sommerfe aedc717c00 Hopefully avoid breaking PCMCIA on alpha. 1998-06-07 19:11:29 +00:00
thorpej 2e9939699d Kernel configuration for my Multia, an example of how to configure a
Multia w/ PCMCIA support.
1998-06-07 00:45:35 +00:00
thorpej 14df007174 Oops, don't forget to fill in *addrp. 1998-06-07 00:29:29 +00:00
thorpej 0890af5ca8 Only disable an interrupt line after MAXSTRAYs if there is no handler
attached; we get stray interrupts on PCI devices sometimes, for some
unknown reason.  (Similar problem exists on the 164SX, which also has
a Pyxis.)
1998-06-06 23:29:23 +00:00
thorpej 331a7f56c1 Remove some debugging code no longer relevant now that we have DMA
window chaining.
1998-06-06 23:11:52 +00:00
thorpej eabad6b572 Implement bus_space_{alloc,free}() for swiz PCI I/O space. 1998-06-06 22:44:46 +00:00
thorpej 7a6d646c9b Implement bus_space_{alloc,free}() for BWX bus space. 1998-06-06 22:28:16 +00:00
thorpej fe17c44d6c Add support for software powerdown of the Digital Personal Workstation. 1998-06-06 20:53:41 +00:00
thorpej 04ba8480ae Use REGVAL64() to frob the Pyxis interrupt mask register. 1998-06-06 20:42:36 +00:00
thorpej 098dd211c7 Define a REGVAL64() for some Pyxis registers. 1998-06-06 20:40:14 +00:00
thorpej 49aea111fb If the platform specified a powerdown hook, and howto has RB_POWERDOWN,
call the hook.  If the hook fails, print a warning, and just halt (RB_HALT
is implied by RB_POWERDOWN).
1998-06-06 20:39:04 +00:00
thorpej 1733ad8dc5 Clean up a little, and add a `powerdown' hook in the platform structure. 1998-06-06 20:18:50 +00:00
thorpej d08070a693 Add a comment describing the locking needs of the alpha_sgmap. 1998-06-06 20:12:28 +00:00
thorpej 85d08836f1 - Don't call *_dma_init() twice; there's no need to. Just do it in *attach().
- Display Pyxis revision properly.
1998-06-06 01:33:44 +00:00
thorpej c0fa3c6ac4 Don't call *_dma_init() twice; there's no need to. Just do it in *attach(). 1998-06-06 01:33:23 +00:00
thorpej 59d76407b4 Display information about which sgmap we're attempting to initialize
if we die in alpha_sgmap_init().
1998-06-06 01:31:46 +00:00
thorpej 9331237596 Oops, turn off some debugging printfs. 1998-06-05 21:47:14 +00:00
thorpej bf8523f4e4 - Egads! There are Pyxis "Pass 1" chips that do not have the DMA bug!
Use the check recommended by the Digital Workstation engineers; look
  for Miata 1 systems (i.e. with Intel SIO).  From Andrew Gallatin.
- Update copyright (Pyxis and BWX).
1998-06-05 19:25:19 +00:00
thorpej f251e3372d Don't attempt to map the PCI IDE interrupt at bus 0 device 11 on the
AlphaPC 164 and AlphaPC 164LX - these are wired to compatibility mode.
1998-06-05 19:15:41 +00:00
thorpej 1aa688234e Miata 1 has an Intel SIO at bus 0 device 7 and a CMD PCI IDE at bus 0
device 4.  Miata 1.5 and Miata 2 have a Cypress at device 7 and PCI IDE
at functions 1 and 2 of the Cypress (like the PC164SX).  These on-board
PCI IDE controllers are wired to compatibility mode, so don't bother
trying to map the interrupt.
1998-06-05 19:04:51 +00:00
thorpej a1c151d56b Add system variation for Miata 1.5. 1998-06-05 18:18:37 +00:00
thorpej c072110af0 Actually, I did use a few of them on this file (I wasn't clear enough
in my mail to Ross, I guess...)
1998-06-05 17:42:53 +00:00
thorpej bb362059ac On Pass 1 Pyxis, disable PCI Read Prefetching, and warn the user about
the DMA bug that exists on this Pyxis revision.
1998-06-05 17:24:11 +00:00
thorpej 29977868a7 What was called CNFG in ALCOR and ALCOR2 is actually called PYXIS_CTRL1
in Pyxis.  Add a comment to this fact.
1998-06-05 17:22:34 +00:00
thorpej 73e5032ac9 Define the Pyxis-specific bits in the CIA_CSR_REV register (ID mask, and
the ID for the 21174).
1998-06-05 17:16:31 +00:00
thorpej 2701ea3ef3 Add DEC_550 (Miata). 1998-06-05 17:03:07 +00:00
ross 5790ee09ee Revert...Jason didn't use Andrew's diffs. 1998-06-05 15:28:40 +00:00
ross 8f455480ef Tweak the copyrights a little bit. pci_550.h gets a TNF copyright, not
CMU, and pci_550.c keeps TNF but gets "Andrew Gallatin and Jason R. Thorpe".
1998-06-05 03:34:27 +00:00
thorpej cf914cac00 oops, read CNFG on all Pyxis revs. 1998-06-05 02:15:38 +00:00
thorpej cbaedc8675 Support for the Digital Personal Workstation [456]xx, a.k.a. Miata (systype
DEC_550).  Mostly cloned from the EB164 systype, with some modifications
from myself, and a few more from Andrew Gellatin.
1998-06-05 02:13:41 +00:00
thorpej 3cfb38c5d1 Define the Pyxis interrupt request register. 1998-06-05 00:53:02 +00:00