Commit Graph

1453 Commits

Author SHA1 Message Date
thorpej
a2f214a443 Add fine-grained locking, using a locking protocol modeled after the i386
UVM pmap's locking protocol, written by Chuck Cranor.  Not all of the
support for multiple processors is here yet, but the kernel does run
under moderate loads with LOCKDEBUG (all locking operations are no-ops
unless LOCKDEBUG is turned on).

This is by no means complete... there are still some possible snares
to take a look at.
1998-05-20 04:05:50 +00:00
thorpej
6626878e7b It is no longer necessary for pmap_pinit() and pmap_release() to be
pmap interface functions, as NetBSD no longer uses statically allocated
pmaps (except for the kernel pmap, which is special-cased anyhow).
1998-05-19 19:00:11 +00:00
thorpej
ca819f2940 Argh, finish renaming Lev1map to kernel_lev1map. 1998-05-19 18:35:11 +00:00
thorpej
eaf145ad5e Make function naming consistent, and teach pmap_pv_dump() about page
usage types.
1998-05-19 05:21:34 +00:00
thorpej
dc13176aec No need to keep global pointers to the initial kernel level 2 and level 3
page tables.  Also, rename Lev1map to kernel_lev1map.
1998-05-19 02:57:01 +00:00
thorpej
804e5be6f7 Nuke `register'. 1998-05-19 02:43:48 +00:00
thorpej
293854e385 Put pmap_initialized in the BSS segment. 1998-05-19 02:42:41 +00:00
thorpej
ca12fa7ebe Make PT page reference counting more generic so it can be used for other
special use page types.
1998-05-19 02:04:28 +00:00
thorpej
8fdc16212f The Alpha architecture has a variable page size; don't hardwire the
number of PV entries per page at compile time.
1998-05-19 00:42:16 +00:00
thorpej
b44dc2ecbf Make the page attribute manifest constant names have similar form to
page usage manifest constant names.
1998-05-19 00:29:03 +00:00
thorpej
180f140a85 Keep track of page usage inside the pmap (pvent, l{1,2,3}pt page, "normal"). 1998-05-19 00:20:21 +00:00
matt
ba482f242f Fix lc0 (lemac) line(s) so that the de20[345]s will work again. Add depca
for de20[012]s (tested and works on a pc164sx).
1998-05-14 21:53:40 +00:00
drochner
95bdb660ed Simple screen attribute handling for wscons.
The graphics device driver passes a "default attribute" for normal text
output to the wscons framework. If the emulation module needs more
attributes (for different "renditions") it can allocate them via a
callback.
For now, only the "sun" emulation makes use of it.
1998-05-14 20:49:55 +00:00
thorpej
d19fbe1196 Garbage-collect the old confargs stuff that was used in the Early Days.
It isn't really appropriate anymore.  Replace it with a real mainbus
attach args structure.
1998-05-14 00:01:30 +00:00
thorpej
6a49b0a33e Clean up some historical artifacts. 1998-05-13 23:38:26 +00:00
thorpej
748d204949 Cleanup TurboLaser autoconfiguration somewhat. 1998-05-13 23:23:23 +00:00
thorpej
b24eb75496 Clean up a buglet. 1998-05-13 23:22:08 +00:00
thorpej
ca9600b324 Implement and use gbussubmatch(). 1998-05-13 22:13:35 +00:00
thorpej
326f8183dc No need to hard-code the mcclock offset on the gbus; gbus is direct-config. 1998-05-13 22:03:07 +00:00
thorpej
fb9726fe91 Add a few files related to the Digital Personal Workstation. 1998-05-13 21:59:32 +00:00
thorpej
49aa171ab9 Add support for chaining DMA windows together, for falling back on
SGMAPs if a direct-mapped window fails.
1998-05-13 21:21:16 +00:00
thorpej
b012e4e39b Normalize gbus configuration somewhat, and add support for configuring
the Zilog DUARTs.
1998-05-13 02:50:29 +00:00
thorpej
6172f5a0ac Use flags instead of a bunch of booleans. Add a "use bwx" flag. 1998-05-12 19:07:21 +00:00
thorpej
0b64ea0879 Gah, typo. 1998-05-12 18:45:04 +00:00
thorpej
86ee1b1000 Oops, and the writes, too. 1998-05-12 18:44:32 +00:00
thorpej
cc45d00d3c Clean up the code that puts the PCI controller into config mode 1; no
functional difference.
1998-05-12 18:40:44 +00:00
thorpej
34bbe5cd80 Rework ALCOR/ALCOR2/Pyxis recognition Yet Again. (Actually, just the
way it's displayed, and mask off the revision once we've determined
which chip we're talking to.)
1998-05-11 23:56:16 +00:00
thorpej
0624060713 Rework PCI interrupt mapping on the EB164 systype. Rather than computing
interrupt routing directly, use the interrupt routing information provided
in the PCI "line" register.  The previous scheme did not work properly on
AlphaPC 164SXs.  Also, be silent about the fact that 0/8/x does not
have its interrupt mapped; this is to be expected on the 164SX (this is
the Cypress PCI-ISA bridge, which has IDE wired to compat mode on functions
1 and 2; the 164SX does _not_ have PCI IDE on device 11 like other AlphaPCs).
1998-05-11 23:36:46 +00:00
thorpej
d5157b2b05 Sync w/ reality 1998-05-11 00:34:24 +00:00
kleink
687ea7404c Fix some arithmetics lossage on typeless pointers. 1998-05-08 16:55:15 +00:00
thorpej
4665241bf8 Simplify the direct-mapped DMA case somewhat by adding a window base
member to the DMA tag, and calling the direct-mapped back-ends directly,
rather than through chipset-specific front-ends which pass the window
base as an additional argument.
1998-05-07 20:09:37 +00:00
mjacob
294015435b remove the unneccessary alpha_mbs and slight cleanup 1998-05-05 22:01:54 +00:00
mjacob
742983f1eb make it impossible to compile w/o SIO (you cannot have a console otherwise 1998-05-05 22:01:31 +00:00
mjacob
1363662600 update for new ws stuff, plus cleanup 1998-05-05 22:00:28 +00:00
mjacob
0713044d87 carry over new ws words from GENERIC 1998-05-05 20:29:18 +00:00
mjacob
bcfe658515 Move declaration within block where it will be used (in case
keyboard not defined).
1998-05-05 20:10:05 +00:00
thorpej
88bf077524 Don't need options UVM and PMAP_NEW anymore; they're now standard. 1998-05-04 04:38:28 +00:00
thorpej
22e3e4691d Make UVM+PMAP_NEW the standard VM system on NetBSD/alpha. 1998-05-04 04:35:46 +00:00
ross
53dbd5b7fc Add file-system MFS to support ftp download of sysinst. 1998-05-03 23:15:45 +00:00
augustss
abbe1b7df3 Add Ensoniq AudioPCI driver. Commented out until tested. 1998-05-01 22:26:54 +00:00
thorpej
b3cdc88a22 Fix some whitespace. 1998-05-01 05:22:16 +00:00
ross
d38d75c9fb Include net/route.h 1998-04-30 08:27:59 +00:00
ross
1e075b072d Rewrite active_pmap() and again kill the reborn curproc bug. 1998-04-30 08:27:00 +00:00
mjacob
de4d1c62af pretty much redo interrupt code- now handles shared interrupts and solves the buspin int problem 1998-04-30 04:31:19 +00:00
mjacob
e3904356a4 do some mbs before a config read/write 1998-04-30 04:25:22 +00:00
thorpej
1686aca01d Pull in opt_gateway.h as appropriate. 1998-04-29 23:11:00 +00:00
thorpej
9e97d1cc17 Define Pyxis Interrupt Mask and General Purpose Output registers. 1998-04-29 03:09:26 +00:00
thorpej
47a53b61ec Add the DEC 550 Personal Workstation slot. 1998-04-29 02:41:41 +00:00
thorpej
371b1a7fb7 Define the DEC 550 Personal Workstation (Miata) systype. 1998-04-29 02:39:24 +00:00
thorpej
829fa05638 Ignore any `-' characters that might have been passed in the boot flags. 1998-04-29 02:13:51 +00:00
thorpej
a152517daa Add interrupt counter space for the DEC EB64+, and fix a misplaced
counter comment in the kn300 interrupt counters.
1998-04-29 00:34:06 +00:00
thorpej
28b467b65b Add support for the DEC EB64+. 1998-04-29 00:24:59 +00:00
thorpej
23a168699c Build EB64+ PCI support if DEC_EB64PLUS is configured. 1998-04-29 00:24:28 +00:00
thorpej
861c7a7e2d Add a stub pckbc_machdep_cnattach() which simply returns an error. This
function is meant to glue the new pckbd driver to the old console code
on ports which use the old PC-style console code.  This will eventually
be purged when all of the old legacy consoles have gone away.
1998-04-28 19:14:27 +00:00
thorpej
4ccb48a525 Try (again) to get the chip number right for Alcor and Pyxis, using the
following (iffy) hueristic:

	CIA revision 1   -> 21171
	CIA revision 2   -> 21172
	CIA revision > 2 -> 21174
1998-04-28 18:11:35 +00:00
thorpej
b217194508 Fix the semantics (and the comment describing them) of pmap_update(). This
function is intended to process any deferred pmap operations, and is not
meant as a general means of flushing the TLB.  Since this pmap module does
not defer any operations, make pmap_update() do nothing.
1998-04-27 19:17:16 +00:00
thorpej
30188853dc Increase the efficiency of pmap_l{2,3}pte() somewhat, by allowing the
caller to pass an optional 3rd argument, which is the previous level
PTE corresponding the virtual address.  If this argument is non-NULL,
the table walk otherwise necessary will be bypassed.
1998-04-27 19:07:03 +00:00
kleink
a53c1863fe Provide definitions for intptr_t and uintptr_t, signed resp. unsigned integral
types large enough to hold any pointer.
1998-04-27 17:39:10 +00:00
drochner
7f77474219 Oops, forgot to delete. It's in dev/pci now. 1998-04-26 11:57:00 +00:00
mjacob
384418e4b7 "Whitespace" does not mean uncommenting a reference to a file that does not, as yet, exist in the tree 1998-04-26 05:18:50 +00:00
thorpej
b6eff278f2 Fix some whitespace lossage. 1998-04-25 00:12:44 +00:00
drochner
660e718e2e Drivers for PC-like console devices are MI now. 1998-04-24 20:05:54 +00:00
thorpej
6f3b521cd5 Whitespace sanity. 1998-04-24 18:18:41 +00:00
mjacob
6cd64be0b6 fix minor typo 1998-04-24 01:25:18 +00:00
thorpej
2b6154a68c Add PCI IDE. 1998-04-18 01:19:40 +00:00
thorpej
792e89a201 Add PCI IDE goop. 1998-04-18 01:19:08 +00:00
thorpej
4fc79b8fd3 First cut at PCI IDE compat interrupt support for the EB164 systype.
PCI IDE is found on the AlphaPC 164SX's Cypress PCI-ISA bridge.
1998-04-18 01:18:37 +00:00
thorpej
574b87a792 Initialize the PCI IDE compat interrupt PCI method to NULL; PCI IDE
compat interrupts are not currently supported on these platforms.
1998-04-18 01:12:23 +00:00
thorpej
78c7ebb2d0 Add a second Alpha-specific pci_chipset_tag_t method for establishing
PCI IDE compat interrupts.  Note that this function is optional, and
platform-specific code may initialize the pointer to NULL.
1998-04-18 01:10:54 +00:00
thorpej
a5f006fb5f Fix a typo. 1998-04-18 01:09:20 +00:00
thorpej
783382095c Machine-dependent bits for PCI IDE. This redirects PCI IDE compat interrupt
goop to the appropriate platform-dependent code.
1998-04-18 01:08:52 +00:00
mjacob
e77859a612 Hmmm... handle the case where there is no keyboard configured (panic
if the console selection is asking for it). Also add the stuff that
was missing from dec_kn300.
1998-04-17 02:45:19 +00:00
thorpej
815703e5ec Make function names in printfs and panics consistent. 1998-04-16 19:50:55 +00:00
thorpej
a048ee73ca Fix a whitespace botch. 1998-04-16 19:40:56 +00:00
thorpej
2615a1d8d3 Allow device 8 (the SIO) to have its interrupt mapped; there might be
a PCI IDE controller on one of the PCI-ISA bridge's functions (e.g.
AlphaPC 164SX).
1998-04-16 19:24:24 +00:00
drochner
3cc1fe831c count allocated screens correctly 1998-04-16 12:52:42 +00:00
thorpej
c72ac312a7 Add pcppi/spkr drivers, and use DHCP for NFS boots. 1998-04-16 04:11:50 +00:00
thorpej
f92ae39153 Make this compile if a Rawhide isn't configured. 1998-04-16 04:04:15 +00:00
mjacob
512e80082b add an AlphaServer 4100 Specific config file 1998-04-15 21:53:25 +00:00
mjacob
a8d3df00ed oops- add missing include 1998-04-15 21:42:24 +00:00
mjacob
afeea01bbd add back in display console stuff 1998-04-15 21:29:03 +00:00
drochner
b7c6c315ea convert to new wscons
(pcppi->pckbc, pms->psm, wscons->wsdisplay)
1998-04-15 21:19:21 +00:00
drochner
b98513c4ff convert to mi wscons 1998-04-15 21:15:08 +00:00
drochner
b9d78308c1 tell drivers that this port knows about the mi wscons stuff 1998-04-15 21:12:45 +00:00
drochner
534775fe76 explicitely initialize console keyboard 1998-04-15 21:06:46 +00:00
drochner
c5ea534f57 Switch the console to polling mode before accessing the keyboard with
interrupts disabled.
1998-04-15 20:51:10 +00:00
drochner
fba6e5e23a update for new mi wscons, add ISA speaker 1998-04-15 20:48:52 +00:00
drochner
584f3e8aa0 Adapt PCI console selection to new mi drivers. 1998-04-15 20:46:34 +00:00
drochner
971dd06182 Adapt ISA console selection ti new mi drivers.
(was broken anyway, a "++" was missing somewhere)
1998-04-15 20:43:07 +00:00
mjacob
70e72d5545 redo misleading comment (thanks, soren) 1998-04-15 20:37:39 +00:00
drochner
90fc55bdf9 use mi wscons and device drivers 1998-04-15 20:35:37 +00:00
thorpej
f82e238b10 Don't need "delaybah" in the attach args anymore. 1998-04-15 20:11:10 +00:00
thorpej
ba1ef83a1e Don't use the ISA `delay port', since it no longer exists. 1998-04-15 20:10:52 +00:00
mjacob
bd2e0fee32 delay handle was removed 1998-04-15 19:49:19 +00:00
mjacob
6cc22e724e Hmmm- how did that happen- I missed a merge 1998-04-15 01:18:17 +00:00
mjacob
cddc0bf326 add Alpha 4100 support 1998-04-15 00:53:53 +00:00
mjacob
6ad4ba8370 some cleanup 1998-04-15 00:51:00 +00:00
mjacob
aed073a77f add Alpha 4100 support 1998-04-15 00:50:14 +00:00
mjacob
0ba76b38c8 spurious interrupt notification and finally adding vmstat -i support 1998-04-15 00:49:58 +00:00
mjacob
0229740b5e removal of unneeded define 1998-04-15 00:49:17 +00:00