controllers. These controllers can be found on add-on PCIe cards, or
on some motherboards to provide the PATA connectivity (e.g. some intel
ICH8-based motherboards).
Thanks to JMicron Technology for providing me documentation and
different sample boards for this work.
preparation for filling the list of changes between NetBSD 3.0 and 4.0
releases. In some obsolete claims like "this is the n-th major releae of
NetBSD for the xyz platform" replace n by XXX.
device controllers, and more specifically raid controllers.
Add a new sensor type, ENVSYS_DRIVE, to report drive status. From OpenBSD.
Add bio and sysmon support to mfi(4). This allow userland to query
status for drives and logical volumes attached to a mfi(4) controller. While
there fix some debug printfs in mfi so they compile.
Add bio(4) to amd64 and i386 GENERIC.
Seems to be quite stable. Some work still left to do.
Please note, that syscalls are not yet MP-safe, because
of the file and vnode subsystems.
Reviewed by: <tech-kern>, <ad>
for one more that is needed, and commented out partial implementations for
the test of the functions. This should stop the re-defined symbol errors
for now.
the comment line had never been removed. Thus adding a
second one was not correct.
Keep the nicer-looking one and remove the newer one. build.sh syspkg
now completes for me.
appropriate TERM value. Otherwise use 'pc3' for local consoles (pccons
or wscons). Based on code from hp300, although that port asks the user
unconditionally.
Fixes PR port-shark/18355.
can load a kernel from its file system.
Also tell the user what command he needs to run from the OpenFirmware shell
to configure automatic booting of the system.
Closes PR port-shark/35576.
so that it can be loaded by the machine's firmware. Put the resulting
image inside the 'installation/instkernel' release subdirectory, as the
installation instructions explain.
Fixes port-shark/35563.
Use x86 native boot for current.
Swap i386 and amd64 in multiarch CD sets (cd1 would overflow by 30M otherwise)
and leave vax out (cd3 would overflow by more than 100M - time for a
multi-cd4 ?)
A bootable sgimips has a volume header prepended, and so is useless for
anything but sgimips. The issue was not found before because the
logic to make an ISO bootable on sgimips was broken, and has been fixed by
tsutsui@ on 2007/03/04.
bsd.subdirs.mk) in distrib/makefile, which builds an iso image for $MACHINE
with binary sets, stored in ${RELEASEDIR}/iso. The image is bootable for:
alpha, amd64, cats, i386, pmax, sgimips, sparc, sparc64, sun3, vax.
mac68k/macppc no there yet because of missing feature in makefs.
call iso_image in distrib/ for iso-image in the top Makefile.
images. amd64 gets a single kernel; i386 images gets 3 kernels:
- netbsd, copy from netbsd-INSTALL_LARGE.gz, loaded by default
- nbsd-l, copy from netbsd-INSTALL_LAPTOP.gz
- nbsd-i, copy from netbsd-INSTALL.gz for those who want the traditionnal
non-ACPI kernel
- drop the bootcd-laptop image
both gets an installcd image, which is the same as bootcd but with the
binary sets in addition to kernels.
GENERIC kernels. If ACPI is an issue on your hardware, 'boot -c' and
'disable acpi' should be a workaround. ACPI-enabled kernels works fine
on pre-acpi hardware.
for amd64:
- add ACPI to INSTALL and GENERIC, remove the *_ACPI config files.
- get rid of the bootfloppy-big.fs boot image, and got to a 3-floppy boot
image
for i386:
- introduce INSTALL_LARGE which has ACPI and some devices with big firmware
- move some devices from INSTALL to INSTALL_LARGE
- Boot floppies still use INSTALL, and bootfloppy-big.fs is still there
(for thoses who want to build el-torito floppy emulation boot CD) and use
INSTALL.
For both, drop the 'iso-image' code in etc/ to make the iso bootable, we'll
use something else to build bootable CDs.
- allow to specify the "instkernel" directory, and allow to put multiple
kernels on the image
- allow to specify the directory where the image will be created
- only use bootxx_cd9660 if it exists
- search for second-stage boot as usr/mdec/boot.${MACHINE} in addition to
usr/mdec/boot
- make 'installboot -e' optional
- use target 'release' or 'iso_image' depending on ${CDRELEASE}
- call some MD targets, which will eventually complete the file list or
make the image bootable
- introduce SGIMIPS_SGIVOL variable which specifies sgivol(8) path
because nbsgivol tool is available only in TOOLDIR for sgimips and
possibly exists in a different directory from default TOOLDIR path
- use fixed (4096) value for SGIVOLHDR.size because default value
taken from <sys/bootblock.h> is 3135 (not multiples of 4) so it
doesn't match 2048bytes/sector CD images
- also pass SGIVOLHDR.size to sgivol(8) on creating volume
- rename raw iso9660 image before creating SGIVOLHDR to avoid
incomplete (non-bootable) image left on failure of sgivol(8)
Problem (i.e. sgimipscd-3.0.2.iso is not bootable) was reported
by Thierry Lacoste on port-sgimips, and fixed images are also
tested by him on IP22 (and by me on IP32).
to make debugging Makefile easier.
For example:
# make RELEASE=3.1 obj
# make RELEASE=3.1 TARGET_CD_IMAGE=sgimipscd fetch
# make RELEASE=3.1 TARGET_CD_IMAGE=sgimipscd
or:
# make RELEASE=current obj
# make RELEASE=current RSYNC_SITE=rsync://rsync.NetBSD.org/NetBSD-daily/HEAD/200702280002Z TARGET_CD_IMAGE=macppccd fetch
# make RELEASE=current TARGET_CD_IMAGE=macppccd
etc.
conflict with C99 functions which are builtins in newer gcc
(actually, the old cabs() is ABI compatible with the new _complex one
on i386, but this is purely accidental)
remove public prototypes and manpages, move the code into a compat
subdirectory as libc does so that binary compatibility is kept
-add a manpage for the isgreater() etc macros, borrowed from FreeBSD
should ease the burden on our users and supply a default system which is
modern and has a full complement of the features they expect (or even some
they don't -- more features don't hurt any one after all).
Suggested by perry@ in <87wt2uxhbx.fsf@snark.piermont.com> and submitted
for discussion to some NetBSD developers, who suggested that rather than
my own idiosyncratic 'll', 'l' was a much better name.
It may prove possible to merge this code with 'ls' in the future.
flag. This ensures that -j<N> isn't accidentally inherited from the
environment, because the "--- foo ---" headers printed with -j<N> would
interfere with parsing the output.
Enabled via per_user_tmp in /etc/rc.conf (default off).
See security(8) and rc.conf(5) for more details.
Lots of input from thorpej@ & christos@, thanks!
* Support for the VIA VT8231 Hardware monitor.
* Power Management Timer available for timecounters in both
VT86C686A and VT8231 (code simplified thanks to dev/ic/acpipmtimer).
* Remove viapm(4) code and manpage (which was a link to viaenv.4 anyway).
From OpenBSD, tested by some users.
- While reading install/12957 it was suggested
(http://mail-index.netbsd.org/port-i386/2006/11/27/0000.html)
that all notes, marked with '[PCMCIA]' should go and be
replaced with a more generic explanation about removable
devices.
- I noticed the HTML output concatenates 'NetBSD' and '4.0',
which is ugly.
- The IP addresses for ftp.NetBSD.org are wrong.
bin/ls sources to libutil:
o Bump libutil minor version number
o Fix uses to include <util.h> to pick up the function definitions
o Fix most uses of flags_to_string() to release the now-malloc()ed result
routing caused by stale route caches (struct route). Route caches
are sprinkled throughout PCBs, the IP fast-forwarding table, and
IP tunnel interfaces (gre, gif, stf).
Stale IPv6 and ISO route caches will be treated by separate patches.
Thank you to Christoph Badura for suggesting the general approach
to invalidating route caches that I take here.
Here are the details:
Add hooks to struct domain for tracking and for invalidating each
domain's route caches: dom_rtcache, dom_rtflush, and dom_rtflushall.
Introduce helper subroutines, rtflush(ro) for invalidating a route
cache, rtflushall(family) for invalidating all route caches in a
routing domain, and rtcache(ro) for notifying the domain of a new
cached route.
Chain together all IPv4 route caches where ro_rt != NULL. Provide
in_rtcache() for adding a route to the chain. Provide in_rtflush()
and in_rtflushall() for invalidating IPv4 route caches. In
in_rtflush(), set ro_rt to NULL, and remove the route from the
chain. In in_rtflushall(), walk the chain and remove every route
cache.
In rtrequest1(), call rtflushall() to invalidate route caches when
a route is added.
In gif(4), discard the workaround for stale caches that involves
expiring them every so often.
Replace the pattern 'RTFREE(ro->ro_rt); ro->ro_rt = NULL;' with a
call to rtflush(ro).
Update ipflow_fastforward() and all other users of route caches so
that they expect a cached route, ro->ro_rt, to turn to NULL.
Take care when moving a 'struct route' to rtflush() the source and
to rtcache() the destination.
In domain initializers, use .dom_xxx tags.
KNF here and there.
- add a ses(4) major number as the MI MAKEDEV tries to create the
nodes. hi elad.
- create audio devices.
- provide mount_kernfs and a dmesg command.
- start sysinst automagically and fix backspace key.
Mostly prompted by David H. Gutteridge on port-hp700.
sysctl.7. Remove the list of MIBs from sysctl.8 so we don't have to
maintain duplicate information, as proposed by YAMAMOTO Takashi on
tech-userlevel. Also remove references to header files from sysctl.8.
The numeric constants remain documented, they are still needed in some
cases. See the discussion on tech-userlevel. ("mib list in sysctl.8")
OK by YAMAMOTO Takashi.
Cleanup dd options accordingly to the following policy:
1) put if, of, bs, conv in this order
2) for reading/writing from/to disk don't use sync
4) reading from tape - use sync
3) writing to tape - use osync
Noted by Don Yuniskis (auryn at gci-net.com) via install/13749. Thanks!
Reviewed by <martin>. Thank you!
Notable changes:
* Fixes PR 34268.
* Separates the code from gif(4) (which is more cleaner).
* Allows the usage of STP (Spanning Tree Protocol).
* Removed EtherIP implementation from gif(4)/tap(4).
Some input from Christos.
updating. Probably to an ACPI kernel that need not fit into an 'emulated floppy'
and a 'legacy' kernel that will fit.
In any case the small/tiny kernels which are really for i386 systems with
< 16MB of memory (some are sized for a 5.25" floppy) don't need to be built.
Remove bootfloppy-small, bootfloppy-tiny, rescue-tiny and bootfloppy-ps2
and associated ramdisks.
Also, add ioctls SIOCGIFADDRPREF/SIOCSIFADDRPREF to get/set preference
numbers for addresses. Make ifconfig(8) set/display preference
numbers.
To activate source-address selection policies in your kernel, add
'options IPSELSRC' to your kernel configuration.
Miscellaneous changes in support of source-address selection:
1 Factor out some common code, producing rt_replace_ifa().
2 Abbreviate a for-loop with TAILQ_FOREACH().
3 Add the predicates on IPv4 addresses IN_LINKLOCAL() and
IN_PRIVATE(), that are true for link-local unicast
(169.254/16) and RFC1918 private addresses, respectively.
Add the predicate IN_ANY_LOCAL() that is true for link-local
unicast and multicast.
4 Add IPv4-specific interface attach/detach routines,
in_domifattach and in_domifdetach, which build #ifdef
IPSELSRC.
See in_getifa(9) for a more thorough description of source-address
selection policy.
({v,}syslog_{r,ss}) and the corresponding openlog_r/setlogmask_r/closelog_r
functions.
This should allow sparc64 to build its ramdiskbin again.
Reviewed by christos@