Commit Graph

20955 Commits

Author SHA1 Message Date
bde
8d6ed2803c Include ${CURDIR}/../Makefile.inc as in most other `.mk' files. This
is most useful for centralizing the definitions of paths to contrib
directories.

Removed useless subshell and evil-hiding @ in the the rule for
initializing the info dir.
1997-04-07 16:46:40 +00:00
peter
e225ab4fac Lower the spl() of the new process from splhigh() right away, since
nothing else will lower it until either much later, or never(?) for
kernel processes.

This basically re-fixes what Bruce fixed in rev 1.29 of kern_fork.c,
which was broken again now the child does not execute back up the fork()
calling tree.
1997-04-07 11:42:09 +00:00
kato
a3b6c4ba1c Synchronize with sys/i386/i386{machdep.c,trap.c} revisions 1.236 and
1.91, respectively.
1997-04-07 11:00:48 +00:00
kato
95df505618 Synchronize with sys/i386/isa/clock.c revision 1.80. 1997-04-07 10:53:14 +00:00
jmg
b328a04930 terminfo_extensions.doc:
o)	fix some typos
	o)	add missing comments from terminfo's man page

termcap.5
	o)	fix some types
	o)	add a reference to terminfo_extensions.doc
1997-04-07 10:24:13 +00:00
peter
6c0a1b1ef6 Remove explicit zero of p_vmspace on creation, it's now in the startzero
section of the proc struct.
1997-04-07 09:38:39 +00:00
peter
26af825031 Move p_vmspace into the startzero section since we've just changed things
and may as well get it over and done with.
1997-04-07 09:35:15 +00:00
peter
0acb9783e3 Use UPAGES_HOLE instead of UPAGES in case it's changed some time.
Rename the PT* index KSTK* #defines to UMAX*, since we don't have a kernel
stack there any more..

These are used to calculate VM_MAXUSER_ADDRESS and USRSTACK, and really
do not want to be changed with UPAGES since BSD/OS 2.x binary compatability
depends on it.
1997-04-07 09:30:22 +00:00
peter
421f37c593 Define UPAGES_HOLE at 2 (same as current UPAGES) in case UPAGES changes
later.  This is used to calculate the top of user address space.
1997-04-07 09:27:21 +00:00
ache
7b1360495d Restore PATH_LOCALE functionality using issetugid() call now 1997-04-07 08:54:38 +00:00
peter
42b08e7316 Clean up some dead wood. Kill the page table page for mapping the
proc0/idlePTD/bootstrap stack into place in user space.  We save 4K.
Remove p0upa, it is now unneeded.
1997-04-07 08:38:19 +00:00
peter
a31720765f Attempt to patch up gdb so that it has a chance of working with the new
UPAGES layout.. it was entirely too comfortable with reading and writing
the U area before.  I've changed it to use PT_GETREGS/PT_PUTREGS
ptrace ops instead of READ_U etc.  The code to read the registers from
core dumps is a bandaid at best.  It seems to have problems reading
core dumps from dynamic linked executables still, but at least static
dumps work.

I desperately need help from a gdb/bfd expert. :-)  HELP!!
1997-04-07 08:08:20 +00:00
peter
ecf50a7463 The biggie: Get rid of the UPAGES from the top of the per-process address
space. (!)

Have each process use the kernel stack and pcb in the kvm space.  Since
the stacks are at a different address, we cannot copy the stack at fork()
and allow the child to return up through the function call tree to return
to user mode - create a new execution context and have the new process
begin executing from cpu_switch() and go to user mode directly.
In theory this should speed up fork a bit.

Context switch the tss_esp0 pointer in the common tss.  This is a lot
simpler since than swithching the gdt[GPROC0_SEL].sd.sd_base pointer
to each process's tss since the esp0 pointer is a 32 bit pointer, and the
sd_base setting is split into three different bit sections at non-aligned
boundaries and requires a lot of twiddling to reset.

The 8K of memory at the top of the process space is now empty, and unmapped
(and unmappable, it's higher than VM_MAXUSER_ADDRESS).

Simplity the pmap code to manage process contexts, we no longer have to
double map the UPAGES, this simplifies and should measuably speed up fork().

The following parts came from John Dyson:

Set PG_G on the UPAGES that are now in kernel context, and invalidate
them when swapping them out.

Move the upages object (upobj) from the vmspace to the proc structure.

Now that the UPAGES (pcb and kernel stack) are out of user space, make
rfork(..RFMEM..) do what was intended by sharing the vmspace
entirely via reference counting rather than simply inheriting the mappings.
1997-04-07 07:16:06 +00:00
peter
237ff29ca4 No longer use an i386tss as the basis of our pcb - it wasn't particularly
convenient and makes life difficult for my next commit.  We still need
an i386tss to point to for the tss slot in the gdt, so we use a common
tss shared between all processes.

Note that this is going to break debugging until this series of commits
is finished.  core dumps will change again too. :-(  we really need
a more modern core dump format that doesn't depend on the pcb/upages.

This change makes VM86 mode harder, but the following commits will remove
a lot of constraints for the VM86 system, including the possibility of
extending the pcb for an IO port map etc.

Obtained from: bde
1997-04-07 06:45:18 +00:00
hanai
3296644b21 New translation which corresponds to the 1.11 -> 1.12 change of
original.
Submitted by: mihoko@pa.yokogawa.co.jp
1997-04-07 04:56:51 +00:00
hanai
eadb11741d Catch up with the original. 1997-04-07 04:09:47 +00:00
bde
3fde995907 Documented new serial console flags.
Removed dead serial console options.

Reorganised sio and serial console options.

Added undocumented options CLUSTERDEBUG and NPX_DEBUG.
1997-04-07 01:26:34 +00:00
dfr
62c0dbe488 Document how to debug LKMs with kgdb.
Reviewed by:	J Wunsch <j@uriah.heep.sax.de>
1997-04-06 23:03:27 +00:00
wosch
9a5b826b63 Add BSD family tree to UNIX history section. 1997-04-06 21:53:59 +00:00
peter
07c3ab609e Commit a typo fix that's been sitting in my tree for ages, quite forgotten.
The typo was detected once apon a time with the -Wunused compile option.
The result was that a block of code for implementing
madvise(.. MADV_SEQUENTIAL..) behavior was "dead" and unused, probably
negating the effect of activating the option.

Reviewed by: dyson
1997-04-06 16:16:11 +00:00
dfr
6b7b32a1b3 Fixes to ibcs2_getdents, including using struct dirent instead of
struct direct, not using UFS' definition of DIRBLKSIZ, using directory
seek cookies to make reading non-UFS directories reliable
(e.g. cd9660, ext2fs).

A special thanks to Robert Eckardt for providing an ISC binary of GNU
ls so that I could test these changes.
1997-04-06 14:10:50 +00:00
mckay
0c36a7b1a1 Prevent wedging of the stat clock because of missed interrupts.
This should cure the "alternate system clock has died!" problem.

Discussed with: bde, joerg
1997-04-06 13:25:48 +00:00
kato
19bb66de05 Synchronize with sys/i386/i386/trap.c revision 1.89. 1997-04-06 11:49:46 +00:00
dufault
e62e4c624a Make MOD_* macros almost consistent:
Use the name argument almost the same in all LKM types.  Maintain
the current behavior for the external (e.g., modstat) name for DEV,
EXEC, and MISC types being #name ## "_mod" and SYCALL and VFS only
#name.  This is a candidate for change and I vote just the name without
the "_mod".

Change the DISPATCH macro to MOD_DISPATCH for consistency with the
other macros.

Add an LKM_ANON #define to eliminate the magic -1 and associated
signed/unsigned warnings.

Add MOD_PRIVATE to support wcd.c's poking around in the lkm structure.

Change source in tree to use the new interface.

Reviewed by:	Bruce Evans
1997-04-06 11:14:13 +00:00
dufault
7485dac765 Make MOD_* macros almost consistent:
Use the name argument almost the same in all LKM types.  Maintain
the current behavior for the external (e.g., modstat) name for DEV,
EXEC, and MISC types being #name ## "_mod" and SYCALL and VFS only
#name.  This is a candidate for change and I vote just the name without
the "_mod".

Change the DISPATCH macro to MOD_DISPATCH for consistency with the
other macros.

Add an LKM_ANON #define to eliminate the magic -1 and associated
signed/unsigned warnings.

Add MOD_PRIVATE to support wcd.c's poking around in the lkm structure.

Change source in tree to use the new interface.

Reviewed by:	Bruce Evans
1997-04-06 10:49:22 +00:00
dfr
6b27cec2a9 Remove dependancy on UFS' DIRBLKSIZ definition.
2.2 candidate.

Submitted by:	bde
1997-04-06 10:10:50 +00:00
dyson
f304c6bda9 Make vm_map_protect be more complete about map simplification. This
is useful when a process changes it's page range protections very
much.
Submitted by:	Alan Cox <alc@cs.rice.edu>
1997-04-06 03:04:31 +00:00
dyson
54fd4a3d42 Correction to the prototype for vm_fault. 1997-04-06 02:30:56 +00:00
dyson
22d3427970 Fix the gdb executable modify problem. Thanks to the detective work
by Alan Cox <alc@cs.rice.edu>, and his description of the problem.

The bug was primarily in procfs_mem, but the mistake likely happened
due to the lack of vm system support for the operation.  I added
better support for selective marking of page dirty flags so that
vm_map_pageable(wiring) will not cause this problem again.

The code in procfs_mem is now less bogus (but maybe still a little
so.)
1997-04-06 02:29:45 +00:00
alex
6bd5a8ae49 Support for -c, byte count. 1997-04-06 00:54:27 +00:00
peter
c5e29b83e0 move top.1 -> top.local.1, and generate top.1 so that the man page
is remotely useful
1997-04-05 22:05:46 +00:00
gibbs
7e5a647dba Instead of testing for both SELDI and SELDO in SSTAT0 in the poll for work
loop, test for them separately.  The bug report from David Malone showed that
even though we had been reselected (SELDI was true), we sat in the poll for
work loop until the selection timeout timer expired.  It may be that the
SSTAT0 register doesn't like to have more than one bit tested at a time.
I've seen stranger things than this on these parts.
1997-04-05 22:03:47 +00:00
gibbs
5c4a66c62d Fix a bug in the selection timeout handler that was introduced when the
selection loop was merged with the poll_for_work loop.  We cannot assume
that the SCB for the selection timeout is the current SCB.  Instead we
must look at the SCB at the head of the waiting for selection list.

This fixes part of a problem reported by David Malone, but does not explain
why he was getting selection timeouts in the first place.
1997-04-05 21:41:13 +00:00
jhay
09aec948b9 Change IPX to use the pr_usrreqs structure. 1997-04-05 20:05:11 +00:00
jdp
8a34de70b7 Disallow "-p" when linking, with a diagnostic that recommends using
"-pg" and gprof(1) instead.  FreeBSD does not support plain "-p" or
prof(1).

Plain "-p" is still allowed when just compiling.  In the compile
phase, "-p" is identical "-pg".  It is used by <bsd.lib.mk> for
building profiled object files.
1997-04-05 16:19:08 +00:00
kato
3913c4d60b Synchronize with sys/i386/conf/options.i386 revision 1.39. 1997-04-05 15:06:30 +00:00
kato
c2d77b3421 Synchronize with sys/i386/isa/sioreg.h revision 1.8. 1997-04-05 15:05:16 +00:00
kato
77084250ee Synchronize with sys/i386/isa/sio.c revision 1.162. 1997-04-05 15:04:32 +00:00
dfr
e4e23cf665 Fix linux_getdents so that it can cope with filesystems which translate
the directory format (ext2fs, cd9660).  For these filesystems, it must use
cookies to find the correct offset to use for subsequent reads.  Without it,
linux /bin/ls tends to loop re-reading the same block over and over again.

2.2 candidate.
1997-04-05 14:50:56 +00:00
bde
a751ade0a4 Moved COMCONSOLE, CONADDR and CONUNIT to defunct options. 1997-04-05 13:21:08 +00:00
bde
65125ed0f6 Removed defaults for dead options CONADDR and CONUNIT. 1997-04-05 13:15:50 +00:00
bde
2c1d5635c4 Use device flags instead of options for serial console configuration
(see LINT).  There is a new low-level console type that is more suitable
for use with gdb-remote.

Fixed setting of speed at probe time for the serial console (if any).

Reviewed by:	dfr
1997-04-05 13:11:27 +00:00
peter
d68928491c Declare issetugid()
Submitted by: Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>, PR#3200
1997-04-05 13:03:15 +00:00
dfr
f5e07dc7a9 Support NFS cookies in VOP_READDIR, allowing ext2fs filesystems to be
exported via NFS.

2.2 candidate.
1997-04-05 12:23:44 +00:00
jkh
b8a7416e69 Update run - try and use the correct release numbers for everything. 1997-04-05 08:38:48 +00:00
phk
bc6a7d4827 Recognize ZNYX 314 cards that have a MAC address with the low bit set. 1997-04-05 07:59:41 +00:00
jkh
53b252cd97 YAMF22 1997-04-05 07:08:14 +00:00
ache
b7730d14c9 Replace Sf/Sb with AF/AB for terminals with ANSI colors 1997-04-05 02:51:19 +00:00
jkh
65c0512f6f Implement dkstats for worm devices so they show up in iostat et al.
I got tired of not seeing my worm stats show up during a burn. :)
[Joerg, I just stapled in 1MB/sec for a bogus xfer rate and left seek = 1,
 as suggested - I'm not going to dynamically calculate the xfer rate from
 a known device spectable, OK? :-)]
Reviewed by:	joerg
1997-04-04 22:12:55 +00:00
ache
1aefb8ae80 Speedup in case locale not used 1997-04-04 20:10:53 +00:00