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