interested parties.
Make the loader refuse to load anything below 1 MB -- we didn't
support it since FreeBSD 2.0R. Avoid gratuitously wiping out the BIOS
variables or the loader.
the kernel at 0-640k; we haven't had the ability to do that since before
2.0R. Furthermore, I fail to see how putting an instruction at 0 and then
doing a .org 0x500 is going to prevent the stuff from getting clobbered
in the first place; a.out is just too stupid to know about sparse address
spaces.
Previously, this worked right if both AUTO_EOI_1 and AUTO_EOI_2 are
defined, but not if AUTO_EOI_1 is defined and AUTO_EOI_2 is not defined.
The latter case should be the default. DUMMY_NOPS should be the default
too. Currently there are only two NOPs slowing down rtcin() (although
there are no delays in writertc()) and several FASTER_NOPs slowing down
interrupt handling in vector.s.
Fix stack offsets for the (previously) unused untested
FAST_INTR_HANDLER_USES_ES case.
This should NOT go into 2.0.5 /phk
Support disk slices. This involves mainly replacing inline code with
function calls. Support for ST506 drives is temporarily broken since
the `setgeom' arg to dsopen() is not implemented completely enough to
use. The `setgeom' arg will go away and ST506 drives will be supported
in another way. A large amount of dead code is left in wdopen() as a
reminder of the problems here.
Close the device in wdsize(). Open tracking was broken on all drives
with a swap device.
Remove support for soft write protection. There are no ioctls to set
it. It was used to disable writing to unlabelled disks, but we want
to support writing to foreign partitions on unlabeled disks.
Use generic dkbad routines to do about 2/3 of the work for supporting
bad144.
Improve disk statistics: estimate 4MB/sec instead of 8MB/sec for
the transfer rate (ISA max is 4MB/sec, old IDE max is 3.3MB/sec);
fix dk_xfer[] (it counted sectors, not transfers); keep the estimate
dk_seek[] = dk_xfer[] (was sectors, is now transfers); only count
words actually transferred (the count is still too high after a
failed write and after retries). Remove wdxfer[].
Fix indentation in wdattach(). Fix resulting botched printing of the
disk size for ST506 drives. Print the disk geometry less cryptically.
o Fix the keyboard probe to properly wait for the ready bit before
sending a command to the keyboard controller. This should avoid the
problems some people are experiencing where the boot blocks hang the
system during keyboard probe. (It does solve it for me.)
o Fix a bug that effectively prevented the boot blocks from ever
passing control to the serial console. [while(--retries) instead of
while(retries--)]
o Gratuitously reduced the keyboard probe timeout from 500 to 5
seconds. :)
o Introduced a new option ``FORCE_COMCONSOLE'' as a commented-out
example in the Makefile, to force the usage of a serial console
regardless of a keyboard being connected or not.
o Moved all external declarations to boot.h, declared all functions
there, and ANSIfied all function declarations/definitions.
(printf() remains bogus, however -- i'm too lazy to fix this.)
We're in the ninetees, dunno why we should still support compilers
from the 70's.
and #if defined (I586_CPU) thingies into identifycpu() so that we only
compile in what's actually needed for a given CPU. So far as I can tell,
none of my 386 machines generate a cpu_vendor code, so I made the extra vendor
and feature line conditional on I486_CPU and I586_CPU. (Otherwise we
print out a blank line which looks silly.)
at least one user out there who's system won't autoboot from the
serial console because of what sounds like 'phantom keystrokes'
making the timeout timer trip. I've tried to solve this by
adding an extra call to init_serial() right before the 'Boot:'
prompt is printed (done only if RB_SERIAL is set) to hopefully
make sure that the input buffer is clear. Unfortunately, the fellow
is in Germany and I haven't heard back from him yet. I haven't
been able to duplicate this problem on my hardware, so this is
a stab in the dark. At the very least, it shouldn't hurt anything.
kernels with 'options I586_CPU.'
The declaration for pentium_mhz is hidden inside an #ifdef I586_CPU,
but machdep.c refers to it whether I586_CPU is defined or not. This
temporary hack puts the offending code inside an #ifdef I586_CPU as
well so that a kernel without it will successfully compile.
I must emphasize the word 'temporary:' somebody needs to seriously
beat on the identifycpu() function with an #ifdef stick so that
I386_CPU, I486_CPU and I586_CPU will do the right things.
Dropping into the debugger when a break comes down the serial line is a
>MISFEATURE (1st class)< and has been put under it's own #ifdef. This
should be a magic sequence of chars instead.
For those where it was easy, drivers were also fixed to call
dev_attach() during probe rather than attach (in keeping with the
new design articulated in a mail message five months ago). For
a few that were really easy, correct state tracking was added as well.
The `fd' driver was fixed to correctly fill in the description.
The CPU identify code was fixed to attach a `cpu' device. The code
was also massively reordered to fill in cpu_model with somethingremotely
resembling what identifycpu() prints out. A few bytes saved by using
%b to format the features list rather than lots of ifs.
new driver code, there are diffs to several other existing files
on the system and a man page.
This version of matcd implements the rest of the key ioctls related to
playing audio CDs and reading table of contents information from any
type of disc.
This update also corrects several problems detected since the original
version 1(10) was released. These include:
1. Jordons report on the kernel -c string problem.
2. A problem with the driver being confused by other types of
devices located at addresses it probes.
3. An old CD TOC wouldn't always be cleared after a disc change.
4. Cleaned up code so -Wall yields no warnings on 2.0 and later.
5. A problem with drive getting out of sync with the driver when
changing between CD-Data and CD-DA.
There have only been two reports from the field relating to problems
so either the first release isn't really being used or doesn't have
many problems.
If there are any problems with this submission, please let me know.
Submitted by: Frank Durda IV <uhclem%nemesis@fw.ast.com>
1.5 seconds in ftintr_wait().
Three people have reported that this fixes the problem they are having.
Submitted by: Steve Gerakines <steve2@genesis.tiac.net>
drivers to protect DDB from being invoked while the console is in
process-controlled (i.e., graphics) mode.
Implement the logic to use this hook from within pcvt. (I'm sure
Søren will do the syscons part RSN).
I've still got one occasion where the system stalled, but my attempts
to trigger the situation artificially resulted int the expected
behaviour. It's hard to track bugs without the console and DDB
available. :-/
warnings and are cosmetic only. Poul once requested them, but neither
Sean nor Søren commented on them, so i commit it now before it's
getting lost some day.
card. This is the braindamaged card with the 80186 CPU on it. It is
slow, probably not very good after all, but hey, if you have one lying
around doing nothing anyway...
Added the "zp0" driver to GENERIC.
will cause kernel compiles to work even if the src/includes directory
doesn't exist but still do the 'Right Thing' and pull files from the
source tree if it does exist.
Reviewed by: Bruce Evans
#179). The fix implements a ttyhalfclose() (sort of), resetting the
session and pgrp pointers when the physical device is about to be
closed.
Suggested by: bde
old type (stty) ioctls can easily bypass locking bits.
It involves manual conversion from old ioctls to new ones,
large piece of code duplicated from tty_compat.c
after ttioctl too, because it can change t_line.
Remove (TS_CNTTB | TS_LNCH) test, it is always inherits from
old tty mode and can't be reach in currently setted mode.
o the includes are now properly done by <sys/foo.h> instead of "foo.h"
o a bunch of undeclared functions has been resolved
o pcvt finally supports devconfig
When attempting to abort a command, don't assume that just because the
sequecer happens to have SCBPTR pointing at the scb we want that it is
an active command.
- catch the interrupt type (EDGE/LEVEL) before chip reset instead
of guessing the right type.
- Add pause variable to the ahc struct to better handle the different
interrupt types and pausing the sequencer.
- CLRINTSTAT -> CLRSCSIINT: This is a documented bit in the CLRINT
register in newer Adaptec documentation, so use their name for it.
- Report valid residual byte counts.
- Don't mess with the target scratch areas > id 8 on single, narrow,
channel devices. The BIOS does a checksum of this area and can
flip out if we zero it out.
- Initialize the sequencer FLAGS scratch ram variable in the single
channel devices to 0. This was the cause of the annoying warning
where we would get a cmdcmplt the first time we did any type of
transfer negotiation with no valid scb. It also fixes the problem
that looked like the INTSTAT register wasn't clearing fast enough.
This only showed up on 294x cards, not motherboard aic7870s.
- Add the AHC_AIC7870 type and use it as the superset of aic7870
based controllers.
- clear the sync offset section of the targ scratch area so that
we default to asyncronous transfers. This was only a problem
for wide controllers because there was a scenario where the
offset wouldn't get updated before a data(out/in) phase would
occur. This required some change in the sequencer code since we
were depending on this field to hold the rate to negotiate.
- allow sync and wide negotiated commands to be tagged (the sequencer
now handles this properly).
I'm not exactly sure why all the inb/outw stuff got added to netboot.h
and I'd be happy if someone like Martin or Bruce could take a look at it!
Submitted by: "Serge A. Babkin" <babkin@hq.icb.chel.su>
* to reduce the number of adapter failures. Transceiver select
* logic changed to use value from EEPROM. Autoconfiguration
* features added.
Submitted by: "Serge A. Babkin" <babkin@hq.icb.chel.su>
Etherlink III 'zp' on 2.0R, but it did not work with the -current.
Noriyuki Takahashi <hor@aecl.ntt.jp> san has fixed this bug.
Our alpha-testers are tested this driver with 3C589B-COMBO and
3C589B-TP. And it works fine.
I also fixed a little about the use of ZP_DEBUG symbol and beautified
the awful Frankenstein-style indent :-) with "indent -c0 -nfc1 -i4".
[Also merge with Bruce's last changes]
Submitted by: "HOSOKAWA Tatsumi" <hosokawa@mt.cs.keio.ac.jp>
update what has actually been touched. This should speed up
screen access on slow hardware.
Introduced setting of "destructive" cursor size, much like
the old hardware cursor.
Install the biosboot as /usr/mdec/boot[12]
Make the traditional links from [swf]dboot and boot[swf]d to boot[12] files.
Install dosboot as /usr/mdec/boot/fbsdboot.exe
if (tp->t_line != 0)
test when CS_ODONE, it fails for NTTYDISC, use
if (linesw[tp->t_line].l_start != ttstart)
instead.
Reviewed by:
Submitted by:
Obtained from:
CVS: