Commit Graph

797 Commits

Author SHA1 Message Date
David Greenman
6d01f02e51 1) Added proc file system from Paul Kranenburg with changes from
John Dyson to make it reliably work under FreeBSD.
2) Added and enabled PROCFS in the GENERICxx and LINT kernels.
3) New execve() from me. Still work to be done here, but this version
	works well and is needed before other changes can be made. For
	a description of the design behind this, see freebsd-arch or
	ask me.
4) Rewrote stack fault code; made user stack VM grow as needed rather
	than all up front; improves performance a little and reduces
	process memory requirements.
5) Incorporated fix from Gene Stark to fault/wire a user page table
	page to fix a problem in copyout. This is a temporary fix and
	is not appropriate for pageable page tables. For a description
	of the problem, see Gene's post to the freebsd-hackers mailing
	list.
6) Tighten up vm_page struct to reduce memory requirements for it. ifdef
	pager page lock code as it's not being used currently.
7) Introduced new element to vmspace struct - vm_minsaddr; initial
	(minimum) stack address. Compliment to vm_maxsaddr.
8) Added a panic if the allocation for process u-pages fails.
9) Improve performance and accuracy of kernel profiling by putting in
	a little inline assembly instead of spl().
10) Made serial console with sio driver work. Still has problems with
	serial input, but is almost useable.
11) Added -Bstatic to SYSTEM_LD in Makefile.i386 so that kernels will
	build properly with the new ld.
1993-12-12 12:22:57 +00:00
Jordan K. Hubbard
41d67a5615 Folllow Bruce's advice in reducing dma_pagesize to 4K (more conservative
estimate).  This seems to work well with my GUS at least.
1993-12-12 05:50:52 +00:00
Jordan K. Hubbard
6277403422 Added sbrk() as new file. 1993-12-11 21:06:36 +00:00
Jordan K. Hubbard
8b6ddcb0a3 Broke sbrk() out of rtld as part of general cleanup. 1993-12-11 21:06:00 +00:00
Andreas Schulz
908cd9251b Deleted the private cleandir target. It didn't had a rule for the
obj symlink in it and the normal bsd.prog.mk cleandir target does
already the correct thing.
1993-12-11 20:35:15 +00:00
Jordan K. Hubbard
c9cb3c7ea5 Omitted 4th argument to findshlib() [thanks Rich!]. Our ld is a bit
different from NetBSD's here and it squeaked through the update.
1993-12-11 20:08:39 +00:00
Jordan K. Hubbard
b640de6119 Sync up with Paul K's latest ld from cesium. 1993-12-11 12:02:10 +00:00
Andrey A. Chernov
8cd0c83879 Remove compiler warning:
void function return int.
1993-12-11 00:37:55 +00:00
Andrey A. Chernov
04201cd182 Force HUPCL in bidirectional port open.
This don't allow it hangs forever.
1993-12-11 00:36:14 +00:00
Andrey A. Chernov
875d6b8f31 Man page added. 1993-12-10 19:27:16 +00:00
Andrey A. Chernov
9bfbbf452b Modified for work without options COM_BIDIR into kernel. 1993-12-10 19:26:20 +00:00
Jordan K. Hubbard
127447df73 makedepend fails for ld. I think it because the .S files are
preprocessed the same as when they are compiled.  I just remove the
single-quotes from the offending comments.  Rich
1993-12-10 10:16:00 +00:00
Andrey A. Chernov
cc4ca26313 Add 'dtrwait <n>' option to comcontrol to handle
TIOCM[SG]DTRWAIT ioctl.
1993-12-10 01:08:47 +00:00
Jordan K. Hubbard
31a947eb76 Added the TODO file. Also wanted to announce the previous change to rtld.c
which eliminates the stack walking code (from David G.).  My previous commit
message was eaten by mistake!
1993-12-09 17:53:08 +00:00
Jordan K. Hubbard
a0b8281d40 David Greenman's latest changes to eliminate much stack-walking jazz
(no more sbrk_init()!).
1993-12-09 17:45:43 +00:00
Andrey A. Chernov
25915e75e3 1) Fix error with port recognition, speed initialization code
added to probe.
2) Force CLOCAL=on for outgoing ports and CLOCAL=off for
incoming ports into open in bidirectional case.
3) Add DELAY after writing to com_ier for fifo drain into probe.
1993-12-09 17:24:19 +00:00
Nate Williams
11fefa2e36 We've got accounting, might as well have a directory for it. 1993-12-08 00:49:11 +00:00
Garrett Wollman
699e9cf137 Fixed spelling error. Added NSIP (XNS over IP). Fixed TP class 4 over
IP line (TPIP) to be an option rather than a pseudo-device (the code keys
off #ifdef TPIP, not #if NTPIP > 0, as makes sense).
1993-12-06 01:57:16 +00:00
Andreas Schulz
71e44e722b Added entries for sup into services.
Added an example entry for the pop3 popper into inetd.conf as a comment.
1993-12-05 16:39:47 +00:00
Andreas Schulz
fadc21ae39 Fixed the error that a Fdopen succeeds without a found fd controller in
the system.
1993-12-04 16:13:18 +00:00
Jordan K. Hubbard
230d2c5ff9 More changes to bring FreeBSD in sync with Paul K's latest. 1993-12-04 00:53:16 +00:00
Jordan K. Hubbard
2e21ebe5ce More changes to bring FreBSD in sync with Paul K's latest. 1993-12-04 00:53:02 +00:00
Andrew Moore
05e634ef64 From: Jeffrey Hsu <hsu@soda.berkeley.edu>
The following patch adds the addr argument to signal handlers.

The kernel with the patch is no more and no less in compliance or in
violation of POSIX and ANSI C than the kernel before the patch.

The added functionality this addr argument provides is quite useful.  It
enables an entire class of algorithms which use mprotect to trace memory
references.  Beside garbage collectors, I have heard of this technique being
applied to debuggers and profilers.  The only benchmarking I've performed is
using akcl to compile maxima:  without the kernel patch, it takes 7 hours to
compile maxima, while with stratified garbage collection, it only takes 50
minutes.

Basically, I can't think of a reason not to add the addr argument and there
is a compelling need for it.

If you find the patch acceptable, please let me know so I can send my
FreeBSD akcl config files to wfs for inclusion in the core akcl release.
The old 386BSD config files there won't work on either NetBSD or FreeBSD.
1993-12-03 05:10:08 +00:00
Andrew Moore
16111ced9f Reset fdc during probe.
From: <dec@lazarus.nrtc.northrop.com>
   Changes between EPSILON and RELEASE of FreeBSD have again caused
the kernel to not see my floppy disk drives.  I don't know what happened,
'cause I don't see any changes to fd.c, but here is an old fix that
I have applied to the probe routine which will solve the problem (at
least for me).  Since this is a rather brute-force solution - I understand
if you want to ignore it...

[Upgrading to pre-Beta FreeBSD caused this on my system. -AM]
1993-12-03 05:01:40 +00:00
Andrey A. Chernov
64990426e4 Sorry, Jordan, but I restore previous version again.
You write that
LDFLAGS+= -Xlinker -Bstatic
no more needed, but you have
CFLAGS += -static -I$(.CURDIR) -I$(.CURDIR)/$(MACHINE)
This -static doesn't make any sense in your version,
because it not passed to linker's state (LDFLAGS),
so we have SHARED /usr/bin/ld in this case.
(Older Makefile produce non-shared ld).
I suppose, that -static in CFLAGS was introduced to
make non-shared ld, so I restore previous LDFLAGS
to have non-shared ld. If we want to have shared ld
we need to remove -static from CFLAGS too, not only LDFLAGS,
but this need special issue and corresponding
commit log. Your current version hang into intermediate
state (beetween two sides), so I move it to one side.

Second, I restore NOPIC dependance again from older Makefile:
.if !defined(NOPIC)
SUBDIR+= rtld
.endif
We don't need ld.so, if NOPIC

P.S. I don't see any purpose to commit new makefile, old version
is better.
1993-12-02 09:56:30 +00:00
Andrey A. Chernov
1f30bc0f0d #ifdef DEBUG unwanted message, third time after Jordan... 1993-12-02 09:32:26 +00:00
Nate Williams
02974dc4fb Moved DEBUG conditional where it belonged to remove DEBUG code out of
default compilation.
1993-12-02 05:09:52 +00:00
Jordan K. Hubbard
1e503f71fb Second attempt to integrate Paul K's changes. 1993-12-02 01:03:47 +00:00
Jordan K. Hubbard
88ac367bd7 Second attempt to integrate Paul K's changes. 1993-12-02 00:56:40 +00:00
Andreas Schulz
5fefaf154f deleted all references to rindex and included string.h instead. 1993-12-01 16:45:42 +00:00
Andreas Schulz
285aeeb5e4 changed the order of the includes and deleted a reference to index
nd added an include to string.h instead
1993-12-01 16:44:43 +00:00
Andrey A. Chernov
db4d1e7156 All -static and -Xlinker -Bstatic flags missed in
newly commited Makefile.
NOPIC dependance missed too!
Oh it is really pain to check all that broken stuff,
Please, check it *before* commit!
1993-12-01 15:58:22 +00:00
Andrey A. Chernov
b242393f9b #ifdef DEBUG missed by several lines!
!!! Please, COMPILE *BEFORE* COMMIT!
1993-12-01 15:34:01 +00:00
Andrey A. Chernov
50b517092a Add DEBUG #ifdef, (second time!)
!!! Please, anybody who update ld to NetBSD current,
!!! look at old cvs logs!
1993-12-01 15:13:42 +00:00
Andrey A. Chernov
730a80c44c Remove hanging #else part (with second sbrk()) without #if & #endif
Add missing argument to findshlib, I am not shure,
but it seems that it is 1.
!!! Does anybody compile it before commit?
1993-12-01 15:05:31 +00:00
Andrey A. Chernov
ff78e5dfcf Remove -g option (second time!)
!!! Please anybody who port Makefiles from NetBSD,
!!! remove -g option!
1993-12-01 14:45:35 +00:00
Rodney W. Grimes
428e3889f9 From: Julian Howard Stacey <stacey@guug.de>
Subject: Bug & Fix for etc/Makefile cpio-floppy: re /tmp creation.
Date: Fri, 26 Nov 1993 11:35:04 +0100

Editors Note:  tmp was listed in the CPIO_FILES section and thus the
entire contents of ${DESTDIR}/tmp would end up on the cpio floppy.  This fix
moves tmp to CPIO_DIRS so that no longer happens.
1993-12-01 08:44:39 +00:00
Jordan K. Hubbard
8eae6ddddc Latest from Paul K. for better checking of PIC code. 1993-11-30 20:57:41 +00:00
Jordan K. Hubbard
52c4ca7af3 Many recent fixes from Paul K, add support for chaining of shared lib deps. 1993-11-30 20:47:54 +00:00
Rich Murphey
0da22b8b69 allow spaces in $sendmail_flags. 1993-11-30 16:59:27 +00:00
Andrey A. Chernov
b4afc64b0b wmesg was too long (>7), fixed 1993-11-29 19:26:32 +00:00
David Greenman
97751a63e2 * Revision 2.16 1993/11/29 16:55:56 davidg
* merged in Garrett Wollman's strict prototype changes
 *
 * Revision 2.15  1993/11/29  16:32:58  davidg
 * From Thomas Sandford <t.d.g.sandford@comp.brad.ac.uk>
 * Add support for the 8013W board type
1993-11-29 17:07:33 +00:00
Andrey A. Chernov
b81db928c3 Direct #undefs removed to allow flexible manipulation
via config options. Unneded #defines removed.
Improved dependance of "snd.h" and NSND.
1993-11-28 10:55:59 +00:00
David Greenman
a9627169cd Patch from Gene Stark:
Subject: Page fault in PTE area fails in copyout
Index: sys/i386/i386/trap.c FreeBSD-1.0.2

Description:
	Reading files of several megabytes into Emacs, or many small
	files all at once, would fail with "IO error - bad address".

Repeat-By:
	The bug can be exercised by a test program that malloc()'s
	a 5MB chunk of memory, and then, without accessing the memory
	first, filling it with data from a file using read().
	(I read 64k chunks from /dev/wd0d into successive 64k regions
	of the 5MB chunk.)  The read() will fail with EFAULT at the first
	virtual address boundary that is a multiple of 0x400000.

Fix:
	The problem was code in sys/i386/i386/trap.c that tries to
	figure out what kind of trap occurred and to handle it appropriately.
	It was interpreting any page fault with virtual address
	>= vm->vm_maxsaddr as being a user stack segment fault.
	In fact, addresses >= USRSTACK are in the user structure/PTE area,
	and if they are handled as stack faults, the proper PTE will
	not be paged in when it is supposed to be.  This situation comes
	up in copyout() and copyoutstr(), if PTE's are accessed for the
	first time ever.  The page fault on accessing the nonexistent PTE
	is mishandled as a stack fault, and then the fault that occurs on
	the subsequent access to the page itself causes copyout to fail
	with EFAULT.
1993-11-28 09:28:54 +00:00
Andrey A. Chernov
4a8e05dd59 Move soundcard.h & ultrasound.h to proper location <machine/...>
to allow application access it.
1993-11-27 22:16:44 +00:00
Garrett Wollman
608bcbe953 Declare cnopen, cnclose, and other console routines. 1993-11-27 19:19:19 +00:00
Rich Murphey
d6084ed740 Declared cn{open,close,read,write,ioctl,select} extern. 1993-11-27 06:50:45 +00:00
Rich Murphey
23fc1c7148 Fix conflicting prototypes and return values. 1993-11-27 06:32:41 +00:00
Garrett Wollman
c5fd31718b Fix d_write_t -> d_rdwr_t (typing error). 1993-11-26 22:44:17 +00:00
David Greenman
af70ab7293 Don't start update daemon; it's now internel to the kernel. 1993-11-25 13:23:46 +00:00