Commit Graph

12435 Commits

Author SHA1 Message Date
David Greenman
300ee8246e Nuked PG_TABLED flag. Replaced with m->object != NULL. 1998-10-21 14:46:42 +00:00
David Greenman
12d534d2f9 Add a diagnostic printf for freeing a wired page. This will eventually
be turned into a panic, but I want to make sure that all cases of freeing
pages with wire_count==1 (which is/was allowed) have first been fixed.
1998-10-21 11:43:04 +00:00
David Greenman
9b827155f8 Decrement the now unused page table page's wire_count prior to freeing it.
It will soon be required that pages have a zero wire_count when being
freed.
1998-10-21 11:38:14 +00:00
Greg Lehey
721fbc5ae0 config.c:
config_drive:
    Catch an instance of anonymous drives.  Doubtless many remain.

interrupt.c:
  complete_rqe:
    Call logrq to log iodone events if DEBUG_LASTREQS is set.

    Call set_sd_state with setstate_noupdate to avoid buffered I/O out
    of interrupt context.

    Use define DEBUG_RESID instead of constant.

memory.c:
  Remove dead expandrq() function

  Malloc:
    Remove directory component of file names in malloc table.

  Add function vinum_rqinfo (part of the request tracing stuff).

request.c:
  Add function logrq (part of the request tracing stuff).

  vinumstrategy:
    Check whether config needs to be written to disk, do it if so.
    This is a stopgap until the Vinum daemon (bacchusd?  oenologistd?)
    is written.

    If DEBUG_LASTREQS is set, call logrq to log user buffer headers.

  launch_requests:
    Correct format of debug output to console.

    If DEBUG_LASTREQS is set, call logrq to log request elements.

request.h:
  Add definitions for request trace.

state.c:
  set_sd_state:
    Check flags for setstate_noupdate.  If set, don't write the config
    to disk, just set global VF_DIRTYCONFIG flag.  This is part of the
    kludge to avoid writing config from an interrupt context.

vinumext.h:
    Add declaration for vinum_rqinfo, put inside #ifdef DEBUG
    Remove dead macro expandrq

vinumio.h:
  Increase maximum ioctl reply length to 4 kB if DEBUG is set.
  Define VINUM_RQINFO ioctl if DEBUG is set.

vinumioctl.c:
  vinumioctl:
    Change implementation of VINUM_DEBUG ioctl: use a debug flag
    (DEBUG_REMOTEGDB) to decide whether to go into remote debugging or
    not.

    Implement VINUM_RQINFO.

vinumkw.h:
  Define kw_info even when not debugging.

vinumvar.h:
  Define VF_DIRTYCONFIG
  Add pointers to request info to vinum_info if DEBUG is set.
  Define setstate_noupdate
  Define additional debug bits DEBUG_RESID, DEBUG_LASTREQS and
  DEBUG_REMOTEGDB.
1998-10-21 08:32:32 +00:00
Robert Nordier
1a8efde980 Make serial port, data format, and bps configurable. 1998-10-20 20:20:48 +00:00
Mike Smith
c98405d7d1 Hex constants should only have one '0x' prefix. 1998-10-20 02:43:28 +00:00
Bill Paul
1c403cb2b6 Modify the transmit packet queuing strategy a bit to be a little less
agressive. With the old code, if a descriptor chain was already on its
way to the chip, xl_start() would try to splice new chains onto the end
of the current chain by stopping the transmitter, modifying the tail
pointer of the current chain to point to the head of the new chain, then
restart the transmitter. The manual says you're allowed to do this and
it works, but I'm not too keen on it anymore.

The new code waits until the eixsting chain has been sent and then
queues the next waiting chain in the 'transmit ok' handler.

Performance still looks good one way or the other.
1998-10-19 22:08:56 +00:00
Robert Nordier
4e108bf052 Make configurable (a) whether to use int 0x13 extensions; (b) timeout
value.  Ignore failure to update mbr sector.  Disable interrupts while
using extended registers.  Default to F1 not F2.
1998-10-19 19:13:53 +00:00
Doug Rabson
ed7aeb1bb6 Reclaim the 48k used by the first bootstrap stage by adding it to the malloc
pool.
1998-10-19 09:12:41 +00:00
Doug Rabson
bcaa5f75b7 Rename boot2 to loader. 1998-10-18 19:05:07 +00:00
Doug Rabson
0c942a8eef R_ALPHA_RELATIVE relocations need to add the value to the existing memory
contents.
1998-10-18 19:04:13 +00:00
Bill Paul
589e38a609 Add driver support for PCI fast ethernet adapters based on the
RealTek 8129/8139 chipset like I've been threatening. Update kernel
configs, userconfig.c, relnotes and sysinstall. No man page yet;
comming soon.

I consider this driver stable enough that I want to give it some
exposure in -current.
1998-10-18 16:24:34 +00:00
KATO Takenori
abd5db200f Commented out aic. 1998-10-18 15:55:20 +00:00
Peter Wemm
52c24af701 Some cleanups and optimizations:
- Use the system headers method for Elf32/Elf64 symbol compatability
- get rid of the UPRINTF debugging.
- check the ELF header for compatability much more completely
- optimize the section mapper.  Use the same direct VM interfaces that
  imgact_aout.c and kern_exec.c use.
- Check the return codes from the vm_* functions better.  Some return
  KERN_* results, not an errno.
- prefault the page tables to reduce startup faults on page tables like
  a.out does.
- reset the segment protection to zero for each loop, otherwise each
  segment could get progressively more privs. (eg: if the first was
  read/write/execute, and the second was meant to be read/execute, the
  bug would make the second r/w/x too.  In practice this was not a
  problem because executables are normally laid out with text first.)
- Don't impose arbitary limits.  Use the limits on headers imposed by
  the need to fit them into one page.
- Remove unused switch() cases now that the verbose debugging is gone.

I've been using an earlier version of this for a month or so.
This sped up ELF exec speed a bit for me but I found it hard to get
consistant benchmarks when I tested it last (a few weeks ago).
I'm still bothered by the page read out of order caused by the
transition from data to bss. This which requires either part filling the
transition page or clearing the remainder.
1998-10-18 15:55:12 +00:00
Peter Wemm
034db87204 Add an ELF_MACHINE_OK() macro for compatability with the Alpha version. 1998-10-18 15:31:23 +00:00
KATO Takenori
c8e89e8bbd Update SMP-GENERIC98 to something a bit more recent based on GENERIC98. 1998-10-18 14:02:43 +00:00
KATO Takenori
a8a4a44273 Sync with sys/i386/conf/GENERIC revision 1.125. 1998-10-18 13:58:16 +00:00
Poul-Henning Kamp
baf8bbb7d3 Add a missing ++.
Noticed by:	gcc via phk
Submitted by:	Mike Spengler <mks@networkcs.com>
1998-10-18 11:58:57 +00:00
Poul-Henning Kamp
8015a6ef37 Added missing dependency for bus_if.o on bus_if.h 1998-10-18 10:57:55 +00:00
Peter Wemm
f62b74a04f Initialize earlier (ie: before npx) in case it makes any difference.
Print a message when it attaches to pmath_emulate if bootverbose so that
we can be sure it's online.
1998-10-18 07:44:33 +00:00
Peter Wemm
9131566cff Print a message if bootverbose that the emulator is present in the kernel.
Move the initialization before isa_configure() and npx, in case npx does
something to initialize the state of the emulator somehow.

I do not have any machines without a FPU so that I can test this with -
except an old 386sx motherboard in a box somewhere that might work...
1998-10-18 07:40:29 +00:00
Peter Wemm
a19bc2b0fb OOPS!
Supply the moduledata handle rather than the event dispatcher function.
This should explain the panic on boot problem that's been discussed in
-current at the moment.  Both machines had GNU_MATH_EMULATE.
1998-10-18 04:36:58 +00:00
Robert Nordier
f59f5db544 Set BINMODE to 444. 1998-10-17 14:20:25 +00:00
Robert Nordier
ae99ddc79e Fix some glitches in the input routine:
Don't display a \b if not acting on it.
Don't process binary zero chars (which result from pressing function
keys, etc. on the PC).
1998-10-17 11:25:05 +00:00
Robert Nordier
918ddbed16 Having probed the keyboard, turn off the -P flag. 1998-10-17 10:35:15 +00:00
Robert Nordier
93d51dcaf9 Treat all options as toggles (ie. -c -c is the same no -c). Since
the boot.config settings are persistent, this seems to provide a
useful override capability, and should break only on broken
boot.config's.

Output a cosmetic newline if booting with no input.
1998-10-17 09:50:09 +00:00
Bruce Evans
95242f5a02 Overload the correct errno for attempts to set an in-core label with
a raw partition at a nonzero offset (EINVAL should have been EXDEV;
DIOCSDINFO was broken, and DIOCWDINFO was broken because it depended
on DIOCSDINFO).

A zero offset for the raw partition should probably be enforced in
setdisklabel(), and DIOCWDINFO should probably always be handled by
first calling setdisklabel() so that writedisklabel() doesn't need to
enforce it, but this has never been done; dsioctl() has a special
check.  Changes in this commit are limited to dsioctl() to preserve
bug for bug compatibility in drivers that don't use the slice code
(notably the ccd driver, which allows setting a bogus label in
DIOCWDINFO and doesn't undo the setting when writedisklabel() fails).
1998-10-17 09:46:42 +00:00
Robert Nordier
3044a22097 biosboot compatibility fix:
If we have a boot.config command, display it.
1998-10-17 09:16:01 +00:00
Robert Nordier
7fa25d805a biosboot compatibility fix:
Read boot.help before parsing boot.config.  We were parsing
boot.config first, which could result in boot.help being read
from a different location (or not found), which would probably
just cause surprise, without being useful.
1998-10-17 09:01:13 +00:00
Bruce Evans
e36b4f594a Use only the correct raw partition for writing labels. Don't use the
partition that the label ioctl is being done on just because it has
offset 0, since there is no guarantee that such a partition is large
enough to contain the label.  Don't use the wrong raw partition (0
instead of RAW_PART).

This fixes problems rewriting bizarre labels (with a nonzero offset
for the 'a' partition) in newfs(8).  Such labels shouldn't normally
be used, but creating them was allowed if the ioctl was done on the
raw partition, and sysinstall creates them if the root partition isn't
allocated first.

Note that allowing write access to a partition other than the one that
has been checked for write access doesn't increase security holes
significantly, since write access to any partition already allows
changing the in-core label.

This fix should be in 3.0R.  Rev.1.26 of newfs/newfs.c shouldn't be
in 3.0R.
1998-10-17 07:49:04 +00:00
Peter Wemm
a6575097c6 Load the first page of the file and use the headers in it. This should
avoid the need to seek back to offset zero which is causing trouble on
the Alpha with a gzipped kernel.
1998-10-17 03:06:38 +00:00
Alexander Langer
04fb8e53fc Complete the description of sio flag 0x40.
Reviewed by:	bde
1998-10-16 22:26:19 +00:00
Mike Smith
d800cebf61 Turn of disk debugging by default (suppress annoying "partition marked as
unused" diagnostic on floppies).
1998-10-16 19:26:11 +00:00
KATO Takenori
e165741792 Commented out bs driver. 1998-10-16 16:22:35 +00:00
Jordan K. Hubbard
908dcbd2a4 fixup for alpha. 1998-10-16 10:14:21 +00:00
Jordan K. Hubbard
2f40a12b31 fixup for the alpha. tag slid forward, since it's benign for the x86. 1998-10-16 10:13:09 +00:00
Jordan K. Hubbard
042b91764a Back to -current again. 1998-10-16 06:55:36 +00:00
Jordan K. Hubbard
9af06d794b post-tag version bump. We're now back at 3.0-current! 1998-10-16 06:55:07 +00:00
Peter Wemm
64e85001f6 Update SMP-GENERIC to something a bit more recent based on GENERIC.
Approved by: jkh
1998-10-16 04:44:05 +00:00
Peter Wemm
00e280ca86 Missed this file. 1998-10-16 04:31:35 +00:00
Peter Wemm
a654d07295 Sample initial set of kld-ified modules. Not all have been completely
converted yet.  These are more of a starting point.  This is NOT connected
to the parent Makefile.

OK'ed by jkh (who is ever so patiently waiting)
1998-10-16 04:30:52 +00:00
Jordan K. Hubbard
00347c3f1e Bump freebsd version #. 1998-10-16 04:28:04 +00:00
Peter Wemm
aa855a598d *gulp*. Jordan specifically OK'ed this..
This is the bulk of the support for doing kld modules.  Two linker_sets
were replaced by SYSINIT()'s.  VFS's and exec handlers are self registered.
kld is now a superset of lkm.  I have converted most of them, they will
follow as a seperate commit as samples.
This all still works as a static a.out kernel using LKM's.
1998-10-16 03:55:01 +00:00
Peter Wemm
df481e793f Fix some bugs in link_aout.c caused by using uninitialized malloc space.
Pre-Approved by:  jkh
1998-10-16 03:45:35 +00:00
Peter Wemm
08a04a8985 Update the kld glue
Pre-Approved by: jkh
1998-10-16 03:32:03 +00:00
Peter Wemm
3323768d99 "fix" the gzipped kernel load problem by having the loader check that it
can seek back to the first PT_LOAD and doing a close/reopen if it cannot.
This is because the first PT_LOAD section includes the ELF headers.
This fixes gzipped kernels on the i386, it should solve mike's problem
for the Alpha.
1998-10-16 03:04:15 +00:00
Jordan K. Hubbard
fd4dfac938 Change to 3.0-RELEASE in anticipation of the tag. 1998-10-16 02:08:20 +00:00
David E. O'Brien
d1436a882b Add commented out bpf entry. (DHCP is popular here, and this is required).
Ok'ed by:	jkh
1998-10-16 01:30:11 +00:00
Justin T. Gibbs
1964f204c9 -Wunused cleanup.
Correct a problem where an external bus reset on the 'background' channel of
a Twin Channel EISA controller could put the driver into an infinite loop.

Noticed by: Twin Channel bug, Joerg Wunsch <joerg@FreeBSD.org>
Submitted by: -Wunused, Poul-Henning Kamp <phk@freebsd.org>
1998-10-15 23:49:27 +00:00
Justin T. Gibbs
b9450b7b2f -Wunused cleanup.
Fixed bug in advansys.c where we did not properly clean up ccb_info data
structures in softc teardown.

Submitted by:	Poul-Henning Kamp <phk@freebsd.org>
1998-10-15 23:47:14 +00:00
Justin T. Gibbs
4663e36736 -Wunused cleanup.
Submitted by:	Poul-Henning Kamp <phk@freebsd.org>
1998-10-15 23:46:33 +00:00
Justin T. Gibbs
0a42741c4a Honor CAM_TAG_ACTION_NONE. 1998-10-15 23:17:58 +00:00
Justin T. Gibbs
bb1f2fe47f Add a mechanism to send a non-tagged transaction even if a device is
currently operating in a tagged mode.  The SIM driver should determine
if a device is in tag mode by looking at the CAM_TAG_ACTION_VALID flag
in the ccb header.  If the flag is set, the tag_action field is either
a SCSI II tag message (simple, ordered, head) or CAM_TAG_ACTION_NONE
to specify that no tagging should be performed.
1998-10-15 23:17:35 +00:00
Robert Nordier
67ac585edf Fix path to sio.s 1998-10-15 22:08:13 +00:00
Doug Rabson
43c6fba4f6 Fix a typo preventing the correct value of kernend from being picked up
from the bootstrap.  Also change some debug printfs from #if 0 to
#ifdef DEBUG_CLUSTER to make it easier to debug startup memory problems.
1998-10-15 22:00:54 +00:00
Doug Rabson
94bb328025 Change some printfs so that ELF_VERBOSE prints meaningful values on the alpha. 1998-10-15 21:56:47 +00:00
Doug Rabson
6214a95af0 Fix the bootinfo so that the right values actual make it into the kernel. 1998-10-15 21:55:58 +00:00
Robert Nordier
da55c91100 Add serial, dual, and probe-keyboard support. 1998-10-15 20:04:21 +00:00
Warner Losh
ca1a3d8c33 Reduce the number of ccbs to 16, per the aha documentation. Move
bogus comment to proper place.

This should fix the hangs people are seeing under very heavy load, at
least it does for me.  Please let me know if you continue to have
problems.
1998-10-15 19:53:30 +00:00
Kenneth D. Merry
50642f180c Fix several potential buffer overrun conditions. These changes have been
tested both in the kernel and in userland.  Also, fix a couple of printf
warnings that show up when CAMDEBUG is defined.

Reviewed by:		imp
Partially submitted by:	imp
1998-10-15 19:08:58 +00:00
Justin T. Gibbs
bc1b1dad36 Bring back support for honoring the primary channel setting for twin channel
EISA adapters.  This could have caused the system to find the wrong root
disk.

Reviewed by:	 J Wunsch <j@ida.interface-business.de>
1998-10-15 18:21:50 +00:00
Kenneth D. Merry
11021a1ab5 Clean up some unused variables.
Reviewed by:	ken
Submitted by:	phk
1998-10-15 17:46:26 +00:00
Peter Wemm
434bf653d2 - bzero() after malloc() bug fix
- look up relocation symbol names in correct table bugfix.
- remove unused (initialized to 0) variable and conditional free() of it.
1998-10-15 17:16:24 +00:00
Peter Wemm
bd4e381b03 - bzero() after malloc(). This is especially obvious when kern_malloc is
compiled with DIAGNOSTIC.
- Don't break from the preload module processing loop prematurely.
1998-10-15 17:12:12 +00:00
Peter Wemm
ddd62546e1 Fix sysinit_add().
- Don't include multiple copies of the previous sysinit in the new one.
- Leave space for and explicitly null terminate the new list.
1998-10-15 17:09:19 +00:00
Peter Wemm
f03d6f87b3 Get the last used address via a more conservative method, don't depend
on the module chain being in increasing address order.
1998-10-15 17:06:36 +00:00
Doug Rabson
e4b0567b9b Change a bogus cast to the correct one. 1998-10-15 09:53:27 +00:00
Doug Rabson
216a0f2d7f Don't frob the user stack directly, use suword instead. This fixes the
elf_freebsd_fixup() panic which many people have noticed on the alpha.
1998-10-15 09:52:19 +00:00
Doug Rabson
67fc32a9ff Use the interface name as well as the method name when creating the method
description.

Submitted by: Nick Hibma <nick.hibma@jrc.it>
1998-10-15 09:50:45 +00:00
Søren Schmidt
8de3e08bf8 Make the next_writeable address specific for each drive, there might
be more than one burner online.
1998-10-15 08:11:55 +00:00
Peter Wemm
456aa5a8cf Forgot to commit this; the alpha uses the kld symbol interface now. The
tables that db_elf.c is expecting are not loaded in that format any more.
1998-10-15 02:01:50 +00:00
Kenneth D. Merry
1b6833dbb1 Narrow the quirk entry for the Seagate Elite 9 a bit to just cover drives
with 71* firmware revisions.  Scott Mace <smace@intt.ORG> reports that
drives with 00* firmware revisions do tagged queueing just fine.
1998-10-14 22:51:51 +00:00
Kenneth D. Merry
8597eafed0 Disable tagged queueing for the Seagate Elite 9GB drives. They tend to get
hung up when you send tags to them too quickly.  (CAM is able to recover
from the problem, but this just avoids it altogether.)

Reviewed by:	gibbs
Reported by:	Bret Ford <bford@uop.cs.uop.edu>
	and:	Martin Renters <martin@tdc.on.ca>
1998-10-14 21:17:39 +00:00
Kenneth D. Merry
a937ccdc09 Disable the 'devstat_end_transaction' busy count printf until after 3.0
release goes out the door.  We know there's a bug in the devstat
implementation in the wd driver, but bde and msmith haven't been able to
fix it yet.

So, disable the printf to avoid confusing/worrying people.

Suggested by:	msmith
1998-10-14 20:44:05 +00:00
Robert Nordier
898adc1c96 Activate boot2. 1998-10-14 20:40:56 +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
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
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
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
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
Robert Nordier
ee2e4f9b32 Fix btx include path. 1998-10-14 01:53:56 +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
Robert Nordier
c71b9b3c24 Adjust NDEV value.
Optimize reading of system time.
1998-10-13 22:17:05 +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
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
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
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
KATO Takenori
9e9260f743 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 Takenori
b69b4c650c Sync with sys/i386/i386/userconfig.c revision 1.112. 1998-10-13 09:43:09 +00:00
Peter Wemm
ca65d5c714 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
Peter Wemm
21f1bf72d3 Make the ELF load messages cleaner. 1998-10-13 09:25:27 +00:00
Peter Wemm
38c2b6942a Update from NetBSD if_de.c 1.72 to 1.80. This is mostly bugfixes, and
looks like it will have most effect on decoding device capabilities and
configuration.

Approved by: jkh
1998-10-13 09:05:58 +00:00
David Greenman
6cde7a165f Fixed two potentially serious classes of bugs:
1) The vnode pager wasn't properly tracking the file size due to
   "size" being page rounded in some cases and not in others.
   This sometimes resulted in corrupted files. First noticed by
   Terry Lambert.
   Fixed by changing the "size" pager_alloc parameter to be a 64bit
   byte value (as opposed to a 32bit page index) and changing the
   pagers and their callers to deal with this properly.
2) Fixed a bogus type cast in round_page() and trunc_page() that
   caused some 64bit offsets and sizes to be scrambled. Removing
   the cast required adding casts at a few dozen callers.
   There may be problems with other bogus casts in close-by
   macros. A quick check seemed to indicate that those were okay,
   however.
1998-10-13 08:24:45 +00:00
KATO Takenori
d74a7fd03e Commented out aic driver. 1998-10-13 08:14:33 +00:00
Kazutaka YOKOTA
ba8e952c77 Added a workaround for yet-another, less-than-compatible keyboard controller.
This one returns 0xfa (ACK) for TEST_KBD_PORT and TEST_AUX_PORT commands.
The compatible controllers expected to return 0.
1998-10-13 07:56:38 +00:00
KATO Takenori
854de3d138 Fix for wrap arround. 1998-10-13 03:24:01 +00:00
KATO Takenori
f1132a191e Implement TSC clock calibration for PC-98. 1998-10-13 02:33:21 +00:00
Alexander Langer
2b65ea051a Bring in _BSD_UINT8_T_, _BSD_UINT16_T_, and _BSD_UINT32_T from the i386
ansi.h.
1998-10-12 23:57:58 +00:00
Jordan K. Hubbard
d7500a66e0 Add adw device.
Noticed by:	phk
1998-10-12 23:14:28 +00:00
Kenneth D. Merry
621a60d46b Add a "dummy light" (actually two dummy lights) to catch people who don't
have the passthrough device configured in their kernel.

This will hopefully reduce the number of people complaining that they can't
get {camcontrol, xmcd, tosha, cdrecord, etc.} to work.

Reviewed by:	gibbs
1998-10-12 21:54:13 +00:00
Robert Nordier
4d8eda2252 New boot blocks: support for /boot/loader; a.out & ELF; cyl > 1023;
multiple 0xa5 slices; etc.
1998-10-12 21:16:26 +00:00
Dmitrij Tejblum
9bbd8a2498 UnVMIO vnodes of block devices when they are no longer in use. (Some
things, like msdosfs, do not work (panic) on devices with VMIO enabled.
FFS enable VMIO on mounted devices, and nothing previously disabled it, so,
after you mounted FFS floppy, you could not mount msdosfs floppy anymore...)

This is mostly a quick before-release fix.

Reviewed by:	bde
1998-10-12 20:14:09 +00:00
Warner Losh
bb415a7e88 Fix breakage introduced by last patch. bde has added CC_QUIET flag to
hasseen_isadev so this will be less noisy when conflicts do exist.
Also eliminate redundant warnings about conflicts.

Requested by: bde
Reviewed by: gibbs
1998-10-12 18:53:33 +00:00
Kenneth D. Merry
458c85235c Add quirk entries to disable the synchronize cache command for Micropolis
2217's (reported by Matthew Jacob in NetBSD PR kern/6027) and Fujitsu
M2954's (reported by Tom Jackson).

Some of the Fujitsus at least hang when they get a cache sync command.
(Others just return illegal request.)

Also, make error printing in dashutdown() a little more selective.  Don't
print any error when the sense key is illegal request.  Drives that don't
support the synchronize cache command usually return illegal request.
Also, make sure the scsi status is check condition before going into
scsi_sense_print().

Reviewed by:	gibbs
1998-10-12 17:16:47 +00:00
Kenneth D. Merry
d5ef4c961a Bring over a quirk entry from the old SCSI code for a Chinon CDROM drive
that returns track numbers in BCD.

Reviewed by:	gibbs
1998-10-12 17:02:37 +00:00
KATO Takenori
aea68bce9f Sync with sys/i386/isa/isa.c revision 1.114. 1998-10-12 15:06:02 +00:00
Bruce Evans
a4e195e166 Don't print conflict messages in haveseen_isadev() if CC_QUIET is
specified.  This makes haveseen_isadev() useful for searching for a
free resource.  This increases the bitrot in the pci RESOURCE_CHECK
code.

Fixed the pre-attach conflict message.  The flag for distinguishing
pre-attach conflict checks from pre-probe ones was never set.
1998-10-12 13:12:45 +00:00
Bruce Evans
1315dabd63 Fixed bitrot in mfs options. MFS_ROOT split into MFS_ROOT and
MFS_ROOT_SIZE, and MFS_AUTOLOAD went away.
1998-10-12 12:27:24 +00:00
Bruce Evans
8806141c1d Added flag CC_QUIET for quiet conflict checking.
Fixed corrupted tabs.
1998-10-12 11:32:35 +00:00
Peter Wemm
2d636ab077 Only print kernel entry point during load.
Drastically quieten down the verbose load progress messages.  They were
more useful for debugging than anything, but are beyond a joke when loading
a few dozen modules.
Simplify the ELF extended symbol table load format.  Just take the main
symbol table and the string table that corresponds.  This is what we will
be getting local symbols from.  (needed for the alpha stack tracebacks).
Use the (optional) full symbol tables in lookups.  This means we have to
furhter distinguish between symbols that can come from the dynamic linking
table and the complete table.
The alpha boot code now needs to be adapted as ddb/db_elf.c cannot use
the simpler format.
I have not implemented loading the extended symbol tables from the syscall
interface yet, just for preloaded modules.
I am not sure about the symbol resolution.  I *think* it's possible that
a local symbol can be found in preference to a global, depending on the
search sequence and dependency tree.
1998-10-12 09:13:50 +00:00
Peter Wemm
55820fca35 Only print filename and entry address for the kernel itself. The rest
have a meaningless entry as they are relocatable.
1998-10-12 09:05:12 +00:00
Peter Wemm
2da2eeacee Relocate a few extra addresses that are stored as physical addresses via
the boot loader.
1998-10-12 09:03:48 +00:00
Peter Wemm
624b326270 "fix" a warning 1998-10-12 09:02:19 +00:00
Robert Nordier
dfce019974 Drop .MAKEFLAGS: hack. 1998-10-12 02:05:44 +00:00
Robert Nordier
7870a52598 Do without head and tail: they're pretty unnecessary here anyway. 1998-10-12 01:44:15 +00:00
Robert Nordier
36e85d353d Use rather than for linking. This allows the new rather
than stale version of libstand.a to be found.

After this change, the new boot code is apparently building correctly
in a make world.
1998-10-12 01:03:00 +00:00
Alexander Langer
514058dc0d Unregister the glibc2 brand at module unload time.
Change the ELF registration/unregistration scheme to be less error prone.
Adding a new brand requires a single addition to linux_brandlist instead of
modifying linux_load(), linux_unload(), and linux_elf_init().

Approved by:	jkh
Reviewed by:	msmith
1998-10-11 21:08:02 +00:00
John Polstra
d1dbc69449 If an ELF executable has a recognized brand, then believe it.
Formerly, the heuristic involving the interpreter path took
precedence.

Also, print a better error message if the brand is missing or not
recognized.  If there is no brand at all, give the user a hint that
"brandelf" needs to be run.
1998-10-11 19:22:07 +00:00
Robert Nordier
1b9112ea6b In src/Makefile.inc1:
Remove /sys/boot from legacy-build.
    Add btxld to build-tools.
In src/sys/Makefile:
    Add /sys/boot for i386 ELF.

I'm still not sure why the new boot code was being built along with the
legacy stuff, which meant a completely wrong default environment for it.

This may well still be the wrong way to go about this, but it can't work
all that much worse than it has been.
1998-10-11 18:39:38 +00:00
KATO Takenori
9aba3db9f1 Sync with sys/i386/boot/biosboot/table.c revision 1.17. 1998-10-11 15:09:36 +00:00
KATO Takenori
02ca745405 Sync with sys/i386/boot/biosboot/boot.c revision up to 1.74. 1998-10-11 15:09:14 +00:00
KATO Takenori
980418a9b0 Sync with sysi/386/boot/biosboot/boot.h revision 1.24. 1998-10-11 15:08:50 +00:00
KATO Takenori
45b48978af Sync with sys/i386/i386/machdep.c revision 1.313. 1998-10-11 15:04:38 +00:00
KATO Takenori
9e1e84578a Sync with sys/i386/conf/files.i386 revision 1.206. 1998-10-11 15:02:49 +00:00
KATO Takenori
abe3697a3a Sync with sys/i386/conf/Makefile.i386 revision 1.126. 1998-10-11 15:01:40 +00:00
KATO Takenori
049f9fd334 Sync with sys/i386/conf/GENERIC revision 1.124. 1998-10-11 15:00:24 +00:00
Robert Nordier
1339399694 Override for ELF. 1998-10-11 12:59:40 +00:00
Robert Nordier
10806461a7 Override for ELF. Override .s.o suffix rule. 1998-10-11 11:27:48 +00:00
Peter Wemm
7532a55a62 Fix a warning that's been bugging me for ages. 1998-10-11 10:29:49 +00:00
Peter Wemm
68e3a08de1 Fix a warning 1998-10-11 10:28:51 +00:00
Peter Wemm
6e9108b6ac Probe all consoles, not just the first. It doesn't make a lot of
difference, but might later on when we implement some sort of multi-head
console mode.  Select a console after probing them all.
Don't strdup a potentially NULL return from getenv().
If we don't select an active console, choose the first regardless.
Call the console init function, at startup time and on a manual change.
The env_setenv() function needs EV_VOLATILE because it's pointing to
data that isn't malloc'ed and will cause a fault if it's freed later.
1998-10-11 10:19:11 +00:00
Peter Wemm
450caa170f Cosmetic: After the autoboot timeout, print a \n. 1998-10-11 10:10:41 +00:00
Peter Wemm
7d9cbdec8f Only call vidc_init() once (unless forced).
Cosmetic change to the init-time character eater (like, make it increment
the index counter - if there's a problem, it would sit there in an infinite
loop instead of only running 10 times).
1998-10-11 10:07:52 +00:00
Peter Wemm
a1c1935fa8 Fix comconsole mode. The int 0x14 read and status commands were reversed.
Also, make sure we set %dx each time around otherwise the commands
suddenly start trying to work on things like com92 instead of com1.
Make sure comc_init() is only run once.
Cosmetic change to init-time character eater.
1998-10-11 10:05:13 +00:00
Peter Wemm
1206a4f594 Warn that one of the DEBUG statements has a v86 recursion bug. 1998-10-11 10:01:55 +00:00
Peter Wemm
00fe329527 Fix comment to match code 1998-10-11 09:53:30 +00:00
David Greenman
91aa9f9055 Clear out transmit descriptor memory in fxp_attach when it's malloced.
fxp_stop is called as the first thing in fxp_init, and if the tx desc
list has junk in it, the system may panic. This bug showed up as a side
effect of the changes in rev 1.56, but has been in the code since the
beginning.
1998-10-11 06:28:54 +00:00
John Polstra
2116e6ab2f Fix a couple of out-of-bounds array references in mapping between
Linux and FreeBSD signal numbers.  Also, check signal numbers passed
in from application programs for validity.  Without these checks,
it is trivial to panic the system from a Linux program.
1998-10-11 04:54:16 +00:00
Dima Ruban
18d099b0c4 add <sys/linker.h> 1998-10-11 03:53:35 +00:00
Justin T. Gibbs
2863f7b147 If the bus delay is >= 2 seconds, notify the user that we are waiting
for devices to settle.  This will hopefully allay any 'first installation'
fears that the machine has hung.
1998-10-10 21:10:36 +00:00
David Greenman
da91462d5e Fixed mbuf leak in fxp_stop(). 1998-10-10 19:26:40 +00:00
Gary Palmer
1383f617d2 Make kernel build on alpha again. New kld stuff needs rindex. 1998-10-10 18:32:18 +00:00
Bruce Evans
7934b2cd38 Don't pretend to support ix86's with 16-bit ints by using longs just
to ensure 32-bit variables.  Doing so broke i386's with 64-bit longs.

This also fixes printf format errors.
1998-10-10 14:30:05 +00:00
Robert Nordier
0def18d819 Fix a typo.
Output another newline before invoking bootstrap.
1998-10-10 14:03:03 +00:00
Bruce Evans
8a8a7f91ae Fixed warnings for pointer versus int type mismatches. Addresses must
be converted to fixed-sized integers when they are passed across the
binary interface to the kernel.
1998-10-10 14:02:07 +00:00
Bruce Evans
9c9755b4f8 Fixed warnings for pointer versus int type mismatches. Addresses must
be converted to fixed-sized integers when they are passed across the
binary interface to the kernel.

Didn't fix rotted bits (including not passing dosdev to the kernel and
serious out of dateness when initially committed).
1998-10-10 13:51:24 +00:00
KATO Takenori
7344a7bb2e mp_machdep.c: Set a vector to boot code (PC-98).
locore.s: Tell the bios to warmboot next time (PC-98).
1998-10-10 13:37:16 +00:00
KATO Takenori
160ba1c5c8 PC-98 doesn't have CMOS ram. 1998-10-10 10:36:12 +00:00
KATO Takenori
ed68ba2cd0 PC-98 doesn't have CMOS ram. 1998-10-10 09:38:02 +00:00
David E. O'Brien
32a023dc3f Add GENERIC rev 1.124 changes 1998-10-10 09:25:12 +00:00
Jordan K. Hubbard
cbe7e08892 Add entries for MFS which are consistent with the others, now that
Peter has made this more selectable.
1998-10-10 08:13:58 +00:00
Jordan K. Hubbard
a33b93ff31 Allow more flexible use of MFS root.
Submitted by:	peter
1998-10-10 08:12:24 +00:00
Peter Wemm
c9a5e21100 Attempt to work around the page fault in tulip_txput(). I've been running
this myself for ages, but wasn't able to get any feedback from the people
that I sent it to for testing.

Guy Helmer <ghelmer@scl.ameslab.gov> has given it a shot (before getting on
a plane, thanks!) and it appears to stop his reproducable page fault panic
in the testing he was able to do.
1998-10-10 02:44:53 +00:00
Peter Wemm
26deceba9c Display module type as well as module name when we find one preloaded. 1998-10-10 02:29:07 +00:00
Peter Wemm
b24d73e14b rm *.so and *.ko in clean as well. 1998-10-10 01:00:56 +00:00
Warner Losh
19bed41a5d Fix conficts in probe:
o For bt and aha only probe the one I/O range if a specific I/O is specified
  in the config file.
o Don't even try to probe I/O ranges that have been seen already.
o If we conflict with an IRQ or DRQ, then fail the probe.

Requested by: bde, gibbs
Approved by: jkh
1998-10-10 00:44:12 +00:00
Peter Wemm
51f3fe7ab2 Use Mike Smith's linker module search path code.
Implement preloading in a fairly MI way, assuming the information is
prepared.
DDB interface helpers..  Provide some support for db_kld.c so that we
don't have to export too much detail.
Debugging and cosmetic nits left in from development..
The other half of the containing file hack so modules can associate
themselves with their "file".
1998-10-10 00:07:53 +00:00
Peter Wemm
f3b0d44290 Keep track of the containing file for modules. This is a bit of a hack,
but I can't think of another (relatively) easy way of getting the info
since the boot-time initialization is not done immediately after "loading".
XXX module_register() gained an extra arg.  This might break the alpha
compile, if so, just add a zero to get the old behavior.
1998-10-10 00:03:07 +00:00
Peter Wemm
e4f1a52f7a Updates for alignment rounding. XXX this is highly machine dependent and
should probably be moved to i386/i386/link_machdep.c (and the same for the
alpha).
Implement "deleting" a preloaded module by destroying it's tags. This is a
hack.  We cannot reuse the data, it's been destroyed by relocation,
statically initialized variables have been modified, etc.  Note that to
reclaim the load space is going to be more machine-dependent work.
Implement a relocate hook for machdep.c to call so that the physical
addresses get converted to the equivalent KVM addresses.
1998-10-09 23:59:01 +00:00
Peter Wemm
de78ca7e63 Fully implement KLD and preloading.
- seperate unload for preloaded linker objects.
- Don't build a kernel object if running as an a.out kernel.
- extract the real kernel name rather than hardwiring "kernel" for kldstat.
  (sysctl kern.bootfile getst the full name via bootinfo)
- use real addresses on the kernel "module" rather than fictitious ones.
- preloaded module support
- search module path for file modules.
- symbols are checked to see if they are in the right containing file
  before using their indexes into string tables.  This is to help ddb
  since it only supplies a pointer to an opaque symbol and there is no
  telling which file/object/module/whatever it came from.
1998-10-09 23:55:31 +00:00
Peter Wemm
adbb7dbee6 Updates for KLD backends.
- symbol_values checks that the symbol is indeed belonging to the
   correct symbol and string table pairs before looking up. (since there
   could be many pairs, and KLD/DDB need to find out).
 - different ops for files versus preload modules - the unload mechanism
   is different.  (a preloaded module has to be deleted on unload since
   the in-core image is tainted by relocation and variables used)
 - Do not build an a.out kernel module if we're running on an elf
   kernel. :-)  Note that it should theoretically be possible to
   mix a.out and elf KLD modules providing -mno-underscores was used
   to compile it, or some other symbol conversion takes place.
 - Support preload modules (even though /boot/loader doesn't yet)
 - Search the module path when loading files.
1998-10-09 23:49:28 +00:00
Peter Wemm
94e9d7c12d Implement merging SYSINIT's from preloaded KLD modules. This means we
check off SYSINIT entries as they are run, and when more arrive, we re-sort
and restart (skipping the already-run entries).
This can *only* be done after KMEM (and malloc) is up and running - this is
fine because KLD is the only consumer of this and it's done after that.
The nice thing about this is that the SYSINIT's within preloaded KLD modules
are executed in their natural order.  It should be possible to register
devices for the probes which follow, etc.  (soon.. several key things
prevent this, such as use of linker sets for things like pci devices).
1998-10-09 23:42:47 +00:00
Peter Wemm
cfb55a60f9 MODINFO_ADDR has real addresses now, remove the manual relocation based
on cpu type.
1998-10-09 23:37:37 +00:00
Peter Wemm
df9e84e0c0 Relocate the preload module info from machdep specifically rather than
trying to do it in locore.  We also walk through the module table
and relocate any MODINFO_ADDR pointers so that they become KVM relative
rather than physical addresses.  This means that hacks for adding
0xf0000000 in places like MFS go away.
1998-10-09 23:36:26 +00:00
Peter Wemm
c6b72a39e9 Call some helper routines to be supplied by kern_linker.c in order to
get to all the symbol tables for all modules, not just the core kernel
symbol table.  Yes, DDB can see KLD module symbols with this, both by
lookup and in tracebacks.  No more references to _end from tracebacks
within an LKM. :-)
1998-10-09 23:34:09 +00:00
Peter Wemm
286896fe56 At the moment, the alpha tentatively uses the ddb elf code rather than KLD,
because the alpha boot loader hasn't been converted yet, and because
it needs the full symbol tables with local symbols in order to make sense
of stack tracebacks.  KLD will implement this (using full sybmol table
rather than the globals only) shortly.
1998-10-09 23:32:03 +00:00
Robert Nordier
91284f875f Turn off the new /sys/boot stuff (except boot0) unless OBJFORMAT
is elf.  (The BTX client must be ELF, though it is packaged as a.out
for compatibility.)
1998-10-09 23:30:16 +00:00
Peter Wemm
ea4170d0f6 We don't compile this on an elf kernel (and explicitly not on alpha in
case it's possible to compile in something like ECOFF)
The three db_xxx.c symbol interfaces are "standard" because config isn't
flexible enough without forcing the user to know about it.
1998-10-09 23:29:44 +00:00
Peter Wemm
1dd643abae Remove DDB_ELF_SYMBOLS and DDB_KLD_SYMBOLS options. KLD will be the sole
interface to symbols in an elf kernel.
1998-10-09 23:26:26 +00:00
Peter Wemm
7deb2dabef Attempt to at least align MODINFO_* blocks. IMHO, decoding this stuff
should be MD code since one day we'll have to recover pages from deleted
preload data.  MI code can't be expected to know how to deal with pmap
internals, assuming it gets done via pmap that is. :-)
1998-10-09 23:24:55 +00:00
Peter Wemm
1d59e49683 Turn symbol table info passing back on, although it's probably not
particularly useful in this form.  KLD can deal with it much better.
setenv kernelname moved earlier.
1998-10-09 23:22:30 +00:00
Peter Wemm
f62f10b275 Remove kernelname setenv, the common code does it.
Use the metadata for symtab pointers, mainly to keep it common with
elf_freebsd.c.
1998-10-09 23:20:47 +00:00
Peter Wemm
376f525c56 Implement preloading for elf modules
- get dependency info from PT_DYNAMIC's DT_NEEDED tags.
 - store MODINFOMD_DYNAMIC for the kernel's later use
setenv kernelname when we have it
Fix firstaddr/lastaddr calculation (duh! :-)
Explicitly skip string table with section names in it.
1998-10-09 23:18:43 +00:00
Peter Wemm
6323a7f93f Preload support for a.out KLD not implemented yet. (almost)
KLD modules are *not* PIC.  (Shared libs are pic to avoid relocations
causing copy-on-write, that's irrelevant here).
setenv kernelname when we load it.
Use MODINFO_SSYM/ESYM for each symbol section when (if) there are
more than one being loaded.
1998-10-09 23:15:39 +00:00
Peter Wemm
c582ad070a Use a consistant module search path (same as kernel will be).
Use new dependency mechanism.
1998-10-09 23:12:34 +00:00
Peter Wemm
12218096e1 loader <-> kernel preload module interface constants moved to common file.
Remove Mike's explicit data structures for dependency info.  This is
done via DT_NEEDED etc in the dynamic section for now.  This may need
to be revisited later on.
1998-10-09 23:11:05 +00:00
Peter Wemm
c2ad65ca15 elf_machdep.c and rindex.c are now standard 1998-10-09 23:08:14 +00:00
Peter Wemm
814500450b Debug typo fixes.
Change symbol_values return type to int, on the chance that we've
been given the wrong symbol table.  Symbols have a string index that
must be relative to the correct string table.
Add prototypes for better kld support for ddb.
1998-10-09 23:07:27 +00:00
Peter Wemm
1f68fea8bd A hook for storing the origin of a module, this is important when
it's being registered in sorted sysinit sequence and not in load order.
1998-10-09 23:05:45 +00:00
Peter Wemm
3c1cc39618 Add SI_SUB_KLD
First part of support for merging SYSINIT sets.

This, and the following KLD commits have been OK'ed by jkh and msmith
based on my assertion that it works here (barring merge errors :-).
1998-10-09 23:03:27 +00:00
Justin T. Gibbs
f4d63fca8a Call dpt_intr from our timeout routine to clear any pending commands before
performing actual timeout processing.

Modify a few printf statements.

Submitted by:	Simon Shapiro <shimon@simon-shapiro.org>
1998-10-09 21:42:19 +00:00
Justin T. Gibbs
f8c5944d43 Only pull 16 bits of residual information from completing queues. This
is a work-around from an LRAM access bug on the 940UA.  In a future
microcode revision, the high 16bits of residual information will be moved
to a safe location and we'll return to 32bit residuals.  Since we only
allow 64KB I/O, 16bits is enough.
1998-10-09 21:40:50 +00:00
Justin T. Gibbs
9574f7968d Hook up ahapoll so that dumps, synchronize cache commands or any other
command that comes in through xpt_polled_action works correctly.
1998-10-09 21:38:36 +00:00
Mike Smith
a8dad95401 Don't try to initialise the environment out of a sysinit, it's handled
in MD code instead.
1998-10-09 21:21:34 +00:00
Peter Wemm
bde362f5e9 Null commit.. CVS aborted on freefall last time (reaonly file).
An elf_reloc() function for the i386.  Based on alpha/alpha/elf_machdep.c
and rtld-elf/i386/reloc.c.
1998-10-09 20:38:03 +00:00
Peter Wemm
033f58df20 An elf_reloc() function for the i386. Based on alpha/alpha/elf_machdep.c
and rtld-elf/i386/reloc.c.
1998-10-09 20:35:45 +00:00
Justin T. Gibbs
e95de2a602 Pass termination information via softc flags to the core driver. The
EISA probe missed out on this change in attach->core API.
1998-10-09 17:42:28 +00:00