Commit Graph

12862 Commits

Author SHA1 Message Date
mycroft ed82d062fe Use HOSTED_C_C when building the assembler. 1996-08-10 08:24:59 +00:00
veego ee871d0972 Fixed pr#2681
The prototyp of adoscaseequ was right in adosfs.h
1996-08-10 07:28:49 +00:00
mycroft cf67f29afe * Add a HOSTED_C_C variable, which strips `-p', `-pg', and
`-nostdinc', and use it when building genassym.
* Use `-nostdinc' just to be sure we're self-contained.
1996-08-10 06:07:57 +00:00
mycroft f94052ed3a * Define CWARNFLAGS and MKDEP in some moderately consistent fashion.
* Make S expand to an absolute path at compile time.
* Use `-S' rather than `-x' to remove debugging symbols.
* Garbage collect unused variables.
* Reverse a handful of port-specific changes that do not correspond to
the common build model and are not needed.
1996-08-10 05:29:24 +00:00
mycroft 811315ca92 Add anchors so that only exactly `-I. is modified. 1996-08-10 04:01:29 +00:00
mycroft 9c5b0780c0 Convert the -I. to -I${.OBJDIR}, so that the `machine symlink is available. 1996-08-10 03:00:51 +00:00
mrg 72bad48e62 implement RB_STRING, derived from SunOS, via compat_sunos. 1996-08-10 00:23:14 +00:00
is 0f2514d2a0 Add manu/prod id for the DMI resolver board here. (No, no driver yet) 1996-08-09 18:18:05 +00:00
mrg 5abbf990f3 Change reboot(2) to take two arguments: bootopt like normal and also
a boot string for firmware that can do this, such as the SPARC and
the sun3 models.  It is currently silently ignored on all other
hardware now, however.  The MD function "boot()" has been changed to
also take a char *.
1996-08-09 10:30:23 +00:00
mrg c01edc3a02 use sc_unit instead of pointer arthimetic. 1996-08-09 08:34:00 +00:00
mhitch 79fb4c0c30 Add missing #include of "ppp.h" to get definition of NPPP so that the
pppintr() call is actually included.  This fixes ppp so that it actually
works again.
1996-08-09 05:11:02 +00:00
thorpej 6054b19d94 Add EX_NOALIGN and EX_NOBOUNDARY macros to be used as arguments to
allocation calls in the event the caller does not wish to utilize those
features of extent map allocation.

Suggested by Matthew Green <mrg@eterna.com.au>
1996-08-09 00:00:13 +00:00
thorpej b276d02b9d Fix typo, pointed out by Greg Hudson <ghudson@mit.edu> 1996-08-08 23:42:30 +00:00
mycroft 44f440543f We dont need to pass down COMPATDIR and KERNDIR. 1996-08-08 15:15:16 +00:00
mycroft 3f0b5a641e Run the child make in the source directory, so that nothing here needs to be
changed when the compile directory is outside the source tree.
1996-08-08 15:06:39 +00:00
cgd 440a942944 fix bogus returns from dec_kn20aa_intr_map(), and slightly simplify interrupt
mapping code.  (instead of using a "slot" and multiplying by 4 and adding the
pin number later to get the IRQ, just use base IRQ value and add the pin
number.)
1996-08-07 04:33:21 +00:00
cgd efec732f4d fix a typo, add a function kn20aa_disable_intr() to disable a given
kn20aa interrupt line.
1996-08-07 04:22:40 +00:00
scottr bfb6d245b5 Make the calculation of the PA returned by get_physical() agree with the
comment immediately preceding it:  We have to take the most significant
"numbits" from the returned value "ph", and the rest from our addr.  The
addition used previously introduced a carry which was causing great
difficulty in determining the correct PA of the framebuffer VA passed in
by the booter.
1996-08-06 04:03:33 +00:00
cgd f160e92962 revert PCI_MAPREG_IO_ADDR_MASK and PCI_MAPREG_IO_SIZE_MASK to their old
values, i.e. 0xfffffffe and 0xffffffff respectively.  The changed
definitions were incorrect, according to the PCI Local Bus Specification
(Revision 2.0).  Further rationale and a workaround for the broken
devices that instigated the change provided in a message to
current-users@netbsd.org, dated Mon, 05 Aug 1996 22:06:58 -0400,
message ID 16773.839297218@ux2.sp.cs.cmu.edu>.
1996-08-06 02:11:25 +00:00
briggs d2ea50dad8 Fix improperly terminated comment. Noticed by brg@dgate.org (Brian Gaeke). 1996-08-05 23:20:46 +00:00
soda 9d1a802eba disable AHA-284x product ID, because it is now handled by ahc_isa.c. 1996-08-05 21:18:56 +00:00
soda 9e413208a9 adding AHA-284x VL front-end to ahc driver by Jason Thorpe. 1996-08-05 21:15:58 +00:00
soda d2bb4c7a65 AHA-284x VL front-end to ahc driver by Jason Thorpe.
This is tested under both netbsd-1-2 branch and main trunk.
1996-08-05 21:14:29 +00:00
scottr 2985b9d676 Initialize conspa so ite_match() can attach to the proper device. 1996-08-05 04:36:45 +00:00
scottr 571519c310 Attach ite semantics to the appropriate grf device. 1996-08-05 01:52:13 +00:00
scottr 91d8e018e2 Attach ite semantics to the appropriate grf device, instead of obio. 1996-08-05 01:26:31 +00:00
scottr 1d6cd98d6a Attach ite semantics to the appropriate grf device, instead of obio. 1996-08-05 01:00:12 +00:00
is 480910aa2e Program around the Fastlane's DMA hardware shortcomings.
Fix by Matthias Scheler (PR #2672), based on information provided by Ralph
Schmidt/Reinhard Grams (Phase 5), forwarded by Jerome Lovy. Thanks to all.
1996-08-04 11:25:36 +00:00
scottr 89f4fddbfe Add a way to tell grf_establish() that internal video doesn't actually
occupy a slot.  This is necessary so that GRFIOCMAP can find the correct
physical address of the framebuffer.  Fixes P550, some LC models, and
perhaps the PB520.
1996-08-04 06:03:47 +00:00
scottr 9931b6b324 MRG vectors for the Quadra 630, from Jason Godfrey <jason@primenet.com> and
Bob Nestor <rnestor@metronet.com> (verified by Jason).
1996-08-04 04:08:25 +00:00
scottr 0e57c5bb15 Be much more careful with setting up the MRG ROM vectors. If we are using
a serial console and the PRAM read/write code happens to use the ADB ROM
vectors, we will have problems because the ADB hasn't been initialized.
For now, the only class of machines that we will set these up on regardless
of whether we are on a serial console or not is the original II series (II,
IIx, and IIcx).  Others can come later.
1996-08-04 03:53:15 +00:00
thorpej eea135a8b9 Two changes:
- Convert to use <machine/bus.h>.

	- Also read station address in egattach().  The softc is no
	  longer required in the probe function.
1996-08-03 19:33:19 +00:00
neil 78bddbd393 Prototypes and definitions for ICMP Router Discovery, From FreeBSD.
rdisc coming soon! :-)
1996-08-03 15:48:18 +00:00
thorpej a47a8c3f8c Oops, missed a couple of inb()s.. 1996-08-03 02:23:57 +00:00
thorpej c937985d60 Convert to use <machine/bus.h>, plus 2 bug fixes:
- In egstart(), if the Send Packet command fails, m_freem()
	  the mbuf chain before dequeueing another one (memory leak).

	- In egintr(), return 1 if a known interrupt was processed.
	  Would manifest itself as spurious interrupts.
1996-08-03 02:12:46 +00:00
is af6e1b10a8 Kludge to get back "Fusion Forty" fastkick memory. 1996-08-02 18:00:30 +00:00
ragge fdcabd43da Do not use any emulated insn's in boot program. (in this case cmpc3).
Add strncmp to get around this.
1996-08-02 16:18:39 +00:00
is 8311e65b64 Rewrite of the last bugfix wrt. Z2 bounce buffer memory allocation:
Don't manipulate the memlist passed from the kickstart rom + bootloader, as
we want it unchanged in case we boot via /dev/reload.
Instead, make z2mem_start known to pmap.c; and use int in pmap_bootstrap to
detect the right segment to correct and the amount.

XXX The transformation of z2mem from physical to virtual kernel addresses
in amiga_init.c must not be done before the pmap_bootstrap() call now!
1996-08-02 15:07:23 +00:00
pk 7a26a7952d Fill in `pcb_psr' in the PCB before copying it to the new child PCB. 1996-08-02 13:44:48 +00:00
ragge 5e04d04d68 Add support for booting Vaxstations; from MFM and SCSI. (PROM-based boot). 1996-08-02 11:21:41 +00:00
chuck 9ee9129dc4 fix:
- fix memory sizing bug for 2MB cards.   driver now works for both 512KB
   and 2MB ATM cards (we just got 10 2MB cards).
1996-08-02 02:55:14 +00:00
jonathan 36c640a447 * Remove old, unused SLIP variables from softc.
* Fix radio error-message parsing bug: old comparison against error
  prefix string  off by the size of the Starmode link-level protocol field.
* Fix radio reset finite state machine, given that parsing works properly.
* Add debugging messages about reset FSM if IFF_DEBUG is set.
* Remove #ifdefs notdef around back the check that discards newlines at
  the beginning of a frame. Every error message from the radio has a newline,
  as the radio send error messages terminated by \r\n, not  just \r like data
  frames. Not dropping the \n garbles the following data frame.
* Remove unused low-level debugging routines.
* Reformat the low-level bytestuff/RLL code to match the canonical source.
* Reduce MTU to 1100 bytes; 1200 bytes can overflow the radio buffers if the
  bytestuff/RLL does poorly.
* Fix radio-probe string to _not_ include a frame delimiter (\r): sending
  a \r to the radio tickles a bug in the firmware, causing the radio to
  smash the next frame sent after  the "**\r" probe string.
* Add calls to the tty t_oproc routine to make sure the probe and reset
  strings get sent to the modem promptly, rather than waiting for the next
  packet.
* Add PPP-style calls to the tty start-output function; seems to
  reduce latency marginally.

still to do:
* Flush output queue if resetting, since the radio is going to drop
  frames on the floor anyway if it needs resetting.
* Reduce tty start-output calls.
1996-08-02 02:53:39 +00:00
phil 318585cf7f Removal of some dead code. Moving of data definitions. (From Matthias) 1996-07-31 16:47:30 +00:00
mhitch 5b0728f9a2 Correct update of DMA address register when saving DMA state on a
message-in.  The remaining transfer count restored when a device is
reselected needs to be saved.  The saved value is needed to compute
the number of bytes transferred if another disconnect occurs.  This
fixes a random read data corruption that occurs on certain disks that
may disconnect more than once in the middle of a DMA transfer.
1996-07-30 06:36:33 +00:00
mhitch ebe82deed0 Remove the "goto abort" (which currently reboots the machine) when the
FIFO is non-empty when the message-in phase occurs before the DMA output
starts.  This showed up on a Micropolis drive.
1996-07-30 06:18:40 +00:00
is 721e767ea2 Deal with two bugs in the bounce buffer memory reserve code:
If z2 memory is used for bounce buffers, it used to be stolen in
amiga_init.c, but would not be removed from the memory list there, but
in pmap.c the memory list would just be corrected.

a) the sizes subtracted got out of sync.
b) the memory segment to subtract from was guessed in pmap_init, and not
necessarily right. (e.g. consider a graphics board whose fraem buffer gets
mapped in by the RO at 0x200000, and a memory board which maps at 0x400000)

The new code subtracts the stolen aount of memory from the memlist parameter
given to the kernel by the loader, and pmap_init just doesn't see it anymore.
1996-07-29 20:53:35 +00:00
is 14da7556a0 Add $(DESTDIR). 1996-07-27 18:21:35 +00:00
is faea95eae8 Delete the NOMAN and BINDIR lines. They're imported from ../Makefile.inc
anyway, and the BINDIR here was even wrong (missing $(DESTDIR)).
1996-07-27 18:15:42 +00:00
is 89931b5a83 Add $(DESTDIR) to the BINDIR= 1996-07-27 18:09:42 +00:00
is 894618ff5f Oops; somehow got the wrong version. 1996-07-27 18:08:15 +00:00
is 72855270d6 Get this onto the Main branch. 1996-07-27 17:54:13 +00:00
mycroft a2aa46e1c4 Add PCI_MAPREG_{IO,MEM}_SIZE(), and use them. 1996-07-26 07:13:52 +00:00
mycroft 53f21c73fb Changes PCI_MAPREG_IO_ADDR_MASK to 0xfffe. 1996-07-26 06:35:35 +00:00
thorpej 3946240709 Fix unititialized variable warning. Pointed out by Aaron Brown. 1996-07-25 20:41:48 +00:00
thorpej b2b02e6893 Regen. 1996-07-25 20:22:45 +00:00
thorpej e1e89fe37b Add two vendor definitions:
FSI	Fore Systems, Inc.
	INT	Intel

Add product definitions for the FORE Systems EISA ATM cards and the
Intel EtherExpress 32 Flash ethernet card.
1996-07-25 20:22:16 +00:00
is 003947b965 Changed the driver to use bus_xxx(). 1996-07-25 18:59:12 +00:00
is 0d2955977e Fix two bugs which were inserted when adding '060 support:
- due to a merge error, 2 line were missing making all the kernel data area
  cache inhibited.
- due to a misunderstanding of "kstsize" units, all but the first page of
  the kernel segment table was copyback cached on the '040/'060 which
  should have caused sporadic user process segmentation faults or
  kernel endless loops on the '060, under heavy load (when lots of
  userland pagetables are in-core), although the problem was not yet
  observed.
1996-07-25 14:38:40 +00:00
thorpej 27e2d3eee3 Match any Maxtor XT-8760S for the SDEV_NOLUNS quirk. Some of these
drives carry Sun OEM identifiers, as well.

Noticed by Taras Ivanenko <ivanenko@ctpa03.mit.edu>.
1996-07-24 20:50:23 +00:00
abrown 062b2cdd6b Fix unused variable warning for an "int i" left over from the old disk
statistics code.
1996-07-24 16:13:04 +00:00
thorpej aba7675464 In extent_alloc_subregion(), don't adjust the initial boundary check
value if we're not concerned with boundary checking.  Avoids a stupid
infinite loop.
1996-07-23 23:09:10 +00:00
is 8918d3a437 Note Blizzard IV and Blizzard 2060 (scsi?) options. While we're here,
correct a typo in a comment.
1996-07-22 11:14:52 +00:00
jtk 517f2ace37 One more fix as pointed out by enami tsugutomo <enami@ba2.so-net.or.jp>:
check slen before accessing cp[1] in GETNUM macro.
1996-07-21 04:01:01 +00:00
leo 1285fe171c Checkpoint integration of 68040 MMU support. Also fix oversight in allocation
of (virtual) I/O area address range.
1996-07-20 20:52:30 +00:00
leo 95c6d227a5 Add a prototype. 1996-07-20 20:48:36 +00:00
ragge cbca944854 LANCE driver for vaxstations. 1996-07-20 19:01:55 +00:00
ragge 88a147e51b CPU determine code. ts driver converted to new config. May work, untested. 1996-07-20 19:00:22 +00:00
ragge 15409eef53 Update config files for VAX8200 and VAXstations. 1996-07-20 18:56:58 +00:00
ragge 38b1264285 SCSI and ST506 support for the VAXstation architecture. 1996-07-20 18:55:09 +00:00
ragge a8f6512e6d VAXstation CPU and serial console support. 1996-07-20 18:29:49 +00:00
ragge 7707223bc4 Locore changes for VS and VAX8200. 1996-07-20 18:20:42 +00:00
ragge 1abb214901 Bugfix causing erroneous address displaying. 1996-07-20 18:17:29 +00:00
ragge fd3f596fa3 Reflect the changes of CPU determination. Add support for VAXstations. 1996-07-20 18:14:41 +00:00
ragge aab842833e Put in rd (ST506 disk), sd and st. 1996-07-20 18:08:19 +00:00
ragge a6c464a5f7 Add vmapbuf/vunmapbuf for VAXstations that need them. 1996-07-20 18:02:47 +00:00
ragge caff7b03d4 Numerous changes to be able to put Bertram Barth's VAXstation support in.
(Some) Support for VAXstation 2000/MicroVAX 2000, VAXstation 3100/76.
1996-07-20 17:58:12 +00:00
ragge 7ac59ffe68 Reworked time handling; now also handles clock chip CPUs correctly. 1996-07-20 17:35:41 +00:00
ragge 5b0992267c Support for VAX8200; the ka820/ka825 CPUs. 1996-07-20 17:33:06 +00:00
jtc d69119311f Provide alternate memmove() entrypoint for memcpy(). This will help
in the transition from b*() to mem*().
1996-07-20 01:53:42 +00:00
ragge c828b7ce6d Support for the VAXBI bus, and KDB50 device driver (MSCP disk).
Parts of this written by Chris Torek at the beginning of time.
1996-07-19 14:26:52 +00:00
explorer 5e5a09d83e revert to 1.26 1996-07-18 20:01:43 +00:00
explorer 67b1de765f Add compile-time and run-time control over automatic niceing 1996-07-17 21:54:04 +00:00
explorer 471c23385f Add compile-time and run-time control over automatic niceing 1996-07-17 21:43:22 +00:00
is a9c73c9405 Being bored, decided to scan the existing drivers for further additions
to the "not configured" list:
Added some devices, replaced an obvious placeholder.
1996-07-17 14:35:01 +00:00
is 397d9b2133 Add two manufacturer/product id combinations which I stumbled over analyzing
an unrelated bug report. This will make kernel startups a bit more readable
in the presence of unsupported hardware.
Information contributed by Andreas Bussjaeger.
1996-07-17 13:33:28 +00:00
chuck b3bed30d80 fixes/update:
- adjust txhiwat and mindma params a bit

 - fixed a couple of incorrectly labeled panic calls

 - the "location" was being calculated incorrectly in some cases (forgot
   to subtract off MID_RAMBASE).   this only caused problem when trying
   to change the size of the tx/rx buffers (e.g. to 64KB).

 - fixed possible non-aligned DMA burst in the starting byte burst case.
        (e.g. if we could DMA 3 bytes, but only have 2 it is not legal
        for us to use MIDDMA_BYTE2 mode).

 - opt: on tx: try and avoid flushing the internal buffer by padding out the
        length of the last mbuf a bit (if possible)
1996-07-17 03:53:39 +00:00
oki 72dd2d1350 XXX grf has some routines call ite function directly.
XXX check whether grf has no associated ite.  fixed PR/2626.
1996-07-17 01:51:43 +00:00
thorpej cc1c24bbec RCS id police. 1996-07-16 23:23:55 +00:00
chuck 1e5c811090 midway fixes + new stuff:
- merged multiple DRQ/DTQ ADD macros into a single DRQ and a single DTQ
   macro with a uniform interface to make the code simpler and easier to read.

 - en_start: only update atm_flags if EN_MBUF_OPT is enabled (which it
        should be)

 - for alburst: make sure we don't DMA more bytes than we need (on both
        tx and rx).   if the alburst is larger than we need, drop to
        MIDDMA_WORD mode.

 - major change: enable the use of byte and 2 byte DMA on the trasmit side.
   this allows us to DMA from non-word sized/aligned mbufs directly.
   [the old code would always call en_mfix which would copy (or move) the
    data in order to ensure proper alignment...   it turns out TCP gives
    us non-word sized/aligned mbufs when it is retransmitting, so we needed
    to handle this case more efficiently.]    the following functions
   were changed to make this work:
    - en_dqneed: add an arg to let us know if we are transmitting or not.
        if we are TX, then we must take into account byte DMAs when
        estimating the number of DTQs we will need for a buffer
    - en_start: only mfix mbufs if DMA is disabled
    - en_txdma: only set launch.nodma if we have en_mfix'd the mbuf chain
        also, we may need a DTQ to flush the chip's internal byte buffer
    - en_txlaunch: only attempt a copy if we have the proper alignment.
        add byte dma code for the front and end of the buffer.
        make sure the internal dma buffer is flushed out.
    - stats: keep track of how many times we have to use byte sized DMA

midwayreg:
 - add byte/2byte DMA defines

midwayvar:
 - add new stat counter to monitor less-than-word lengthed DMA
1996-07-16 22:11:05 +00:00
explorer 58400ed329 Increase FD_SETSIZE to 2048 from 256 -- might require a library recompile 1996-07-16 17:04:17 +00:00
oki 4e7614daa6 call Debugger() with options DDB, added #ifdef. 1996-07-16 16:29:16 +00:00
oki de609f142b From Ignatios Souvatzis <is@NetBSD.ORG>:
properly distinguish between a bus error and an MMU fault
	on systems with 68030 MMU
1996-07-16 16:18:34 +00:00
mhitch e4de48ff39 Don't flush the 53C94 fifo when starting dma_in. The fifo data is valid
at that point, and flushing the fifo will hang the system.
1996-07-16 15:20:38 +00:00
cgd 2549add59e rework bootstrap/startup process to match the BSD pmap startup model.
start adding back in tracing printfs.  add support for the virtual page
table.  Now it gets to user-land code, but fails because i've not
added support to the context switch code to activate and deactivate pmaps.
1996-07-16 04:51:16 +00:00
cgd 6713334e56 if !OLD_PMAP set up proc0 pcb asn and ptbr before return to assembly. 1996-07-16 04:42:49 +00:00
cgd f385991329 do TBIA rather than TBIAP after initial context switch 1996-07-16 04:40:32 +00:00
cgd b23ddc2150 regen for updated pcidevs 1996-07-15 22:55:14 +00:00
cgd da383d28de clean up, sort a few entries. Add many new entries, based on information
gleaned from the XFree86 3.1.2E release.
1996-07-15 22:52:16 +00:00
ws 7d29fb5aaa Allow renaming when destination exists.
Fixes PR#2629
1996-07-15 19:12:13 +00:00
cgd effd413ecd before #defining the vtophys() hack for the alpha, #undef vtophys since
it may be a macro.
1996-07-15 16:40:27 +00:00
ragge ce30ddd46b Obsoleted by now. 1996-07-15 11:50:40 +00:00
ragge 640bda0d46 Put in boot support for VAX 8200. 1996-07-15 11:11:01 +00:00
cgd 892dd0455b add FIX_UNALIGNED_VAX_FP. It wastes space, but hey, this kernel includes
netweird...
1996-07-15 08:32:30 +00:00
cgd c087540e8c actually implement code to handle unaligned VAX FP reg loads and stores.
Not tested yet, but also not compiled into the standard kernel.
1996-07-15 08:28:09 +00:00
leo 5a1a623e41 keymap -> keymaps 1996-07-15 06:35:43 +00:00
cgd a906c164d2 frob the mask so that only the low set bit is set, to avoid lossage. 1996-07-15 05:20:19 +00:00
cgd 3f38b4d7ad add an assembly version of ffs(), copied down from libc 1996-07-15 03:13:41 +00:00
cgd 14c123b28d include all PCI drivers that actually compile, clean up list, alphabetize,
and add descriptions.
1996-07-14 21:14:46 +00:00
cgd 6be650149e include 'microcode' dependencies, in case the aic7xxx driver is ever made
to work on 64-bit systems or in case other drivers need it eventually.
1996-07-14 20:20:10 +00:00
cgd ec9e01a05f #ifdefs are not allowed in macro invocations. 1996-07-14 20:13:08 +00:00
cgd 8ab5d16b77 insert the normal NetBSD/Alpha vtophys() hack, so that this will compile
and link nicely on the Alpha.  It may even run, if well written.
1996-07-14 20:05:31 +00:00
cgd ba9149a53e treat all "chipset drivers" similarly: include their file specs
up with the definitions of their attributes.  Previously, this was done
for most but not all, and there was no good reason to be inconsistent.
1996-07-14 20:03:44 +00:00
cgd ce626bee48 rename translation buffer invalidation macros to start with ALPHA_,
like all other macros defined in alpha_cpu.h.
1996-07-14 20:00:15 +00:00
cgd f632c1cea9 fix bogus casts from pointer to unsigned int. Use unsigned long for this. 1996-07-14 19:36:56 +00:00
cgd 4285a42e76 alphabetize by driver name 1996-07-14 19:13:22 +00:00
cgd c62727acea print the label for the opcode in unaligned access printf as "op" not "type" 1996-07-14 04:36:21 +00:00
cgd 0fb84b3c3f (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Add unaligned access fixup code to fix unaligned quad, long,
and IEEE S and T floating datum loads and stores.  VAX floating data
types not yet supported, and in the future will only be supported if
FIX_UNALIGNED_VAX_FP is defined.  (No point in wasting the space when
most of the time there will never be VAX FP loads and stores.)  Right
now, these features can be controlled only by sysctl.  The (boolean)
integer sysctls machdep.unaligned_print, machdep.unaligned_fix, and
machdep.unaligned_sigbus control printing about unaligned accesses
(defaults on), fixing up of unaligned accesses (defaults on), and
forcing a SIGBUS on unaligned accesses (defaults off).  If an access
is not fixed up (for lack of method or explicit decision), a SIGBUS is
always generated to keep programs from using bogus data.  At some point,
these three choices should be controlled by per-process flags, as well.
1996-07-14 04:22:12 +00:00
cgd 6cb84cdd13 (1) Removed unused (and not likely useful) PALcode assembly stubs.
(2)     Minor cleanup.
1996-07-14 04:21:53 +00:00
cgd b431daf1d1 (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Add a boot flag ('H' and 'h') to make sure the kernel never
reboots after panic.  Useful for debugging kernels which panic early
on after user processes have started, to fend off infinite reboot cycles.
Sort boot flag switch.
(3)     Add unaligned access fixup code to fix unaligned quad, long,
and IEEE S and T floating datum loads and stores.  VAX floating data
types not yet supported, and in the future will only be supported if
FIX_UNALIGNED_VAX_FP is defined.  (No point in wasting the space when
most of the time there will never be VAX FP loads and stores.)  Right
now, these features can be controlled only by sysctl.  The (boolean)
integer sysctls machdep.unaligned_print, machdep.unaligned_fix, and
machdep.unaligned_sigbus control printing about unaligned accesses
(defaults on), fixing up of unaligned accesses (defaults on), and
forcing a SIGBUS on unaligned accesses (defaults off).  If an access
is not fixed up (for lack of method or explicit decision), a SIGBUS is
always generated to keep programs from using bogus data.  At some point,
these three choices should be controlled by per-process flags, as well.
1996-07-14 04:21:33 +00:00
cgd 2db316d75f (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Clean up interrupt handling slightly.
(3)     Add machinery to make [fs]uswintr be a bit more careful when
determining if a fault was actually their fault.  (Unfortunately, they're
not actually implemented now, anyway.)
(4)     Minor cleanup.
1996-07-14 04:21:09 +00:00
cgd 775cca7853 (1) Restructure and improve machine check and correctable error
handling based on information in the 2nd Ed. of the Alpha Architecture
Reference Manual.
(2)     Clean up interrupt handling slightly.
(3)     Clean up badaddr().
1996-07-14 04:20:40 +00:00
cgd 43588a48d5 (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Add machinery to make [fs]uswintr be a bit more careful when
determining if a fault was actually their fault.  (Unfortunately, they're
not actually implemented now, anyway.)
1996-07-14 04:20:22 +00:00
cgd 3a2af0734c (1) Add machinery to make [fs]uswintr be a bit more careful when
determining if a fault was actually their fault.  (Unfortunately, they're
not actually implemented now, anyway.)
(2)     Minor cleanup.
1996-07-14 04:15:27 +00:00
cgd 5beb1a522c (1) Add unaligned access fixup code to fix unaligned quad, long,
and IEEE S and T floating datum loads and stores.  VAX floating data
types not yet supported, and in the future will only be supported if
FIX_UNALIGNED_VAX_FP is defined.  (No point in wasting the space when
most of the time there will never be VAX FP loads and stores.)  Right
now, these features can be controlled only by sysctl.  The (boolean)
integer sysctls machdep.unaligned_print, machdep.unaligned_fix, and
machdep.unaligned_sigbus control printing about unaligned accesses
(defaults on), fixing up of unaligned accesses (defaults on), and
forcing a SIGBUS on unaligned accesses (defaults off).  If an access
is not fixed up (for lack of method or explicit decision), a SIGBUS is
always generated to keep programs from using bogus data.  At some point,
these three choices should be controlled by per-process flags, as well.
1996-07-14 04:15:10 +00:00
cgd 5a367fefb1 (1) Clean up interrupt handling slightly.
(2)     Clean up badaddr() definition.
1996-07-14 04:12:59 +00:00
cgd deb9f8f4b6 (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Restructure and improve machine check and correctable error
handling based on information in the 2nd Ed. of the Alpha Architecture
Reference Manual.
(3)     Removed unused (and not likely useful) PALcode assembly stubs.
1996-07-14 04:12:46 +00:00
cgd 43dae279eb (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
1996-07-14 04:12:03 +00:00
cgd f72a611ccc (1) Clean up interrupt handling slightly.
(2)     Include more headers to bring necessary prototypes into scope.
1996-07-14 04:08:56 +00:00
cgd 644f74f9f2 (1) Clean up interrupt handling slightly. 1996-07-14 04:08:41 +00:00
cgd c915721a81 (1) Include more headers to bring necessary prototypes into scope. 1996-07-14 04:08:21 +00:00
cgd 9905bce8a5 (1) Clean up interrupt handling slightly. 1996-07-14 04:06:27 +00:00
cgd 38a0da40ee allow people to use the (slower) MI in_cksum.c vi 'options GENERIC_IN_CKSUM' 1996-07-14 03:46:05 +00:00
jtk a6c08ef5e8 fix PRs 219, 2295, 2612: speaker bugs on i386 port: remove overruns due to
faulty bounds checking; repair faulty octave limiting.
1996-07-14 01:03:13 +00:00
explorer 41239f1024 Suggestion from Noriyuki Soda <soda@sra.co.jp> to update the comments for
these files, since the driver was updated to deal with more devices.
1996-07-14 00:10:11 +00:00
fvdl 8e6a25cd1d Make this compile with PCVT_SCANSET == 2 (PR #2622) 1996-07-13 23:26:03 +00:00
explorer 73cb5a96f8 aic, not aix... Stupid typo 1996-07-13 06:20:11 +00:00
explorer 00f9b22eb8 Remove aic7xxx_seq.h on clean, build it on depend. This closes pr 2608,
2441, and part of 2600.  2436 is left open to remind me that Chris's
comments are probably correct.  This file should be built statically and
committed to the tree, not built on a per-kernel basis.
1996-07-13 06:19:34 +00:00
thorpej 0462d3063c Remove old-style disk instrumentation code. 1996-07-12 22:00:42 +00:00
thorpej eeaf8d15ef Remove the old-style disk instrumentation code. 1996-07-12 21:55:48 +00:00
scottr c92399979d Back out previous; actually, this is never a problem for us. (Duh.) 1996-07-12 17:09:26 +00:00
is a7efb38d4c Some MUSTEK scanners fill the vendor string in the SCSI identify
string with 0xFF instead of 0x20. Shorten the compare to 6 bytes to
take care of this.

Fixes PR #2617 by myself, which is based on a private problem report
by Neil Brewitt.
1996-07-12 16:49:50 +00:00
leo 50bb4b170b Sync with cleanup of atari_init.c 1996-07-12 13:27:37 +00:00
leo 5d0677fbdf Fix a prototype warning. 1996-07-12 13:17:45 +00:00
leo 38cbb4640f Sync with atari_init cleanup 1996-07-12 13:16:31 +00:00
ws 17d0816194 Allow newer IEEE version of Rock Ridge CDs
Note that this should really handle the multiple ER/ES entries, sparse files
and probably the file serial number field in PX entries.
1996-07-12 13:15:29 +00:00
leo a6a57e8631 - Cleanup a bit
- Remove mapping of page zero
- Remove hackery around the first 8 bytes that were mapped to ROM by hardware
1996-07-12 13:14:23 +00:00
leo f8f011861e - Cleanup a bit
- Remove the kernel-jump-to-zero code as page zero mapping is removed
- Weed out cpu040 usage, use mmutype instead
- Fix doboot code
- add fill for page zero
- use m68k/sigreturn.s
1996-07-12 13:12:40 +00:00
cgd 45ca1fa22f rename rei() to exception_return(). rename proc_trampoline() to
switch_trampoline().
1996-07-11 23:02:19 +00:00
cgd 15fbec10d4 rename rei() to exception_return(). rename proc_trampoline() to
switch_trampoline(). clean up trap/exception/syscall entries and
eliminate common code where appropriate.  clean up bootstrapping
code.
1996-07-11 23:01:09 +00:00
chuck 6ae82431b5 fix:
- en_mfix shouldn't touch M_EXT mbufs.    change to avoid this [at
    the expense of allocating a new cluster mbuf to copy to].

    XXX: en_mfix is getting called more often than I hoped it would
    (seems to happen when TCP retransmits... we get all sorts of odd
    sized, odd lengthed data mbufs, yuck).    i may revise the xmit
    DMA code to use non-word sized dma.
1996-07-11 22:48:10 +00:00
cgd 9310a8c8aa don't save and set the USP at every trap entry and exit. It's
unnecessary, and given that there's no reason to waste time and
add complexity in trap handlers.  This means that code which sets and
uses the USP has to be a bit more careful, but that doesn't happen much.
1996-07-11 20:14:17 +00:00
ragge a5b04afcd8 Automatic changing of root device after boot now works. 1996-07-11 19:33:50 +00:00
thorpej bf2c897818 COMPATOBJS -> COMPAT_OBJS (already done on release branch)
Also, sys/compat/common/kern_prot_43.c no longer exists on the trunk,
so don't attempt to compile it.
1996-07-11 16:52:10 +00:00
cgd 105697388d Instead of treating the trap/syscall/exception frame like a struct
containing a substruct (the hardware frame) and an array of registers,
treat it like one big array of registers, for easier and prettier
access.  Update everything to deal with that.
1996-07-11 05:31:16 +00:00
cgd 3e323f7a08 update for new alpha_cpu.h definitions, -Wall cleanups, and make
things compile with the new work-in-progress pmap code.
1996-07-11 03:53:23 +00:00
cgd 192e4b94c0 update for new alpha_cpu.h definitions. 1996-07-11 03:52:44 +00:00
cgd 9aa794a63d update for new alpha_cpu.h definitions 1996-07-11 03:52:16 +00:00
cgd f8f96d4b7d clean up for -Wall 1996-07-11 03:47:55 +00:00
cgd 742da2e049 compile with new pmap code 1996-07-11 03:47:46 +00:00
cgd 4d024971bf update to use new definitions in alpha_cpu.h 1996-07-11 03:46:00 +00:00
cgd 436a892738 Add definitions for:
Process Control Block
	Interrupt/Exception/Syscall Stack Frame
	Machine Check Error Summary Register
	Machine Check Logout Area
clean up some, and add prototypes for all of the CPU instruction and
PALcode function stubs.
1996-07-11 03:44:50 +00:00
cgd 3986cf9624 make this compile with pmap work in progress 1996-07-11 03:33:25 +00:00
cgd 7a83b5d468 some cleanup for -Wall 1996-07-11 03:30:11 +00:00
chuck 47131b5d81 fixes:
- don't try and add a PDU trailer (or TBD for that matter) to an M_EXT
   mbuf.   when M_EXT is set, the data area of the mbuf can be shared
   with other mbufs (see m_copym()), and writing to one M_EXT mbuf may
   invalidate another M_EXT mbuf (saw this with PDU trailers).

 - be sure to validate the length value from the PDU trailer so that it
   doesn't throw us out of sync with the chip (fixes yet another source
   of the dread "en_service: id mismatch" panic).

 - on recv, don't bother allocating an mbuf if mlen is zero since we are
   only going to toss the data anyway.
1996-07-11 00:15:56 +00:00
jtc f9a9b2e372 Used signed instead of unsigned longs for sec and usec variables to
handle cases which would otherwise yeild wildly wrong results.
1996-07-11 00:09:29 +00:00
ragge e9d6f189c1 Add MSCP tape to this file. 1996-07-10 23:51:53 +00:00
ragge 02d0803c80 Add spl4 - spl7 macros, easy to use when playing with buses. 1996-07-10 23:51:08 +00:00
ragge 4d687fb39d Slow down DELAY for 11/785. 1996-07-10 23:48:42 +00:00
ragge 9c24877b23 Remove tmscp protocol definition file; which was actually the same
as the mscp protocol.
1996-07-10 23:44:17 +00:00
ragge 5d6b8719b2 Remove old (tape-only) tmscp driver. Add new uba/qba driver
for common MSCP routines.
1996-07-10 23:42:05 +00:00
ragge cb355cf8d5 Add support for tape drives. More extensive error checking. 1996-07-10 23:35:58 +00:00
explorer c62a6661a1 Updates to aic7xxx driver ; from pr port-i386/2600 1996-07-10 22:50:44 +00:00
explorer 9c8111508d Add SCSI_QUEUE_FULL ; part of pr port-i386/2600 1996-07-10 22:48:56 +00:00
cgd 3a99dd36fe cast argument to alpha vtophys() to vm_offset_t, to catch up with
recent prototyping.
1996-07-10 18:55:05 +00:00
cgd ccfab1b072 #ifdef the declaration of 'ac' in fddi_input on ISO, since it's only
used if ISO is defined and -Wall complains.
1996-07-10 18:54:23 +00:00
cgd 7b1d7251d1 add a couple of "default" entries in switch statements, to quiet -Wall. 1996-07-10 18:53:32 +00:00
cgd 2af08e028e print result of ntohl/htonl as a long. 1996-07-10 18:43:23 +00:00
cgd 8042054add remove some unnecessary and broken casts on char *'s which are being subtracted 1996-07-10 18:41:38 +00:00
cgd 910efd056e nfs_read and nfs_write return 'int' rather than ssize_t. 1996-07-10 18:32:33 +00:00
scottr 73b545f8f1 Fix from Leo Weppelman: Change accesses to 'ssir' to inline asm macro's. 1996-07-10 18:31:49 +00:00
cgd 1c5ea3c014 print difference between pointers with %ld, so that -Wformat works
on the Alpha and for consistency.  Also, other minor formatting cleanups.
1996-07-10 18:15:22 +00:00
cgd bc2f07f331 move DDB-only label inside an #ifdef, so that -Wall works 1996-07-10 18:14:04 +00:00
cgd 9764a289cd print result of ntohl/htonl as a long. (makes -Wformat work on the
Alpha.)
1996-07-10 18:13:35 +00:00
cgd 452fdf584c #ifdef __alpha__, prototype device_register 1996-07-10 17:52:04 +00:00
cgd b119b40c59 it compiles, but DEFINITELY does not run 1996-07-10 03:17:09 +00:00
cgd 77ba495772 temporarily move new pmap code into a seperate header, so changes to
one version won't spam people compiling with the option to get the other.
1996-07-09 22:22:25 +00:00
cgd db0b3ca200 kill a typo 1996-07-09 22:08:28 +00:00
mycroft 353cfc3523 Oops; remove something that shouldn't be here. 1996-07-09 09:23:03 +00:00
cgd c5d7ffec0d fix a few botched names 1996-07-09 04:18:13 +00:00
cgd 0cefc7ef74 clean and update for new defintions, prototypes, etc. 1996-07-09 00:53:48 +00:00
cgd b9659c52a5 add -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes as
CWARNFLAGS in the Makefile, but (for the time being, i.e. until that
works) override that with 'makeoptions' in std.alpha.
1996-07-09 00:46:01 +00:00
cgd 8c87bcbe93 definitions and constants which are part of the Alpha AXP
Architecture, and which relate to the OSF/1 PALcode.
1996-07-09 00:40:58 +00:00
cgd 2ba2d62b9b redefine lots of things in terms of definitions in alpha_cpu.h 1996-07-09 00:39:24 +00:00
cgd 48f29c8bc0 this file should not exist, for now 1996-07-09 00:38:37 +00:00
cgd c3a7b67f3d Everything which would be defined here is defined in
alpha_cpu.h, and this file is no longer necessary for the
Alpha.  However, some machine-independent code (e.g.
/sys/compat/common/kern_exit_43.c) still wants a file with
this name to be around.
1996-07-09 00:37:51 +00:00
cgd c2cd1ae6f5 profile_swpipl() -> _alpha_pal_swpipl() 1996-07-09 00:35:05 +00:00
cgd 04294813bd various cleanup, move setsoft* and spl* into intr.h. 1996-07-09 00:33:20 +00:00
cgd 29a40482db clean up comments, add OSF/1 rdmces and wrmces PALcode function calls. 1996-07-09 00:30:22 +00:00
cgd 2eab3353db delete cruft, clean up constants 1996-07-09 00:28:25 +00:00
oki 6b8ffeacd0 fixed format error 1996-07-08 16:36:28 +00:00
oki f8e8e90f15 move wait for insert system floppy to mountroot_hook stuff 1996-07-08 16:32:12 +00:00
is 7c66bb9bef Cleaned up copyright notice, fixed a typo, and sync the comment in the
GSP assembler file with reality.
1996-07-08 13:28:41 +00:00
fvdl 90b2034c7c Use the right time for v3 setattr operation. 1996-07-07 12:25:47 +00:00
fvdl 88eff7ea92 Start XIDs at a value based on the current time, not 0. This avoids nasty
XID confusions with servers that cache them over a long period and
with clients that reboot quickly.

Problems: because of the sanity check that is done by comparing the system
time with filesystem time, XIDs will start at 0 until root is mounted,
which means it isn't completely safe for diskless setups. But it's clearly
better than it was. It would also be cleaner if all XID handling (more
generally, all RPC handling) within the kernel went through the
same functions.
1996-07-07 12:23:49 +00:00
abrown 0c6696de2d Take advantage of new am7990 sc_nocarrier() function in order to do auto-
matic media detection on Sun4m machines which support multiple media
(UTP and AUI). New function lenocarrier() switches media type when called
if no link? flags are set.

Redefine link flags for Lance ethernet (le):
	<none>:	switch between media as needed to find carrier (autodetect)
		Preference to whatever the PROM is using (AUI if not booted
		from the network)
	link0:	use UTP port only
	link1:	use AUI port only

This allows Sun4m machines with dual media Lance ethernet adapters to
boot from the network on the UTP port.
1996-07-06 00:01:34 +00:00
abrown de61f8f511 Add a new function hook sc_nocarrier() to am7990_softc. If non-null, this
function is called when carrier is lost in lieu of a console message.
This is used by the sparc port to switch media types on Sun4m machines
if the appropriate link flags are set by ifconfig (see following commit
message). Should not affect ports that do not use sc_nocarrier().
1996-07-05 23:56:57 +00:00
explorer 228f4739ce add ZIP quirk for SDEV_NOMODESENSE 1996-07-05 21:58:04 +00:00
leo 4b5bff0d0f During a rather lengthy debug session with Markus Kilbinger (Thanks again!),
we managed to kill the following SCSI-driver bugs for the Falcon:
   - The Byte_Count_zero bit of the falcon DMA controller does not always
     tell the truth! This caused the SCSI-driver to choke on devices that
     disconnected in the middle of a DMA-transfer (mostly removables).
   - Printing debug info about the 5380 on the Falcon is *only* permitted
     when DMA is not active.
   - Some functions forgot to remove possibly pending sofware interrupts
   - Some debug options didn't allow debugging a single target while they
     could easily be made to do so. This is fixed.
1996-07-05 19:35:35 +00:00
leo f1af6a2252 Add missing spl0() call. 1996-07-05 19:22:21 +00:00
mark f5ee3d4ce6 Make sure all routes through vt_curadr() range check the x and y coordinates.
This fixes a nasty bug that could kill the kernel without ever reporting
a panic.
1996-07-05 19:07:55 +00:00
christos 8979b8342a Fix PR/2599; include <sys/dirent.h> instead of <sys/dir.h> 1996-07-05 16:31:00 +00:00
christos 7e1c82f6f4 - Apply PR/2535: Add support for flex scsi disks.
- Add a quirk called SCSI_NOMODESENSE for drives like the iomega jaz,
  that don't support mode sense.
1996-07-05 16:19:02 +00:00
leo ec3f2031a8 Change accesses to 'ssir' to inline asm macro's. 1996-07-04 07:25:13 +00:00
chuck 7a5247c228 new native mode ATM protocol layer. experimental code for playing
with raw aal0 and aal5 virtual circuits.
1996-07-04 03:20:11 +00:00
chuck e13b96dbf2 add native mode atm soft interrupt 1996-07-04 03:18:39 +00:00
chuck 59896583e3 add softnet interrupt for native mode atm 1996-07-04 03:17:53 +00:00
chuck 9c9676883e add native mode atm protocol layer 1996-07-04 03:16:56 +00:00
chuck a7d86b86c8 add native mode atm network interrupt 1996-07-04 03:16:13 +00:00
chuck 39623a6c40 add native mode atm protocol info, also ensure AF number remain sync'd
with freebsd.
1996-07-04 03:15:39 +00:00
chuck 0fe65e632b add native mode atm protocol layer 1996-07-04 03:14:21 +00:00
pk a6adfa8db7 Fix label sector confusion, per der mouse (PR#2598). 1996-07-03 22:02:09 +00:00
mycroft de867628ce Migrate m->m_data and m->m_len into Q regs to enable 10% code size reduction. 1996-07-03 18:20:38 +00:00
chuck db41df67cd ported to FreeBSD 2.2-960612-SNAP. [thanks to Matt Thomas' driver work] 1996-07-03 17:21:58 +00:00
chuck 26cf9de9d5 ported ATM to FreeBSD 2.2-960612-SNAP 1996-07-03 17:17:10 +00:00
mycroft 7217b32126 Eliminate an instruction. 1996-07-03 14:05:16 +00:00
mycroft b056ddef2a Add a few mbuf fields. 1996-07-03 13:10:46 +00:00
mycroft 8663d62627 Minor cleanup. 1996-07-03 13:07:17 +00:00
mycroft 5f51da7a03 Translate in_cksum() to assembler, and speed it up a bit. 1996-07-03 13:01:40 +00:00
fvdl 0f6afee9a7 Remove bogus check on record length < NFS_MINPACKET.
(From Guy Harris via Rick Macklem).
1996-07-02 23:21:15 +00:00
cgd 808bbc3d50 minor cleanups to fit into the NetBSD source tree better (e.g. remove
RCS Log messages).  Haven't even tried to compile it yet.
1996-07-02 22:51:46 +00:00
cgd 255c6be565 pull in the Mach3 alpha pmap, as a base for the new pmap module. Modified
from the mach3 versions only as much as necessary to allow the old
NetBSD/Alpha pmap code to compile.  THESE WILL NOT WORK AS-IS, and at
minimum will require code to implement reference- and modified-bit
emulation.
1996-07-02 22:42:39 +00:00
cgd 6d3cc133ad define OLD_PMAP for all Alpha kernels. Eventually, when a new pmap module
works, this will be removed.
1996-07-02 22:34:02 +00:00
cgd 31f2acb42e if OLD_PMAP defined, don't usee alpha/pmap.c and use alpha/pmap.old.c instead. 1996-07-02 22:32:16 +00:00
cgd 9241c534de if OLD_PMAP defined, pull in <machine/pmap.old.h> and ignore the other
contents of this file.
1996-07-02 22:22:20 +00:00
pk 39dfdd0601 Translate EIO to ENOTTY after a SunOS `TIOCGETPGRP' (tcgetpgrp(3)) fails
on a pty (see also kern/pty_tty.c).
1996-07-02 21:21:57 +00:00
pk 947ec65105 sunos_compat: return EIO when TIOCGPGRPing a half-open pty. This is
expected by SunOS pty-allocating programs (telnetd,rlogind,..).
1996-07-02 21:19:02 +00:00
fvdl 1e8262b3d6 Don't mistake a non-async block that needs to be commited for an
interrupted write.
1996-07-02 16:03:47 +00:00
ragge 1e3ab3cb1e uda -> ra and tms -> mt (mscp changes). 1996-07-01 21:50:29 +00:00
ragge d969a7e16e Changed data structures due to removal of old config system. 1996-07-01 21:31:36 +00:00
ragge f6fb3bf1ab Change to new config and to support new MSCP system. 1996-07-01 21:24:48 +00:00
ragge f85a693859 Update to match new MSCP device handling.
Remove support for old config system.
1996-07-01 21:07:25 +00:00
ragge dfdb4e6863 Remove old config support code. 1996-07-01 20:48:58 +00:00
ragge f19e0bacab Rewritten and moved to vax/mscp. 1996-07-01 20:47:27 +00:00
ragge 60af617a5d Totally new approach for MSCP devices; they are now handled more like SCSI.
All Unibus dependencies are removed.
Can support different controllers on different buses.
Allows cloning of devices.
TODO:
	Write support for MSCP tapes.
1996-07-01 20:41:30 +00:00
ragge 97756165b8 Remove code that took care of old config devices. Don't support
old config anymore, all devices should use new config by now.
Add structures to handle DMA devices using new config.
Fixed bug that caused unwanted ubareset's on 11/780.
1996-07-01 20:17:56 +00:00
abrown 410fea854a Implement asm macros to allow 64-bit load/store to alternate address space.
Use new ldda() and stda() to make MultiCache initialization work on
SuperSparc-II machines (these machines require 64-bit access, even
to a 32-bit register).
1996-07-01 18:01:26 +00:00
fvdl 2f1b74d9f0 Always call vnode_pager_uncache when removing a file in the server
(same as in sys_unlink()).
1996-07-01 11:16:03 +00:00
fvdl b27bafebd5 We're only handling uio with iovcnt == 1, so don't ever attempt to increment
uio_iov, this will get us into nasty trouble. (Thanks to Matthias Drochner for
tracking this down).
1996-07-01 10:22:47 +00:00
is 6e4842626b There are Blizzard boards without SCSI options - we need to probe for the
existence of the SCSI hardware in the boards adress region.
Thanks to Oster Nerhus for the detailed bug report and to Ralph Schmidt for
the recommended probing method.
1996-07-01 08:00:02 +00:00
christos 0c609bcf9e - Fix PR/2582: default route change without specifying gateway kills system.
While I was there:
- Fix KNF style problem.
- Remove bogus casts to 0, and (caddr_t).
1996-07-01 01:12:32 +00:00
christos 7120dce626 Fix mysterious dissappearance of the .PATH directive. 1996-06-30 00:17:02 +00:00
chuck 921ed68fff new: add a raw_threshold for raw mode. this basically tells the driver
to ignore inbound data sizes less than the threshold.  otherwise,
        when connected to a video aal0 input the driver gives us a massive
        stream of 56 byte mbufs each with one aal0 cell in it and the
        system just can't keep up with it, especially if the socket buffer
        size is large [it hangs until you turn off the video source].

fixes: when turning off a vc, try and check the freshest copy of the mode
        when seeing if we need to enter the "drain" state.   also, don't
        panic if we get unexpected rx interrupt on a VCI (instead make sure
        the VC is off, print a warning, and move on!).
1996-06-29 23:23:35 +00:00
pk d71930e6c9 Put native NetBSD disk label in a piece of wasteland within a SunOS label.
read_disk_label() uses the native label if present.
write_disk_label() constructs a SunOS label around the native one.
1996-06-29 22:38:11 +00:00
pk 80c64cc71d Put native NetBSD disk label in a piece of wasteland within a SunOS label. 1996-06-29 22:33:16 +00:00
leo 3fa481b30d Update to match NetBSD version. 1996-06-29 20:51:58 +00:00
leo 1ed5af88ee Define LIBCRT0. This tries to defeat the attempts of bsd.prog.mk to add
${DESTDIR}/....crt0 to the link rule when $DESTDIR is set.
1996-06-29 20:48:41 +00:00
leo 4b558a4b6a Remove references to kern_extern.h 1996-06-29 20:24:25 +00:00
pk e2ec1dab69 Avoid compiler warning on SUN4-only kernels. 1996-06-29 20:10:50 +00:00
pk 4ce982125b Need to add another `if defined(SUN4M)'; noticed by David Gilbert. 1996-06-29 20:09:40 +00:00
chuck cc499a99d9 change:
- change asock to rxhand and adjust all for this [esp atm_input]
1996-06-29 20:07:05 +00:00
chuck 685684df93 change:
- change rxso into a void handle ... no need to know details at this low
        level.
fix:
 - forgot to init "vci" during ENOTHER_DRAIN case of RX DMA interrupt
        [could cause a vm_fault on native mode connection close depending
        on needing to drain out the VC and also the random value of vci]
1996-06-29 20:00:44 +00:00
abrown de7ece6ce5 Prevent recursive invocation of mcount() while in kernel by setting profiling
state to BUSY while in mcount(). This allows profiling to work when mcount()
calls a profiled routine (for example, udiv on the SPARC).
1996-06-29 14:30:32 +00:00
chuck a2efd3b632 add hook for user to turn on/off raw mode 1996-06-28 02:34:34 +00:00
chuck d8f8995650 new: add all needed hooks to engage raw mode. 1996-06-28 02:32:24 +00:00
chuck 849f947488 fix/improvement:
- add proto if atm_input
 - add native mode atm hooks to if_atmsubr.c (atm_input)
1996-06-27 04:34:17 +00:00
chuck ff6f7d186b fixes/improvements:
- more stat counters (rxmbufout -- mbufs, ttrash -- trashed RBD)
 - add swsl_size to keep track of size of software slist
 - revise when we call en_service
 - fix handling of circular lists (was getting full vs empty confused in
        extreem cases...)
 - native mode atm: remove sbappend code: can't do it here since
        socket buffer is protected only by splsoftnet and that doesn't
        mask enintr off.    forces us to switch to a two level interrupt
        scheme.    revise call to atm_input to reflect that.
1996-06-27 04:29:40 +00:00
jtc 209801c89e Add memcpy.c to SRC_sa 1996-06-26 19:32:32 +00:00
thorpej 180c16eff6 Oops, forgot this required change in previous commit. 1996-06-26 18:11:24 +00:00
thorpej fc699e8440 Major revamp of the boot code.
- Good bye SYS_PBOOT and SYS_NBOOT, hello SYS_UBOOT (unified boot)
	  Currently supports booting from SCSI and HP-IB disk and network
	  from a single boot block.  Infrastructure for booting from
	  HP-IB tape is there, but it doesn't quite work yet.

	- Add a slightly modified version of Gordon Ross's "rawfs",
	  which provides a filesystem-like interface to tape devices.
	  Still needs debugging (see above).

	- Rename sys_inst.c to inst.c, so that the LIF directory entry
	  turns out right (used to look like SYS_SYS_I if loaded from
	  tape).

	- Add a "netio_ask" hint to netio.c, so that a special instnetio.o
	  doesn't have to be compiled for SYS_INST.  Defaults to using
	  bootparams, but if set, will prompt user for information
	  usually obtained from bootparams.

	- General cleanup.
1996-06-26 17:44:21 +00:00
is a63c9b84e2 - Add code to loadbsd.c to allow booting on DraCos. This could be done
in a more elegant way, but it works as is, and we need it now.
- Add a README and Makefile for the above. Note that this directory should
  NOT be added to ../Makefile's SUBDIRS.
1996-06-26 15:53:05 +00:00
jonathan d41e338edc * Put in fix to in bytestuffing/RLL code from Stuart Cheshire, that
somehow got lost between NetBSD and Linux.    Output side mbuf-walking
  code now correctly bytestuffs mbuf chains, as well as single mbufs
  and clusters.

* Update radio error-parsing code to Stuart's latest stable code.
  We now parse error messages the older code didn't.

* Note where radio-crash watchdogs should be added (the linux code
  is there, #ifdef'ed out). This still just  doesn't work.
  The radio reset doesn't always work even when slattatch is first started,
  but I have a radio with old firmware, which may be a contributing factor.

* Correct the checks for the tty output queue being overfull;  estimate
  the stuffed pkt size as  (original * 65/64) + STRIP_HDRLEN + 2,
  instead of SLIP's (2*SLMTU).  Re-enable the disabled  check now the
  size estimate isn't excessively large.

* Fix BPF tapping of strip interfaces,  STRIP packets are wrapped
  in a SLIP bpf  header.   This implies no BPF support for arp or atalk,
  even though Linux boxes are sending arp requests and  gratuitous arps.
  There may be no good  fix short  of adding explicit  STRIP encapsulation
  support to bpf/tcpdump.

* Still need a solid walkthrough, and  rewrite to eliminate redundant
  receive-side mbuf copying.
1996-06-26 06:04:20 +00:00
jonathan 9f364d3a3b Rename unused macro ELF_HDR_SIZE -> MIPS_ELF_HDR_SIZE to avoid clash
with #define of ELF_HDR_SIZE in MI elf code.
1996-06-26 04:41:41 +00:00
phil 99db994eea Move to the MI ncr5380 driver. 1996-06-26 04:31:33 +00:00
chuck 4ac1ba7fe7 [1] add new rxso passing structure to if_atm.h
[2] modify atm_output to handle native mode atm output mbufs
1996-06-26 04:22:54 +00:00
chuck a08c95305d fixes/new stuff:
[1] if user tries to enter in a bogus PVC don't leave it in the routing
        table ... remove it
[2] change ioctl arg to include rxso for lower layer
[3] add hooks (inside "NATM" ifdef) for native mode atm sockets so that
        they don't clash with IP PVCs.   [i am still debugging the native
        mode atm socket protosw code]
1996-06-26 04:18:44 +00:00
chuck 39b4f89493 fixes:
[1] rxslot "cur" pointer wasn't updated if we copied all data and
        didn't have any fill.   this could cause a service id mismatch
        panic under load.
  [2] recv of aal0 forgot to include the cell header in the data length
        calc [add cell header length to midwayreg.h]
  [3] fix control info "chop" for raw mode and aal0
  [4] handle rxsb better for native atm connections
        (XXX: still working on this ... not complete and needs revision)
1996-06-26 04:08:53 +00:00
pk 1a04146533 A couple of emulation enhancements from der mouse's PR#2411:
- ability to be either a BROADCAST or POINTTOPOINT interface.
	- a humble beginning of link-layer addressing (differs from PR
	  by using a `struct sockaddr' instead of single byte).
1996-06-25 22:15:13 +00:00
thorpej 698844254e A few simple changes:
- Use an extent map to manage the ISA memory "hole", much like
	  how i/o port space is manged with an extent map.  Do the actual
	  accounting in bus_mem_{,un}map().

	- When creating the ioport and iomem extent maps, pass the
	  EX_NOBLOB flag, which tells the extent map code to disallow
	  fragmenting of regions.  This will make it easier to catch
	  simple i/o and memory mapping bugs (like the if_ed.c bug I just
	  fixed) in the future.

	- In bus_mem_map(), a chunk of code was indented using spaces.
	  Make the indentation use tabs.

	- In bus_io_unmap(), fix the format passed to printf().
1996-06-25 21:22:48 +00:00
thorpej 794614df64 In the 3c503 probe, map the correct number of ports. (Unmap already
unmapped the correct number of ports, thus causing the ISA io port
extent map to get corrupted.)
1996-06-25 20:47:02 +00:00
jonathan 8445253ad3 Fix 4.4bsd/pmax memory-sizing bug:
physical memory is sized by a loop that writes data to the first
word in a page, (writes something else to settle the bus) and then reads
back the word it wrote. If the read succeeds, the amount of physical
memory is increased by one page.

This fails on a 5000/1xx with a memory subsystem filled with 8 low-density
(4Mbyte) SIMMs. The memory-decoding hardware  aliases the 32Mbytes of
physical memory  at physical addresses 0, and at 32M (and presumably
at 64 and 96Mbytes.)  The contiguous aliasing causes the memory-sizing
loop to continue  at 32 MBytes, testing the memory that's really
at address 0,  overwriting and crashing the kernel.

Fixed (for 1.2) by reading the SIMM-decoder stride size from the
motherboard, and reducing the loop bound to 32Mbytes on a 5000/1xx
with low-density SIMMs.  (Other models have a non-power-of-2 maximum
memory and so are not subject to _contigous_ aliasing of physical memory).
1996-06-25 05:47:31 +00:00
pk 6e8ba625ef Ignore the mountpoint's `v_usecount' in nfs_unmount() if MNT_FORCE is on.
This takes care of two related problems:
	- `umount -f' wouldn't work if someone's working directory is
	  the filesystem root.
	- vfs_unmountall() would complain about a busy `/' on a
	  diskless setup.
1996-06-24 10:26:40 +00:00
jonathan 7620af6671 Fix 4.4bsd/pmax bug in memory-sizing loop:
The physical memory-sizer claims to preserve memory contents
(specifically the contents of msgbuf).  The loop writes different
values into two adjacent locations and reads the contents of the
first, to ensure that whatever is read back from the first location is
from memory and isn't just the first write persisting on the bus.

The loop preserved the value of the first location, but not the second,
resulting in the second test value ('ZZZZ') over-writing a word in msgbuf.
1996-06-23 21:08:54 +00:00
thorpej 9b69016c08 Now that we have i/o port accounting, change the mainbus attach
order back to the (correct) pci -> eisa -> isa ordering.
1996-06-23 20:11:27 +00:00
thorpej 8c2f15c6fc New implementation of bus_io_{,un}map() for the i386. Details:
- A fixed extent map (statically allocated descriptor storage) is
	  created in init386(), just before the call to consinit().  The
	  fixed descriptor storage has enough room for 8 region entires,
	  which is plenty for early initialization, but doesn't chew up
	  that much memory.

	  This extent map (ioport_ex) manages the i386 i/o port
	  space (0x0 - 0xffff).

	- Just before the call to configure() in cpu_startup(), a
	  flag is set which notifies the bus_io functions that it is
	  safe to use malloc() to allocate descriptor storage, in the
	  event that more than 8 regions are needed.

	- bus_io_map() attempts to allocate the specified region from
	  ioport_ex.  If the allocation succeeds, the io handle is
	  filled in.  If the allocation fails, it is implied that
	  something else is already using that io space, and an
	  error condition is returned.

	- bus_io_unmap() frees a region previously allocated from
	  ioport_ex in bus_io_map().  If the free fails, a warning
	  is printed on the conole.

These changes implement "port accounting".  This is required for
proper autoconfiguration on the i386 port, and makes dealing with,
among other things, PCMCIA io mappings _much_ easier.
1996-06-23 19:59:06 +00:00
briggs 4043c93c6f Format the NetBSD Id string like it is elsewhere 1996-06-23 15:30:51 +00:00
briggs 9f01fc6ee4 Add a comment about the last change. 1996-06-23 15:02:58 +00:00
mycroft 865bfae299 Return ENOPROTOOPT rather than picking pseudo-random error values.
Don't allow SIOCGET{VIF,SG}CNT from sockets other than the multicast router.
Restructure rip_ctloutput() like ip_ctloutput(), and fix memory leaks.
1996-06-23 12:12:44 +00:00
mycroft 5262bdf053 Remove the old (broken) setre[ug]id() emulation. 1996-06-23 11:20:42 +00:00
mycroft fdc697b5e9 Catch up with setre[ug]id() changes. 1996-06-23 11:17:50 +00:00
mycroft 1328302bd9 Regen. 1996-06-23 11:16:12 +00:00
mycroft 365a977533 Catch up with setre[ug]id() changes. 1996-06-23 11:13:32 +00:00
mycroft f01b3b1837 Regen. 1996-06-23 11:12:22 +00:00
mycroft 3bbb29fe03 Catch up with setre[ug]id() changes. 1996-06-23 11:10:01 +00:00
mycroft 8ea2fc5788 Regen. 1996-06-23 11:08:01 +00:00
mycroft 351bdbd445 Implement setre[ug]id() compatibly with 4.3BSD, SunOS, and Linux. 1996-06-23 11:04:11 +00:00
thorpej 5253727570 From Ignatios Souvatzis <is@NetBSD.ORG>:
- handle fpfault properly on the 68040
	- properly distinguish between a bus error and an MMU fault
	  on systems with 68030 or 68851 MMUs
1996-06-23 05:48:12 +00:00
thorpej 6041e29f1f My extent map manager. Sort of like resource maps, but more flexible.
Understands allocation aligment and boundary restrictions, "specific region"
allocations, and suballocations.  Capable of statically or dynamically
allocating map overhead.

Many thanks to Matthias Drochner for running the code for me, and sending
me bug fixes, optimizations, and suggestions.  Also, many thanks to
Chris Demetriou for his extremely helpful suggestions.

XXX No manual page yet.  One is forthcoming, as soon as I can scare up
the time to write one.  This has been sitting on my plate for quite a
while, and several projects are waiting for it.  Time to move on.
1996-06-23 00:10:08 +00:00
leo 1cf023be2b s/keymaps/keymap/ 1996-06-22 21:01:29 +00:00
leo d7160491e3 Install loadkmap in the default distribution. The keymap files are moved
to ..../stand/keymaps and have their own Makefiles there.
1996-06-22 20:21:55 +00:00
leo 323c486e74 Add the subdirs: binpatch, keymaps and loadkmap. 1996-06-22 20:18:15 +00:00