Commit Graph

1798 Commits

Author SHA1 Message Date
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
mjacob 5f59df9630 oops on byte enables for TurboLaser systems 1998-04-15 00:48:58 +00:00
mjacob 4fa71d82a5 add Alpha 4100 support 1998-04-15 00:46:57 +00:00
mjacob 17ec1fbf11 clarification of comment 1998-04-15 00:46:41 +00:00
mjacob 65e5c41fad do not cia include files here 1998-04-15 00:46:17 +00:00
mjacob d3f1c5b8d8 add Alpha 4100 support 1998-04-15 00:45:43 +00:00
thorpej 164f56220e Add support for the Cypress CY82C693 PCI-ISA bridge. This bridge is more or
less like an Intel SIO except that the ELCR registers are accessed differently
than on the Intel SIO.

XXX This code needs to be split up into bridge front-end and PIC back-end
XXX pieces.
1998-04-14 22:31:17 +00:00
thorpej 4c01c3c48e Pass the pci_chipset_tag_t to sio_intr_setup(). XXX This code should be
rearranged so that other non-PCI-but-in-all-other-ways-ISA-PIC-like
devices can share code.
1998-04-14 22:20:59 +00:00
tv b21bfbde11 Add -Wno-main conditional on compiler being gcc 2.8 or egcs. (This adds
a HAVE_GCC28 check-variable that can now be used to add other gcc-2.8
flags in cases where they may be useful, or to remove gcc 2.7.2 "bug
workaround" flags.)
1998-04-12 23:47:41 +00:00
mjacob e40e2ff2d0 A little buglet: softc for pceb is same as sio- so declare it as such.
By not doing so, a very obscure bug followed where the config search
stuff stopped at the bridge (pceb) and didn't even call match for the
two Qlogic ISP cards that followed.
1998-04-12 08:32:19 +00:00
cgd 05bb5a1d2f revert back to 1.28 1998-03-30 17:52:03 +00:00
thorpej 0ce9e8b825 We don't have software-only maps, so a NULL pmap_t will never be passed
to pmap functions.
1998-03-28 19:53:42 +00:00
thorpej cbc72091e5 Remove a comment that is not applicable in NetBSD - we don't have
software-only maps.
1998-03-28 19:44:49 +00:00
thorpej ce4810822b Add autoconfiguration support for the Cypress 82C693 PCI-ISA bridge,
found on AlphaPC164SX boards.

Partially from Anders Magnusson <ragge@ludd.luth.se>.
1998-03-28 06:58:43 +00:00
cgd c0ac8bae67 GC alpha's ECOFF_TOOLCHAIN make variable, and related bits. Nobody
should be using an ECOFF toolchain on NetBSD/alpha any more.
1998-03-28 00:50:41 +00:00
thorpej 4893f22399 Much more sane boot block builds, from Chris Demetriou. 1998-03-28 00:21:35 +00:00
thorpej a95651eaea Add a PMAP_KERNEL_PTE() macro that returns the PTE for a given KVA. If
DEBUG, this performs a table walk.  Othwise, the Virtual Page Table is
used.  Use this macro in a few places where this was done by-hand.

Make vtophys() use PMAP_KERNEL_PTE().  In non-DEBUG cases, this is
a fair bit faster.
1998-03-27 19:18:04 +00:00
ross 2ce8cda3e5 Get rid of a /* in a comment. 1998-03-27 01:17:18 +00:00
thorpej b1e15c2005 Add some robustness to pmap_alloc_physpage(): Instead of panic'ing if
we can't get a page, find an inactive pmap and pmap_collect() it,
freeing up a few pages.  Go ahead and die if we can't allocate a page
after 5 tries.
1998-03-27 00:52:43 +00:00
thorpej b86884a71a Give pmap_collect() some substance: when called, a process is being
swapped out, so remove all of the physical mappings the process has
in order to free up the page table pages.

Since the pmap module is allowed to "forget" mappings, pmap_collect()
may be called in other situations where the memory situation is desperate,
although it's more likely that the pages will simply be needed again the
next time a process runs.
1998-03-26 22:18:36 +00:00
thorpej 531db9e0d3 Sanity check the virtual addresses in the kernel and non-kernel cases
of pmap_enter() (and pmap_kenter_*()).  Remove diagnostic check for
kernel pmap in pmap_alloc_asn().
1998-03-26 19:06:28 +00:00
thorpej 040f7cbc70 Remove references to pmap.old.h - It should have just been pmap.h, but
that isn't necessary, either, since <vm/vm.h> is already included.
1998-03-26 18:17:13 +00:00
thorpej c4ba627afc Kernel config file for bishop.nas.nasa.gov and ripley.nas.nasa.gov,
AlphaStation 500 and AlphaStation 600, respectively.
1998-03-26 03:00:36 +00:00
thorpej 9234f2450b Enable DDB history, netbsd.gdb. 1998-03-26 02:58:48 +00:00
thorpej 6111783e61 if NEW_SCC_DRIVER, 3000/300 and 3000/500 aren't PROM console candidates. 1998-03-26 02:53:21 +00:00
thorpej a9e071bef5 defopt NEW_SCC_DRIVER 1998-03-26 02:52:43 +00:00
thorpej 1282aca230 Add options UVM, PMAP_NEW, and NEW_SCC_DRIVER. 1998-03-26 02:51:46 +00:00
thorpej 73f1a02583 If NEW_SCC_DRIVER is defined, the 3000/300 and 3000/500 are not
PROM console candidates.
1998-03-26 02:45:34 +00:00
thorpej 7b4da708cc Add support for attaching a zstty as the console, conditional on
NEW_SCC_DRIVER.
1998-03-26 02:43:22 +00:00
thorpej 4a4bccc923 Remove references to NEW_PMAP. 1998-03-26 02:21:46 +00:00
thorpej 76ba34c797 Remove references to "new_pmap". 1998-03-26 02:19:02 +00:00
thorpej 456b3df281 Remove the Mach 3 pmap from the tree, replacing it with the contents of
pmap.old.<whatever>.  To see the history, look at the corresponding
pmap.old.<whatever> file.
1998-03-26 02:18:03 +00:00
thorpej 3ac5a77c70 Make pmap_kremove() deal with mappings entered with pmap_enter() as well.
Prevents stale PV entries from lingering around.  Fixes a nagging
"kernel stack not valid halt" I was seeing with PMAP_NEW.

Idea from Chuck Cranor.
1998-03-25 22:52:28 +00:00
mjacob db6aafad0b With new pmap stuff, the need for MSS3 goes away. 1998-03-25 18:33:41 +00:00
ross 3786a63843 1. Always link at the high address, now that we can use free ram below
the kernel on most platforms, including all of the entry-level platforms.
2. Kill the comments and options for load address selection.
3. Kill the default -g.
1998-03-25 02:16:41 +00:00
thorpej e6cf334f5c Keep a few things that reference kernel variables out of the namespace.
Add a check to see if libkvm is using this file.
1998-03-25 00:44:34 +00:00
thorpej 49408401a3 In pmap_destroy_lev1map(), fix a problem where the pmap's ASN wouldn't
be invalidated if the pmap is not active.  A rare thing (in fact, I'm
having trouble thinking of a scenario where it would happen), but it was
incorrect, nonetheless.
1998-03-24 22:02:44 +00:00
thorpej ea074f229a cdev_decl the "zs" device (which is really zstty). 1998-03-24 05:17:14 +00:00
thorpej 0105ff6f53 Update my DEC 3000/400 kernel config to reflect usage of the MI SCC driver.
Do not try this at home.  Caution: hot coffee is hot.
1998-03-24 05:16:30 +00:00
thorpej db00f6f709 Define attachments for the MI SCC driver - only hooks up to ioasic
for now.
1998-03-24 05:15:07 +00:00
thorpej a26a53fbbc Slight hack to allow the MI SCC driver to be used at cdev major 15
for testing purposes.  Normal kernels still get the Alpha-specific
SCC driver.
1998-03-24 05:13:59 +00:00
thorpej ee83014c4d Initial mostly-working ioasic attachment for the MI 8530 SCC driver. It is
enough to use as a console on my DEC 3000/400 (connected to a VT-520
terminal).

XXX The MI SCC driver needs serious changes to handle platforms which
have muliple SCC attachments (e.g. the Alpha port, which has an ioasic
attachment for TurboChannel systems and a gbus attachment for TurboLaser
systems).

XXX The MI SCC driver also needs changes to deal with the wacky (to put
it mildly) way the chips are wired up on the ioasic (on both TC Alphas
and DECstations).  These are going to come along later.
1998-03-24 05:12:00 +00:00
mjacob 4ccb969d0b Okay, handle the ALLOCNOW case by doing the appropriate adjustments
up front. Do the spacing arithmetic slightly differently.
1998-03-23 07:51:25 +00:00
mjacob 8e5970917e Redo it slightly so that S/G now appears to work a bit better. This
version has 2GB direct map starting at 2GB, and either 256MB or 1GB
S/G starting at 1MB. I've done *some* testing on this, but I'm not
quite happy with it yet.
1998-03-23 07:42:40 +00:00
mjacob 88c34f6f5f Spaicing for 32 bit ptes (dwlpx only, really) is 0x20, not 1 1998-03-23 07:09:12 +00:00
mjacob 66194d05bc Do a more complete job of figuring out what kind of DWLP? we have- figure
out how much s/g ram is available. Can't really use the 128K entry S/G
ram yet- but I'll fix that later. More importantly, add in a dwlpx_iointr
handler that will try and figure out what the DWLPX error is and at
least print out what is happening- I actually found it useful in S/G
entry debugging as it could tell me that I had some bad S/G entries.
1998-03-23 06:38:10 +00:00
mjacob 51ba315ba2 Slightly restructure interrupt handling to accomodate the addition
of a dwlpx_iointr vector.
1998-03-23 06:32:39 +00:00
mjacob 7c83bc0da6 Prepare for handling multisized S/G maps. Specify dwlpx_iointr function. 1998-03-23 06:31:54 +00:00
jonathan d3d99a28c9 Update #ifdef'ed-out changes from pmax :
* Add more #ifdef pmax/#endif, #ifdef alpha/#endif where appropriate.
    Config and heade files need more work (or replacement)
  change TK_NOTYET to HAVE_RCONS
  change commented-out /* && cn_tab.cn_screen */ to && raster_console()
  * Add DDB hooks.
  * Note where Alpha console ignores carrier on consoles.
  * Add pmax-derived console tty-size code inside HAVE_RCONS
  * Fold in gross pmax rcons-input hooks, inside HAVE_RCONS

Untested, but whitespace/ifdef only,  cross-compiles OK,
preprocessing shows no significat differences (famous last words)
1998-03-22 08:24:52 +00:00
thorpej a5260cbda0 Use atomic set/clear bits in pmap_activate()/pmap_deactivate(). 1998-03-22 07:27:54 +00:00
thorpej fcfe2f1539 Implement a set of `atomic' (using load-locked and store-conditional)
operations.  Initial set includes:

alpha_atomic_setbits_q()	set bits in a quad
alpha_atomic_clearbits_q()	clear bits in a quad
1998-03-22 07:26:32 +00:00
thorpej 9db8ae93c8 - The pmap now includes support for ASNs. We no longer need to flush
the TLB and I-cache in the SWITCH_CONTEXT macro.
- Right after switching to proc0's newly-created context at startup time,
  flush the TLB and I-cache; this is the only place where it's not done
  automatically.
- Fix a nasty bug in a critical section of cpu_switch(); change the
  pmap_activate -> SWITCH_CONTEXT -> pmap_deactivate sequence to
  pmap_deactivate -> pmap_activate -> SWITCH_CONTEXT.  This prevents
  erroneously marking a pmap inactive if switching to a process that
  shares it's address space (and thus its pmap) with the oldproc!  Noticed
  by Chris Demetriou.
1998-03-22 05:46:02 +00:00
thorpej c0cc1ed476 Implement support for Address Space Numbers, greatly reducing the number
of TLB and I-cache flushes, significantly speeding up context switches.

Once again, many thanks to Chris Demetriou and Ross Harvey for code
review and debugging assistance!
1998-03-22 05:41:37 +00:00
thorpej a8d86e5a7c Replace PMAP_ASNGEN_INVALID with PMAP_ASN_RESERVED. 1998-03-22 05:39:50 +00:00
mjacob 86b6520e41 more TS_WOPEN to tp->t_wopen changes 1998-03-21 23:36:19 +00:00
mycroft 0dae91d9af Eliminate uses of TS_WOPEN in hard-wired devices. 1998-03-21 22:52:59 +00:00
mjacob 34f87569b9 add some error defintions 1998-03-21 22:02:42 +00:00
thorpej 66d8f5b544 sync systypes w/ <machine/rpb.h> 1998-03-20 21:48:21 +00:00
thorpej 63c73f94e3 Add a few more systypes. 1998-03-20 21:48:03 +00:00
thorpej 0f95ffdc1d Nuke swpctxt(); it's only used by the Mach pmap, which we will only ever
use for reference.
1998-03-19 06:44:25 +00:00
thorpej 003c50d1d5 Add a macro to invalidate the TLB for a given pmap/va pair. TLB
invalidation algorithm:

	if (old mapping had PG_ASM set || pmap is active) {
		TIBS(va);
		if (also sync I-stream)
			imb();
	}

The check for "old mapping had PG_ASM" will get all kernel mappings (since
kernel mappings always have PG_ASM set).

This allows us to remove the bogus check for the kernel pmap in
active_pmap() - do so.

Use the new TLB invalidation macro whenever such action is needed.
1998-03-18 23:55:25 +00:00
thorpej 15adb17803 Eliminate the last argument from pmap_remove_mapping(); it makes its own
decisions about TLB invalidation.
1998-03-18 23:11:44 +00:00
thorpej 7ee4af11a7 Change active_pmap() to use the CPU mask (XXX and check for kernel pmap
as well, until some other changes are made).  Nuke active_user_pmap(),
and change the places that used it to use active_pmap() instead (as well
as make some DIAGNOSTIC consistency checks).
1998-03-18 22:50:50 +00:00
thorpej 605472f676 Optimize out a TLB invalidation in a common case of pmap_enter(): if
the PTE was previously invalid, no TLB invalidation is necessary because:

	(1) when a PTE is invalidated, its entry is flushed from the
	    TLB

	(2) the PALcode won't install an invalid PTE into the TLB.
1998-03-18 22:13:58 +00:00
thorpej cfdf9a95ad Keep track of which CPUs are using a pmap by setting/clearing bits
in the pmap's CPU mask in pmap_activate()/pmap_deactivate().
1998-03-18 21:57:03 +00:00
thorpej 43614761e3 In cpu_exit() deactivate the address space before freeing the vmspace
structure.  We will continue to run on this context (which is the
global Lev1map at this point) right up until we switch to proc0's
context in switch_exit().
1998-03-18 20:38:07 +00:00
thorpej 87eb2cfded Don't call pmap_deactivate() if we jumped into the middle of cpu_switch()
from switch_exit(), since by this time, the vmspace will have already
been deactivated and freed.
1998-03-18 20:36:13 +00:00
thorpej b637a998f4 Add ASN housekeeping and a CPU mask to the pmap. 1998-03-18 19:39:23 +00:00
thorpej 961a955498 Move the "are we active" macros out of the header file. 1998-03-18 19:27:46 +00:00
thorpej d37acae24c Add a DIAGNOSTIC checks for the kernel pmap in pmap_create_lev1map()
and pmap_destroy_lev1map().  Correct a comment in another DIAGNOSTIC
panic.
1998-03-18 19:21:50 +00:00
thorpej 06b49b8f3e Change a couple of assert()s to DIAGNOSTIC panics. 1998-03-18 19:12:57 +00:00
thorpej 438599b408 Correct a comment in pmap_bootstrap(). 1998-03-18 19:04:42 +00:00
thorpej 56e004c995 Pass the max ASN from the HWRPB to pmap_boostrap(). 1998-03-18 19:02:49 +00:00
thorpej 426d2953f5 Add a macro to test if PG_ASM (Address Space Match) is set in a PTE. 1998-03-18 19:00:15 +00:00
bouyer 9f50fca1fd Add commented out "options FFS_EI" 1998-03-18 16:34:41 +00:00
thorpej 9c1e8fc2ed Implement the PMAP_NEW interface for UVM. 1998-03-17 05:15:24 +00:00
thorpej 1477f77353 Properly depend on the PMAP_NEW option. 1998-03-17 05:00:18 +00:00
thorpej 6bbfd3e9ff Use pmap_kenter_pa() in _bus_dmamem_map() if PMAP_NEW. 1998-03-17 04:59:36 +00:00
thorpej f8cff5ab23 Add a software PTE bit that indicates that a va -> pa mapping was entered
in the physical->virtual list.
1998-03-17 04:53:43 +00:00
thorpej 00452b441f Move PTE-related constants here, and make them not depend on a hard-coded
page size (i.e. use the one initialized from the HWRPB at boot time).

Do a bit of cleanup while here, rendering old inherited constants obsolete.
1998-03-12 07:29:21 +00:00
thorpej 4d8723232d Garbage-collect a bunch of constants that were inherited, but are no
longer necessary or make sense.
1998-03-12 07:28:07 +00:00
thorpej bd3c0e36cf Garbage-collect this a bit. 1998-03-12 06:47:11 +00:00
thorpej 00a597fe92 Use vm_page_alloc1() and vm_page_free1() as appropriate. 1998-03-12 06:27:36 +00:00
thorpej 1f8d640c4b Bump maxusers to 64. 1998-03-12 06:04:47 +00:00
thorpej 6e6e2d7ebf Dump maxusers to 32. 1998-03-12 06:04:31 +00:00
thorpej d9a1f8ba36 Adjust the default and low-bound maxusers, now that the pmap can deal. 1998-03-12 06:04:14 +00:00
thorpej dfe0937a7e If not DEBUG, use the Virtual Page Table to get the PTE for kernel mappings
in pmap_enter() and pmap_emulate_reference().
1998-03-12 02:59:22 +00:00
thorpej 30766180a3 Nuke these; they are long-since obsolete. 1998-03-12 01:28:01 +00:00
thorpej 152a4bfa60 Increase the maximum userspace address to 4TB. Leave the stack at 8G
for now, but make a note that we might want to move it down to 4G later.
1998-03-12 01:25:52 +00:00
thorpej e046925c3a Massive cleanup and partial rewrite of the NetBSD/alpha pmap module.
Major change is that page table page management has been completely
rewritten.  Page tables are now accessed via K0SEG (no more KVA space
wasted on user page tables), and a much larger user address space is
supported.

Many thanks to Chris Demetriou and Ross Harvey for helpful insight and
debugging assistance.
1998-03-12 01:24:52 +00:00
thorpej 900e1c90bd Nuke ALPHA_STSIZE and ALPHA_MAX_PTSIZE. Add macros to compute and operate
on segments mapped by L1 and L2 PTEs.
1998-03-12 01:21:21 +00:00
thorpej 7225aae835 Move check for user-pmap-still-using-Lev1map from pmap_enter_ptpage()
to pmap_enter().
1998-03-09 22:31:23 +00:00
thorpej daa9cfae50 Don't do the Segtabzero-for-dev-zero hack. 1998-03-09 20:43:28 +00:00
thorpej e456fc0538 Simplify/speed up pagemove() somewhat by using the Virtual Page Table. 1998-03-09 20:17:03 +00:00
thorpej 78a173bada Define VPT_INDEX(), which computes the index into the Virtual Page Table
of the PTE that maps the specified virtual address.

Thanks to Chris Demetriou and Ross Harvey for clarifying the VPT.
1998-03-09 19:57:57 +00:00
thorpej b3d7fd8f3f Just use vtophys() to get the PCB phys addr. 1998-03-07 04:20:45 +00:00
thorpej 9c236919e9 Rewrite pmap_extract(), and use it as appropriate in vtophys() rather
than (almost) duplicating the code.
1998-03-07 03:37:02 +00:00
thorpej cd7d081d02 Export a pointer to the Virtual Page Table. 1998-03-07 03:15:43 +00:00
thorpej f7d64ef778 Clean up a comment. 1998-03-07 03:15:06 +00:00
thorpej f55b280ffc Clean this up a bit. 1998-03-07 01:44:08 +00:00
thorpej dcbc04e7af Rename Sysptmap and Sysmap to Lev2map and Lev3map, respectively, and
add some comments describing in better detail what they are and how they
are used.
1998-03-07 01:43:54 +00:00
thorpej 60e6d2e48f Update a comment in pagemove(). 1998-03-07 01:26:04 +00:00
thorpej ff155df72a Nuke kvtopte(). Also, change pagemove() to lookup the from and to PTEs
in each iteration of the loop, since PT pages may not necessarily be
contiguous.
1998-03-07 01:11:39 +00:00
thorpej 60d30d3838 Nuke kvtopte() and ptetokv(). 1998-03-07 01:10:05 +00:00
thorpej 58a7bd9288 Nuke the vatopa() macro. 1998-03-07 00:42:07 +00:00
thorpej 059d0c72de pmap_ste() -> pmap_l2pte(), pmap_pte() -> pmap_l3pte() 1998-03-06 23:41:01 +00:00
thorpej 8081bd3017 Move pmap_pte*() macros into the header file, nuke pmap_ste_v(), add
pmap_lev1pte().
1998-03-06 23:19:26 +00:00
thorpej 53e3bf87b9 Fix think'o in last kcopy() change. 1998-03-05 02:10:57 +00:00
thorpej a2db880e8c In kcopy(), make sure we save and restore the old fault handler; kcopy()
is called from uiomove(), which may be in the code path of servicing
a non-fatal page fault caused by a copyin() or copyout().
1998-03-04 02:11:58 +00:00
cgd 09dbd9234d fix typo in last commit (noticed on inspection) 1998-03-02 21:36:55 +00:00
cgd 7ff7b02fac allow LDSTATIC definition to be overridden by bsd.own.mk/mk.conf 1998-03-02 20:01:05 +00:00
cgd 9da165424c allow LDSTATIC definition to be overridden by bsd.own.mk/mk.conf 1998-03-02 19:57:00 +00:00
ross 03169f0089 Second part of cdev_decl() migration. Declare cputype variable.
Add config info for a12 switch driver and console driver.
1998-03-02 08:04:04 +00:00
ross 41a61f7c9e Update interrupt name table for a12 crossbar. 1998-03-02 07:47:52 +00:00
ross b8d5ca6c78 Centralize cdev_decl() for these MI drivers + a12dc in machine/conf.h (cgd)
(This does not introduce any config or option dependencies.)
1998-03-02 07:44:18 +00:00
ross ff94450f84 Use the more consistent register field names & add ctags(1) keys. 1998-03-02 07:07:41 +00:00
ross 6e6f663204 Rewrite of interrupt dispatch logic. Add ctags(1) keys for *a12*.h files. 1998-03-02 07:03:20 +00:00
ross 13aeff8570 Fix attachment message. 1998-03-02 06:59:38 +00:00
ross 1ada245647 Support attachment of xb and a12dc, define most of the remaining
core logic register fields.
1998-03-02 06:56:16 +00:00
ross 469f9b6126 Clean up attachment code and prototypes. 1998-03-02 06:53:34 +00:00
thorpej 7a571c643b Rename a few macros to better describe what they are:
- kvtol1pte() -> l1pte_index()
- vatoste() -> l2pte_index()
- vatopte() -> l3pte_index()
1998-03-02 00:49:01 +00:00
thorpej 54bb4f9e6e Rewrite pmap_enter() to have a more sane structure, useful for when
page table page management is rewritten.
1998-03-02 00:22:54 +00:00
ross 4ebd177543 Remove the A12 from the rogue's gallery of the promcons-addicted. 1998-03-01 08:17:36 +00:00
ross 39254d4d4b Poll console at 50 Hz, not 1024 Hz! (4 tlb and imb coherency ops per poll
make this exceedingly expensive even on an alpha)  Note: only 3 systypes
still use promcons.
1998-03-01 07:40:11 +00:00
ross 2170c2a46d Force elf symbol sections to an addressable boundary. 1998-02-28 10:38:55 +00:00
cgd 18a1481f7a Use NFS_BOOT_DHCP rather than NFS_BOOT_BOOTP. The former is more
flexible, and the boot blocks use DHCP already(!!!) and it'd be good
for the kernel to be consistent with them.
1998-02-28 02:01:32 +00:00
thorpej ba3ddd48ad Move the code that enters and removes entries from the pv_table into
functions pmap_enter_pv() and pmap_remove_pv().
1998-02-28 01:07:05 +00:00
thorpej 9bbe89ea3f Garbage-collect the kpt_page stuff; it was basically unused in this
pmap, and isn't applicable to how dynamically allocated kernel page
tables will work on the Alpha.
1998-02-27 22:25:25 +00:00
thorpej faf1155de5 Revamp pv_table management:
- Make pv_table an array of struct pv_head's, which contain LIST_HEADs
  for the pv_entry's, as well as page attributes (mod, ref, ptpage).
- Use <sys/queue.h> to manipulate pv_entry lists.
- Fix several obvious bugs in pmap_collect_pv().
- Use K0SEG to access pv_page's.
1998-02-27 19:39:03 +00:00
thorpej f17bbcfffa Changes necessitated by the fact that all pmaps have their own level 1
page tables: use curpcb to determine which level 1 map defines the
current VM context, and use that level 1 map when mapping and unmapping
the PROM.
1998-02-27 04:03:00 +00:00
thorpej c4e7c88520 Step 1 of the Grand Alpha Pmap Rototill:
- Clean up pmap_bootstrap() some, and make a slight change to how the
  PROM mappings are saved.
- Give each pmap its own level 1 page table, rather than sharing a global
  level 1 page table.  This will eventually allow for Very Large user
  address spaces.
- Keep a list of all pmaps, so that when kernel level 2 page tables are
  allocated, all level 1 tables may be updated.
- Add a couple of functions for allocating and freeing page table pages.
- Add a few comments about ASN allocation.
1998-02-27 03:59:58 +00:00
thorpej 5d56ce57ba Several changes related to all pmaps having their own level 1
page table:
- Update the current hwpcb pointer in the SWITCH_CONTEXT macro, so that
  we know it's always correct.
- Optimize cpu_switch(): if we're switching to ourselves, skip the
  actual context swap.
- Clean up some comments and remove some code rendered obsolete by
  the fact that address spaces are now selected by switching to a
  new level 1 page table.
1998-02-27 03:53:49 +00:00
thorpej cb6972d4d3 Implement alpha_pal_swpctx(). 1998-02-27 03:44:53 +00:00
perry 1ed8ea9966 note second parm of sysarch() is now void *, + trivial KNF, etc. 1998-02-25 21:41:55 +00:00
thorpej 58509e699f Add support for UVM. 1998-02-24 07:38:01 +00:00
thorpej 772da350d4 Disable the message buffer during crash dumps by clearing msgbufenabled,
not msgbufmapped.
1998-02-19 04:18:30 +00:00
mycroft 3b9429b248 Minor changes to make all the float.h files match. 1998-02-18 11:01:27 +00:00
cgd f19c0ee648 nuke pmap_map(). it's an internal MD function, and it's unused 1998-02-18 01:44:32 +00:00
thorpej 8354e68508 Remove "class" declarations, and add "devclass" declarations where
appropriate.  Fix several inconsistencies between device class and
attributes.  Mostly from Chris Demetriou.
1998-02-16 22:12:45 +00:00
thorpej b4e77b173a Add support for non-contiguous physical memory, using MACHINE_NEW_NONCONTIG.
These changes also recover memory that is located before the kernel in
the first system software segment on systems which do not use the PROM
for console I/O.  Written by Chris Demetriou and myself.
1998-02-16 03:59:55 +00:00
cgd 1584dc4420 The pmap_emulate_reference warning about the page not being managed should
be a panic instead.  If it's hit, "random" memory is going to be corrupted.
1998-02-14 02:04:05 +00:00
cgd 1538076f47 fix pasto in last (sigh) 1998-02-14 01:18:46 +00:00
cgd ab67040f58 fix for (harmless) bogon introduced in last commit 1998-02-14 01:17:19 +00:00
cgd e719e8f703 adjust kernel core dump code for changes in kcore.h, also clean up
slightly.
1998-02-14 00:53:26 +00:00
cgd 69d88fbfd6 replace the single phys_ram_seg_t with a count. an array of segment
descriptors will be placed after this structure in the core file.
1998-02-14 00:17:57 +00:00
enami 2c12105cda Remove comment which says that fxp is untested (it is known to work now).
Also, make model name closer to what driver prints startup.
1998-02-13 04:33:30 +00:00
cgd 25d056473c Clean up kernel initialization. Use the bootinfo structure (or innate
knowledge) earlier, and gather all information needed earlier.  Mark the
init code carefully re: when it can print stuff out, when it can expect
the firmware to stop working, etc.  Be more careful about using the PROM
console and other PROM facilities, and hint that in the future all use
of firmware/boot program callbacks by the kernel should go away (since
the world may not be mapped the way the firmware/boot program wants!).
1998-02-13 02:09:03 +00:00
thorpej b22ad9fe1a Define a lookup table for Alpha platform variation names. 1998-02-13 01:29:09 +00:00
thorpej bdc328cb13 Use the platform family name in alpha_unknown_sysname(). 1998-02-13 00:27:37 +00:00
thorpej bd60d9c62d Rewrite the way the platform model string is determined:
- Attempt to find the model string in the HWRPB's DSR area.  Failing that
  (if the HWRPB version is too old)...
- Look up the system variation in a variation/string table.  Failing that
  (unknown variation)...
- Create a default model string using the variation number.

Also, factor out a bunch of common code.
1998-02-13 00:12:45 +00:00
thorpej 44df600994 Define the structure of the HWRPB's Dynamic System Recognition area. 1998-02-13 00:07:25 +00:00
thorpej 7fbc685c06 Make it a little more clear that the "eb164" systype doens't necessarily
mean that a machine is a DEC EB164 (it may be an AlphaPC 164, which is
different, from the firmware's perspective).
1998-02-12 20:46:47 +00:00
thorpej 314f40f8d8 We can't count on the CIA revision register telling us if we're a 21171
or 21172, so make the chip/revsion output a little more sane.
1998-02-12 20:43:45 +00:00
cgd 5a1a26d325 set 'hwrpb' in a way that works exactly the same way as the previous
code, but looks significantly less gross.
1998-02-12 02:54:02 +00:00
cgd c7ba12ab93 rename struct rob's "rpb" element to "rpb_phys" for clarity. also,
change its type from a pointer to a never-defined structure to a
u_int64_t.
1998-02-12 02:27:48 +00:00
cgd 92d17b5b50 clean up the way bootinfo information is passed and used: move the version
number passed by the boot block into a register, change the kernel's
bootinfo handing so that it always uses bootinfo to get bootinfo-ish values
(filling them in if the boot blocks didn't pass them), and make versioning
a small bit more sane.
1998-02-12 01:53:18 +00:00
thorpej c26f962957 Use kernel_map in bus_dmamem_{map,free}(). 1998-02-11 03:08:31 +00:00
thorpej 30aa56fc66 Use M_DMAMAP where appropriate. 1998-02-11 01:37:51 +00:00
cgd e21b7a5995 leave space for bootstrap stack when calculating kernstart 1998-02-11 00:05:33 +00:00
thorpej 1951c4b19b Bump KNMEMCLUSTERS slightly, and make it more obvious how to tune it
(lifted from i386 port).
1998-02-10 03:53:01 +00:00
thorpej 68d3b764ce Make it easier to keep the scaled VM_*_SIZE values in sync w/ the
constants.
1998-02-10 03:52:05 +00:00
thorpej 5887833ac7 Kernel for babylon.netbsd.org. 1998-02-10 00:48:14 +00:00
thorpej 8e69ee392a Fixup includes. 1998-02-04 23:41:45 +00:00
thorpej 612aea038c Use the common _bus_dmamap_sync() as the _dmamap_sync method in the
bus_dma_tag_t.
1998-02-04 07:37:28 +00:00
thorpej 1a2b1a18f2 The _dmamap_sync method is no longer optional. 1998-02-04 07:36:10 +00:00
thorpej b1d8bffad8 Flush the CPU write buffer in _bus_dmamap_sync(). 1998-02-04 07:35:30 +00:00
thorpej 8abe76d2f0 Add offset and length parameters to bus_dmamap_sync(), used for specifiying
partial syncs of a DMA mapping.
1998-02-04 05:12:46 +00:00
thorpej 99cc8482d1 Change the last argument of bus_dmamap_sync() from bus_dmasync_op_t to int,
and allow more than one synchronization operation to be specified in
a single call.  Dissallow mixing of PRE and POST operations.
1998-02-04 01:57:27 +00:00
thorpej 2d403996b2 Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
BUS_DMA_COHERENT.
1998-02-04 00:10:30 +00:00
thorpej 5fd0d10994 Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC toBUS_DMA_COHERENT. 1998-02-04 00:04:25 +00:00
mycroft b5c132e4d2 Prototype __flt_rounds() consistently. 1998-02-03 01:26:20 +00:00
thorpej cfa47dfc11 Add support for installing boot blocks into ISO-9660 file system images. 1998-02-01 06:59:30 +00:00
thorpej fea34a1cf2 Bump the ramdisk size to 3M. 1998-02-01 02:55:42 +00:00
thorpej 4efe4fc0da le* at isa? isn't ready for prime-time yet. 1998-02-01 00:24:26 +00:00
ross d0cce6d144 Take Jason's most excellent advice on platform.model. 1998-01-31 10:55:42 +00:00
ross 1e62e0ffd9 Remove the #include of rpb.h from clock.c and set hz from the hwrpb
in alpha_init() instead of from a hardwired 1024 in cpu_initclocks().
1998-01-31 10:32:47 +00:00
cgd 58fb6574f9 valloclim() was unused; kill it. #undef valloc() at the end of
allocsys().
1998-01-31 02:20:44 +00:00
ross 6270ed1711 Add the A12 fast ethernet controller, an if_de.c hacked (prior to
bus_dma's appearance in the tree) to support sram bounce buffers.
When a busified if_de.c appears, this module can join awd.c at the
end of that long walk on a short pier.
1998-01-31 01:43:40 +00:00
ross 3a83745247 In some hp300-derived pmaps, in pmap_page_protect(), don't walk off the
end of the list of physical->virtual entires into NULL space if the last
entry is (mysteriously) wired in the pmap. Add a DEBUG printf on alpha.
1998-01-31 01:32:55 +00:00
ross 1559f49cd1 Correct a number of apparent errors in a few reboot paramemter block fields. 1998-01-29 22:28:52 +00:00
ross ccafd3dcb9 Define the A12 names. 1998-01-29 22:26:24 +00:00
ross f2d2b6bf68 defopt for AVALON_A12 and specifiers for all the platform modules. 1998-01-29 22:23:06 +00:00
ross 18beceb2f9 Recognize Avalon A12 cputype code. 1998-01-29 22:20:15 +00:00
ross 43a3471986 While here in alpha/stand, add a technically required imb coherency op
just before transferring to the kernel entry point.
1998-01-29 22:13:25 +00:00
ross c1972a428c Avoid VMS palcode ops by using a different technique for cpu_number(),
and don't execute the VMS->OSF palcode switch if the OSF palcode
is already running...which will be the case if the console is not
the venerable SRM.
1998-01-29 22:09:37 +00:00
ross 8430acf1e7 Add a12 platform support. The A12 is a scalable, distributed memory parallel
processor.
1998-01-29 21:46:33 +00:00
ross 12f93343cd Add basic platform support for NetBSD on the Avalon A12. I'm running this
CVS commit on one right now...
1998-01-29 21:42:50 +00:00
ross 683fada0e3 Clean up duplicated code sequences and add an imb (a coherency operation)
whenever the console code is mapped and unmapped.
1998-01-29 21:11:58 +00:00
ross 0c4d28f49e Fix an alpha-specific page daemon wedge...the new pmap_clear_reference()
may be faster, but it was supposed to _clear_ PMAP_ATTR_REF, not _set_ it.
1998-01-29 05:44:57 +00:00
thorpej 2538ed1062 Use offsetof() from libkern.h 1998-01-28 02:23:04 +00:00
thorpej 5ac7e550d1 Implement bus_dmamap_load_mbuf(). 1998-01-27 02:35:58 +00:00
mycroft 15ae963bea When dumping, print out the device number as major,minor. 1998-01-24 16:46:23 +00:00
thorpej cacd48c0d6 Print the correct error number if nfs_mount() fails. From Chris Demetriou. 1998-01-23 19:13:28 +00:00
thorpej 9c3ef8899b Don't conditionally define the sgmap_log_entry structure, and turn off
SGMAP logging by default.
1998-01-21 22:36:10 +00:00
thorpej 3d9cd8a05a Extent names are const. 1998-01-21 22:34:38 +00:00
thorpej 12809e3434 If mapping only one segment of DMA memory into KVA space, use K0SEG. 1998-01-19 03:12:20 +00:00
thorpej c6d1f2e018 G/c LANCE DMA allocation goop. 1998-01-19 02:57:28 +00:00
thorpej e5e8573d5c Allocate the LANCE DMA area and set it up here. This is still not
optimal (really should be done further down the food chain), but we
can't really do that in a nice way right now, and this is much better
than what we had before (which was to steal memory pages before the
VM system was bootstrapped).
1998-01-19 02:56:05 +00:00
thorpej bf92ae27ef Pass a pointer to the "get this slot's DMA tag" function pointer to
the tc instance just like we do with the interrupt functions.
1998-01-19 02:54:24 +00:00
thorpej 806e953f2c Get the per-slot DMA tag a bit differently. 1998-01-19 02:53:29 +00:00
thorpej 70da5cdba9 G/c an unused function pointer. 1998-01-19 02:53:03 +00:00
drochner 32d94859ea adapt to changed <dev/ic/i8042reg.h> 1998-01-18 14:45:10 +00:00
thorpej e62d894d7a Implement a prefetch spill page for SGMAP DMA. This works around a slight
annoyance on systems that prefetch the next page during memory -> device
DMA if the DMA comes within a certain distance of the end of the current
page.  This could cause machine checks since the PTE after the last page
would not have the valid bit set.

(I'm not going to complain about this slight kludge too much, since prefetch
makes DMA much faster...)
1998-01-18 00:05:33 +00:00
thorpej 8df306036a Initialize s/g DMA registers in the same order as the CIA chipset's:
(1) window base
	(2) window mask
	(3) translation base
1998-01-17 22:46:55 +00:00
thorpej 3366b987d0 Put SGMAP-related stuff in the DMA map structure directly, rather than
indirecting through a pointer.
1998-01-17 21:53:52 +00:00
thorpej 63db8935a6 Fix initialization of DMA window 0:
- Make sure the page table is aligned to at least 32k.
- Don't consider the MEMCS signal when checking for a window hit.
1998-01-17 03:43:59 +00:00
thorpej 9554b5a243 Update for "minptalign" argument to alpha_sgmap_init(). 1998-01-17 03:40:32 +00:00
thorpej 399f3639cf Don't assume that we'll be using direct-mapped DMA for PCI. 1998-01-17 03:39:51 +00:00
thorpej 361179df26 Make debugging decisions at run-time, and place a handy DDB breakpoint
after a transfer has been mapped in the page table.
1998-01-17 03:38:51 +00:00
thorpej 2981fec2f0 Allow specification of a minimum page table alignment to alpha_sgmap_init().
This is to work around an apparent hardware bug in some 2117x chipsets
where the page table must be aligned to at least 32k.
1998-01-17 03:37:22 +00:00
thorpej 6254765e6a Make this compile again after recent config changes. 1998-01-15 22:22:09 +00:00
thorpej 86adfd8033 Switch to MI IDE drivers, add ATAPI devices. 1998-01-15 07:17:19 +00:00
thorpej c60855e116 Switch to the MI IDE drivers. 1998-01-15 07:09:24 +00:00
thorpej f127dfb6f0 Undo the wdc -> awdc mapping kludge. 1998-01-15 07:02:21 +00:00
thorpej 76e4297b91 No longer needed; we use the MI IDE driver now. 1998-01-15 07:01:51 +00:00
cjs 61826c3946 Make INSTALL a fully-loaded kernel (for booting from network or CD), and
INSTALL-FLOPPY a stripped-down version to fit on a floppy.
1998-01-13 23:49:31 +00:00
thorpej 5419debcb7 Adjust for config changes. 1998-01-12 10:21:02 +00:00
thorpej c5f6a2dbb3 Add (commented out) COMPAT_13 1998-01-12 07:09:24 +00:00
thorpej 83c4c24058 Add "non-volatile" memory cluster usage bit. 1998-01-12 07:07:19 +00:00
perry 6f57e5c573 multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom) 1998-01-09 22:23:44 +00:00
thorpej 1256fac296 Rearrange alpha_init() somewhat, setting the page size much earlier, and
keeping track of where the kernel lives in K0SEG.  Place early data
structure allocation into an allocsys() function, like other ports, so
that it can be used to first calculate the amount of memory needed
for those data structures.
1998-01-09 21:34:47 +00:00
thorpej bb4988dca2 If MACHINE_NEW_NONCONTIG is defined, activate the pmap_steal_memory()
interface.
1998-01-09 19:13:09 +00:00
drochner 9c3e23d351 Compile in BOOTP support for diskless boot. 1998-01-09 17:10:16 +00:00
drochner 874db3d0e0 Selection of network configuration method for diskless boot can be
controlled by config options now. Remove setting of nfs_boot_rfc951,
it is set by default if "option NFS_BOOT_BOOTP" is defined.
1998-01-09 17:06:35 +00:00
thorpej e47378c640 - pmap_collect_pv() is broken; #ifdef it out (it's not currently ever
called anyway, but now at least the reason is documented).
- rearrange a few things to make it easier to add support for non-contigous
  physical memory.
1998-01-09 08:27:09 +00:00
thorpej b115c27722 Get rid of some old cruft. 1998-01-09 08:18:22 +00:00
thorpej 5170264d4e Gather pv_table and pmap_attributes things togther, and macro'ize
access to them a little better.

Also, improve the performance of pmap_is_{referenced,modified}() and
pmap_clear_{reference,modify}() somewhat.
1998-01-09 06:54:17 +00:00
thorpej 14807c2914 Use avail_start/avail_end. 1998-01-09 06:37:04 +00:00
thorpej f9b6954f55 Call vm_set_page_size() after initializing PAGE_SIZE. 1998-01-09 06:35:17 +00:00
perry 015e898c02 RCSID Police. 1998-01-05 07:02:46 +00:00
perry 3e0fad1868 RCSID Police. 1998-01-05 06:28:44 +00:00
thorpej b9f1b716f3 Now that all ports have pmap_activate(), and it has an identical interface,
prototype it in <vm/pmap.h>
1998-01-03 01:12:59 +00:00
thorpej 8b5e0b6e06 Remove a couple of unneeded VM-related headers. 1997-12-31 19:32:55 +00:00
cjs 89951259ed Add kernfs; remove more stuff we don't need. 1997-12-31 16:44:37 +00:00
mjacob feb6e077d4 do not incread vm_kmem_size that radically for 1GB or better machines 1997-12-16 21:59:41 +00:00
mjacob b52361ff54 add missing COMPAT_13 that kleink putzed 1997-11-30 23:18:59 +00:00
mjacob 549ecbd70a make SCSIVERBOSE default 1997-11-26 03:13:53 +00:00
mjacob 61f3754047 add SYSVMSG and SYSVSEM to GENERIC kernel 1997-11-26 03:13:12 +00:00
kleink 66c2794142 Add _BSD_SUSECONDS_T_ and _BSD_USECONDS_T_; do some space vs. tab formatting
cleanup
1997-11-23 20:20:53 +00:00
mjacob 261191603a copyright foo 1997-11-19 15:35:36 +00:00
lukem 6c986561ee * add commented out DDB_HISTORY_SIZE=100 if DDB exists in config file
* fix up use of 'options<SPACE><TAB>'
1997-11-17 01:57:23 +00:00
ross 711247adf8 Eliminate %: use from alpha/trap.c; the policy is to get rid of these
anyway. I _still_ have my doubts about the kprintf %: code, though.
1997-11-17 00:52:49 +00:00
ross 9dcfc52387 Put in Jason's recommended fix for the null-curproc-in-pmap.old.c problem. 1997-11-17 00:11:22 +00:00
mjacob 940f8fcfd1 remove unneeded and conflicting prototype 1997-11-13 18:06:01 +00:00
thorpej ce4c770f88 Make sure CPP, AR, AS, and RANLIB are defined. 1997-11-12 23:11:50 +00:00
thorpej a421995756 Define LORDER, NM, and TSORT here, like we do the rest of the tools. 1997-11-12 22:25:31 +00:00
mjacob 479bc8877c Protect userland applications from the inline splraise function. 1997-11-10 18:23:50 +00:00
thorpej e22396f499 Clean up the messages displayed when either platform support is not
configured into the kernel, or when the platform is not supported.
Use the defopt'ed options, rather than NDEC_... and remove the needs-flag
hack that's existed for a while.
1997-11-06 00:41:45 +00:00
thorpej 4730a8cbec Bug fixes and cleanup from Chris Demetriou <cgd@pa.dec.com>:
- fix _C_LABEL so that it actually works.
- make __RENAME use _C_LABEL.
- fix __RENAME so that it expects an unquoted argument.
- fix __indr_reference and __warn_references so that they
  supply their own final semicolon.
- define __warn_references to nothing if not GNU C (required
  by the way it's used).

The __warn_references semicolon change has to be made
so that __warn_references can be defined into nothing.
(A ; all by itself isn't a great idea.)  The __indr_reference
change was made for consistency.
1997-11-04 23:09:23 +00:00
ross 6f6bb84844 Check for null curproc in pmap_changebit. Fixes the IDE-on-alpha crash
problem reported by Chris Csanady <ccsanady@bob.scl.ameslab.gov>.
this
1997-11-04 07:16:25 +00:00
ross 0ea4820367 --Add handcrafted stack frame directives to locore.s palcode vector
--entries / remove kernel entry from locore / reorganize vector entry
--code. Enables access to stack frames transitively w.r.t. palcode
--vectors, e.g. upward traceback works, inverting (possibly several)
--kernel vectors. Until now, all trackbacks ended at the first-reached
--instance of trap(), which was totally useless as there is no mystery
--to trap->panic->cpu_reboot
1997-11-03 04:22:00 +00:00
lukem 3e8e744696 getopt returns -1 not EOF 1997-11-01 06:49:14 +00:00
thorpej 32146049fa Don't forget to account for scrollskip when computing the current row. 1997-10-27 01:37:33 +00:00
thorpej 023044a749 Clean up printing of chipset revision/capabilities. 1997-10-27 01:08:42 +00:00
thorpej 611012d836 Make the copy_region methods do overlapping copies properly. Fixes
port-alpha/4216 (Chris Demetriou).
1997-10-25 01:21:57 +00:00
thorpej 19c77efe96 In vga_erasecols(), fix botched count and reversed arguments to
bus_space_set_region_2().  From Chris Demetriou <cgd@pa.dec.com>.
1997-10-24 23:03:02 +00:00
thorpej 665f7d1a6e Implement __RENAME() in <machine/cdefs.h> 1997-10-22 05:20:32 +00:00
mjacob 5bd8e6eccc MSS3 needs full SYSV stuff. 1997-10-20 19:48:30 +00:00
explorer f29df68cd4 comment out rnd, mark as experimental 1997-10-20 18:47:08 +00:00
cjs 1a546804ed First go at an INSTALL kernel (add ramdisk, remove unnecessary stuff). 1997-10-19 01:31:49 +00:00
cjs bcced1d9be Check return values from lseek; use SEEK_SET instead of 0. 1997-10-18 22:27:46 +00:00
mjacob c3f84c257a more compile foo 1997-10-17 18:59:48 +00:00
mjacob c8fce5460c more compile foo. 1997-10-17 18:58:16 +00:00
mjacob eb249946d0 Recover from some include file foo. 1997-10-17 18:47:30 +00:00
mjacob d13d5783e4 Add in missing includes. 1997-10-17 18:25:32 +00:00
thorpej 6698c7b3e2 Adjust for new "com" driver home. 1997-10-16 00:58:08 +00:00
mjacob c83fc3eeb6 Remove __VM_PMAP_HACK. 1997-10-14 15:29:50 +00:00
cjs c44bfc9eae Make compile without DIAGNOSTIC set. 1997-10-14 06:22:02 +00:00
cjs 0e4e4777f8 Add pseudo-device rnd. 1997-10-13 06:59:58 +00:00
explorer 80513cb5ae o Make usage of /dev/random dependant on
pseudo-device   rnd                     # /dev/random and in-kernel generator
  in config files.

o Add declaration to all architectures.

o Clean up copyright message in rnd.c, rnd.h, and rndpool.c to include
  that this code is derived in part from Ted Tyso's linux code.
1997-10-13 00:46:08 +00:00
mycroft 9803f46796 Minor rearrangement to match other files. 1997-10-11 09:12:18 +00:00
mycroft 5c8d588138 Nuke NOOBJ. 1997-10-11 08:44:42 +00:00
mycroft acf0e569a5 Update all the tags goo, and use bsd.subdir.mk. 1997-10-11 08:42:02 +00:00
cjs 984390f178 Add now-working ipfilter. 1997-10-10 08:54:14 +00:00
bouyer 6ab3092b11 Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
1997-10-09 15:42:19 +00:00
thorpej 5e05593163 Implement DIOCGDEFLABEL. 1997-10-08 23:23:13 +00:00
gwr bb2d22bde0 use common genassym.awk 1997-10-04 17:21:23 +00:00
gwr c63931a407 use common genassym.awk 1997-10-04 17:14:07 +00:00
thorpej 92a347c574 Copyright assigned to The NetBSD Foundation. 1997-10-04 09:38:47 +00:00
christos 3996b53189 PR/4162: Chris Jones: make cleandir does not work properly; it does not
remove the object files and the .depend file in the kernel build directory.
1997-09-30 22:39:49 +00:00
thorpej d65a5e7fd2 Enter DDB on cntl-alt-esc (a'la i386). 1997-09-25 02:42:47 +00:00
thorpej ef86b9a61d Fix a small oversight in last change. 1997-09-25 02:13:44 +00:00
thorpej 0c2efd7025 Add a "scrollskip" member to wscons_emulfuncs (XXX even though it's not
a function) which specifies how many lines will be skipped when scrolling
up when the bottom of the screen is reached.  Dumb framebuffers skip 10
lines (as before) because the copies are s ... l ... o ... w, but it's
silly to skip 10 lines on VGA, since the copies are much faster, so we
only skip one in that case.
1997-09-25 01:31:53 +00:00
mjacob 42c325e139 A minor barely acceptable hack to handle having a kernel boot on a system
with large amounts of memory and not spew. This doesn't really replace
fixing this problem better later, but it works for now. Basically, if memory
is greater than 128MB, start upping the sizes of some maps.
1997-09-23 23:23:23 +00:00
mjacob b23bbbb05c Redo the platform specific identification and initialization, making
it more explicit where platform specific functions (like machine check
handling) should go.
1997-09-23 23:15:42 +00:00
mjacob 03a798a3fd Add some defines for alpha interrupt types. 1997-09-20 19:02:34 +00:00
mjacob 185cbcebd0 An oops- MSS3 referred to a device not yet integrated. 1997-09-19 22:03:59 +00:00
mjacob 4de790f125 Add in a clause ifdef'd for LIMITMEM- limit usage of memory to a certain
amount. Temporary until more drivers use busdma stuff.

Also correct to unsigned the printing out of memory sizes.
1997-09-19 22:00:34 +00:00
mjacob 206b183a48 Add a config file for large memory 8200s- this is temporary until a
more gracious self correcting (for large memory, e.g., > 1GB) startup happens.
1997-09-19 21:58:47 +00:00
mjacob 0fb787aedb Add missing reference. 1997-09-19 14:48:59 +00:00
mjacob f3d890d1c9 missing cast. 1997-09-19 14:47:33 +00:00
leo d4713d24c2 Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
thorpej 618f6b9541 Make IDE work again, from Ross Harvey <ross@teraflop.com>. 1997-09-19 00:59:38 +00:00
mjacob 9ce899230a After decommisioning a mapping, an IMB kinda needs to happen. 1997-09-18 01:08:56 +00:00
thorpej cd69e27594 Prototype alpha_implver(), and fix a think-o in a previous commit. 1997-09-17 23:33:28 +00:00
thorpej b806d39316 Implement a stub for the "implver" instruction, which returns the
implementation version of the processor.
1997-09-17 23:32:14 +00:00
thorpej 15e10104d5 Define the BWX-capable regions of the CIA chipset's address space (mem,
i/o, pci config space mode 0, pci config space mode 1) and the CIA
REV and CNFG CSRs.
1997-09-17 01:35:34 +00:00
thorpej 879c4c5cf4 If the CIA revision is >= 2, read the CIA configuration register, and
remember its contents.  Print out a bit of information about the chip,
including whether or not it supports the EV56 BWX instructions.
1997-09-17 01:34:18 +00:00
thorpej ed767a2402 Fix a typo in a comment. 1997-09-16 23:12:35 +00:00
thorpej 87c1a08481 Add stubs for the Alpha Byte/Word Extension (BWX) instructions, present
on EV56 and later processors that have the "amask BWX" bit clear.  These
instructions will be used to implement non-swizzle bus access functions
on newer systems, such as the new AlphaStation 500s with EV56 and 21172
PCI chipsets.

See "Alpha Architecture Handbook, Version 3", DEC order number EC-QD2KB-TE.
1997-09-16 23:09:10 +00:00
thorpej 6fc0f07c30 Define the "integer miscellaneous" opcode and subfunctions. 1997-09-16 22:53:32 +00:00
thorpej 149011c65b Add support for disassembling the "integer miscellaneous" opcode subgroup. 1997-09-16 22:52:40 +00:00
is 718fb97e11 Support for the upcoming NetBSD/Amiga Hypercom driver family:
* support chip clocks != COM_FREQ, by introducing sc_frequency (for the
  mainline code) and adding a frequency parameter right after the rate
  parameter to comcnattach() and com_kgdb_attach().
- Make com_isa and com_multi initialize sc_frequency to COM_FREQ.
- Make i386/machdep.c and alpha/dec_xxx.c call com*attach() with the freq.
  parameter.
* supio_attach_args get two more fields: a sc_ipl and a sc_arg, both ints.
- com_supio uses the first for interupt establishment (all childs will, as
  soon as they exist) and the 2nd for sc_frequency.
- drsupio passes sc_ipl alway as 5, and for the "com"s, sc_arg as 16*115200
- hyper will pass sc_ipl as 6, and sc_arg as 16 * 460800
1997-09-16 20:34:23 +00:00
thorpej d1b4b49231 - Use PALcode ops names defined in <machine/pal.h>.
- Fix a few bugs in the software single-stepping support code, where
  VMS PALcode ops were being checked, rather than OSF/1 PALcode ops,
  causing erroneous results in the "exception return" and "unconditional
  branch" predicates.
- Add the BWX instructions ("ldbu", "ldwu", "stb", "stw") to the
  "load" and "store" predicates.
1997-09-16 19:07:19 +00:00
thorpej a14bab3438 Don't define another copy of the PALcode ops here; direct readers to
<machine/pal.h>.
1997-09-16 19:03:22 +00:00
thorpej e7c2d59885 Fix an oversight in the last commit. 1997-09-16 19:02:13 +00:00
thorpej 0599db7897 - Define bits used in the "amask" instruction.
- Define processor family IDs returned by the "implver" instruction.
- Prototype alpha_amask().
1997-09-16 06:57:12 +00:00
thorpej 9faf00ea6a Implement alpha_amask(), a stub which reads the "architecture feature mask"
using the "amask" instruction.
1997-09-16 06:54:01 +00:00
thorpej 4fe999c6bf - Add the "amask" and "implver" operate subfunctions.
- Add the "ldbu", "ldwu", "stb", and "stw" major opcodes (BWX instructions).
1997-09-16 06:52:48 +00:00
thorpej fc80b40481 - Rewrite the functions that provide opcode subfunction names to make it
easier to add instructions that the disassembler doesn't know about
  (the opcode subfunction number is now printed).
- Add the "amask" and "implver" operate subfunctions.
- Add the "ldbu", "ldwu", "stb", and "stw" major opcodes (BWX instructions).
1997-09-16 06:52:16 +00:00
thorpej d1fbc82e28 From page 6-9 of "Alpha AXP Architecture Reference Manual, Second Edition":
An IMB intruction must be executed after software or I/O devices
	write into the instruction stream or modify the instruction
	stream virtual address mapping, and before the new value is
	fetched as an instruction.

We were missing calls to IMB after mappings were changed, which caused
systems with large I-caches (e.g. my AlphaStation 500) to fail miserably
when mapping in new pages of program text, or when context switching
(I couldn't even get the shell from init!).
1997-09-16 01:52:00 +00:00
thorpej 37b8edbeac In addition to MAS_ABT, check TAR_ABT when doing configuration space
reads.  This is necessary because of newer AlphaStation firmware doing
the Wrong Thing with target aborts behind PCI-PCI bridges, much like they
do the Wrong Thing with master aborts.  Reported by Matthias Drochner.
1997-09-15 23:31:15 +00:00
thorpej 12f6c5aba1 Make sure to clear MAS_ABT if we received one. 1997-09-15 23:01:29 +00:00
thorpej 3c3c6a3b31 Use the symbolic name for "received master abort". 1997-09-15 22:35:54 +00:00
thorpej 8ff22715e8 Define bits in the CIA_ERR register. 1997-09-15 22:34:38 +00:00
thorpej e97c5f6c50 Update the model string for current reality. 1997-09-13 10:09:39 +00:00
thorpej 9a5f8236b5 Don't panic if we receive a Processor Correctable Error or a System
Correctable Error; report them, instead.

XXX Need a platform-specific machine check handler so we can decode the
logout area on such errors.
1997-09-13 10:01:33 +00:00
thorpej 12b0c2a20a The Alpha console uses BOOTP for network booting, so the NetBSD kernel
should, too.  Enable the BOOTP support in nfs_boot().
1997-09-13 07:42:01 +00:00
thorpej f784e8dc15 Apparently, new AlphaStation 500/600 firmware has the same problem with
PCI master aborts as eb164 firmware, so use the same workaround mechanism
on all system types (clear error register's master abort bit, and check
it after accessing configuration space), not just eb164's.

This also fixes a bug on eb164's - when making the Alpha port compile
again, I made an error that caused this to not be used on eb164 systems,
either.  Thanks to Matt Jacob for pointing out this goof.
1997-09-13 05:58:07 +00:00
mycroft 16a8787248 Fix execve(2) and *setregs() interfaces so emulations can set registers in a
more correct way.  (See tech-kern.)
1997-09-11 23:01:44 +00:00
drochner 969e506de4 Oops, last change made "make depend" work incompletely. Don't define
a "depend" rule here.
1997-09-06 14:26:47 +00:00
drochner 281398581a -Wall fixes 1997-09-06 14:08:27 +00:00
drochner 3b191b29c0 enable -Wall 1997-09-06 14:07:57 +00:00
drochner be8a78e9b5 -use DHCP extensions in bootp()
-enable -Wall
1997-09-06 14:06:53 +00:00
drochner 80d9738db8 -Wall fixes 1997-09-06 14:03:55 +00:00
drochner d99aa8efc0 Collect prototypes here. 1997-09-06 14:02:51 +00:00
drochner 7546d66094 Make sure the <machine/*.h> includes come from current kernel sources,
not from installed userland.
1997-09-06 14:02:13 +00:00
thorpej ed2ec4869c Update for Chris Demetriou's changes made to the bus.h interface:
- bus_space_copy -> bus_space_copy_region (for consistency)
- "cacheable" argument becomes a "flags" argument instead, with
  BUS_SPACE_MAP_CACHEABLE and BUS_SPACE_MAP_LINEAR flags currently
  defined.
1997-09-06 05:44:07 +00:00
thorpej 1aa35e94d4 s/BUS_BARRIER/BUS_SPACE_BARRIER/g 1997-09-06 05:21:14 +00:00
thorpej 613ee19c60 Add DDB. 1997-09-06 02:04:18 +00:00
thorpej 1f6a8f7d03 Enable DDB. 1997-09-06 02:03:32 +00:00
thorpej 66fdddf6aa Add DDB files. 1997-09-06 02:03:11 +00:00
thorpej 9dcf694bd2 Prototype db_register_value(). 1997-09-06 02:02:25 +00:00
thorpej 998d79d26a Add support for DDB (in-kernel debugger) to NetBSD/alpha, based on
such code for Mach 3's Alpha port.  Initially reworked for NetBSD/alpha
by Chris Demetriou, and then heavily hacked on by me.  Works, but is still
a little rough around the edges.  Known problems:

- Error recovery could be improved a bit.
- Back traces don't work.
- Single-stepping can be flaky, at times.  (Alpha doesn't have hardware
  support for single-stepping, and I'm not entirely convinced the
  MI DDB software-emulated single-stepping logic is 100% correct.)
- Logic for when to drop into DDB needs some improvement.
1997-09-06 02:00:48 +00:00
thorpej 36f209b762 Split off PALcode functions into their own header file. 1997-09-06 01:23:52 +00:00
thorpej 7df7a43ce7 When loading a symbol section, make sure it is aligned. 1997-09-05 21:50:34 +00:00
thorpej ba8becebfc installbood_cd9660 no longer exists. 1997-09-05 20:20:17 +00:00
thorpej 2f657a6266 Add some debugging code to log sgmap activities. Also, make sure that
we return "no valid mappings" if there is an error while loading the
sgmap.
1997-09-05 02:21:49 +00:00
thorpej 2ecccdc05f Define Status 0 and Status 1 registers. 1997-09-05 02:14:31 +00:00
thorpej 55800b610a Implement bus_dmamem_mmap(). 1997-09-05 02:05:37 +00:00
thorpej 6f4f08b8b2 Add a few more PALcode operations, as documented in pages (II-B) 2-1 through
(II-B) 2-33 of the Alpha AXP Architecture Reference Manual, Second Edition:

* rdps - Read Processor Status, needed by spl* functions.
* cflush - Cache Flush
* rdval - Read System Value
* wripir - Write Interprocessor Interrupt Request
* wrval - Write System Value

cflush, rdval, wripir, and wrval are used in multi-processor environments.
1997-09-03 23:09:04 +00:00
thorpej 032358ab33 From hp300 pmap: use mycroft's pv_entry allocator (from i386 port). 1997-09-03 19:07:32 +00:00
thorpej f03ded039c Update from hp300 pmap: define an active_user_pmap() macro and use it. 1997-09-03 00:58:13 +00:00
thorpej 0f5f0e115a Define a cdev_satlink_init(). XXX This should be done in an MI header file. 1997-09-03 00:25:01 +00:00
thorpej 6cf58542f9 PMAP_{,DE}ACTIVATE() are no longer exported from the Utah-derived pmap. 1997-09-02 23:52:55 +00:00
thorpej 243aa23148 Add __KERNEL_RCSID() and definitions for ISA satlink driver. 1997-09-02 23:41:04 +00:00
thorpej 44e33a2f5f Update for changes to how bus space tags are initialized. 1997-09-02 20:43:07 +00:00
thorpej 90798596fe Remove references to vm_pmap. 1997-09-02 20:37:23 +00:00
thorpej e7bb7bdc4b Remove references to vm_pmap. 1997-09-02 20:11:24 +00:00
thorpej f203067ae3 Adjust for changes to bus space tag initialization. 1997-09-02 20:10:28 +00:00
thorpej a71cecbec3 Fix a typo. 1997-09-02 20:08:02 +00:00
thorpej 991f4ebc72 cia_bus_ -> cia_swiz_bus_ 1997-09-02 20:07:20 +00:00
thorpej 80e3db443f Apply a change made to other PCI chipsets:
don't expect/provide pci_decompose_tag to be a MI, public function.  It
wasn't intended to be to begin with, and uses of it (e.g. the one in the
'de' driver) are quite likely to be incorrect.
1997-09-02 20:05:28 +00:00
thorpej 3735c7d1d7 Fix a think-o. 1997-09-02 19:39:15 +00:00
thorpej df1dcf81d0 Oops, missed one. 1997-09-02 19:18:20 +00:00
thorpej cc5eaab25b More garbage-collection. 1997-09-02 19:16:32 +00:00
thorpej b2a8424bb5 Garbage-collect loadustp(); the functionality has moved to pmap.old.c 1997-09-02 19:07:22 +00:00
thorpej 2c5c631b71 - Make the pmap_activate() and pmap_deactivate() interfaces consistent my
passing them a proc *, which encapsulates all of the information necessary
  to activate an address space.
- Garbage-collect pmap->pm_stchanged; it's not really used for anything.
1997-09-02 19:06:13 +00:00
thorpej bf232f7a37 Make the pmap_activate() and pmap_deactivate() interfaces consistent my
passing them a proc *, which encapsulates all of the information necessary
to activate an address space.
1997-09-02 19:04:57 +00:00
thorpej a47a8a25d6 Adjust for an interface change in a not-NEW_PMAP case in cpu_fork(). 1997-09-02 19:03:58 +00:00
thorpej f1373b949c - Make the pmap_activate() and pmap_deactivate() interfaces consistent my
passing them a proc *, which encapsulates all of the information necessary
  to activate an address space.
- Garbage-collect pmap->pm_stchanged; it's not really used for anything.
1997-09-02 19:00:53 +00:00
thorpej 5042993a22 - Make the pmap_activate() and pmap_deactivate() interfaces consistent my
passing them a proc *, which encapsulates all of the information necessary
  to activate an address space.
- Clean up some debugging code.
1997-09-02 18:59:02 +00:00
thorpej 364d6a31a7 Adjust some NEW_PMAP code for a slight interface change. 1997-09-02 18:54:28 +00:00
thorpej 511e46c568 Clean up the context switching code a bit:
- Marco-ize the 3 instructions that actually switch to the new process
  context.
- Unify (except for the pmap_deactivate() call) the NEW_PMAP and not-NEW_PMAP
  versions of cpu_switch(), and clean up some comments.
- Tidy up the not-NEW_PMAP bits of switch_exit().
1997-09-02 18:53:26 +00:00
thorpej d316987784 Garbage-collect VM_PMAP_STPTE, USTP_OFFSET, VM_PMAP. Define VM_MAP_PMAP
instead.
1997-09-02 18:48:58 +00:00
thorpej b7b3955ce0 Fix a typo: ALPHA_PTE_WRITE needs to include the "user write" bit. 1997-09-02 14:29:37 +00:00
thorpej 6caf625430 Note that a2 and a3 contain bootinfo information passed from the boot
program to alpha_init().
1997-09-02 14:29:00 +00:00
thorpej d95ac139e0 Oops, wrap cpu_decl()s inside #ifdef _KERNEL/#endif. 1997-09-02 14:25:34 +00:00
thorpej 8b6e894364 Clean this up a bit; defopt has rendered the #undef hacks unnecessary.
Also, put the cpu_decl()s in cpuconf.h, so that platform support files
can pull in the prototypes from there, and pull in options for those
systems for which there is code in the source tree.
1997-09-02 14:19:29 +00:00
thorpej b7c1c1e321 Pull in alpha/cpuconf.c 1997-09-02 14:06:02 +00:00
thorpej 5c72d6a933 Garbage-collect. 1997-09-02 14:03:10 +00:00
thorpej e79009b830 Ressurect from the Attic. 1997-09-02 14:00:11 +00:00
thorpej 9db8b6018f Make a note about option headers. 1997-09-02 13:42:49 +00:00
thorpej 1df0782d87 Pull in DEC_3000_300 and DEC_3000_500 options. 1997-09-02 13:29:17 +00:00
thorpej a4cef84ac7 Pull in DEC_3000_300 option. 1997-09-02 13:26:42 +00:00
thorpej 529d790161 Pull in DEC_AXPPCI_33 option. 1997-09-02 13:25:36 +00:00
thorpej cb32cf1ece Pull in DEC_EB164 and DEC_KN20AA options. 1997-09-02 13:24:48 +00:00
thorpej b57ee951d0 Pull in DEC_2100_A50 and DEC_EB64PLUS options. 1997-09-02 13:23:56 +00:00
thorpej 49a2bcd443 Pull in FIX_UNALIGNED_VAX_FP option. 1997-09-02 13:22:53 +00:00
thorpej 693b3e7262 Nuke the idea of <machine/options.h>. It completely defeats the purpose
of fine-grain option dependencies.
1997-09-02 13:17:47 +00:00
thorpej e234ed15b6 Fix oversight in a previous commit. 1997-09-02 12:54:27 +00:00
thorpej 375ad27ed8 - Garbage-collect all DMA-related initialization, calling a separate
*_dma_init() function instead.
- Pass the appropriate bus dma tag to children.
1997-09-02 12:51:20 +00:00
thorpej 3ac7ac6e63 Garbage-collect. 1997-09-02 12:43:22 +00:00
thorpej aa7a2876e6 Treat bus space tags more like pci chipset tags and bus dma tags: allocate
them statically within a chipset's state structure, and pass them to
the *_bus_{io,mem}_init() functions.
1997-09-02 12:40:18 +00:00
thorpej fd01db8b74 Use more complete #include directives when pulling in the chipdep
functions.
1997-09-02 11:09:51 +00:00
thorpej 9199b6645b Clean up RCS IDs. 1997-09-02 10:56:52 +00:00
thorpej d450130943 Adjust for new names for the PCI i/o and mem swizzle-style access
function files.
1997-09-02 10:43:27 +00:00
thorpej 8f286ca7f3 Renamed to pci_swiz_bus_{io,mem}_chipdep.c by repository copy. 1997-09-02 10:39:15 +00:00
thorpej 8998fa1198 Revive these files from the Attic. 1997-09-02 10:26:55 +00:00
thorpej 3220411801 Define PAL_cflush, PAL_ipir, and PAL_OSF1_wrperfmon PALcode operations. 1997-08-29 23:17:37 +00:00
bouyer 6f3bab1f59 Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
1997-08-27 11:22:52 +00:00
thorpej 38f15737fd Protect access to kmem_map with splimp()/splx(). From Chuck Cranor. 1997-08-25 21:17:48 +00:00
cgd ce0a826c55 fix various bogons: copy SCSIVERBOSE option (still commented out) and ISA lc
driver to ALPHA.  Also, sort them into their respective lists correctly,
rather than punting completely (SCSIVERBOSE), or mis-sorting(!) (lc).
1997-08-24 06:40:18 +00:00
cgd 1173f77359 fix spaces/tabs lossage: if we're going to do "options<space><tab>", be
consistent about it (fix it in all files)!  Also, there's no point at all
in doing "file-system<space><tab>", so kill the spaces.
1997-08-24 06:37:12 +00:00
mjacob 6ac7f6248f add a before tab to SCSIVERBOSE 1997-08-23 19:16:06 +00:00
drochner 44224e6fd5 Adapt to serial console attachment changes. 1997-08-23 14:28:16 +00:00
kleink dc91486be3 bootp vs. mop: don't clobber `netboot' flag. 1997-08-23 10:18:33 +00:00
cgd fc2e81c6d5 lie to the compiler when doing mkdep so that it depends .s files correctly. 1997-08-22 06:37:17 +00:00
mjacob 0e3c7b7f44 Commented out SCSIVERBOSE option; reference 1997-08-20 18:35:55 +00:00
augustss 332ad95e76 Change the MI audio driver so it attaches to the MD driver in the
normal way.  This requires adding a line to the config files to
get audio to work again.
1997-08-19 23:49:33 +00:00
mjacob 23d0cae1eb It helps streaming performance substantially to enable bursts and more up hose
packets. It's not clear whether latency will be affected much. It could be.
However, for the time being, getting full rates out of HIPPI or SCSI are what
interests us at NASA, so we'll hew to this bias.
1997-08-16 01:18:30 +00:00
mjacob 92995a3a9f a minor bit of cleanup 1997-08-16 01:16:33 +00:00
mjacob ecd1b40ab3 Add some PCIA_CTL defines. 1997-08-16 01:14:32 +00:00
cgd 9d532f482c don't forget to set hwrpbsize to zero explicitly 1997-08-13 20:49:56 +00:00
cgd bf596ddb89 don't define __BUS_SPACE_COMPAT_OLDDEFS if it's already been defined 1997-08-13 02:53:03 +00:00
cgd 9b263847db clean up RCS IDs 1997-08-12 06:08:21 +00:00
cgd 73596f5504 sort miata defs 1997-08-12 02:59:43 +00:00
cgd 5544e7e348 update for moved files, placeholder for miata flag header 1997-08-12 02:08:12 +00:00
cgd 0bc9a09170 cia_bus_* -> cia_swiz_bus_* 1997-08-12 00:58:01 +00:00
cgd 46d5a50540 rewire a few file dependencies for cleanliness 1997-08-12 00:46:11 +00:00
cgd 4b8f75045a define a defopt for the miata systype 1997-08-12 00:04:14 +00:00
cgd 2d184c2262 clean up bootinfo v1 struct a bit: add a hwrpb size field (in a backward-
compatible way), and clean up the comments to make things a bit clearer.
1997-08-11 23:43:38 +00:00
cgd b38691223e s/bogus/unknown/; just because we don't know about it doesn't mean it's wrong 1997-08-11 22:46:37 +00:00
matt 48aa5a6912 Add lc* line for DEC EtherWORKS III (it was written initially for a
NetBSD/alpha user).
1997-07-31 22:22:08 +00:00
cgd bd3cab1531 fix comment glitch in the last change 1997-07-25 07:01:42 +00:00
cgd d86134ca68 fill in the new pointers in the bootinfo_v1 structure. 1997-07-25 07:00:42 +00:00
cgd 395f4bac6b clean up bootinfo structure comments so they're more readable (to me,
at least 8-).  Add structure offssets for structure members, so we
know how much space we're using.  Make the version in the bootinfo
structure be a u_long, so there's no implicit padding in the structure.
Add a few more pointers to the bootinfo v1 structure, which will all
be set to NULL for now.
1997-07-25 06:59:47 +00:00
thorpej 8e341ad358 If loading an Elf kernel, load the symbol table immediately after
the kernel image.
1997-07-25 00:09:01 +00:00
thorpej f65454b2a6 Set up a version 1 bootinfo for the kernel. 1997-07-25 00:07:56 +00:00
thorpej f56c3c315f More DDB support:
- Add support for software single-stepping (Alpha does not have hardware
  support for single-stepping)
- Alpha uses Elf64 symbols.
1997-07-25 00:06:25 +00:00
thorpej 08d4c7e688 Update alpha_init() prototype; takes two more args. 1997-07-25 00:04:36 +00:00
thorpej 264f1c5acc Define the bootinfo magic number and bootinfo (version 1) structure. 1997-07-25 00:03:47 +00:00
thorpej 4d01f6fbee Add some DDB glue:
- Allow BUGCHK and BPT instruction faults in kernel mode if DDB is enabled,
  since they are used to invoke the debugger.
- Add a comment about how we'd like to invoke DDB on a trap panic condition,
  in a perfect world.
1997-07-24 23:55:01 +00:00
thorpej 020d0208d7 - Two additional arguments to alpha_init(): bootinfo magic number, and
pointer to boot program's bootinfo structure.  If the bootinfo magic
  matches, save a copy of the bootinfo structure, and use it to determine
  booted kernel name, the boot flags, and the location of the kernel symbol
  table.  If the magic number does not match, revert to the old method
  of finding this information (sans symbol table info).
- Add some additonal DDB glue.
1997-07-24 23:52:10 +00:00
cgd cfe8f450c7 update these to use the new 'correct' names for functions/constants
in bus.h.
1997-07-23 08:05:36 +00:00
cgd 9fae9984b0 remove a couple of outdated comments (pointed out by Kenneth Stailey 1997-07-23 07:56:05 +00:00
cgd 28b1691f4d when i was documenting the bus_space interfaces (the document
was sent to developers, but will eventually become a man page or
something), i noticed a few in various names:
(1) _map and _alloc should take a flags argument, rather than a
    'cacheable' boolean.
(2) BUS_BARRIER_* flags should be BUS_SPACE_BARRIER_*.
(3) bus_space_copy_* should be bus_space_copy_region_* for consistency
    with other region ops.
Fix all of these (in a backward-compatible way, at least for now).  Redefine
internal usees of those names to use the new names.  Also, while at it,
clean up the copy functions (remove unnecessary variables) and make sure
that they and other functions conform to the spec.
1997-07-23 07:47:51 +00:00
cgd 391589011c note differences in symbol names between ports (underscores). Also,
don't assume that the names/values to be put into defines in assym.h
start with the first .ascii in the assembler file; look for the array
start symbol, instead.
1997-07-23 07:06:59 +00:00
cgd 306cb0bd7e clean up RCS id. also, use __RCSID rather than __KERNEL_RCSID, since
this file isn't actually compiled into the kernel.
1997-07-23 06:23:14 +00:00
cgd ee60040e78 clean up rcs id 1997-07-23 06:21:57 +00:00
jonathan 7d9e8102ad Use new <dev/dec/clockvar.h> and and <dev/dec/mcclokvar.h>.
Garbage-collect original headers from sys/arch/alpha.
1997-07-22 18:50:52 +00:00
drochner bdb232d2b6 Don't use <lib/libsa/if_ether.h> anymore. This was a copy of the
old (before ARP changes) <netinet/if_ether.h>, intended for
temporary use.
1997-07-22 17:41:01 +00:00
jonathan 064c4e515c Create sys/dev/dec and cleanup sys/dev/tc:
* Move clockvar.h (header file for generic clock code) to sys/dev/dec.
* Move if_le_dec.c with DEC padded LANCE-dma (pmax/pmax, ioasic, vax 3400)
  to sys/dev/dec.  Remove from sys/dev/tc.
* Declare attribute le_dec_subr in /sys/dev/dec/files.dec,
  use if_le_dec.c when it's defined.
* Move  IOCTL asic declaration from pmax and Alpha MD machine
  files to sys/dev/tc/files.tc.
* move TurboChannel and ioasic if_le attachments from pmax and Alpha machine
  config files to /sys/dev/tc/files.tc.  Add le_dec_subr attribute.
* Add if_le_dec attribute to if_le_ibus (pmax ds3100 pmax) LANCE attachment.
1997-07-22 04:32:13 +00:00
cgd 5579e9d3bd * move COPTS out of the 'program variables' section of the makefile and
into the 'argument variables' section.
* define variables for CPP and SIZE, defaulting to cpp and size, respectively.
* kill HOSTED_C*, since it's no longer used.
* use ${SIZE} rather than using 'size' directly, so it can be overridden for
cross-builds.
* generate assym.h via assym.s and an awk script.
1997-07-19 10:12:13 +00:00
cgd 75b9c1bce1 convert to use a genassym.c that produces awk-able assembler output, a
la the sun3 port.  This makes cross-compilation easier.
1997-07-19 10:02:53 +00:00
cgd 429a941288 don't expect/provide pci_decompose_tag to be a MI, public function. It
wasn't intended to be to begin with, and uses of it (e.g. the one in the
'de' driver) are quite likely to be incorrect.
1997-07-19 09:49:39 +00:00
cgd 866bc1b267 sync with dev/isa/wd.c rev. 1.162:
>date: 1997/07/18 00:26:22;  author: fvdl;  state: Exp;  lines: +10 -10
>Work around possible race condition with 2 drives on one controller
>in wd_get_parms. PR 3773, from Onno van der Linden (onno@simplex.nl)
S: ----------------------------------------------------------------------
1997-07-19 06:39:22 +00:00
thorpej 7a8a1f3f1a Turn the extern declaration of __flt_rounds() into a proper prototype. 1997-07-17 21:36:03 +00:00
jtk ca1bba150a use locator defines in "locators.h" to index cf_loc[] 1997-07-17 03:16:39 +00:00
jtk 320892f8db oops, WSCONSCF_CONSOLE should be WSCONSDEVCF_CONSOLE 1997-07-17 01:33:04 +00:00
jtk 594536a71f use locator defines in "locators.h" to index cf_loc[] 1997-07-17 01:28:54 +00:00
jtk 37f9c6bd88 use locator defines in "locators.h" to index cf_loc[] 1997-07-17 01:17:45 +00:00
hpeyerl 6d4fa106d1 Move satlink0 to ALPHA. 1997-07-13 21:24:14 +00:00
hpeyerl 16371837ec Satellite receiver driver for ISA cards from PlanetConnect by Jason and
Herb for Canada Connect Corp.
1997-07-13 19:32:00 +00:00
mellon eb51f51303 Convert spaces to tabs following option declarations 1997-07-10 20:46:37 +00:00
cgd fce829ca4b mark prototypes for static inline functions as possibly unused
(with __attribute__ ((unused))), to avoid generating warnings when
compiling without optimization but with the default warning flags.
1997-07-07 20:37:34 +00:00
mjacob ff21c8f511 Turn of 'unclaimed interrupt' messages- we know about them already- we can't
really fix this as yet.
1997-06-24 18:08:59 +00:00
thorpej 84166e5151 foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.
1997-06-24 00:28:36 +00:00
mrg f66658c8e0 move man pages into share/man. 1997-06-22 05:05:17 +00:00
cjs ecada6375b bzero() wants pointers, not ints, for its first arg. 1997-06-20 07:06:43 +00:00
pk fe15d6603a Remove spurious line left over in previous commit.
Also, use parentheses like in <dev/isa/wd.c>
1997-06-18 22:25:53 +00:00
pk f5bf0d3701 wdsize(): only call wdopen()/wdclose() if not already open, per the
current `openmask'.
1997-06-18 20:39:55 +00:00
thorpej dacadc3aff Add the ext2fs file system. 1997-06-13 00:44:13 +00:00
mrg 1258c8d25b remove now obsolete "swap on..." lines. 1997-06-12 18:41:58 +00:00
mrg 552af779d2 bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:46:19 +00:00
mrg dc6a98e92c bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:09:23 +00:00