Commit Graph

3481 Commits

Author SHA1 Message Date
Joerg Wunsch
c111c7c745 Add a small hack to UserConfig that allows to override the number of
EISA slots to probe.  This is mainly intended to allow installing the
system on an HP Netserver with an on-board AIC7xxx EISA SCSI
controller, that is sitting on EISA slot # 11.

Documentation updates explaining this hack will follow shortly.

Note that this can go away again as soon as the EISA device probing
is more intelligent about the address space clash with the PCI address
space.

2.2 candidate.

Not objected by:	freebsd-core :)
1996-12-14 18:07:17 +00:00
Garrett Wollman
59562606b9 Convert the interface address and IP interface address structures
to TAILQs.  Fix places which referenced these for no good reason
that I can see (the references remain, but were fixed to compile
again; they are still questionable).
1996-12-13 21:29:07 +00:00
Bruce Evans
c08d58eade Moved nonstandard compiler profiling options out of config. Just print
the profiling level in config and decide what to do in makefiles.

Makefile.i386:
Align functions to 16-byte boundaries if profiling is enabled.  This
will allow a fourfold reduction in the size of the profiling buffers.
1996-12-13 12:46:28 +00:00
Jordan K. Hubbard
0b3870cb60 Close PR#2198:
I've added an installation from optical disk drive facility.
	This enables FreeBSD to be installed from an optical disk, which
	may be formatted in "super floppy" style or sliced into MSDOS-FS
	and UFS partitions.

	Note:  ncr.c should be reviewed by Stefan Esser <se@freebsd.org>
	and cd.c by Joerg Wunsch <joerg@freebsd.org> before bringing this
	into 2.2.

Submitted-By: Shunsuke Akiyama <akiyama@kme.mei.co.jp>
1996-12-13 07:55:14 +00:00
Steven Wallace
8bb9c4c7ea Soften range-check for LDTs.
Reviewed by:	bde
1996-12-12 17:57:50 +00:00
David Greenman
a7e4f840ca Fix allocation for exech_map to be 16*PAGE_SIZE rather than 32*PAGE_SIZE
so that it is scaled the same as exec_map (16 concurrent exec'ers).
1996-12-12 04:20:50 +00:00
Martin Renters
204c7704d9 Two fixes:
makerom checksum check calculation was a no-op
	nb8390.c had a bug which caused packet_len to be incorrect
	for packets which wrapped in the buffer.
Submitted by:	Linux developers (I lost the email with their names)
1996-12-11 19:33:38 +00:00
John Dyson
ab608804ed One minor mod to set the limit of nbufs to 2048 from 1536. More important
fix to exech_map, it used 32*ARG_MAX, and it should use 32*PAGE_SIZE.
1996-12-11 05:52:15 +00:00
Garrett Wollman
d051845d36 Don't depend on <net/if.h> including <sys/time.h> 1996-12-10 18:01:27 +00:00
Bruce Evans
9d12c4da86 Give up early for empty partitions. The offset for an empty
partition is 0, which is outside the slice unless the disk is
dangerously dedicated.  There is little error checking later, and
following garbage metadata outside the slice usually caused crashes,
Empty 'a' partitions are fairly easy to create by cloning the label
for the whole disk.

Fixed a missing newline in a related error message.
1996-12-10 14:07:42 +00:00
David Greenman
fb5831565c 1) Implement SIOCSIFMTU in ether_ioctl(), and change ether_ioctl's return
type to be int so that errors can be returned.
2) Use the new SIOCSIFMTU ether_ioctl support in the few drivers that are
   using ether_ioctl().
3) In if_fxp.c: treat if_bpf as a token, not as a pointer. Don't bother
   testing for FXP_NTXSEG being reached in fxp_start()...just check for
   non-NULL 'm'. Change fxp_ioctl() to use ether_ioctl().
1996-12-10 07:29:50 +00:00
KATO Takenori
40e070f293 Delete $NetBSD$, and add $Id$.
2.2 candidate.
1996-12-09 15:36:54 +00:00
Mike Smith
c2ce3df1da Improve the explicitness of the "you cannot do anything with PCI
devices" message.

Closes conf/2130.
1996-12-09 05:13:19 +00:00
Steven Wallace
9ce8b2a2f6 Perform special sigset() check.
Make sure signal is not blocked.  If it is, return SIG_HOLD instead
of handler and unblock the signal.
1996-12-08 02:24:10 +00:00
Søren Schmidt
2092b5ac38 Fix the broken support for monochrome VGA's.
It was MY fault after all, damn..
1996-12-07 22:33:05 +00:00
KATO Takenori
4e8f1851bf Obtained from: NetBSD/pc98 based on NetBSD 1.2
Add a missing file of bs driver.  It's a 2.2 candidate.
1996-12-07 12:31:05 +00:00
John Dyson
807cf4006d Make LKM's build again. I have added the allegedly broken
ACTUALLY_LKM_NOT_KERNEL until the real fix comes through.  Whatever
flag that is used to indicate building LKMs will have be be substituted
in the future.  This allows proper selection of the usage of the
efficient, single instruction in the kernel, but alas, doesn't allow
for use in userland or LKMs :-(.  Them's the breaks!!!
1996-12-07 05:08:37 +00:00
John Dyson
66f61b8256 Change endian.h so that when a kernel is compiled without I386_CPU, and
with one of the following (I486_CPU,I586_CPU,I686_CPU) so it can take
advantage of the very quick bswap insn.  This keeps LKMs from being
built to take advantage of the insn, but also makes sure that the LKMs
can be run on all CPUs.  (The LKMs don't pick up the CPU options :-( ).
1996-12-07 03:46:20 +00:00
Bruce Evans
2c5136653b Fixed handling of modem status changes. Only the most common case of
connect/hangup in !CLOCAL mode was handled correctly.  mgetty and ppp
didn't work because they turn on CLOCAL and poll for carrier (or RI?).
1996-12-05 12:43:30 +00:00
John Dyson
3596818baa Clean-up of the new buffer kva allocation code. Also, there was an
error in the !BOUNCE_BUFFERS case.
1996-12-05 04:28:52 +00:00
Nate Williams
5881846048 Better fix for the previous overflow problem using the code from
ogetrlimit().

Suggested by:	bde
1996-12-05 03:14:14 +00:00
Nate Williams
abcdd6ed84 'ulimit' can overflow the int return value, so avoid the overflow by
subtracting one if ulimit returns -1.

Submitted by:	Miguel Angel Sagreras <msagre@cactus.fi.uba.ar>
1996-12-05 01:45:08 +00:00
Satoshi Asami
778128e3f9 Replace sbic driver (WD33C93 SCSI card driver) with new bs driver.
Submitted by: The FreeBSD(98) Development Team
Obtained from: NetBSD/pc98 based on NetBSD 1.2
1996-12-04 04:32:52 +00:00
Satoshi Asami
f48465862b Synchronize with the RELENG_2_2 branch.
Definite 2.2 candidate.

Submitted by: The FreeBSD(98) Development Team
1996-12-04 04:21:30 +00:00
Justin T. Gibbs
2ca3e32777 Clear the busfree interrupt when one occurs, after a SELTO, or a bus reset. 1996-12-03 17:06:00 +00:00
Poul-Henning Kamp
673f8923d0 PR kern/2141:
function ed_attach_NE2000_pci() in if_ed.c passes
        an uninitialized block of memory (got with malloc())
        to ed_attach. This prevents a proper initialization
        of the device descriptor and in my case causes a panic
        during the probe, while printing out device info.

Reviewed by:	phk
Submitted by:	Luigi Rizzo <luigi@iet.unipi.it>
1996-12-03 16:08:00 +00:00
Nate Williams
c80383505d Update the bootblocks to use the new definitions that changed in the
recent psm/syscons/kbdio code update.

Submitted by:	Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1996-12-03 03:32:15 +00:00
Bill Fenner
66ff6a3c1b Add IP_OPTIONS and the multicast-related setsockopts to the
list of IP setsockopts the Linux emulator recognizes.

Explicitly disallow IP_HDRINCL since Linux's handling of
raw output is different than BSD's.

Closes PR#kern/2111.

Submitted by:	y-nakaga@ccs.mt.nec.co.jp (Yoshihisa NAKAGAWA)
1996-12-03 02:52:29 +00:00
Søren Schmidt
1f9d9075e4 Alot of fixes from kazu:
1. All the suggestions earlier made by Bruce: renaming some symbols,
stricter error checking, removing redundant code, etc.

2. The `psm' driver preserves the default counter resolution and
report rate, whatever they are after reset. (Based on reports and
suggestion from Nate and Rob Bolin).

3. The `psm' driver now does not check the so-called sync. bit in the
first byte of the data packet by default, so that the tapping feature
of ALPUS GlidePoint works (based on reports from Louis Mamakos). I
tested the code with ALPUS Desktop GlidePoint (M/N GP101) and found
no problem; tapping worked. It appears ALPUS produces several models
of GlidePoint. I hope the other models are OK too.

The check code can still be activated by defining the PSM_CHECKSYNC
option in the config file. (The bit checking slightly reduces, if not
completely eliminates, weird mouse behavior cased by unsynchronized
mouse data packets. It also helps us to detect if the mouse interrupt
can ever be lost. But, well, if there are devices which cannot be
supported this way...)

4. The `psm' driver does not include the protocol emulation code by
default. The code can still be compiled in if the PSM_EMULATION option
is specified in the config file. Louis Mamakos suggests the emulation
code is putting too much in the kernel, and `moused' works well.
I will think about this later and decide if the entire emulation
code should be removed.

5. And, of course, the fix in `scprobe()' from Bruce to cure the
UserConfig problem. My code in `kbdio.c' is slightly different from
his patch, but has the same effect. There still is a possibility that
`scprobe()' gets confused, if, for whatever reasons, the user holds
down a key for very long time during the boot process. But we cannot
cope with everything, can we?

Submitted by:	Kazutaka YOKOTA (yokota@zodiac.mech.utsunomiya-u.ac.jp)
1996-12-01 19:05:50 +00:00
Bruce Evans
4eb73cdaff Removed all references to b_cylinder (aka b_cylin). It was evil and
hasn't been used for a year or two since disksort() started sorting
on b_pblkno.
1996-12-01 16:34:41 +00:00
John Dyson
621d520e2f Fix a problem with the new buffer_map management code. Additionally,
decrease the size of buffer_map to approx 2/3 of what it used to be
(buffer_map can be smaller now.)  The original commit of these changes
increased the size of buffer_map to the point where the system would
not boot on large systems -- now large systems with large caches will
have even less problems than before.
1996-12-01 15:46:40 +00:00
Bruce Evans
c252c2507e Fixed input of BREAKs when IGNPAR is set and IGNBRK is not set. BREAKs
are always together with Framing Errors and they were incorrectly
treated as FE's and discarded.

Reorganized the BREAK/FE/PE tests.

Found by:	NIST-PCTS
1996-11-30 15:52:56 +00:00
Bruce Evans
eea9b0845f Reset h/w fifos (if any) in siostop(). Now ttyflush() works fairly well
with sio devices (not perfectly, since there is no way to flush the tx
holding register on 8250-16450's.  I'm not sure if resetting the fifos
flushes the tx shift register).

Reminded by:	NIST-PCTS
1996-11-30 15:29:31 +00:00
Bruce Evans
4670f800ec Fixed sloppy clearing of TS_BUSY. Don't clear it until the transmitter
is completely empty.  There is no interrupt for output completion, so
poll for it every 10 ms after output is nearly complete.  Now ttywait()
works right.

Reminded by:	NIST-PCTS
1996-11-30 15:19:19 +00:00
Bruce Evans
38e81cedcf Throw away input if CREAD is not set. POSIX requires no characters to be
received in this case even if the hardware doesn't have a CREAD bit.

Found by:	NIST-PCTS
1996-11-30 15:03:05 +00:00
Bruce Evans
9924e17950 Cleaned up CONSPEED changes. `comdefaultrate' gives the default
speed for the "com" console, not for general purpose "com" ports,
so there was no need to split it into comdefaultrate and condefaultrate.
1996-11-30 14:51:04 +00:00
Bruce Evans
4cea724a81 Reenabled i586-optimized copyin/out.
Should be in 2.2.  Don't put it there for a while.
1996-11-30 14:08:44 +00:00
John Dyson
6f235fb2f9 Relax the constraints on the bswap opcode (it works on non-byte
registers.)  Also clean up some namespace pollution, and remove
gcc-1 support (nothing really works with it anymore anyway.)
Submitted by:	Bruce Evans <bde@freebsd.org> and me.
1996-11-29 16:22:22 +00:00
Bruce Evans
9dde46b7a0 Fixed EFAULT handling in i586_copyin() and i586_copyout(). Use a
consistent stack frame in fastmove() so that only one new fault handler
is necessary.

Should be in 2.2.  Harmless until the i586 versions are reenabled.
1996-11-29 14:32:30 +00:00
Bruce Evans
c827accd9a Don't print bootinfo.bi_n_bios_used in cpu_startup() since it is always
zero because no drivers have had a chance to change it.
1996-11-29 13:19:26 +00:00
Bruce Evans
388ddab632 Don't clobber the SIGCONT bit in the signal mask in sigreturn(). Use
the `sigcantmask' macro to get the correct set of unmaskable signals.

Found by: NIST-PCTS.
1996-11-29 13:12:14 +00:00
Jordan K. Hubbard
94172f9618 Correct name in probe type. Closes PR# 2122 (with a change, since the PR
did not actually use the correct name either :-).
Submitted-By: Toyonori Fujiura <toyo@exiv.pearnet.org>
1996-11-29 12:26:30 +00:00
John Dyson
64a6e05c28 Clarified the comment about removing other CPU defs. Specifically,
I added the suggestion to remove the I386_CPU def if possible.
1996-11-29 07:08:48 +00:00
John Dyson
f8b4081443 Support the appropriate use of bswap instruction on non-I386 builds.
Per Wayne Scott of Intel, the old sequence took 20cycles!!! on a P6.
Another nice side-benefit is that the kernel is about 3K smaller!!!
Submitted by:	Wayne Scott <wscott@ichips.intel.com>
1996-11-29 07:04:03 +00:00
Poul-Henning Kamp
b61e2e6afe I broke psm.c and none of the 5 reviewers noticed :-) 1996-11-28 17:18:56 +00:00
Poul-Henning Kamp
ff301e1b9b Add a timeout here, just like in if_ed.c
Reviewed by:	phk
Submitted by:	Luigi Rizzo <luidi@labinfo.iet.unipi.it>
1996-11-28 09:54:38 +00:00
Poul-Henning Kamp
be2806f309 Make intro command a NO-OP if no VISUAL_USERCONFIG 1996-11-27 22:53:10 +00:00
Poul-Henning Kamp
9009c7d68d Waste less space. 1996-11-27 22:52:25 +00:00
Andrey A. Chernov
f0b48537e8 Remove warning at AHC_SCBPAGING_ENABLE, not needed now 1996-11-27 22:52:09 +00:00
Poul-Henning Kamp
07c48e4bb0 Make a kernel with DDB but without sio possible again. This is only
a stopgap measure, a more complete solution is on somebodys whiteboard
(and we all know that THAT means :-).

Reviewed by:	pst
1996-11-25 18:39:25 +00:00
Peter Wemm
31461d3a75 Back out my previous change here. aic7xxx_asm is only a stdio program
that runs in the host's build environment, not the kernel's environment.
1996-11-24 08:15:11 +00:00
Peter Wemm
34429f3d2d Fix my previous (untested) commit. The probe routine now appears to work
again.

Something needs to be done about this in 2.2, since the code there doesn't
even compile anymore since the syscons/kbdio/psm merge into 2.2.
1996-11-24 08:06:01 +00:00
Peter Wemm
f2a58aec0a Make this compile again after the syscons/psm/kbdio changes that removed
the keyboard IO port definitions from <machine/console.h>.

Note: I do not have a machine available to test this yet,  I sent this
for review to several people who have not replied.

This is also totally busted in 2.2, which has half of the syscons/psm/kbdio
changes in it.  This really desperately needs to be tested and fixed
in 2.2 as well.
1996-11-23 07:38:25 +00:00
Justin T. Gibbs
ccddabb0c7 Add code to the SCSIINT handler for unexpected busfrees and handling immediate
SCBs in response to a busfree.

When re-queueing an SCB that returned with QUEUE FULL status, reset its timeout.

Ensure that aborted SCBs have an error code set in there xs before it gets
passed back up with scsi_done.

Fix a few KNF nits.
1996-11-22 08:28:45 +00:00
Peter Wemm
2fa4e5a7fc Set a more explicit #include path for building aix7xxx_asm, otherwise it
uses /usr/include/sys/*, which may point to a different build tree.  I'm
not sure that this is necessary, but there was a question mark over what
/usr/include/sys points to when building the "user mode" binaries in the
kernel code, especially when building the smp tree.

I suspect that the "right" line here is to use ${INCLUDES}, but that
causes warnings about unused static inline functions in stdio.h and ctype.h
1996-11-22 04:27:43 +00:00
Justin T. Gibbs
3d9a12be07 Update comment and disable SCB paging for Rev E cards since paging, at least
in its current form, will not work with these cards.
1996-11-21 06:19:13 +00:00
Nate Williams
3d989d58d8 Fix UserConfig w/syscons.
The 'getchar' function in syscons (sccngetc) is used by UserConfig to
get keyboard input from the user.  When it was modified to use the
shared keyboard port routines it used the port passed in during the
probe routine.  Since the probe routine was not yet called, the port was
set to 0, which is obviously not going to work.

Pre-initialize sc_port to IO_KBD which is really a kludge, but it's how
the previous driver did it's job.

Found by:	remote GDB
1996-11-19 17:08:10 +00:00
John Dyson
9970cd3721 Improve the caching of small files like directories, while not
substantially increasing buffer space.  Specifically, we double
the number of buffers, but allocate only half the amount of memory
per buffer.  Note that VDIR files aren't cached unless instantiated
in a buffer.  This will significantly improve caching.
1996-11-17 02:11:01 +00:00
Jordan K. Hubbard
a6c8c374a8 Commit AWE32 changes I forgot in my first round. Whoops! 1996-11-16 02:24:23 +00:00
Justin T. Gibbs
74bb76f011 Be even more careful in how we manipulate the QOUTQCNT variable. Now we
do reset it from the QOUTCNT register inside a pause/unpause.  This now happens
once per command complete interrupt in the paging case (one interrupt can be
for multiple completed commands).  I may introduce a counter and do a lazy
update in the future, similar to what is done with the QINCNT.

Enhance the QUEUE FULL condition handling so that the number of openings will
be reduced.  This has become more important now that the driver is faster.
This code really belongs in the gerneric SCSI layer, as will be the case once
3.0 gets the code from the 'SCSI' branch.

Add some #if 0'd out trace code I've been using to help debug sequencer
problems.

Fix the SCB paging problem that I was seeing.  This was only on my 7850
controller and stems from the fact that its QINFIFO can only handle 3bit
SCB identifiers.  This means that you can only have 8 transactions open at
a time with the current paging scheme to these controllers.  The code added
to enforce this is generic in that it tests for the number of relevent bits
that the QINFIFO can store and adjusts the max accordingly.  It may be possible
to come up with a scheme that allows for more than 8 commands at a time, but
I don't know that it is worth the effort simply to fix a low end card.  The
aic7880 still can do 255.

This problem may be related to what Andrey was seeing since I don't have n
aic7770 rev E chip here to test on, but as soon as someone probes one of these
cards with this new code, the dmesg output will tell the whole story.
1996-11-16 01:19:14 +00:00
Justin T. Gibbs
11b5ea7239 Since there have been so many reports of the Memory Mapped I/O to the
aic7xxx cards failing on certain motherboards, reverse the logic used to
control this feature.  AHC_FORCE_PIO is replaced with AHC_ALLOW_MEMIO.
GENERIC no longer needs to specify the AHC_FORCE_PIO option since this is
the default.
1996-11-16 01:09:20 +00:00
Bruce Evans
f020427513 Disabled i586-optimized copyin and copyout. They usually panic if the
user supplies a bad address, because they push a lot of stuff that the
fault handler doesn't know about onto the stack.  This has been broken
for more than half a year despite being tested for almost half a year
in -current.
1996-11-15 20:27:14 +00:00
Jordan K. Hubbard
431995f177 This is the new AWE32 driver, with support for the AWE32's fancy MIDI
synthesizer.  The utilities for this will appear as port submissions soon
afterwards, according to the submitter.

Submitted-By: Randall Hopper <rhh@ct.picker.com>
Written-By: Takashi Iwai <iwai@dragon.mm.t.u-tokyo.ac.jp>
1996-11-15 18:36:25 +00:00
Jordan K. Hubbard
9be435aa17 Break my own rule again - I didn't think this stuff was going to come back
with the copyright stuff fixed so soon (this should be merged into 2.2 when
you have a chance, Poul).

This is the new AWE32 driver, with support for the AWE32's fancy MIDI
synthesizer.  The utilities for this will appear as port submissions soon
afterwards, according to the submitter.

Submitted-By: Randall Hopper <rhh@ct.picker.com>
Written-By: Takashi Iwai <iwai@dragon.mm.t.u-tokyo.ac.jp>
1996-11-15 18:35:35 +00:00
Nate Williams
5fa39f9bde Disable mouse acceleration by default to be the same as the previous
driver.
1996-11-15 17:30:29 +00:00
Garrett Wollman
d4e29514fc Patches from driver author in PR#2010.
Submitter requests that this patch be merged into 2.2.

Submitted by:	seki@sysrap.cs.fujitsu.co.jp
1996-11-15 16:15:56 +00:00
Garrett Wollman
f283fbcac1 Fix RFC 1650 stats... should have read the doco more carefully.
Fixes PR#2011

Submitted by:  seki@sysrap.cs.fujitsu.co.jp
1996-11-15 16:07:03 +00:00
Jordan K. Hubbard
e1d2ff9f44 Change this back to movl for -current since it seems to work there.
Bruce says that movl is broken in -stable, which would certainly explain
why this didn't work there.
1996-11-15 09:00:56 +00:00
Søren Schmidt
73e0f79f04 Only poll the keyboard if the data left in the buffer is from the
kbd, not if its from the psm device.
1996-11-15 08:45:24 +00:00
Jordan K. Hubbard
3dc9f2bb59 Rename sb.h to sb_defs.h and pas.h to pas_defs.h so there's no
possibility of conflict with the versions in the compile dir.
1996-11-15 08:30:39 +00:00
Nate Williams
7e4de6f7c6 KNF'ify. 1996-11-15 06:22:48 +00:00
Nate Williams
cf3328ad27 KNF'ify and fix boo-boo I made in last commit. 1996-11-15 06:17:36 +00:00
Nate Williams
9b8322ec09 Removed 2.1-compatability code and made the debugging less verbose by
default.
1996-11-15 05:41:34 +00:00
Nate Williams
8fcd7d6f5b New PS/2 mouse drive which uses the new 'shared' keyboard/psm read
routines.  An older version of this was tested successfully on all of my
systems with PS/2 mice.  This was brought in without testing because it
is necessary due to the previously committed syscons changes.

Submitted by:	Kazutaka Yokota <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1996-11-15 05:30:52 +00:00
Søren Schmidt
6a90d9750d Finally a start at sharing the kdb controller routines between
syscons and psm, curtesy Kazutaka Yokota with minor changes by
me. This contains an update of the psm driver as well.
This also fixes the breakage that I introduced to the psm driver by
making syscons poll for keyboard events in the atempt to fix the
hanging keyboard problem.

It works perfectly for me, and I'd like to hear from all that
have had keyboard/ps/2 mouse problems if this is the cure...

Submitted by:	 Kazutaka YOKOTA (yokota@zodiac.mech.utsunomiya-u.ac.jp)
1996-11-14 22:19:17 +00:00
Jordan K. Hubbard
6de3a3bb17 movl instruction should have been lea (this is why userconfig didn't
work in 2.1).

Spotted-by-the-keen-eyes-of: Don Lewis <Don.Lewis@tsc.tdk.com>
1996-11-14 15:55:21 +00:00
Jordan K. Hubbard
d5ca121e12 TRUE/FALSE are used even outside of VISUAL_USERCONFIG - move them accordingly.
Submitted-By: Don Lewis <Don.Lewis@tsc.tdk.com>
1996-11-14 13:57:23 +00:00
Satoshi Asami
7c219eac8f Some more updates.
wdreg.h: Delete wd_ctlr macro.  PC98 version of wd.c treats it as a
variable.

GENERIC98: Delete ep0 entry. Current ep driver write I/O port 0x100.
This clobbers ICW of i8259, because upper 8bits of address line is not
masked on mother board.

if_fe.c: Merge from revision 1.18 of sys/i386/isa/if_fe.c.

pc98.c: Globalize dmapageport, because SCSI driver use this
variable.

wd82371.c: Yet another merge.

These are 2.2 candidates.

Submitted by:	The FreeBSD(98) Development Team
1996-11-14 08:46:21 +00:00
Andrey A. Chernov
7dbff5bf98 Change WARNING line about SCB paging to:
# WARNING: with AHC_TAGENABLE set can be dangerous on Adaptec 2842
1996-11-13 22:50:32 +00:00
Bruce Evans
750059bbc5 Don't fiddle with RTS if RTS flow control is off. This gives applications
almost complete control over RTS (control of its initial value is still
missing).

This fixes PR 1644 for sio.

The author of PR 1644 wants it in 2.1.6 and 2.2.  This may be safe since
the complications are only in rarely used cases that I hope I've covered.
1996-11-13 18:31:57 +00:00
Satoshi Asami
3c6350967c Another round of resync and some added sound support.
sys/pc98/i386/machdep.c: sync with i386/i386/machdep.c
sys/pc98/conf/options.pc98: sync with i386/conf/options.i386

sys/i386/isa/sound: DMA auto initialize mode support for PC98.
contributed by: Akio Morita <amorita@bird.scphys.kyoto-u.ac.jp>

Definite 2.2 material, I believe.

Submitted by:	The FreeBSD (98) Development Team
1996-11-13 02:00:17 +00:00
Bruce Evans
b430a4f0ed Fixed buffer overflow for large values in editval(). The buffers were
one too small for (hex) 12345678 and 4 too small for -1234567890.  Large
values can be created by config and userconfig although not (previously)
by visual userconfig.

Fixed a sign extension bug for backspacing on "negative" hex values in
editval().

Increased field width and range for `flags' so that all possible values
can be displayed and edited.
1996-11-12 20:00:24 +00:00
Bruce Evans
a8c33fd1e8 Removed another #include of opt_temporary.h.
YA2.2C.
1996-11-12 14:54:16 +00:00
Bruce Evans
3c10da63aa Removed #include of "opt_temporary.h". All the temporary options went
away, so this header is no longer generated.

This change should be in 2.2.  The old version shouldn;t have been in
2.2 (blush).
1996-11-12 13:36:52 +00:00
Bruce Evans
679f1a2242 Fixed spelling error in previous commit. This did not compile. 1996-11-12 09:51:16 +00:00
Andrey A. Chernov
8ba1fe211b Near AHC_SCBPAGING_ENABLE add following comment
# WARNING: can effectively kill your disks with some controllers
(I am the victim of -current kernel, inodes wiped completely)
1996-11-12 06:43:24 +00:00
Søren Schmidt
65e925d16f 1. Avoid a race in scclose(). tty.c has kludges so that the race is
actually harmless.

2. Fixed code to match comment in scintr().

3. Don't allow even root to take control of the machine when securelevel > 0.
   I've secured the accesses to PSL_IOPL in all drivers and asked pst to
   review it, but he seems to be busy.  Write access to /dev/kmem and
   other critival devices currently leaks across raisings of securelevel
   via open fd's, so there may as well be a similar leak for PSL_IOPL.

4. (Most important.)  Don't corrupt memory beyond the screen buffers if
   the cursor happens to be off the 80x25 screen when syscons starts.

5. Fix console cursor update (not perfect yet).
Submitted by:   bruce
~
1996-11-11 22:21:03 +00:00
Nate Williams
a7320980f6 Removed (now unused) XT_KEYBOARD option. 1996-11-11 22:04:31 +00:00
Nate Williams
6620cf7868 Removed 'XT_KEYBOARD' option from syscons. Document new-style way of
getting the same behavior using the flags, which can be done inside of
UserConfig.  (Also document other syscons flags which were previously
undocumented).

Requested by:	bde
1996-11-11 22:01:56 +00:00
Bruce Evans
1fe048505d Replaced I586_OPTIMIZED_BCOPY and I586_OPTIMIZED_BZERO with boot-time
negative-logic flags (flags 0x01 and 0x02 for npx0, defaulting to unset = on).
This changes the default from off to on.  The options have been in current
for several months with no problems reported.

Added a boot-time negative-logic flag for the old I5886_FAST_BCOPY option
which went away too soon (flag 0x04 for npx0, defaulting to unset = on).

Added a boot-time way to set the memory size (iosiz in config, iosize in
userconfig for npx0).

LINT:
Removed old options.  Documented npx0's flags and iosiz.

options.i386:
Removed old options.

identcpu.c:
Don't set the function pointers here.  Setting them has to be delayed
until after userconfig has had a chance to disable them and until after
a good npx0 has been detected.

machdep.c:
Use npx0's iosize instead of MAXMEM if it is nonzero.

support.s:
Added vectors and glue code for copyin() and copyout().
Fixed ifdefs for i586_bzero().
Added ifdefs for i586_bcopy().

npx.c:
Set the function pointers here.
Clear hw_float when an npx exists but is too broken to use.
Restored style from a year or three ago in npxattach().
1996-11-11 20:39:03 +00:00
Bruce Evans
f806e8f0f1 Fixed pessimized (short) i/o port type.
The change in if_epreg.h affects if_epreg.o and 3c5x9.o.

These changes are probably harmless, but I can't test them.
1996-11-11 17:11:08 +00:00
Bruce Evans
435b9481cd Fixed pessimized (short) i/o port types. 1996-11-11 16:32:43 +00:00
Bruce Evans
af01acf80b Fixed pessimized (short) i/o port type. 1996-11-11 15:57:40 +00:00
Bruce Evans
11874b34bf Fixed pessimized (short) i/o port type.
Obtained from:	SCSI branch
1996-11-11 15:29:15 +00:00
Bruce Evans
6a32566a7d Preserve %esi and %edi for get_diskinfo(). See the logs for similar fixes
in bios.S.  I only fixed the case that is known to be broken here.

Should be in 2.2.
1996-11-11 14:27:12 +00:00
Bruce Evans
2e2d9bc760 Preserve %esi and %edi for all BIOS calls. This is probably only necessary
for get_diskinfo(), whose BIOS call sets %es:%edi in some cases, although
most documentation says that it doesn't change %edi in the cases that
happened to matter (for hard disks).

This shall be in 2.1.6 and 2.2.

Submitted by:	Tor.Egge@idt.ntnu.no
		(except I kept the unnecessary preservation of %edx and %ecx)
1996-11-11 14:03:33 +00:00
Mike Smith
4f731c9f37 Update the database of known devices (people, please consider this when you
are adding new drivers...) to match, as best I can tell, majors.i386.

Improve behaviour when attempting to save changes for devices that should
 not be changeable.  Now correclty avoids non-device items, PCI devices and
 devices with no isa_device structure.

Submitted by:	(observations from) joerg, bde
1996-11-11 09:09:37 +00:00
Justin T. Gibbs
30136d82b2 Clean up the memory mapped/Programmed I/O stuff so that the driver completely
uses one or the other.  This required some changes to the ahc_reset()
function, and how early the probes had to allocate their softc.

Turn the AHC_IN/OUT* macros into inline functions and lowercase their names
to indicate this change.  Geting AHC_OUTSB to work as a macro doing
conditional memory mapped I/O would have been too gross.

Stop setting STPWEN in the main driver and let the PCI front end do it
instead.  It knows better.

Add the clearing of the QOUTQCNT variable during command complete processing
in the SCB paging case.

Go back to doing unconditional retries for the QUEUE FULL status condition.
This is really a kludge, but the code to handle it properly is on the SCSI
branch and will not make it into 2.2.
1996-11-11 05:24:46 +00:00
Justin T. Gibbs
e0582e6561 Clean up the memory mapped/Programmed I/O stuff so that the driver completely
uses one or the other.  This required some changes to the ahc_reset()
function, and how early the probes had to allocate their softc.

Turn the AHC_IN/OUT* macros into inline functions and lowercase their names
to indicate this change.  Geting AHC_OUTSB to work as a macro doing
conditional memory mapped I/O would have been too gross.
1996-11-11 05:21:27 +00:00
Justin T. Gibbs
6fb5e0fa28 Add the AHC_FORCE_PIO option.
Update comment on AHC_SCBPAGING_ENABLE since I think it works now.
1996-11-11 05:17:34 +00:00