6977 Commits

Author SHA1 Message Date
mpp
1d04aa504f Make ffs_subr.c compile when DIAGNOSTIC is defined.
It looks like this was broken before the Lite2 merge :-(.
VOP_BMAP was being called with the wrong number of arguments.
1997-02-10 16:27:53 +00:00
mpp
87b55298dc Make ccd compile again after the Lite2 merge.
VOP_UNLOCK was being called with the wrong number of arguments.
1997-02-10 16:24:33 +00:00
darrenr
af3608e898 IP Filter is now character device #79 1997-02-10 12:17:45 +00:00
kato
5ff820571a Synchronize with Lite/2 commit: i386/i386/machdep.c, i386/i386/trap.c,
i386/isa/fd.c and i386/isa/wd.c revisions 1.227, 1.87, 1.96 and 1.123,
respectively.
1997-02-10 11:53:20 +00:00
darrenr
e59cd03f84 Add IP Filter .c files for "config" & "config.new" use. 1997-02-10 11:52:36 +00:00
darrenr
020383fe06 Add IP Filter hooks (from patches). 1997-02-10 11:45:37 +00:00
davidn
57d260df48 Fix off by one error in setlogin() syscall.
Don't overwrite session login unless the call is going to succeed.
1997-02-10 06:18:20 +00:00
dyson
10f666af84 This is the kernel Lite/2 commit. There are some requisite userland
changes, so don't expect to be able to run the kernel as-is (very well)
without the appropriate Lite/2 userland changes.

The system boots and can mount UFS filesystems.

Untested: ext2fs, msdosfs, NFS
Known problems: Incorrect Berkeley ID strings in some files.
		Mount_std mounts will not work until the getfsent
		library routine is changed.

Reviewed by:	various people
Submitted by:	Jeffery Hsu <hsu@freebsd.org>
1997-02-10 02:22:35 +00:00
gibbs
289dfcbaa6 ULTRAENB->FAST20 1997-02-09 03:27:09 +00:00
gibbs
cdbb01f345 ahc_search_qinfo->ahc_search_qinfifo
ULTRAENB->FAST20

Add a missing ahc_run_done_queue if a BRKADDRINT occurs.  This should never
happen (haven't heard of one happening), but it was still a bug.

Brought the ordered tag sending code up into the tag code to be clearer.

If we decide we should send an ordered tag, only do so for the target that
timed out instead of all targets.

Initialize the STAILQ in ahc_serach__qinfifo.  This was causing a panic
during some recovery operations.

Remove the unused varable maxtarget.
1997-02-09 03:26:56 +00:00
gibbs
dfc97649f7 Clear the channel after (re)selection instead of once we see the bus go
free.

When we clear SCSIRATE, also clear the FAST20 bit in SXFRCTL0.  This also
allowed me to clean up some of the ULTRA code.

ULTRAENB->FAST20 to follow the convention in the Adaptec data books.

Fix the data-overrun code to set both stcnt and hcnt otherwise, the transfer
will just hang until we get a timeout.

Add implicit support for the NOOP message.  I've never heard of the driver
issueing a reject for one, but its silly to reject NOOP and who knows how a
device might react.

In the dma routine, check SDONE before cleaing SDMAEN.  The data books mention
SDONE possibly being cleared when SDMAEN is reset.  Clients of dma now need
to check if SINDEX is cleared to know if a phasemis occured.

Fix some comments to be correct.
1997-02-09 03:23:28 +00:00
joerg
8a1d16660b Add an entry for the Nakamichi 4-disk changer.
Submitted by:	K.R.Marshall@ukc.ac.uk (K.R.Marshall)
1997-02-08 13:26:31 +00:00
kato
f13db87ba8 Replaced hardcoded unit number with ftu. 1997-02-08 09:59:27 +00:00
kato
45df242b8d Synchronize with sys/i386/conf/majors.i386 revision 1.11. 1997-02-08 07:39:07 +00:00
wpaul
c1848416f2 Make some small tweaks to the messages to clean up some stuff
from last time. Some people have pointed out that there were some odd
side-effects in the changes I made. Two things are different:

- sc_print_addr() will print 'foodev0:' (i.e. sd0:, st0:, cd0:, etc...)
  if the device name is known. If it's not known, it'll use a longer
  notation. This shortens error messages back to a sane length.

- Added a small function called sc_print_init() to set the sc_printing
  flag so that sc_print_addr() will know that we want it to print a
  linefeed. Used this in scsi_device_attach() to restore proper carriage
  return printing behavior which I broke.

Remaining bogons: the NCR SCSI driver prints out information while the
device-specific attach routine is running with its own linefeeds. This
breaks up the individual messages emitted by the subdriver modules and
causes at least one message to appear on a line by itself without a
device spec prefix. I'm not sure of the correct way to fix this, and
I don't have any NCR SCSI hardware to test with anyway.

There's probably more, but I gather that a rewrite of the SCSI subsystem
is pending anyway, so I'll leave the rest to Those Who Know More About
This Than I (tm).
1997-02-08 03:42:22 +00:00
phk
27e71d1e48 I have no idea what this is all about, but it works and Bruce hasn't
complained so it cannot be entirely bad :-)

I include the email that probably explains it for people who already know:

> >Compiling with -O3 inlines functions.  However the function that is being
> >inlined in makeinfo.c (add_word_args()) is a vararg function and must not be
> >inlined.
> >
> >The code in question is K&R style, and AFIK, there is no way for the compiler
> >to determine that the function uses vararg.  Either change the code to use
> >prototypes, or use stdarg, or add a directive to prevent inlining.
>
> Not declaring a varargs function as varargs before it is used gives
> undefined behaviour.
>
> However, in practice the bug is probably in FreeBSD's <varargs.h>, which
> doesn't use gcc's __builtin_next_arg().  gcc should notice that it is
> used and not inline functions that have it.  <stdarg.h.> uses it, but I
> think there's another gcc builtin that it should be using.

Patch attached.  The ellipsis causes gcc to flag this as a varargs function,
and the name "__builtin_va_alist" is special cased in gcc to hide the last
argument in the arglist.

Reviewed by:	bde & phk
Submitted by:	jlemon@americantv.com (Jonathan Lemon)
1997-02-07 20:22:15 +00:00
kato
d74230dbdf Moved macros which are related to BIOS work area from pc98.h
(corresponds to isa.h) to pc98_machdep.h.
1997-02-07 19:07:43 +00:00
kato
b8d0343f0d Enabled pccard code which was disabled by mistake.
Reminded by:	Masahiro Sekiguchi <seki@sysrap.cs.fujitsu.co.jp>
1997-02-07 19:02:41 +00:00
yokota
32b56960eb Fix for the Compaq Armada laptop.
The PS/2 mouse device responds to a reset command with a sequence of
ACK(fa), RESULT(aa) and ID(00).  Most PS/2 mice immediately returns
ACK, but spend sometime before sending RESULT. The Armada takes time
before ACK; extra delay is necessary before the call to read ACK.

The problem was reported in comp.unix.bsd.freebsd.misc and the patch
was tested by the reporter. No PR was filed, by the way.
1997-02-07 11:41:45 +00:00
davidn
2ee2d0c1f6 Correct comments relating to MAXLOGNAME.
MAXLOGNAME includes NUL terminator.
1997-02-07 10:41:41 +00:00
joerg
5d0b32c215 The worm(4) driver needs a bdev major # now, too. 1997-02-06 22:20:33 +00:00
joerg
e8cf30c805 After so many people have been bugging me :), finally implement
read-mode access to CD-ROM media in the worm(4) driver.  No whistles
and bells yet, like all the CDIO* commands, but at least a start.

In order to do this, i had to slightly rearrange the semantics of an
open(2) on the worm driver: now, opening it with O_NONBLOCK set means
no actual IO operations will be intended but only ioctls are to be
processed.  This mode is used by wormcontrol(8) to prepare a track
and/or session.

I have only been able to test this on a 2.2-GAMMA system by now, and
only the !DEVFS part is tested yet.  Also, i have only done a dummy
burn so far, but wouldn't expect many surprises else.  Report bugs to
me ASAP, if there's reasonable demand and i hear no objections, i
might consider merging it into the 2.2 branch as well.
1997-02-06 22:19:44 +00:00
kato
7a2447d3ab Deleted ioskip member of the structure pc98_edregister. The member
port is always used for accessing PAR and MAR instead of constant
interval of I/O address.
1997-02-06 14:16:52 +00:00
kato
5c48b3fc6b Cosmetic change. Sorted by function, added `1997' to copyright
notice,  and added comment.
1997-02-06 13:38:04 +00:00
brian
f1bef29ded Don't zero ip->ip_sum during sum validation. This should only
affect programs that sit on top of divert(4) sockets.  The
multicast routing code already unconditionally zeros the sum
before recalculating.

Any code that unconditionaly sums a packet without first zeroing
the sum (assuming that it's already zero'd) will break.  No such
code seems to exist.
1997-02-06 11:14:22 +00:00
dg
321f03c8ed Fixed missing ioport offset from the reading/updating of the PLX
interrupt control/status register.

Submitted by:	Brian McGovern <bmcgover@cisco.com>
1997-02-05 22:19:18 +00:00
kato
c300efb53e Changed document encoding system from JIS X 0208 to EUC. 1997-02-05 16:52:51 +00:00
ache
772103bb73 Fix misspelled variable name, -current build stopper 1997-02-05 07:23:56 +00:00
kato
2c5877c139 Deleted obsolete structure, pc98_device. 1997-02-04 22:29:50 +00:00
kato
03432e2701 Moved PC-98 routine in sd_get_parms() to pc98_machdep.c. 1997-02-04 22:27:09 +00:00
se
9b86dcdae7 Add interface revision field to pci_register_lkm parameter list.pci.c pcibus.h
This parameter is intended to allow new kernels to work with old LKM binaries,
provided the revision ID is incremented whenever the PCI LKM interface is
changed. The revision ID does not at all protect against changes in data
structures accesses by the driver.
1997-02-04 18:31:57 +00:00
dg
635a58929b Changed several configuration options:
Disabled the DMA byte counters - I had it this way originally and this is
the recommended setting.
Set crscdt to CRS only (0) since this is what it should be for an MII PHY.
Also fixed some comments.
1997-02-04 11:44:15 +00:00
dg
57ba1e0511 Do "selective" reset rather than full reset...the manual specifically
says not to do the full reset because it can lock up the PCI bus if the
chip is active. Added various PORT command definitions to facilitate
this.
1997-02-04 10:53:12 +00:00
dg
cc86e37011 Don't include the short-frames counter in with the input errors. This
counter is incremented on all short frames, including those that are
the result of collisions.
1997-02-04 07:39:28 +00:00
fenner
7f032dd55e Make sure we have arguments to pass before calling ifaof_ifpforaddr
and ifa_ifwithroute.

This eliminates the panic seen in kern/2647, although it doesn't
address the fact that RTM_CHANGE can't change flags.
1997-02-04 03:14:35 +00:00
gibbs
42aa3dbf37 Initialization of a variable got lost in the last commit when I moved
a piece of code into a subroutine.
1997-02-03 17:24:25 +00:00
gibbs
ba729f4a34 Fix an oversight in the handling of non-tagged abort requests. We need
to search the QINFIFO to remove any possible command that is waiting
otherwise our abort request may not be held up still waiting for the
first command to complete.
1997-02-03 16:29:07 +00:00
kato
281da56350 Changed return value of ed_probe (= number of I/O ports). Because
I/O port address of most devices is not contiguos, a return value of
probe routine is not so useful for detecting conflict.  The return
value was too big, and kernel sometimes detected conflict even though
two devices are not conflict in I/O address between them.

Suggested by:	Chiharu Shibata <chi@rd.njk.co.jp>
1997-02-03 14:19:01 +00:00
gibbs
6ed4640da2 White space cleanup and other cosmetic style changes.
Fix a few panics during error recovery:
1) Stupid mistake in the "no SCB match handler"  where I was using the wrong
   variable (busy_scbid instead of scb_index).
2) Unbusy the target of an abort request if the command we are trying to
   abort is an untagged transaction.  If we don't, we get a fatal NO_MATCH_BUSY
   condition which "should never happen".
3) When an abort completes, turn off ahc->in_timeout or else the next timeout
   will hit the protective "scb timesout again" panic.
4) Fix a typo that caused the requeued "abort" SCB to have its TAG_ENB and
   disconnect bits to be cleared (missing ~) so that devices would complain
   about overlapped commands.

Be sure to turn off the unexpected busfree interrupt after we do a bus
reset since we are expecting the bus to go free in that case.

Return XS_TIMEOUT instead of XS_DRIVERSTUFFUP in certain scenarios.  XS_TIMEOUT
allows for retries, XS_DRIVERSTUFFUP does not.

Allow commands with SDTR and WDTR negotiation to be tagged.  The SCSI II spec
says that you probably should not do this for fear of hitting bogus devices.
The driver did this in the past for almost two years without any problem,
and not doing it causes problems during error recovery to a tag capable device
as the number of openings is higher than two and we'll start sending it
tagged commands causing "overlapped commands attempted" type errors.  The
real fix needs to happen in the generic SCSI layer which can limit the
number and type of transactions to a device during error recovery efficiently.

Give ourselves at least 100ms to perform a request sense instead of relying
on the original timeout to be long enough to complete this new command as
well as the one that generated the condition.

Removed some redundant code.
1997-02-03 02:16:16 +00:00
gibbs
7ee6b3a702 In dma_finish, don't disturb the direction bit in DFCNTRL when turning off
host DMAs.  The additional test to ensure that the DMA has stopped is also
unnecessary since we've already waited for the DMA to complete.

Update my copyright for the new year.
1997-02-03 02:02:04 +00:00
joerg
6baba2abaf Do not accidentally default a device that failed probing to T_DIRECT
(since T_DIRECT just incidentally happens to be equal 0).  This causes
more harm than it would do good.  Instead , get it at the uk driver.

Reviewed by:	obrien@NUXI.com (David O'Brien)
1997-02-02 20:57:12 +00:00
brian
eada59b88e Reset ip_divert_ignore to zero immediately after use - also,
set it in the first place, independent of whether sin->sin_port
is set.

The result is that diverted packets that are being forwarded
will be diverted once and only once on the way in (ip_input())
and again, once and only once on the way out (ip_output()) -
twice in total.  ICMP packets that don't contain a port will
now also be diverted.
1997-02-02 16:33:12 +00:00
wosch
a3a6062c6d Make ibcs2 a little bit saver. Add copyright. 1997-02-02 14:40:38 +00:00
kato
c836897672 Deleted i386_cpus[]. i386_cpus[] is a static variable in identcpu.c.
Found-by: lint
1997-02-02 10:43:35 +00:00
kato
fb04f87834 Synchronize with sys/i386/isa/sio.c revision 1.158. 1997-02-02 08:09:41 +00:00
joerg
c470277cbf Correct the usage of fea0. It's an EISA driver now, so the ISA usage
is bogus.

Also, correct a stale comment about non-existing EISA support.
1997-02-01 19:53:12 +00:00
bde
ae22a22184 Fixed the SMC fifo bug fix. sioopen() hung while input was streaming in
with <= 100 usec between each character arrival time.  This didn't happen
until rev.1.75 of clock.c because DELAY(100) used to delay for closer to
80 usec than 100 usec, and the minimum time between character arrivals is
87.8 usec at the maximum supported speed of 115200 bps 8N1.

Clear DCD timestamp flag on close (the input timestamp flag is already
cleared).
1997-02-01 16:04:16 +00:00
kato
2a7214e7ab - KNFized pc98 specific files.
- Disabled unuseinit_cpu_accel_mem() which doesn't work now.
- Deleted extra space at the end of line.
1997-01-31 17:38:58 +00:00
kato
1f160cfbad Synchronize with sys/i386/isa/syscons.c revision 1.200. 1997-01-31 11:24:01 +00:00
kato
9f56e26b51 Synchronize with sys/i386/i386/locore.s revision 1.80. 1997-01-31 11:23:18 +00:00