Commit Graph

674 Commits

Author SHA1 Message Date
David Greenman
8339815ff9 Made pmap_kenter "TLB safe". ...and then removed all the pmap_updates that
are no longer needed because of this.
1994-08-07 14:53:27 +00:00
David Greenman
a481f20029 Provide support for upcoming merged VM/buffer cache, and fixed a few bugs
that haven't appeared to manifest themselves (yet).

Submitted by:	John Dyson
1994-08-07 13:10:43 +00:00
David Greenman
c564966bf0 Don't kremove process VM pages (oops!). This was the cause of the instability
that was introduced last night.

Submitted by:	 John Dyson
1994-08-07 03:31:52 +00:00
David Greenman
539d9ba017 Don't strip the kernel. 1994-08-06 10:52:15 +00:00
David Greenman
c87801fe54 Fixed various prototype problems with the pmap functions and the subsequent
problems that fixing them caused.
1994-08-06 10:25:50 +00:00
David Greenman
ae92ea446f Incorporated 1.1.5 improvements to the bounce buffer code (i.e. make it
actually work), and additionally improved it's performance via new pmap
routines and "pbuf" allocation policy.

Submitted by:	John Dyson
1994-08-06 09:20:56 +00:00
David Greenman
ed3f895438 Made the tmpstk start at tmpstk. Not doing so causes problems for the
debugger.

Submitted by:	John Dyson
1994-08-06 09:17:44 +00:00
David Greenman
16f62314cd Incorporated post 1.1.5 work from John Dyson. This includes performance
improvements via the new routines pmap_qenter/pmap_qremove and pmap_kenter/
pmap_kremove. These routine allow fast mapping of pages for those
architectures that have "normal" MMUs. Also included is a fix to the
pageout daemon to properly check a queue end condition.

Submitted by:	John Dyson
1994-08-06 09:15:42 +00:00
David Greenman
ee4834308a Added my own kernel configuration file. This can be used as a place to
start for people trying to get 2.0 running.
1994-08-06 06:36:55 +00:00
Garrett Wollman
f5c789f5a9 Delete redundant #ifdef __i386__, be consistent about idempotency
protection.

Submitted by:	Bruce Evans
1994-08-05 14:36:04 +00:00
David Greenman
86cadec5dc Added assembly versions of ffs() and bcmp(). 1994-08-04 19:51:01 +00:00
David Greenman
ee06dc6013 Inlined insque and remque. 1994-08-04 19:46:57 +00:00
Garrett Wollman
50f44fa07d Move ieeefp.h over, and put it in the correct subdirectory this time.
Submitted by:	Andrew Moore
1994-08-04 19:16:37 +00:00
David Greenman
0f8a0292a2 Updated to include improvements from FreeBSD 1.1.5. Fixed brokeness
with multicast support and BPF.
1994-08-04 17:42:35 +00:00
David Greenman
15e1ca20e4 Nuked #if 0'd _insque and _remque routines - they are now inlined in
cpufunc.h.
1994-08-04 06:10:27 +00:00
David Greenman
d23d07ef95 Merged in post-1.1.5 work done by myself and John Dyson. This includes:
me:
1) TLB flush optimization that effectively eliminates half of all of the
   TLB flushes. This works by only flushing the TLB when a page is "present"
   in memory (i.e. the valid bit is set in the page table entry). See section
   5.3.5 of the Intel 386 Programmer's Reference Manual.
2) The handling of "CMAP" has been improved to catch attempts at multiple
   simultaneous use.

John:
1) Added pmap_qenter/pmap_qremove functions for fast mapping of pages into
   the kernel. This is for future optimizations and support for the upcoming
   merged VM/buffer cache.

Reviewed by:	John Dyson
1994-08-03 02:45:30 +00:00
David Greenman
3c4dd3568f Added $Id$ 1994-08-02 07:55:43 +00:00
David Greenman
03e6c2532f Removed all code related to the pagescan daemon, and changed 'act_count'
adjustments to compensate for a world without the pagescan daemon.
1994-08-01 11:25:45 +00:00
David Greenman
a445481c3e Fixed a bug that was introduced in the conversion from 1.1.5 to 2.0. 1994-08-01 10:38:19 +00:00
David Greenman
5c877c740d Removed pager declarations. They are NOT optional, and don't need to be
declared.
1994-07-28 05:53:44 +00:00
Jordan K. Hubbard
1c28e35f68 Commit a whole cluster of last minute critical (and one cosmetic) fixes
from David Greenman, Bruce Evans and Julian Elischer.

They are:

[vnode pager - David/Bruce]:
  The following patch fixes a problem where some data could be lost in a
delayed-write buffer if the cached buffer was larger than a page. This fix was
provided by Bruce Evans and modified slightly by me.

[st.c - Julian]:
  My fix for "bad request, must be between 0 and 0"

RTFS if you're interested).

[gnu/fpemul - David/Bruce]:
  These changes fix single stepping of emulated FPU instructions.
Previously, the instruction after an emulated instruction was
executed without causing a SIGTRAP ...

The also fix the initial control word being different for the
GPL emulator (it is still wrong for the old emulator) and remove
an unnecessary panic when emulation is not configured (I hope at
least init, sh and reboot will run without floating point.  I
remember only df and mkfs being broken by the lack of FP in 0.0).

[Various fixes described below - Bruce/David]:
sys/i386/boot/boot2.S:
        Yet another attempt to propagate the correct fix for 16 vs
        32-bit mode bugs.  [verified]

sys/i386/i386/db_interface.c:
        Protect against reentering Debugger().

sys/kern/kern_time.c:
        Don't allow 'time.tv_usec == 0' except at clock interrupts.

sys/pcfs/pcfs_fat.c:
        Make it compile without -O.

sys/scsi/sd.c:
        Fix as posted to some freebsd mailing list.
        (changes the order of the assignment of "sectors" because it earlier
          value is needed first -DG)

sys/vm/vm_glue.c:
        Fix stale comments and verbose code.

sys/vm/vm_mmap.c
        Fix off by 1 errors and verbose code.

[From Nate - cosmetic but non-intrusive and useful enough to go in]
sys/i386/isa/isa.c:
Appended you'll find a patch to the NMI error log routine in isa/isa.c.
The below patch just adds some additional information when an NMI occurs
which can help debug the hardware problem.
1994-06-22 05:52:25 +00:00
Jordan K. Hubbard
2e2df8360c Make BOOTWAIT a truly tunable parameter. It was hard-set before. 1994-06-20 04:32:40 +00:00
Jordan K. Hubbard
775985234f This is the IBM/National PCMCIA ethernet driver from Keith Moore,
based originally on work by David Greenman and adapted to FreeBSD
(and cleaned up a bit) by myself.  It supports the IBM Credit Card
Adapter for the IBM Thinkpad, and I've had no trouble making it work
on my Toshiba T1910 with a National `InfoMover' NE4100 PCMCIA ethernet
card (I'm commiting this message through it right now :-).

This is actually sneaking it in after feature-freeze, but it's just
too useful to pass up!  As always, necessity is a mother.
1994-06-16 05:32:10 +00:00
Adam David
3f9e73d24f Changed delay mechanism to rely more on I/O spinning. If spinning on the
like this is bad news, it will have to be revised.
Shortened some verbose messages for when the kernel is loaded below 640k.
Updated version number.
1994-06-16 03:53:29 +00:00
Jordan K. Hubbard
f4c5931839 From Hellmuth Michaelis, reviewed by Bruce Evans: This enables
the keyboard clock rather than incorrectly disabling it.
1994-06-15 19:09:14 +00:00
Adam David
f675355835 make BOOTWAIT loopcount parameter available for tuning.
This changes nothing unless f.e. -DBOOTWAIT=0 or -DBOOTWAIT=640000 is used
1994-06-15 18:15:17 +00:00
Rodney W. Grimes
f2009cbfdb Touch the $Revision$ string to cause a cvs revision update of the boot
code (ie, should now print Revision 1.13).
1994-06-14 07:31:42 +00:00
Jordan K. Hubbard
ac9326b3cc Be paranoid about setting of %dl register for braindead BIOS's,
initializing it to 0 in the floppy boot case.  This allows my Toshiba
1910 laptop to finally boot, and may help out other machines cursed
with early Phoenix BIOS's as well.
1994-06-13 19:27:52 +00:00
David Greenman
600f527fc6 Fix from Bruce Evans:
Set npx_exists = 0 in the case of broken error reporting.
1994-06-11 05:17:15 +00:00
David Greenman
8c481329f7 Fixed minor spelling error. 1994-06-11 05:13:33 +00:00
David Greenman
e2a2a04ad3 Bruce found a bug in my changes to stop using the gs selector.
From Bruce Evans:

fu[i]byte() checked the wrong register.  This caused interesting behaviour
in the GPL math emulator.  The emulator does not check the values returned
by fu*() or su*() (:-() and it interpreted the address of -12(%ebp) as
-1(%ebp).  The same probably occurs for all signed 8-bit offsets from
registers.

I cleaned up the new bzero() a bit.
1994-06-11 05:12:15 +00:00
David Greenman
667f0edb2b Added some missing cld's (OOPS!) and changed the position of some of
the others to make them easier to spot.
1994-06-06 15:08:51 +00:00
David Greenman
3c256f5395 trap.c:
Vastly improved trap.c from me. This rewritten version has a variety of
features, amoung them: higher performance and much higher code quality.

support.s, cpufunc.h:
No longer use gs override to enforce range limits - compare directly
against VM_MAXUSER_ADDRESS instead. The old way caused problems in
preserving the gs selector...and this method is just as fast or faster.
1994-06-06 14:54:41 +00:00
David Greenman
2e4fabc7c7 Back out previous change for the moment - I need to commit some other
changes first.
1994-06-06 14:23:49 +00:00
David Greenman
baa2452312 Added some missing cld's (OOPS!) and changed the position of some of
the others to make them easier to spot.
1994-06-06 14:12:50 +00:00
David Greenman
8b7da9b52b Removed extra (bogus) declaration of Xrsvd14 that was confusing me. 1994-06-04 11:01:15 +00:00
Jordan K. Hubbard
9727866aa8 This should fix up the absolute paths to /usr/mdec - just prepended
${DESTDIR} to all the right places (any reason why not?).
1994-06-02 16:50:56 +00:00
Andrey A. Chernov
03afa5ecd8 Make bootblocks fit into 7168 limit 1994-05-30 05:23:53 +00:00
Rodney W. Grimes
fb49e767ba Cast arguments to timeout() to quite compiler warnings. Should we
change all of these to be timeout_funt_t and remove the casts and
typedef?

Remove secound argument (uban) from ifp->if_reset routines since it is now
obsolete.

Reviewed by:	David Greenman
1994-05-27 04:02:10 +00:00
Rodney W. Grimes
c7cb9b9654 SYSCONS is no longer needed since pccons has been removed.
Update the GENERIC* to have the new file system options and the new kernel
name.

Fix the clean target in Makefile.i386 to rm kernel instead of 386bsd.
1994-05-26 13:38:01 +00:00
Rodney W. Grimes
35c2e6db96 Since we have removed com.c and renamed comreg.h to sioreg.h I need to
fix sio.c to #include sioreg.h.
1994-05-26 13:31:40 +00:00
Rodney W. Grimes
d5d6e3f5d0 Fix some references to MIN() and MAX() that have been replaced by min() and
max().
1994-05-26 13:30:20 +00:00
Rodney W. Grimes
26f9a76710 The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.
Reviewed by:	Rodney W. Grimes
Submitted by:	John Dyson and David Greenman
1994-05-25 09:21:21 +00:00
Rodney W. Grimes
6cda32c071 BSD 4.4 Lite Kernel Sources 1994-05-25 01:34:38 +00:00
Jordan K. Hubbard
c783dff047 Get us closer to being able to install on the second drive. 1994-05-24 08:09:49 +00:00
Søren Schmidt
f4f09149e5 Fixed Id string 1994-05-20 12:24:15 +00:00
Søren Schmidt
ee5676a0ae Added prober Id string 1994-05-20 12:22:40 +00:00
Jordan K. Hubbard
dd15978f97 Start preparing for the new, improved, doesn't-hang-the-keyboard version of
syscons as standard.  pccons adherants are welcome to go fix pccons, but for
now I see only syscons really moving forward.
see
1994-05-19 10:55:34 +00:00
Jordan K. Hubbard
0bf1d79182 Remove the now bogus IP_VAT_COMPAT. 1994-05-18 16:23:25 +00:00
Jordan K. Hubbard
33b061c9fd Add line for IP_VAT_COMPAT, documenting it. 1994-05-17 23:20:32 +00:00