Commit Graph

32599 Commits

Author SHA1 Message Date
peter
4523e75227 Typo fix. 1998-10-14 10:04:32 +00:00
peter
a6df719969 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
7bbde981a3 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
5b60e1fc6a 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
5e3acbf57e 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
995f109820 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
0966fead52 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
2a0b7f6488 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
828f45c65b +gensetdefs 1998-10-14 03:41:25 +00:00
peter
c98bc4ace2 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
46086e142c 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
1aad313f80 Fix more bogons revealed by building alpha boot floppies. 1998-10-14 02:13:45 +00:00
rnordier
f844028be7 Fix btx include path. 1998-10-14 01:53:56 +00:00
jkh
785a2081ad Don't generate a spam-friendly /etc/hosts by default.
Suggested by:	jmb
1998-10-14 01:04:44 +00:00
jkh
b9d923f32c 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
b059e72205 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
e4f3dfea8d Include <bsd.prog.mk>. Add install target (to /boot for now). 1998-10-14 00:24:16 +00:00
rnordier
828b808519 Fix flow of control after directory listing; enable EDD support;
cosmetics.
1998-10-13 23:43:38 +00:00
ken
c27186df49 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
0cb607c6dc Make v86.ctl default more explicit; simplify read error-handling;
twiddle.
1998-10-13 23:00:47 +00:00
des
7d23d25095 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
a168d3cb17 Adjust NDEV value.
Optimize reading of system time.
1998-10-13 22:17:05 +00:00
ken
c81149bfaf 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
3edc6b1249 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
4c78bf40b0 Sync up with some needed x86 options. 1998-10-13 21:38:46 +00:00
jkh
5bab94f41a whoops, correct patch-o in last commit. 1998-10-13 21:37:30 +00:00
jkh
610946affc More alpha patches. 1998-10-13 21:36:13 +00:00
rnordier
4c49cf4675 Change to a 15-sector boot2.
Refine slice-handling.
1998-10-13 21:35:42 +00:00
ken
cdb18fc927 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
41bc0045ac Properly conditionalize more stuff for the ALPHA. 1998-10-13 21:09:42 +00:00
jkh
f1d0c96ef8 Updates for Alpha. 1998-10-13 21:03:56 +00:00
des
e1957bff39 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
9a83e473e2 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
05e05b3c64 Don't use an absolute path to objcopy.
Noticed by: Scott Mace <smace@intt.org>
1998-10-13 18:29:18 +00:00
rnordier
38a0335208 Improve drive recognition and handling. 1998-10-13 17:41:06 +00:00
bde
76eb0b95fa 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
f0d7c5e4dc 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
8ccf93af58 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
43cb8a7cb9 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
efc55abc02 Missed one in the previous commit. 1998-10-13 15:05:00 +00:00
des
3ca80efd3a 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
528a0157d4 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
72bb4a07e1 fix brainos in earlier commit. 1998-10-13 10:07:43 +00:00
rnordier
54b4310518 Include btxld in build-tools only for i386. 1998-10-13 10:01:32 +00:00
jkh
a34efb5727 properly conditionalize for alpha. 1998-10-13 09:49:16 +00:00
jkh
6ea02b3494 correct typo. 1998-10-13 09:46:40 +00:00
jkh
1f01db2f6d switch to proper boot0 1998-10-13 09:45:59 +00:00
kato
a0bd27d4cf 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
49bb740f0c Sync with sys/i386/i386/userconfig.c revision 1.112. 1998-10-13 09:43:09 +00:00
peter
a368279cfc Load the full symbol tables if they are present. This means that ddb
and tracebacks have access to local symbols.  This is particularly
important for the Alpha.
1998-10-13 09:27:00 +00:00