Commit Graph

32454 Commits

Author SHA1 Message Date
Dag-Erling Smørgrav
dea625c872 Make execl() vfork()-safe. This should fix potential bugs in rcp,
telnet and tip, and probably a few other apps.

Reviewed by:	bde
Approved by:	jkh
1998-10-14 18:53:36 +00:00
Jordan K. Hubbard
27f612d03f Revert 1.33; lstat() is indeed the wrong thing to do here. I'll
revisit this after release.
1998-10-14 18:52:04 +00:00
Matt Jacob
9eefce67dc Andrew Gallatin reported some internal queue overflows with MAXISPREQUEST
at 256. So- to be safe, let's roll back to 64 while we do some more
investigating.
1998-10-14 16:55:00 +00:00
John Polstra
1c35b08ea6 Check the executable's header to make sure it is a valid executable.
If it is ELF, print a diagnostic saying that it is not supported yet
by this program.  This is a stop-gap anti-bug-report measure because
it looks like there won't be time to implement gcore's ELF support
before 3.0 is released.
1998-10-14 16:16:50 +00:00
Dmitrij Tejblum
f74d75a2b6 Backed out rev. 1.164. It caused problems on SMP.
PR:		8309
1998-10-14 15:05:52 +00:00
Peter Wemm
eb49863f1b Link fdboot to boot1 as well. 1998-10-14 13:19:52 +00:00
Jordan K. Hubbard
c2245054e1 Use properties code. 1998-10-14 11:23:48 +00:00
Jordan K. Hubbard
eed80d041b correct prototype. 1998-10-14 11:04:36 +00:00
Jordan K. Hubbard
83e16716c6 Use more rational inode sizes. 1998-10-14 10:58:12 +00:00
Bruce Evans
900d63bade Fixed 7 style bugs. The contents of such a simple Makefile is entirely
determined by style rules, the program name and the existence of the man
page.
1998-10-14 10:21:10 +00:00
Peter Wemm
9fd9f49c01 Fix a warning I missed before. 1998-10-14 10:08:35 +00:00
Peter Wemm
68d2bdcbb0 Typo fix. 1998-10-14 10:04:32 +00:00
Peter Wemm
da6c15d597 Initial attempt to update the Alpha loader and kernel to use the machine
independent elf loader and have access to kld modules.  Jordan and I were
not sure how to create boot floppies, and the things we tried just made
SRM laugh in our faces - but it was upset at boot1 which was not touched
by these changes.  Essentially this has been untested. :-(

What this does is to steal the last three slots from the nine spare longs
in the bootinfo_v1 struct to pass the module base pointer through.

The startup code now to set up and fills in the module and environment
structures, hopefully close enough to the i386 layout to be able to use
the same kernel code.  We now pass though the updated end of the kernel
space used, rather than _end. (like the i386).

If this does not work, it needs to be beaten into shape pronto.  Otherwise
it should be backed out before 3.0.

Pre-approved in principle by: dfr
1998-10-14 09:53:25 +00:00
Jordan K. Hubbard
b6c503bdec rough 1st attempt at cleaning this up. Those feeling brave/knowledgable about
upgrade issues should also check the section created for this.
1998-10-14 08:54:03 +00:00
Peter Wemm
4650c37fce Revert part of previous commit. vaddr_t doesn't exist on FreeBSD. This
didn't affect the x86 kernel due to #ifdefs.  It broke FreeBSD/Alpha
kernel compiles though.
1998-10-14 08:31:27 +00:00
Peter Wemm
eb9022e791 Try and get the sys/* and machine/* includes via relative paths. This
saves having to do a 'make includes' after touching any header file for
the boot code.
1998-10-14 07:08:16 +00:00
Kenneth D. Merry
01a4eb824c Add man pages for many of the functions in the CAM library. This covers
most of the open/close routines, and the buffer/cdb parsing routines
derived from the old scsi(3) library.

The cam_cdbparse(3) man page borrows from the old scsi(3) man page, so the
copyright and history section reflect that.

The many scsi_* functions and other functions that are pulled in from the
kernel aren't documented yet, but will be eventually.
1998-10-14 06:20:36 +00:00
Peter Wemm
2a26e9ea83 Align to sizeof(long) rather than sizeof(int32_t). It needs to be
long because this code is shared with the alpha.  I hope the alpha can
read 32 bit ints at 32 bit alignment (vs. 64 bit alignment).
1998-10-14 05:07:23 +00:00
Peter Wemm
fdbdd3a05f Support encapsulating ELF linker sets for KLD modules via gensetdefs.
Support name based dependencies at build time.  This is a hack.
These only affect KLD modules.
1998-10-14 04:04:22 +00:00
Peter Wemm
bde6c54e06 +gensetdefs 1998-10-14 03:41:25 +00:00
Peter Wemm
dbd049cf6c gensetdefs is a standalone version of the tool that we use to wrap a
struct linker_set around the contents of ELF linker sets.  This tool
also generates setdef0.c and setdef1.c for the alpha and i386 rather than
having these duplicated all over the tree too.

This is required for building KLD modules.
1998-10-14 03:41:01 +00:00
Mike Smith
3f3c9904bd Add a description of the "panic: cannot mount root" post-install problem, and
some ways to work around it.
1998-10-14 02:44:10 +00:00
Jordan K. Hubbard
a5e819ec00 Fix more bogons revealed by building alpha boot floppies. 1998-10-14 02:13:45 +00:00
Robert Nordier
ee2e4f9b32 Fix btx include path. 1998-10-14 01:53:56 +00:00
Jordan K. Hubbard
f73e2ce42e Don't generate a spam-friendly /etc/hosts by default.
Suggested by:	jmb
1998-10-14 01:04:44 +00:00
Jordan K. Hubbard
39048e2d62 DB_ELF_SYMBOLS doesn't appear to do anything yet, or if it does it's
not been added to the appropriate options file.  Comment it out to
prevent config(8) warnings.
1998-10-14 00:42:02 +00:00
Peter Wemm
adf45b4bb5 Tweak the output one more time again. The kernel or module pathname
is useful, and usually fits all on one line with the load sizes.
1998-10-14 00:41:17 +00:00
Robert Nordier
59ea046e5d Include <bsd.prog.mk>. Add install target (to /boot for now). 1998-10-14 00:24:16 +00:00
Robert Nordier
757ee5cca9 Fix flow of control after directory listing; enable EDD support;
cosmetics.
1998-10-13 23:43:38 +00:00
Kenneth D. Merry
718cd18c53 Disable cache syncs for a broken NEC drive.
Reviewed by:	gibbs
Submitted by:	Blaz Zupan <blaz@gold.amis.net>
1998-10-13 23:34:54 +00:00
Robert Nordier
b2848194f5 Make v86.ctl default more explicit; simplify read error-handling;
twiddle.
1998-10-13 23:00:47 +00:00
Dag-Erling Smørgrav
55c8f48a78 The adjtime man page is in section 2, not 8.
PR:		docs/8310
Submitted by:	Amakawa Shuhei <amakawa@nebula.sf.t.u-tokyo.ac.jp>
1998-10-13 22:55:29 +00:00
Robert Nordier
c71b9b3c24 Adjust NDEV value.
Optimize reading of system time.
1998-10-13 22:17:05 +00:00
Kenneth D. Merry
8e3278cbd6 When we send a stop unit command to a device, send it as an ordered tag so
that any transactions in front of the stop command get flushed to disk
first.  This will have no effect on devices that have tagged queueing
turned off, or don't support tagged queueing.

Reviewed by:	gibbs
1998-10-13 22:02:38 +00:00
Kenneth D. Merry
60a899a075 Fix a bug in the error recovery code. It was possible to have more than
one error recovery action oustanding for a given peripheral.

This is bad for several reasons.  The first problem is that the error
recovery actions would likely be to fix the same problem.  (e.g., we
queue 5 CCBs to a disk, and the first one comes back with 0x04,0x02.  We
start error recovery, and the second one comes back with the same status.
Then the third one comes back, and so on.  Each one causes the drive to get
nailed with a start unit, when we really only need one.)

The other problem is that we only have space to store one CCB while we're
doing error recovery.  The subsequent error recovery actions that got
started were over-writing the CCBs from previous error recovery actions,
but we still tried to call the done routine N times for N error recovery
actions.  Each call to dadone() was done with the same CCB, though.  So on
the second one, we got a "biodone: buffer not busy" panic, since the buffer
in question had already been through biodone().

In any case, this fixes things so that any any given time, there's only one
error recovery action outstanding for any given peripheral driver.

Reviewed by:	gibbs
Reported by:	Philippe Regnauld <regnauld@deepo.prosa.dk>
[ Philippe wins the "bug finder of the week" award ]
1998-10-13 21:41:32 +00:00
Jordan K. Hubbard
89041bafbd Sync up with some needed x86 options. 1998-10-13 21:38:46 +00:00
Jordan K. Hubbard
c297a593b2 whoops, correct patch-o in last commit. 1998-10-13 21:37:30 +00:00
Jordan K. Hubbard
acae8e816d More alpha patches. 1998-10-13 21:36:13 +00:00
Robert Nordier
fd4afc6487 Change to a 15-sector boot2.
Refine slice-handling.
1998-10-13 21:35:42 +00:00
Kenneth D. Merry
fce84cb42b Fix a bug in the scan lun code that showed up when we did the following
sequence of things:

- spin up a disk
  - send an async event to refresh the inquiry data
    - run through xpt_scan_lun() to re-probe the device
        - eventually finish the probe, but panic in xpt_done() because the
          periph pointer wasn't set.

Reviewed by:	gibbs
Reported by:	Philippe Regnauld <regnauld@deepo.prosa.dk>
1998-10-13 21:29:04 +00:00
Jordan K. Hubbard
be68ea4836 Properly conditionalize more stuff for the ALPHA. 1998-10-13 21:09:42 +00:00
Jordan K. Hubbard
cb488ea5e9 Updates for Alpha. 1998-10-13 21:03:56 +00:00
Dag-Erling Smørgrav
e6fa0d4308 Set the user context correctly so that cd ~ does the right thing.
PR:		bin/7943 bin/8293
Submitted by:	Bill Fenner <fenner@parc.xerox.com>
Approved by:	jkh
1998-10-13 20:42:01 +00:00
Andrey A. Chernov
f95cbe2cb5 Make Australian time GB-like
PR: 8302
Submitted by: Stephen McKay <syssgm@dtir.qld.gov.au>
1998-10-13 20:20:27 +00:00
Robert Nordier
8f65b6a695 Don't use an absolute path to objcopy.
Noticed by: Scott Mace <smace@intt.org>
1998-10-13 18:29:18 +00:00
Robert Nordier
0ad50c1c9d Improve drive recognition and handling. 1998-10-13 17:41:06 +00:00
Bruce Evans
47acf5563c Updated library order and comments about it. This fixes libm not
being built before libf2c and libmd not being built before libatm.
1998-10-13 16:48:43 +00:00
Kenneth D. Merry
2e2b088cc2 Fix a bug in camcontrol that caused 'camcontrol start' to not work.
Noticed by:	Philippe Regnauld <regnauld@deepo.prosa.dk>
1998-10-13 16:23:26 +00:00
Bruce Evans
d2165c2f7d Fixed bloatage of `struct inode'. We used 5 "spare" fields for ext2fs,
but when i_effnlink was added to support soft updates, there was only
room for 4 spares.  The number of spares was not reduced, so the inode
size became 260 (on i386's), or 512 after rounding up by malloc().
Use one spare field in `struct dinode' instead of the 5th spare field
in the inode and reduced to 4 spares in the inode so that the size is
256 again.

Changed the types of the spares in the inode from int to u_int32_t
so that the inode size has more chance of being <= 256 under other
arches, and downdated ext2fs to match (it was broken to use ints
before rev.1.1).
1998-10-13 15:45:43 +00:00
Dag-Erling Smørgrav
202bab3944 One vfork() changed to fork(); one execl() changed to execv(). The
latter isn't actually called as far as I can see since FreeBSD uses
termcap and not terminfo.
1998-10-13 15:14:37 +00:00