Commit Graph

5377 Commits

Author SHA1 Message Date
Poul-Henning Kamp
d783aa7bc3 Remove a spurious mapping that was introduced earlier. 1996-04-30 11:58:56 +00:00
John Dyson
3ea2f344e0 Move the map entry allocations from the kmem_map to the kernel_map. As
a side effect, correct the associated object offset.
1996-04-29 22:04:57 +00:00
Julian Elischer
6ebe2436ab slight re-ordering to allow the qcam to compile with devfs enabled. 1996-04-29 20:05:52 +00:00
Jordan K. Hubbard
9773398d95 Add ATAPI_STATIC so that the ATAPI cdroms work correctly again
under -current.
Submitted-By: Serge Vakulenko <vak@cronyx.ru>
1996-04-29 20:03:41 +00:00
Sujal Patel
24b34f097b Fixed two typos in the comment.
Pointed out by:	davidg
1996-04-29 15:07:59 +00:00
Justin T. Gibbs
a515c85818 Fix the abort code in the BUS DEVICE RESET case. Needed to set cmdlen to 0.
Ensure that queued commands are not touched by the abort code by setting
the SCB status to indicate what queue it is in.

Fix deadlocks when using SCB paging by using SCBs from the assigned_scbs
queue or an SCB that completed during the same interrupt if needed.

Don't ever use insl to pull SCBs from any of the controllers.  You can
only do 8bit PIO reads.  This only affected SCB paging.

With this checkin, SCB paging works quite a bit better, but I still have
some problems with it that may be caused by a firmware problem in my
PD1800s.  It seems that using a tag number higher than the maximum number
of tags allowed by the device, confuses it.  For example, if I queue
two commands, tagged 3 and 36, it never reconnects for tag 36.
1996-04-28 19:21:20 +00:00
Poul-Henning Kamp
3e86a2edb8 Fix some bugs I introduced and some old ones as well.
Add BDE_DEBUGGER back.
Improve quality of comments.
Thanks Bruce!

Reviewed by:	phk
Submitted by:	bde
1996-04-28 07:14:05 +00:00
Andrey A. Chernov
75cfc95fe2 inet_ntoa buffer was evaluated twice in log_in_vain, fix it.
Thanx to: jdp
1996-04-27 18:19:12 +00:00
Joerg Wunsch
d5d7648201 Make install' depend on kernel'. Some idiot tried to install a
non-built kernel and complained in Usenet... :-)
1996-04-27 07:30:49 +00:00
Bruce Evans
f4c626074b Fixed a bug introoduced in the previous change. ISA device memory was
mapped to semi-random place(s) depending on the content(s) of physical
address 0xA0000.  This was fatal at least on my system with a some
memory-mapped devices.  Console syscons somehow wasn't affected.  It
bogusly hardcodes the address.  Sigh.
1996-04-26 22:26:45 +00:00
Garrett Wollman
a2352fc148 Delete #ifdef notdef blocks containing old method of srtt calculation.
Requested by: davidg
1996-04-26 18:32:58 +00:00
Garrett Wollman
93902408b8 Delete #if 0 block containing remnants of pre-MTU discovery rmx_mtu
initialization.
1996-04-26 18:31:41 +00:00
Garrett Wollman
7c1c2d7ebd Delete #if 0 block containing unused definitions for ARPANET/DDN IMP
and HYPERchannel link layers.
1996-04-26 18:30:52 +00:00
Poul-Henning Kamp
1a0e8e31c6 A significant debogofication of locore.s. I havn't found any actualy
bugs, but it is a lot easier to navigate this twisted code now.
1996-04-26 13:47:39 +00:00
Søren Schmidt
03475c250b Removed options MAXCONS & HARDFONT, they are no longer in use
(and havn't been for long, sigh)
1996-04-26 06:45:41 +00:00
Poul-Henning Kamp
68832d3037 Fix cpu_fork for real.
Suggested by:	 bde
1996-04-25 06:20:19 +00:00
Satoshi Asami
f8176d838c Fix logic bug in pci bridge code. For a PCI-PCI bridge, secondary
should be <= than subordinate, not the other way around.

They are both true if the bridge is not cascaded (i.e., twin-channel
scsi/e-net adapters won't be affected by this bug), which is probably why
it was unnoticed until today.
1996-04-25 06:04:27 +00:00
David Greenman
2a8d579fc8 Regardless of whether or not the check for IPv4 is useful, we certainly
don't need to assign the "ip" pointer twice.
1996-04-25 02:34:37 +00:00
Poul-Henning Kamp
3fb9e5a20b Reject all IP versions but 4. 1996-04-24 15:44:34 +00:00
Satoshi Asami
52faebb233 Add missing "int" to static var. 1996-04-24 09:42:22 +00:00
John Dyson
0891ef4c9a This fixes kmem_malloc/kmem_free (and malloc/free of objects of > 8K).
A page index was calculated incorrectly in vm_kern, and vm_object_page_remove
removed pages that should not have been.
1996-04-24 04:16:45 +00:00
Nate Williams
2922666380 - This code adds some backwards compatability hacks for buggy APM BIOS
implementations, and synchronizes us with the Nomad's latest code.

This code is based on the Nomad code, but heavily hacked by me.

Reviewed by:	phk
Submitted by:	the 'Nomads'
1996-04-23 19:59:14 +00:00
Nate Williams
e12ac36c96 Format the already applied PCCARD additions to use KNF form. No
functional changes.
1996-04-23 18:36:56 +00:00
Nate Williams
ceff12b4c4 Adds the APM hooks into the generic pccard kernel files. With this code
in place device drivers can now register power-down/power-up routines so
that we can use common routines to power-up/power-down cards for
insert/removals, suspend/resume, etc..

Reviewed by:	phk
Submitted by:	the 'Nomads'
1996-04-23 16:03:08 +00:00
Justin T. Gibbs
c0eccc00c8 Fix second instance of the inb type when getting the current sequencer address.
Submitted by:	Nate Williams <nate@sri.MT.net>
1996-04-23 04:47:02 +00:00
Justin T. Gibbs
ff3f23849e Fix a typo in the RESTART_SEQUENCER macro that could have caused
strange results.  This  bug has been in here for a loooong time.
Many thanks to Pedro Salenbauch for finding this.

Submitted by:	pedrosal@nce.ufrj.br (Pedro Salenbauch)
1996-04-23 04:22:41 +00:00
Nate Williams
b34b86510b Updated the laptop 'kludge' file. Hopefully this can go away soon.
Submitted by:	The 'Nomads'
1996-04-22 22:29:40 +00:00
Nate Williams
e597b4972e - add apm to the GENERIC kernel (disabled by default), and add some comments
regarding apm to LINT
- Disabled the statistics clock on machines which have an APM BIOS and
  have the options "APM_BROKEN_STATCLOCK" enabled (which is default
  in GENERIC now)
- move around some of the code in clock.c dealing with the rtc to make
  it more obvios the effects of disabling the statistics clock

Reviewed by:	bde
1996-04-22 19:40:28 +00:00
Justin T. Gibbs
91e2481238 The default number of tags in the SCB paging case was supposed to be
8 not the 18 I was using during some of my own testing.  Ooops.

For those that want to change the number for experimentation, you can
set the value on line 1553 of this file.
1996-04-22 13:21:40 +00:00
John Dyson
7847cec1b7 This fixes a troubling oversight in some of the pmap code enhancements.
One of the manifiestations of the problem includes the -4 RSS problem
in ps.

Reviewed by: dyson
Submitted by: Stephen McKay <syssgm@devetir.qld.gov.au>
1996-04-22 05:23:08 +00:00
Bruce Evans
e2184122c5 Fixed in-line IP header checksumming. It was performed on the wrong header
in one case.
1996-04-21 13:47:43 +00:00
Justin T. Gibbs
bb0877f67f Add PCI IDs for the aic7860 (basically an aic7850 Ultra) and the aic7855
(HP motherboard aic7850 controllers).

Properly handle 4 bit controller SCSI IDs.

Update my copyright.
1996-04-20 21:31:27 +00:00
Justin T. Gibbs
102d19a473 Implement SCB paging which allows up to 255 active commands on aic7770
(Rev E or greater), aic7850, aic7860, aic7870, and aic7880 controllers.
SCB paging is enabled with the option "AHC_SCBPAGING_ENABLE".  Full
comments on the algorithm are at the top of i386/scsi/aic7xxx.c.

options "AHC_TAGENABLE" and "AHC_QUEUE_FULL" have been removed.  The
default is 4 tags without SCB paging, 8 with.

Clear the SCSIRSTI bit after throwing a bus reset.  Some cards seem to get
confused otherwise.

Handle SCSIRSTI interrupts before checking to see if there is a valid
SCB in use since this can happen. (Clears PR# i386/1123)

Clean up the way we determine the number of SCBs on the card
(courtesy of Dan Eischen).

Guard against attempts to negotiate wide to a narrow controller.

Fix some comments.

Update my copyrights.
1996-04-20 21:29:27 +00:00
Justin T. Gibbs
1d7ded8adf Change the devconf description from "ISA or EISA bus" to "ISA bus" now
that we have eisaconf.
1996-04-20 21:22:32 +00:00
Justin T. Gibbs
035de5ccf1 Turn on SCB paging for aic7770 chips rev E or greater.
Update my copyrights.
1996-04-20 21:21:50 +00:00
Justin T. Gibbs
0a44712261 Implement SCB paging. This allows up to 255 active commands on
aic7770 >= Rev E, aic7850, aic7860, aic7870, and ai7880 based controllers.

Make findSCB safer for non-tagged commands when tagged commands are
active on the controller.  The symptoms of this problem were
"Overlapped commands attempted" messages during error recovery
attempts.

Compact scratch ram usage.  This leaves 8 bytes free for future use.

Clean up some comments.

aic7xxx_reg.h:
Update my copyright.
1996-04-20 21:20:31 +00:00
Bruce Evans
10d245c58a Yet more b_flags fixes. The previous ones broke the clearing of B_DONE
and B_READ before writing.  This was was fatal.  They also broke the
clearing of B_INVAL before doing i/o.  This didn't actually matter.

Submitted by:	mostly by joerg
1996-04-19 19:34:19 +00:00
Bruce Evans
3f64564278 Fixed removal of devfs entries for the real slice corresponding to the
compatibility slice.  They were forgotten on last-close and then
creating them on first-open failed.

Devfs entries for slices other than the one containing the root file
system are still invisible unless you open a non-devfs inode on the
slice.
1996-04-19 19:22:29 +00:00
Bruce Evans
8a4599117b Don't include <sys/types.h> when it isn't used.
This commit covers most of the ANSI library functions. Many others only
need <sys/types.h> because they use u_xxx.
1996-04-19 18:40:25 +00:00
Bruce Evans
87b620baa9 Don't depend on <sys/types.h> including <sys/cdefs.h>. 1996-04-19 17:39:57 +00:00
Poul-Henning Kamp
6f1e6c97de savectx returns through cpu_switch in case of the child, so it must
return void just like cpu_switch.  Fix prototype and usage from machdep.c
1996-04-19 07:28:04 +00:00
Poul-Henning Kamp
6523110494 Whoops, shouldn't really have been here, but what the heck: remove some
stale comments.
1996-04-18 21:37:43 +00:00
Poul-Henning Kamp
7d2392141d Fix a bogon. cpu_fork & savectx ecpected cpu_switch to restore %eax,
they shouldn't.
1996-04-18 21:34:53 +00:00
Nate Williams
d94b029324 - Save/restore the FS data segment.
Reviewed by:	bde
1996-04-18 19:22:59 +00:00
Nate Williams
ff35cfa1f0 - Addition of my name to the APM Copyright
- More code cleanups
- #ifdef DEBUG debugging code
- More consistant printfs
- Better handling of the apm_int() assembly code (mostly from Bruce Evans)

Reviewed by:	bde
1996-04-18 19:21:47 +00:00
Garrett Wollman
9c9137ea6c Three speed-ups in the output path (two small, one substantial):
1) Require all callers to pass a valid route pointer to ip_output()
   so that we don't have to check and allocate one off the stack
   as was done before.  This eliminates one test and some stack
    bloat from the common (UDP and TCP) case.

2) Perform the IP header checksum in-line if it's of the usual length.
    This results in about a 5% speed-up in my packet-generation test.

3) Use ip_vhl field rather than ip_v and ip_hl bitfields.
1996-04-18 15:49:06 +00:00
Garrett Wollman
61e5033f0a Define a few macros useful in the _IP_VHL case. 1996-04-18 15:42:50 +00:00
Garrett Wollman
dbe4b3f026 Fix a warning by not referencing ip_output() as a pr_output() member. 1996-04-18 15:41:51 +00:00
Garrett Wollman
2eba88186e Always call ip_output() with a valid route pointer. For igmp, also get the
multicast option structure off the stack rather than malloc.
1996-04-18 15:41:11 +00:00
Garrett Wollman
97f588a78b Add an inline function to compute the common-case IP header checksum. 1996-04-18 15:39:27 +00:00