Commit Graph

35413 Commits

Author SHA1 Message Date
Matthew Dillon
5b02fcc3d0 The elf loader sets the permissions on bss to VM_PROT_READ|VM_PROT_WRITE
rather then VM_PROT_ALL.  obreak, on the otherhand, uses VM_PROT_ALL.
    This prevents vm_map_insert() from being able to coalesce the heap and
    creates an extra map entry.  Since current architectures ignore
    VM_PROT_EXECUTE anyway, and since not having VM_PROT_EXECUTE on data/bss
    may provide protection in the future, obreak now uses read+write rather
    then all (r+w+x).

    This is an optimization, not a bug fix.

Submitted by:	Alan Cox <alc@cs.rice.edu>
1999-02-05 07:49:29 +00:00
Matt Jacob
92efa92441 minor tweaks 1999-02-05 07:48:26 +00:00
Matt Jacob
499d2a2a5c Extend unit numbers to a full 10 bits (split into sections
of the minor). Establish and use a control mode open. Control
mode opens may open the device without locking, but are prohibited
from all but some ioctls. MTIOCGET always works. MTIOCERRSTAT
works, but the clearing of latched error status is contingent
upon whether another application has the device open, in which
case an interruptible perip acquire is done. MTSETBSIZ, MTSETDNSTY
and MTCOMP also require a periph aquire.

Relative fileno and blkno are tracked. Note that just about any
error will make these undefined, and if you space to EOD or use
hardware block positioning, these are also lost until the next
UNLOAD or REWIND.

Driver state is also tracked and recorded in the unit softc
to be passed back in mt_dsreg for a MTIOCGET call.
Thanks to Dan Strick for suggesting this.

Reintroduce 2 filemarks at EOD for all but QIC devices. I
really think it's wrong, but there is a lot of 3rd party
software that depends upon this (not the least of which is
tcopy). Introduce a SA_QUIRK_1FM to ensure that some devices
can be marked as only being able to do 1 FM at EOD.

At samount time force a load to BOT if we aren't mounted. If the
LOAD command fails, use the REWIND command (e.g., for the IBM 3590
which for some gawdawful reason doesn't support the LOAD (to BOT)
command).

Also at samount time, if you don't know fixed or variable, try to
*set* to one of the known fixed (or variable, for special case)
density codes. We only have to do this once per boot, so it's not
that painful. This is another way to try and figure out the wierd
QIC devices without having to quirk everything in the universe.

A substantial amount of cleanup as to what operations can and what
operations cannot be retried. Don't retry space operations if they
fail- it'll just lead to lossage.

Not yet done is invalidating mounts correctly after errors. ENOTIME.
1999-02-05 07:32:52 +00:00
Matt Jacob
d032c79f31 add QIC 525,320,1320,3080 codes 1999-02-05 07:19:23 +00:00
John Polstra
b7429e253a Correct a format mismatch on 64-bit architectures. This should
fix the erroneous values in the procfs "map" file on the Alpha.
1999-02-05 06:18:54 +00:00
Greg Lehey
3f8d2678bc Remove some dead debug code
build_write_request: get the check for failure right
1999-02-05 05:09:22 +00:00
Mark Newton
3b351cc1d3 Additional note on last rev: The rationale for this is to allow you
to run Solaris executables (or executables from any other ELF system)
directly off the CD-ROM without having to waste megabytes of disk
by copying them to another filesystem just to brand them.
1999-02-05 03:47:47 +00:00
Mark Newton
f8b3601e08 Created sysctl kern.fallback_elf_brand. Defaults to "none", which will
give the same behaviour produced before today.  If sysadmin sets it
to a valid ELF brand, ELF image activator will attempt to run unbranded
ELF exectutables as if they were branded with that value.

Suggested by: Dima Ruban <dima@best.net>
1999-02-05 03:43:18 +00:00
Matt Jacob
46bc42dcf8 Add driver states that will be reported (for SCSI) in mt_dsreg. 1999-02-05 02:47:30 +00:00
Matt Jacob
4338f206fa Print relative (mt_fileno, mt_blkno) position, if known.
Print driver state if not NIL.
1999-02-05 02:46:21 +00:00
Matt Jacob
49f8654780 finally document new commands 1999-02-05 02:45:08 +00:00
Bill Fenner
d17bf266c4 Remove the FTP_PASSIVE_MODE "fix"; libftpio handles this. 1999-02-05 01:01:17 +00:00
Archie Cobbs
d37fcb98e3 Print usage via fprintf(stderr, ..) instead of errx() to avoid progname prefix.
Submitted by:	Philippe Charnier <charnier@xp11.frmug.org>
1999-02-05 00:42:14 +00:00
Greg Lehey
820165ecfd More nit-picking in the debugging instructions.
Get the rc.conf description right.
1999-02-05 00:34:21 +00:00
Matthew Dillon
e198079da2 Fix race in pipe read code whereby a blocked lock can allow another
process to sneak in and write to or close the pipe.  The read code
    enters a 'piperd' state after doing the lock operation without
    checking to see if the state changed, which can cause the process
    to wait forever.

    The code has also been documented more.
1999-02-04 23:50:49 +00:00
Adam David
38ebe5624f replace previous stupid comment with one more appropriate
where it will be easily found
1999-02-04 22:34:23 +00:00
Mark Newton
d9300dd82b Can't use elf_brand_inuse() here because iBCS2 doesn't use ELF. D'oh!
Inlined the same logic elf_brand_inuse() utilizes instead.
1999-02-04 21:21:38 +00:00
Mark Newton
d27583423e Added call to elf_brand_inuse() to prevent you from cutting your own
legs out from under you.
1999-02-04 21:20:13 +00:00
Matt Jacob
c5145ee62d add back ctl for sa and add more units 1999-02-04 20:35:07 +00:00
Matthew Dillon
82b23b5384 vp->v_object must be valid after normal flow of vfs_object_create()
completes, change if() to KASSERT().  This is not a bug, we are
    simplify clarifying and optimizing the code.

    In if/else in vfs_object_create(), the failure of both conditionals
    will lead to a NULL object.  Exit gracefully if this case occurs.
    ( this case does not normally occur, but needed to be handled ).

Obtained from: Eivind Eklund <eivind@FreeBSD.org>
1999-02-04 18:25:39 +00:00
Adam David
431552d221 remind that apm is required in order for timekeeping to work 1999-02-04 18:08:55 +00:00
Matthew Dillon
588059bea0 Fix bug in a KASSERT I introduced in vm_page_qcollapse() rev 1.139.
Since paging is in progress, page scan in vm_page_qcollapse() must be
    protected at atleast splbio() to prevent pages from being ripped out from
    under the scan.
1999-02-04 17:47:52 +00:00
Daniel C. Sobral
98c5378cdc Make FICL_TRACE default.
Add freebsd.fr, for FreeBSD specific forth source. Add $ and %, to
replace the lost @ and - functionality of include. $ has the opposite
behavior of @ though, since the default behavior was inverted.
1999-02-04 17:13:49 +00:00
Daniel C. Sobral
47749087ac Make use of prototypes to silence warnings.
Change include() so it will be able to load files with forth code,
instead of just builtins. Remove #@- from the include section of the
help file, since they don't work in the new version of include, unless
BOOT_FORTH is not defined.

Change bf_run() so it will return the result returned by ficlExec(). Also,
make bf_run() push "interpret" to be executed by ficlExec(), since ficlExec()
doesn't do it by itself. (Things worked previously because nothing
recursed through ficlExec() by the way of bf_run()).

Change/extend comments on builtin behavior.

Search for "interpret" at the end of bf_init(), so /boot/boot.4th can
provide it's own version.

Remove dead code.
1999-02-04 17:06:46 +00:00
Daniel C. Sobral
099d325dd5 Make ficlExec recursive. This removes vmReset and vmQuit from the
error cases, but the replacement should be doing everything they
did, except what did shouldn't be doing, and might do a little more
they ought to be doing.
1999-02-04 16:53:47 +00:00
KATO Takenori
921bc385e8 Recognize Pentium II Xeon, Celeron and Pentium III cpus. Because CPU
names are printed on their packages and shown by BIOS, kernel does not
need to show details.

PR:		8751, 9320 and 9463
1999-02-04 16:48:26 +00:00
Bruce Evans
89955e6330 YAMFsio.c (1.227-1.228: set up input buffering dynamically). 1999-02-04 15:54:02 +00:00
Bruce Evans
d95f2350b0 M_TTYS -> M_DEVBUF. M_TTYS is documented to be for "tty data
structures" but since tty structs aren't malloced it is actually
mainly for tty-level (clist) buffers.  It was slightly misused
here for com structs, and the previous commit completely misused
it for device buffers.

Fixed some bugs in nearby pccard code:
- memory leak when pccards go away (broken in previous commit).
- bogus bzeroing of the com struct before freeing it.
- style bugs.
1999-02-04 15:24:29 +00:00
KATO Takenori
1e476c296d Sync with sys/i386/i386/userconfig.c revision 1.129. 1999-02-04 13:58:44 +00:00
Jordan K. Hubbard
b236caa286 Add a lot of additional keymaps to the appropriate menu.
Submitted by:	Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1999-02-04 13:47:54 +00:00
Bruce Evans
b36c719659 Set up interrupt-level input buffering dynamically depending on
the input speed, so that it can work at speeds larger than 115200
bps without being flow controlled.  The buffer is twice as large
as before at 115200 bps and half as large as before at low speeds
Use a single interrupt-level buffer instead of ping-pong buffers
because the simplifications provided by ping-pong buffers became
complications.

This change is over-engineered.  Statically configured buffering
was simpler and faster, and increasing the buffer size to support
1.5Mbps would cost about 1 US cent's worth of RAM per port, but I
was interested in the buffer switching mechanism.
1999-02-04 13:45:14 +00:00
Daniel C. Sobral
15369f7e9f Fix ficlExecFD to take kern/9412 changes into account. Also modify it
not to vmThrow errors. This is not what the comments say it does, and
it doesn't work when there is no ficlExec environment (like it's only
use in sys/boot/common/interp_forth.c).

PR:		bin/9772
1999-02-04 13:28:56 +00:00
Daniel C. Sobral
e08e812d7a The trace facility was full of bugs. Correct that by using the
right variable.

PR:		bin/9756
1999-02-04 13:20:30 +00:00
Daniel C. Sobral
b7efae4386 Silence a warning.
PR:		bin/9754
1999-02-04 13:16:21 +00:00
Daniel C. Sobral
7505875a0a The previous fix for "type" was absolutely lousy. Not only the buffer
allocated was not big enough, but it ended up to being used where it
was supposed to be used. The person who did that ought to be shot, but
since I'm a good person, I'll forgive myself...

PR:		bin/9743
1999-02-04 13:06:47 +00:00
Daniel C. Sobral
aa8b85772f Add conditional compilation facilities to ficl. This had been previously
committed to RELENG_3 instead of HEAD, so let's HEAD catch up.

PR:		bin/9662
1999-02-04 12:57:56 +00:00
Mark Newton
0f1110bb5f svr4 emulator will refuse to unload itself if it is currently in use. 1999-02-04 12:43:17 +00:00
Mark Newton
096977fae7 Provide elf_brand_inuse() as a method an emulator can use to find out
whether it is currently in use (which is kinda useful when it's about
to unload itself:  Lockups are never very much fun, are they?).
1999-02-04 12:42:39 +00:00
Mark Murray
0ac892d8be Add the perl man pages to the "whatis" building list.
RELENG_3 candidate.
1999-02-04 11:54:30 +00:00
Mark Murray
dc62ad2891 Add perl5 userland (actually localland) to MANPATH list. 1999-02-04 11:43:10 +00:00
Kazutaka YOKOTA
3720fe69b6 - Added atkbdc and atkbd to the device info array so that they don't
appear as "unknown device" in the visual UserConfig.
- Mark psm as FLG_FIXED.
1999-02-04 10:36:57 +00:00
Mark Murray
b0371ff3ee Fix the handling of certain devices.
Previously the foolowing lines would have broken:
controller      fdc0 at isa? disable port ? bio
controller      fdc0 at isa? disable port 0x100 bio

While this would work:
controller      fdc0 at isa? disable port "IO_FD1" bio

The first of the three lines is useful for making placeholder devices
for PCMCIA-floppies, and the second is useful for non-standard hardware.
The failure is a "(null)" string in ioconf.c that the compiler pukes on.

Thanks to:	Bruce Evans (bde@freebsd.org)
1999-02-04 10:24:45 +00:00
Mark Murray
ba529ee910 Add bits useful to getting laptops going (my Libretto in particular)
Add ActionTec v.90 modem and Libretto Floppy to pccard database;
Autoload pcic device.
1999-02-04 10:06:44 +00:00
KATO Takenori
270b84ae95 Sync with sys/i386/i386/machdep.c revision 1.324. 1999-02-04 09:55:42 +00:00
Bruce Evans
b8be6ed0c2 Added a used include. This file doesn't get tested by LINT because
it is null when trix is configured.

Submitted by:	Brian Feldman <green@unixhelp.org> but moved by me
1999-02-04 08:52:46 +00:00
Joseph Koshy
4571317a76 Typo fix. Remove reference to non-existent edit(1).
Pointed out by:	Sue Blake <sue@welearn.com.au>
1999-02-04 07:13:49 +00:00
Greg Lehey
54ba8e3795 Change description of dump analysis and crash to reflect the two
.gdbinit files.
1999-02-04 05:01:14 +00:00
Greg Lehey
308dad4df3 Split .gdbinit file into two versions, on suitable for remote
debugging, the other for dump analysis.
1999-02-04 04:59:52 +00:00
Peter Wemm
010b438291 Restore rev 1.2 and 1.3 after they got spammed and backed out in rev 1.7
and 1.8 as those features are used by the ports tree.

(RELENG_3 candidate)
1999-02-04 03:57:15 +00:00
Peter Wemm
26637b3ca2 Restore rev 1.2 after it got spammed in rev 1.3 and 1.4. 1999-02-04 03:54:51 +00:00