Added obsolete option GATEWAY so that kern_opt.c gets tested.
Added undocumented options LOCKF_DEBUG and SIMPLELOCK_DEBUG so
that these options get tested. The addition of LOCKF_DEBUG shows
that all of kern/kern_lockf.c shouldn't have been moved from ufs.
The debugging parts are very fs-dependent.
probing anytime soon, make EISA_SLOTS a fully supported option. It's
required for the HP NetServer LC series machines.
Next stop: make dset(8) aware of it as well.
become impractical to distinguish versions using "real" release dates, so
might as well make it correspond to real version number (-current is
on the 3.0 branch) so at least the feature increments are guaranteed to
be linear.
Silently approved by: current list
changes, so don't expect to be able to run the kernel as-is (very well)
without the appropriate Lite/2 userland changes.
The system boots and can mount UFS filesystems.
Untested: ext2fs, msdosfs, NFS
Known problems: Incorrect Berkeley ID strings in some files.
Mount_std mounts will not work until the getfsent
library routine is changed.
Reviewed by: various people
Submitted by: Jeffery Hsu <hsu@freebsd.org>
Put obsolete GATEWAY option back in opt_defunct.h. It's the only
significant option that has gone away since 2.1.6, so warning about
it might be useful.
SEM* and SHM*. These are already supported in the options files. I
mostly used the default value plus 1. This ensures that the LINT kernel
depends on the options headers.
to -current.
Thanks goes to Ulrike Nitzsche <ulrike@ifw-dresden.de> for giving me
a chance to test this. Only the PCI driver is tested though.
One final patch will follow in a separate commit. This is so that
everything up to here can be dragged into 2.2, if we decide so.
Reviewed by: joerg
Submitted by: Matt Thomas <matt@3am-software.com>
variable `kern.maxvnodes' which gives much better control over vnode
allocation than EXTRAVNODES (except in -current between 1995/10/28 and
1996/11/12, kern.maxvnodes was read-only and thus useless).
I have no idea if this works since I don't have one of the cards to test.
I also don't know what the LINT and GENERIC entries should look like,
so I just made up some values for now and left them commented out.
Someone who knows the factory settings for a Pro/10, please contact me!
Submitted-By: Javier Martín Rueda <jmrueda@diatel.upm.es>
when allocating memory for network buffers at interrupt time. This is due
to inadequate checking for the new mcl_map. Fixed by merging mb_map and
mcl_map into a single mb_map.
Reviewed by: wollman
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.
compile again. The code to protect users from combining the dedicated
PCCARD drivers and the generic code is a warning if the above option
is included in the config file.
Demanded by: bde
the profiling level in config and decide what to do in makefiles.
Makefile.i386:
Align functions to 16-byte boundaries if profiling is enabled. This
will allow a fourfold reduction in the size of the profiling buffers.
uses /usr/include/sys/*, which may point to a different build tree. I'm
not sure that this is necessary, but there was a question mark over what
/usr/include/sys points to when building the "user mode" binaries in the
kernel code, especially when building the smp tree.
I suspect that the "right" line here is to use ${INCLUDES}, but that
causes warnings about unused static inline functions in stdio.h and ctype.h
aic7xxx cards failing on certain motherboards, reverse the logic used to
control this feature. AHC_FORCE_PIO is replaced with AHC_ALLOW_MEMIO.
GENERIC no longer needs to specify the AHC_FORCE_PIO option since this is
the default.
synthesizer. The utilities for this will appear as port submissions soon
afterwards, according to the submitter.
Submitted-By: Randall Hopper <rhh@ct.picker.com>
Written-By: Takashi Iwai <iwai@dragon.mm.t.u-tokyo.ac.jp>
the other two trees. Bump RELDATE to Feb 1997, one greater than 2.2.
Now I can go update my porting.sgml.
NOT a 2.2 candidate, in case phk's wondering. :)
syscons and psm, curtesy Kazutaka Yokota with minor changes by
me. This contains an update of the psm driver as well.
This also fixes the breakage that I introduced to the psm driver by
making syscons poll for keyboard events in the atempt to fix the
hanging keyboard problem.
It works perfectly for me, and I'd like to hear from all that
have had keyboard/ps/2 mouse problems if this is the cure...
Submitted by: Kazutaka YOKOTA (yokota@zodiac.mech.utsunomiya-u.ac.jp)
sys/pc98/i386/machdep.c: sync with i386/i386/machdep.c
sys/pc98/conf/options.pc98: sync with i386/conf/options.i386
sys/i386/isa/sound: DMA auto initialize mode support for PC98.
contributed by: Akio Morita <amorita@bird.scphys.kyoto-u.ac.jp>
Definite 2.2 material, I believe.
Submitted by: The FreeBSD (98) Development Team
getting the same behavior using the flags, which can be done inside of
UserConfig. (Also document other syscons flags which were previously
undocumented).
Requested by: bde
negative-logic flags (flags 0x01 and 0x02 for npx0, defaulting to unset = on).
This changes the default from off to on. The options have been in current
for several months with no problems reported.
Added a boot-time negative-logic flag for the old I5886_FAST_BCOPY option
which went away too soon (flag 0x04 for npx0, defaulting to unset = on).
Added a boot-time way to set the memory size (iosiz in config, iosize in
userconfig for npx0).
LINT:
Removed old options. Documented npx0's flags and iosiz.
options.i386:
Removed old options.
identcpu.c:
Don't set the function pointers here. Setting them has to be delayed
until after userconfig has had a chance to disable them and until after
a good npx0 has been detected.
machdep.c:
Use npx0's iosize instead of MAXMEM if it is nonzero.
support.s:
Added vectors and glue code for copyin() and copyout().
Fixed ifdefs for i586_bzero().
Added ifdefs for i586_bcopy().
npx.c:
Set the function pointers here.
Clear hw_float when an npx exists but is too broken to use.
Restored style from a year or three ago in npxattach().
2.2 are more obvious. -Winline is unimportant, but -W gives thousands
of warnings for comparisions. Turning off -W also loses warnings for:
- auto variables clobbered by longjmp. Not much of a problem in the kernel.
- functions returning without a value. I don't like losing this.
- an expression statement or the left side of a comma operand contains no
side effects. Turning this off also stops warnings for the low quality
debugging macros in gsc.c and lpt.c.
Should be in 2.2.
if I586_CPU is defined. Note there is a runtime check so the code
won't be run for non-Pentium CPUs anyway.
2.2 candidate, this code has been tested for almost half year in -current.
will be renamed.
Fixed comments about unsupported network protocols.
ncr0 is a controller, not a device. This make no difference.
Added undocumented options DEVFS_ROOT, I586_CTR_GUPROF and I586_PMC_GUPROF.
Sorted undocumented options.
3COM 3C590 Etherlink III PCI,
3COM 3C595 Fast Etherlink PCI,
3COM 3C592 Etherlink III EISA,
3COM 3C590 Fast Etherlink EISA,
3COM 3C900 Etherlink XL PCI and
3COM 3C905 Fast Etherlink XL PCI.
This driver is based on OpenBSD's driver. I modified it to run under FreeBSd
and made it actually work usefully.
Afterwards, nao@tom-yam.or.jp (HAMADA Naoki) added EISA support as well as
early support for 3C900 Etherlink XL PCI and 3C905 Fast Etherlink XL PCI.
He also split up the driver in a bus independant and bus dependant parts.
Especially the 3c59X support should be pretty stable now.
Submitted by: partly nao@tom-yam.or.jp (HAMADA Naoki)
Obtained from:partly OpenBSD
(1) deleted #if 0
pc98/pc98/mse.c
(2) hold per-unit I/O ports in ed_softc
pc98/pc98/if_ed.c
pc98/pc98/if_ed98.h
(3) merge more files by segregating changes into headers.
new file (moved from pc98/pc98):
i386/isa/aic_98.h
deleted:
well, it's already in the commit message so I won't repeat the
long list here ;)
Submitted by: The FreeBSD(98) Development Team
(1) Add #ifdef PC98:
sys/pc98/boot/biosboot/boot2.S
(2) Fix bug that made it impossible to boot from sd's other than unit 0:
sys/pc98/boot/biosboot/sys.c
(3) Delete redundant $Id$:
sys/pc98/pc98/clock.c (reject$B$5$l$k$+$b$7$l$J$$(B)
(4) unt -> u_int:
sys/pc98/pc98/if_ed.c
(5) Add support for rebooting by the hot-key sequence:
sys/pc98/pc98/kbdtables.h
(6) Display now looks like PC/AT version:
sys/pc98/pc98/npx.c
(7) Change comment to match that of PC/AT version:
sys/pc98/pc98/pc98.c
(8) Add function prototypes:
sys/pc98/pc98/pc98_machdep.c
(9) Include PC98 headers:
sys/pc98/pc98/sound/adlib_card.c
sys/pc98/pc98/sound/audio.c
sys/pc98/pc98/sound/dev_table.c
sys/pc98/pc98/sound/dmabuf.c
sys/pc98/pc98/sound/midi_synth.c
sys/pc98/pc98/sound/midibuf.c
sys/pc98/pc98/sound/opl3.c
sys/pc98/pc98/sound/oatmgr.c
sys/pc98/pc98/sound/sb16_dsp.c
sys/pc98/pc98/sound/sb16_midi.c
sys/pc98/pc98/sound/sb_card.c
sys/pc98/pc98/sound/sb_dsp.c
sys/pc98/pc98/sound/sb_midi.c
sys/pc98/pc98/sound/sb_mixer.c
sys/pc98/pc98/sound/sequencer.c
sys/pc98/pc98/sound/sound_config.h
sys/pc98/pc98/sound/sound_switch.c
sys/pc98/pc98/sound/soundcard.c
sys/pc98/pc98/sound/sys_timer.c
(10) Merge in PC98 changes:
sys/i386/isa/sound/os.h
(11) Deleted as result of 9. and 10. above:
sys/pc98/pc98/sound/ad1848_mixer.h
sys/pc98/pc98/sound/aedsp16.c
sys/pc98/pc98/sound/coproc.h
sys/pc98/pc98/sound/finetune.h
sys/pc98/pc98/sound/gus_hw.h
sys/pc98/pc98/sound/gus_linearvol.h
sys/pc98/pc98/sound/hex2hex.h
sys/pc98/pc98/sound/mad16.h
sys/pc98/pc98/sound/midi_ctrl.h
sys/pc98/pc98/sound/midi_synth.h
sys/pc98/pc98/sound/opl3.h
sys/pc98/pc98/sound/os.h
sys/pc98/pc98/sound/pas.h
sys/pc98/pc98/sound/sb_mixer.h
sys/pc98/pc98/sound/soundvers.h
sys/pc98/pc98/sound/tuning.h
Submitted by: The FreeBSD(98) Development Team
AHC_FORCE_PIO - This forces the driver to use PIO even on systems that
say they have memory mapped the controller's registers. This
seems to fix Ken Lam's problems. I've also placed this option
in the GENERIC kernel file so that we are guaranteed to install
even on these flakey machines.
AHC_SHARE_SCBS - This option attempts to share the external SCB SRAM on
the 398X controllers allowing a totoll of 255 non-paged SCBs.
This doesn't work quite yet, so this option is mostly here to
help 398X owners to experiment and give me feedback until this
works properly.
bit (0x0008) in the sc driver configuration line. This way it's easy to
boink a generic kernel.
Also, document and place in an opt_ file the #define's for overriding which
serial port is the system console.
Approved by: sos
(1) Bug fix (pass boot drive):
pc98/boot/biosboot/boot2.S
(2) Delete code for unsupported high-resolution modes and move old
Epson notebook code to epsonio.h:
pc98/boot/biosboot/io.c
pc98/i386/vm_machdep.c
pc98/pc98/fd.c
pc98/pc98/pc98.c
pc98/pc98/pc98.h
pc98/pc98/epsonio.h (new)
(3) Change aic driver so that PCMCIA cards (I/O port same as PC/AT)
and PC-9801-100 cards can be selected with a flag in kernel config
file:
pc98/pc98/aic6360.c
pc98/pc98/aic_98.h (new)
(4) Fix wcd entry (it was broken). Delete mcd, it doesn't work on
98. Change aic entry according to above:
pc98/conf/GENERIC98
(5) Move pc98_machdep.c to top of files in pc98/pc98:
pc98/conf/files.pc98
(6) Delete empty lines:
pc98/i386/locore.s
(7) Fix (it didn't work if I586 was specified):
pc98/pc98/clock.c
(8) Staticize:
pc98/pc98/pc98_machdep.c
(9) Enable workaround for Cyrix bug for 5x86 also:
pc98/i386/machdep.c
pc98/i386/trap.c
All the above deletes this file too:
pc98/i386/pmap.c
(phew!)
Submitted by: The FreeBSD(98) Development Team
- use a more accurate and more efficient method of compensating for
overheads. The old method counted too much time against leaf
functions.
- normally use the Pentium timestamp counter if available.
On Pentiums, the times are now accurate to within a couple of cpu
clock cycles per function call in the (unlikely) event that there
are no cache misses in or caused by the profiling code.
- optionally use an arbitrary Pentium event counter if available.
- optionally regress to using the i8254 counter.
- scaled the i8254 counter by a factor of 128. Now the i8254 counters
overflow slightly faster than the TSC counters for a 150MHz Pentium :-)
(after about 16 seconds). This is to avoid fractional overheads.
files.i386:
permon.c temporarily has to be classified as a profiling-routine
because a couple of functions in it may be called from profiling code.
options.i386:
- I586_CTR_GUPROF is currently unused (oops).
- I586_PMC_GUPROF should be something like 0x70000 to enable (but not
use unless prof_machdep.c is changed) support for Pentium event
counters. 7 is a control mode and the counter number 0 is somewhere
in the 0000 bits (see perfmon.h for the encoding).
profile.h:
- added declarations.
- cleaned up separation of user mode declarations.
prof_machdep.c:
Mostly clock-select changes. The default clock can be changed by
editing kmem. There should be a sysctl for this.
subr_prof.c:
- added copyright.
- calibrate overheads for the new method.
- documented new method.
- fixed races and and machine dependencies in start/stop code.
mcount.c:
Use the new overhead compensation method.
gmon.h:
- changed GPROF4 counter type from unsigned to int. Oops, this should
be machine-dependent and/or int32_t.
- reorganized overhead counters.
Submitted by: Pentium event counter changes mostly by wollman
(1) Merged i386/i386/sb.h, deleted pc98/pc98/sb.h.
(2) pc98/conf/GENERIC8 looks more like i386/conf/GENERIC now.
(3) Fixed display bug in pc98/boot/biosboot/io.c.
(4) Prepare to merge memory allocation routines:
pc98/i386/locore.s
pc98/i386/machdep.c
pc98/pc98/pc98_machdep.c
pc98/pc98/pc98_machdep.h
(5) Support new board "C-NET(98)":
pc98/pc98/if_ed98.h
pc98/pc98/if_ed.c
(6) Make sure FPU is recognized for non-Intel CPUs:
pc98/pc98/npx.c
(7) Do not expect bss to be zero-allocated:
pc98/pc98/pc98.c
Submitted by: The FreeBSD(98) Development Team
Also disabled -Wunused. It caused too many warnings even for me.
The sign mismatch warnings should be fixed first. They are more
important and harder to disable (they are controlled by -W, which
controls too many things).
First, change sysinstall and the Makefile rules to not build the kernel
nlist directly into sysinstall now. Instead, spit it out as an ascii
file in /stand and parse it from sysinstall later. This solves the chicken-n-
egg problem of building sysinstall into the fsimage before BOOTMFS is built
and can have its symbols extracted. Now we generate the symbol file in
release.8.
Second, add Poul-Henning's USERCONFIG_BOOT changes. These have two
effects:
1. Userconfig is always entered, rather than only after a -c
(don't scream yet, it's not as bad as it sounds).
2. Userconfig reads a message string which can optionally be
written just past the boot blocks. This string "preloads"
the userconfig input buffer and is parsed as user input.
If the first command is not "USERCONFIG", userconfig will
treat this as an implied "quit" (which is why you don't need
to scream - you never even know you went through userconfig
and back out again if you don't specifically ask for it),
otherwise it will read and execute the following commands
until a "quit" is seen or the end is reached, in which case
the normal userconfig command prompt will then be presented.
How to create your own startup sequences, using any boot.flp image
from the next snap forward (not yet, but soon):
% dd of=/dev/rfd0 seek=1 bs=512 count=1 conv=sync <<WAKKA_WAKKA_DOO
USERCONFIG
irq ed0 10
iomem ed0 0xcc000
disable ed1
quit
WAKKA_WAKKA_DOO
Third, add an intro screen to UserConfig so that users aren't just thrown
into this strange screen if userconfig is auto-launched. The default
boot.flp startup sequence is now, in fact, this:
USERCONFIG
intro
visual
(Since visual never returns, we don't need a following "quit").
Submitted-By: phk & jkh
for headers in the compile directory work unsurprisingly. Without
-I-, the search for "foo.h" begins in the directory of the file
that includes it, and the compile directory is only searched because
`-I.' is in ${INCLUDES}.
Removed -I$S/sys from ${INCLUDES}. It was once necessary to find
things like "param.h" in $S/sys. Now <sys/param.h> is found in $S.
I maintain that it saves more power to simply "hlt" the CPU than to
spend tons of time trying to tell the APM bios to do the same.
In particular if you do it 100 times a second...
bsd.obj.mk. Also, a make target called objwarn checks to see
if ${.OBJDIR} != ${.CURDIR} and ${.OBJDIR} != ${CANONICALOBJDIR}
and outputs a warning. (No warning for the latter if MAKEOBJDIR or MAKEOBJDIRP
REFIX is set). objwarn is called from all targets in bsd.prog.mk, bsd.kmod.mk,
and bsd.lib.mk.
Reviewed by: bde
(1) Add PC98 support to apm_bios.h and ns16550.h, remove pc98/pc98/ic
(2) Move PC98 specific code out of cpufunc.h (to pc98.h)
(3) Let the boot subtrees look more alike
Submitted by: The FreeBSD(98) Development Team
<freebsd98-hackers@jp.freebsd.org>
biosextmem > 65536, but biosextmem is a 16-bit quantity so it is
guaranteed to be < 65536. Related cruft for biosbasemem was
mostly cleaned up in rev.1.26.
It worked because it is spelled correctly in LINT.
Added old obscure syscons options MAXCONS, SLOW_VGA and XT_KEYBOARD.
This file should be sorted both alphabetically and on the module
name by using a consistent prefix for each module, but there is no
consistency in the old options. E.g., MAXCONS is spelled PCVT_NSCREENS
for pcvt.
If you define this, it means your keyboard is actually probable using the
brain-dammaged probe routine in syscons, and if the keyboard is NOT found,
then you don't want syscons to activate itself further.
This makes life sane for those of us who use serial consoles most of the
time and want "the right thing" to happen when we plug a keyboard in.
(1) Remove mk30line (moved to /usr/sbin, but not in our source tree yet)
(2) Delete unneeded (well, harmful now :) code to prohibit #including
of isa_device.h from PC98 sources.
(3) Remove files now equal to their ISA/PC-AT counterparts.
Submitted by: The FreeBSD(98) Development Team
The only excuse this had for becoming misordered was that some drivers
were sorted on the driver name field, but the ffs versus mfs ordering
shows that this is not a consistent order.
The only case that I know of where simple sorting is wrong is for files
that must be compiled without profiling if profiling is configured and
normally otherwise. Then the line with `profiling-routine' must appear
first to get the file compiled with ${PROFILE_C}.
interfaces. This creates two new tables in the net.link.generic branch
of the MIB; one contains (essentially) `ifdata' structures, and the other
contains a blob provided by the interface (and presumably used to
implement link-layer-specific MIB variables). A number of things
have been moved around in the `ifnet' and `ifdata' structures, so
NEW VERSIONS OF ifconfig(8) AND routed(8) ARE REQUIRED. (A simple
recompile is all that's necessary.)
I have a sample program which uses this interface for those interested
in making use of it.
This code applies to several systems with integrated Ethernet
chip, for example from HP or Compaq. It should also support
PCI Ethernet cards based on the AMD PCI Lance chip.
This code has been reviewed (visually) by Paul Richards and
tested (using an ISA Lance board) by Joerg Wunsch.
Since the parameters to nearly each and every single function
had to be changed (generally from unit number to lnc_soft*),
there is some potential for buglets having crept in ...
BEWARE: If you had lnc0 configured to have the ISA probe find
your PCI Lance, then it should now be found by the PCI probe,
and should be automatically configured as pci1 (!!! note the "1").
Reviewed by: paul, joerg
2.1.5-RELEASE). This will obviously be set "for real" closer to the time.
(some ports use this to differentiate the two branches /dev/kmem kernel
architectures. This exact same procedure happened in November last year
for the 2.1 RELEASE as well.)
This stuff should not be too destructive if the IPDIVERT is not compiled in..
be aware that this changes the size of the ip_fw struct
so ipfw needs to be recompiled to use it.. more changes coming to clean this up.
type identification code out of machdep.c and into a new file of its
own. Hopefully other grot can be moved out of machdep.c as well
(by other people) into more descriptively-named files.
based on the HD64570 chip. Both the 1 and 2 port cards is supported.
Line speeds of up to 2Mbps is possible. At this speed about 95% of the
bandwidth is usable with 486DX processors.
The standard FreeBSD sppp code is used for the link level layer. The
default protocol used is PPP. The Cisco HDLC protocol can be used by
adding "link2" to the ifconfig line in /etc/sysconfig or where ever
ifconfig is run.
At the moment only the X.21 interface is tested. The others may need
tweaks to the clock selection code.