Commit Graph

32700 Commits

Author SHA1 Message Date
peter
bd24a20162 Fix a warning I missed before. 1998-10-14 10:08:35 +00:00
peter
af766439f4 Typo fix. 1998-10-14 10:04:32 +00:00
peter
302851db1d 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
jkh
f1861132c9 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
f7fbc5b104 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
738e5142bd 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
ken
9ca5d88dce 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
238bf55417 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
b38c069535 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
4cd5b5fc2e +gensetdefs 1998-10-14 03:41:25 +00:00
peter
cdfd7e61bf 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
msmith
3bfad9e32f 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
jkh
2ea03844f1 Fix more bogons revealed by building alpha boot floppies. 1998-10-14 02:13:45 +00:00
rnordier
7f44dda9be Fix btx include path. 1998-10-14 01:53:56 +00:00
jkh
f04e1fbed0 Don't generate a spam-friendly /etc/hosts by default.
Suggested by:	jmb
1998-10-14 01:04:44 +00:00
jkh
8a83ccbce2 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
aa2191a462 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
rnordier
7f4e6ac6e2 Include <bsd.prog.mk>. Add install target (to /boot for now). 1998-10-14 00:24:16 +00:00
rnordier
498ce44ebb Fix flow of control after directory listing; enable EDD support;
cosmetics.
1998-10-13 23:43:38 +00:00
ken
455b771321 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
rnordier
5391a999ed Make v86.ctl default more explicit; simplify read error-handling;
twiddle.
1998-10-13 23:00:47 +00:00
des
44dd1d06d4 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
rnordier
f8fe782b37 Adjust NDEV value.
Optimize reading of system time.
1998-10-13 22:17:05 +00:00
ken
95e63a73ce 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
ken
714a444998 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
jkh
739f370dd4 Sync up with some needed x86 options. 1998-10-13 21:38:46 +00:00
jkh
7367218e31 whoops, correct patch-o in last commit. 1998-10-13 21:37:30 +00:00
jkh
9b999ab3b2 More alpha patches. 1998-10-13 21:36:13 +00:00
rnordier
b04dd89a67 Change to a 15-sector boot2.
Refine slice-handling.
1998-10-13 21:35:42 +00:00
ken
b5d462be64 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
jkh
55ccb03100 Properly conditionalize more stuff for the ALPHA. 1998-10-13 21:09:42 +00:00
jkh
e7d1e94519 Updates for Alpha. 1998-10-13 21:03:56 +00:00
des
3ff517c5c8 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
ache
7bb1244d0f Make Australian time GB-like
PR: 8302
Submitted by: Stephen McKay <syssgm@dtir.qld.gov.au>
1998-10-13 20:20:27 +00:00
rnordier
da8b497a9a Don't use an absolute path to objcopy.
Noticed by: Scott Mace <smace@intt.org>
1998-10-13 18:29:18 +00:00
rnordier
a564eaccd8 Improve drive recognition and handling. 1998-10-13 17:41:06 +00:00
bde
6489b7e927 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
ken
2f8ad52c37 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
bde
84b9d4f694 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
des
71ec81376c 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
des
acf7504325 Missed one in the previous commit. 1998-10-13 15:05:00 +00:00
des
d55d163bcc Calls one or more of malloc(), warn(), err(), syslog(), execlp() or
execvp() in the child branch of a vfork(). Changed to use fork()
instead.

Some of these (mv, find, apply, xargs) might benefit greatly from
being rewritten to use vfork() properly.

PR:		Loosely related to bin/8252
Approved by:	jkh and bde
1998-10-13 14:52:33 +00:00
des
b96c86d018 Doh. What was I smoking when I wrote this?
PR:		bin/8301
Submitted by:	Tetsuya Furukawa <tetsuya@secom-sis.co.jp>
1998-10-13 12:19:31 +00:00
jkh
b2d762a967 fix brainos in earlier commit. 1998-10-13 10:07:43 +00:00
rnordier
9f64b89556 Include btxld in build-tools only for i386. 1998-10-13 10:01:32 +00:00
jkh
088bb48d59 properly conditionalize for alpha. 1998-10-13 09:49:16 +00:00
jkh
61cc82ee75 correct typo. 1998-10-13 09:46:40 +00:00
jkh
f4b0ba0cab switch to proper boot0 1998-10-13 09:45:59 +00:00
kato
6df6b29b85 Sync with sys/i386/isa/isa.c and wd.c revisions 1.115 and 1.177,
respectively.
1998-10-13 09:44:09 +00:00
kato
d127589f63 Sync with sys/i386/i386/userconfig.c revision 1.112. 1998-10-13 09:43:09 +00:00