Michael Neumann [Wed, 31 Dec 2008 13:39:28 +0000 (13:39 +0000)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Michael Neumann [Wed, 31 Dec 2008 13:32:18 +0000 (13:32 +0000)]
Fix typo
Sepherosa Ziehau [Wed, 31 Dec 2008 13:22:17 +0000 (21:22 +0800)]
Unbreak kernel/module building without INVARIANTS
Michael Neumann [Wed, 31 Dec 2008 13:06:40 +0000 (13:06 +0000)]
Merge branches 'master' and 'suser_to_priv'
Conflicts:
sys/netinet/ip_carp.c
sys/platform/pc64/amd64/machdep.c
Simon Schubert [Wed, 31 Dec 2008 12:48:04 +0000 (13:48 +0100)]
Explicitly set a compiler instead of defaulting to CCVER.
Simon Schubert [Wed, 31 Dec 2008 12:15:10 +0000 (13:15 +0100)]
Properly pass WORLD_CCVER through to buildworld.
Simon Schubert [Wed, 31 Dec 2008 11:51:51 +0000 (12:51 +0100)]
Pass HOST_CCVER along.
Sepherosa Ziehau [Mon, 29 Dec 2008 10:51:49 +0000 (18:51 +0800)]
IA_PRF_RTEXISTOK is no longer needed, in_{add,scrub}prefix() does more
than this flag originally targetted.
Sepherosa Ziehau [Sun, 28 Dec 2008 05:31:41 +0000 (13:31 +0800)]
Call if_up(), if in_ifinit() brings interface up (via ifp->if_ioctl).
This is done no matter whether the address assignment fails or not.
This commit is intend to fix following case:
ifconfig iface0 192.168.5.1
ifconfig iface0 down
ifconfig iface0 alias 192.168.6.1
Before this commit, 192.168.5.0/24 prefix route will not be installed.
Sepherosa Ziehau [Sat, 27 Dec 2008 13:13:53 +0000 (21:13 +0800)]
Bring in in_{add,scrub}prefix() from OpenBSD.
These two functions are used to add/delete "prefix route" for
interface addresses.
in_addprefix() allows addresses with same prefix to be added by
checking the prefix's existence before calling rtinit(), if same
prefix exists, it returns silently. Originally rtinit() will fail
in in_ifinit() and the address will not be added. This function
at least makes the result of address assignment consistent in
following two cases:
ifconfig iface1 inet 192.168.5.2
ifconfig iface0 inet 192.168.5.1
Origianlly last command will fail, since the route to 192.168.5.0/24
already exists.
ifconfig iface0 inet 192.168.5.1
ifconfig iface0 down
ifconfig iface1 inet 192.168.5.2
ifconfig iface0 up
However, originally, above commands sequence will successfully add
192.168.5.1 to iface0 ;)
To make in_addprefix() function properly following fix is brought
in from ru@freebsd.org via OpenBSD:
For loopback, set ia_dstaddr instead of ia_ifa.ifa_dstaddr in
in_ifinit()
Following changes are made to the OpenBSD's in_addprefix():
- Don't try to match the prefix against the address to be added.
- Test subnetmask only if the tested address and the to be added
address are not for loopback or point to point interface.
in_scrubprefix() will try to find an address with same prefix
as the to-be-deleted address. If suitable address is found, then
in addition to delete the to-be-deleted address's prefix route,
a new prefix route associated with the suitable address will be
installed.
Following changes are made to OpenBSD's in_scrubprefix():
- Don't try to match the prefix against the address to be deleted.
- Don't even try to add prefix route for an address whose parent
interface is not up yet.
Matthias Schmidt [Tue, 30 Dec 2008 22:00:05 +0000 (23:00 +0100)]
Merge branch 'master' of git://chlamydia.fs.ei.tum.de/dragonfly
Matthias Schmidt [Tue, 30 Dec 2008 21:58:33 +0000 (22:58 +0100)]
Add HAMMER specific subpart file to the installer
Matthias Schmidt [Tue, 30 Dec 2008 21:52:58 +0000 (22:52 +0100)]
Add HAMMER support to the installer
Commit the installer work done at the 25c3 in Berlin. This adds experimental
HAMMER support to the installer. Note: the current version requires a recent
master which is able to boot from HAMMER. I dropped the UFS /boot support
in favour for HAMMER boot support (yes, I know about the issues, but I'm sure
you guys will get them solved :)
Note: This is a first version, so do not blame me if the installer eats up
your hard disk :)
Sascha Wildner [Tue, 30 Dec 2008 17:28:01 +0000 (18:28 +0100)]
Document rpc_{lock,stat}d_flags and nscd_enable.
Sascha Wildner [Tue, 30 Dec 2008 15:35:10 +0000 (16:35 +0100)]
Fix some WARNS6 regression that crept up in the last days.
Sascha Wildner [Tue, 30 Dec 2008 12:13:41 +0000 (13:13 +0100)]
Merge branch 'master' of ssh://swildner@crater.dragonflybsd.org/repository/git/dragonfly
Sascha Wildner [Tue, 30 Dec 2008 12:13:20 +0000 (13:13 +0100)]
Fix WARNS6 regression.
Simon 'corecode' Schubert [Mon, 29 Dec 2008 23:58:00 +0000 (00:58 +0100)]
Allow building of crosstools and world with different compilers.
Matthew Dillon [Mon, 29 Dec 2008 20:24:23 +0000 (12:24 -0800)]
Properly use HAMMER_BUFMASK64 when taking the complement.
Fix an overflow check which ensures that the copied data is within the
aligned 16K buffer returned by hread(). boff was not being taken into
account.
Simon 'corecode' Schubert [Mon, 29 Dec 2008 19:28:57 +0000 (20:28 +0100)]
Fix objdir usage.
Simon 'corecode' Schubert [Mon, 29 Dec 2008 18:43:17 +0000 (19:43 +0100)]
Add more bits for native hammer boot support.
Simon 'corecode' Schubert [Mon, 29 Dec 2008 18:42:59 +0000 (19:42 +0100)]
Remove outdated conditional.
Simon 'corecode' Schubert [Mon, 29 Dec 2008 18:40:45 +0000 (19:40 +0100)]
Fix hammer read and add debug info.
Simon 'corecode' Schubert [Sun, 28 Dec 2008 14:09:22 +0000 (15:09 +0100)]
Don't pass assembler flags to the compiler.
Simon 'corecode' Schubert [Sun, 28 Dec 2008 13:37:34 +0000 (14:37 +0100)]
Umass needs cam.
Simon 'corecode' Schubert [Sun, 28 Dec 2008 13:24:07 +0000 (14:24 +0100)]
Remove a process from the zombie list before starting to destruct its data structures.
Sascha Wildner [Mon, 29 Dec 2008 18:35:25 +0000 (19:35 +0100)]
Remove the workaround for the wrong autosizing calculation in disklabel(8).
Sascha Wildner [Mon, 29 Dec 2008 18:33:51 +0000 (19:33 +0100)]
Merge branch 'master' of ssh://swildner@crater.dragonflybsd.org/repository/git/dragonfly
Sascha Wildner [Mon, 29 Dec 2008 18:33:17 +0000 (19:33 +0100)]
Improve the logic for autosizing partitions.
This fixes the error with '*' for offset and size when the first
partition didn't start at 0.
Taken-from: FreeBSD
Hasso Tepper [Mon, 29 Dec 2008 15:05:13 +0000 (17:05 +0200)]
Increase ARG_MAX to 262144.
Sepherosa Ziehau [Mon, 29 Dec 2008 14:20:31 +0000 (22:20 +0800)]
Update jme(4) manpage
Sepherosa Ziehau [Mon, 29 Dec 2008 14:15:45 +0000 (22:15 +0800)]
Allow packet count based RX/TX interrupt coalescing to be disabled.
This is helpful if large amount of small packets are injected into or
bumped from the NIC; pure timeout based RX/TX interrupt coalescing is
more effective under this situation.
Sepherosa Ziehau [Mon, 29 Dec 2008 14:15:26 +0000 (22:15 +0800)]
Typo
Sepherosa Ziehau [Mon, 29 Dec 2008 12:08:10 +0000 (20:08 +0800)]
Add driver for Attansic PHYs.
Obtained-from: FreeBSD (yongari@freebsd.org)
Sepherosa Ziehau [Mon, 29 Dec 2008 11:17:35 +0000 (19:17 +0800)]
regen
Sepherosa Ziehau [Mon, 29 Dec 2008 11:17:15 +0000 (19:17 +0800)]
Add Atheos Attansic PHY IDs
YONETANI Tomokazu [Mon, 29 Dec 2008 11:56:17 +0000 (20:56 +0900)]
One more remainder of the post-SoC amd64 to fix VKERNEL build.
Sepherosa Ziehau [Mon, 29 Dec 2008 11:05:26 +0000 (19:05 +0800)]
Include necessary header file for SYSCTL_NODE
Matthew Dillon [Sun, 28 Dec 2008 23:35:37 +0000 (15:35 -0800)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into devel
Matthew Dillon [Sun, 28 Dec 2008 23:29:48 +0000 (15:29 -0800)]
HAMMER performance and kernel memory issues.
* The flusher could stall-out due to deadlocks under certain heavy load
situations (blogbench -i1000 -o), causing the number of hammer inodes
to increase slowly until the kernel runs out of memory.
Fix this by detecting the condition and stalling the threads
causing the deadlocks instead for a short while. Any user thread
which blocked performing B-Tree node I/O is a candidate.
* Improve the stability of the inode reclaim heuristic which slows
down the creation of new inodes when too many disconnected hammer
inodes are present.
* Remove vfs.hammer.limit_iqueued - this sysctl is no longer used.
Reported-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx>
Matthias Schmidt [Sun, 28 Dec 2008 11:13:36 +0000 (11:13 +0000)]
Add vesa(4) which is a link for vga(4)
If someone wants to set VESA modes, it would be natural to search
for a vesa man page.
Matthew Dillon [Sun, 28 Dec 2008 04:29:11 +0000 (20:29 -0800)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into devel
Matthew Dillon [Sun, 28 Dec 2008 04:28:30 +0000 (20:28 -0800)]
amd64 work: fp_write() takes address of ssize_t, not address of int.
Peter Avalos [Sat, 27 Dec 2008 17:32:38 +0000 (12:32 -0500)]
Nsswitch now supports caching. See ncsd(8) for details.
Peter Avalos [Sat, 27 Dec 2008 18:49:10 +0000 (13:49 -0500)]
Add flopen(3) which opens and locks a file.
Obtained-from: FreeBSD
Peter Avalos [Sun, 21 Dec 2008 08:36:37 +0000 (03:36 -0500)]
Use BIND's resolver in libc.
This also syncs some code from FreeBSD bringing along bug fixes and more
thread-safe routines.
Obtained-from: FreeBSD
Peter Avalos [Fri, 26 Dec 2008 03:37:08 +0000 (22:37 -0500)]
Add the management part of address selection policy described in RFC
3484.
Obtained-from: KAME via FreeBSD
Reviewed-by: sephe & hasso
Peter Avalos [Mon, 22 Dec 2008 02:24:07 +0000 (21:24 -0500)]
Add nsswitch support.
The nsswitch.conf(5) manual page has a description of nsswitch.
Curiously, we already had this manual page, even though we didn't
support it.
/etc/host.conf is removed from src/, but if host.conf exists and
nsswitch.conf does not, nsswitch.conf will be created using its
contents.
Included in this commit is a framework for nsswitch caching, nscd(8),
but it relies on a few upcoming changes to our libc before it will work.
For now, it's turned off.
Also this commit includes hesiod support which is not compiled by
default. Add WANT_HESIOD=true to make.conf to get it working.
Obtained-from: FreeBSD
Peter Avalos [Sun, 14 Dec 2008 18:17:36 +0000 (13:17 -0500)]
Import FreeBSD's libypclnt.
This centralizes NIS client code that is duplicated throughout the tree.
Peter Avalos [Mon, 15 Dec 2008 22:04:23 +0000 (17:04 -0500)]
Bring in a transport-independent RPC (TI-RPC).
-rpcbind replaces portmap which is more secure.
-Essentially this is the same thing FreeBSD did over 7 years ago (svn
revision #74462).
-This also updates utilities and the kernel build associated with this
change.
Sepherosa Ziehau [Sun, 28 Dec 2008 03:37:49 +0000 (11:37 +0800)]
Add PCICAP_{ID,NEXTPTR} to avoid using magic number
Obtained-from: FreeBSD
Sepherosa Ziehau [Sun, 28 Dec 2008 03:24:30 +0000 (11:24 +0800)]
Put last_td accessing back into INVARIANTS
Sepherosa Ziehau [Sun, 28 Dec 2008 02:55:09 +0000 (10:55 +0800)]
Use pci_is_pcie()
Sepherosa Ziehau [Sun, 28 Dec 2008 02:42:49 +0000 (10:42 +0800)]
Save vital product data capability ptr.
Matthew Dillon [Sun, 28 Dec 2008 03:23:45 +0000 (19:23 -0800)]
Remove KTR hacks, pass va_list through as needed.
Matthew Dillon [Sun, 28 Dec 2008 03:18:21 +0000 (19:18 -0800)]
Add db_vprintf()
Matthew Dillon [Sat, 27 Dec 2008 23:37:09 +0000 (15:37 -0800)]
Allow the values for environment variables specified with -e to be
quoted. Note that shells may strip the quotes so using this feature
may also require the use of backslashes.
Matthew Dillon [Sat, 27 Dec 2008 23:14:01 +0000 (15:14 -0800)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into devel
Matthew Dillon [Sat, 27 Dec 2008 23:10:55 +0000 (15:10 -0800)]
Deal with the netgraph NULL function dereference on shutdown()
vulnerability. Use a solution similar to FreeBSD's.
Simon 'corecode' Schubert [Sat, 27 Dec 2008 23:09:54 +0000 (00:09 +0100)]
Initialize variable we are going to use.
Simon 'corecode' Schubert [Sat, 27 Dec 2008 20:06:46 +0000 (21:06 +0100)]
Fix amd64 trap handling.
Submitted-by: dillon@
Jordan Gordeev [Sat, 27 Dec 2008 16:50:04 +0000 (17:50 +0100)]
Bring in the remainder of the post-SoC amd64 enchilada.
Minor-tweaks: corecode@
Via: corecode@
Simon 'corecode' Schubert [Sat, 27 Dec 2008 13:27:52 +0000 (14:27 +0100)]
Reduce sleep time for ACPI battery attach.
This makes my laptop boot in acceptable time. Battery gets
detected anyways.
Sepherosa Ziehau [Sat, 27 Dec 2008 07:55:04 +0000 (15:55 +0800)]
Factor out 'curnetport'
This macro returns the current thread's msgport, if the current thread
is a network protocol thread, else the current CPU's netisr msgport is
returned; the latter case should be fixed.
Sepherosa Ziehau [Sat, 27 Dec 2008 07:18:25 +0000 (15:18 +0800)]
TCP socket's cached route entry could only be accessed on its owner CPU.
If not, print backtrace or panic the system based on
route_assert_owner_access; this probably will not happen.
Sepherosa Ziehau [Sat, 27 Dec 2008 07:04:17 +0000 (15:04 +0800)]
Use backtrace() instead of db_print_backtrace()
Sepherosa Ziehau [Sat, 27 Dec 2008 06:22:36 +0000 (14:22 +0800)]
Use priority message for ipfw(4) callout
Sepherosa Ziehau [Sat, 27 Dec 2008 06:19:25 +0000 (14:19 +0800)]
M_INTWAIT -> M_WAITOK
Sepherosa Ziehau [Sat, 27 Dec 2008 06:10:01 +0000 (14:10 +0800)]
Make sure to read the last byte of EEPROM descriptor. Previously
the last byte of the ethernet address was not read which in turn
resulted in getting 5 out of the 6 bytes of ethernet address and
always returned ENOENT.
Obtained-from: FreeBSD
Sepherosa Ziehau [Fri, 26 Dec 2008 12:40:34 +0000 (20:40 +0800)]
We need to restore unallocated_objects if objcache alloc fails.
Reviewed-by: dillon@
Sascha Wildner [Fri, 26 Dec 2008 23:26:37 +0000 (00:26 +0100)]
Merge branch 'master' of ssh://swildner@crater.dragonflybsd.org/repository/git/dragonfly
Sascha Wildner [Fri, 26 Dec 2008 23:26:00 +0000 (00:26 +0100)]
Constify iicbus_write()'s buf argument.
Matthew Dillon [Fri, 26 Dec 2008 19:45:42 +0000 (11:45 -0800)]
The blockmap layer1/2 CRCs were being checked without the blockmap lock
being held. It was possible for the check to occur while another thread
was blocked with the layer half-modified, resulting in an assertion but
NO on-media corruption.
Fix the issue in an optimal manner by rechecking the CRC with the blockmap
locked when the first check fails. Only assert if the second check fails.
Reported-by: Matthias Schmidt <matthias@crater.dragonflybsd.org>
Matthew Dillon [Fri, 26 Dec 2008 19:14:48 +0000 (11:14 -0800)]
Add CRC checking to the blockmap directive. Document the blockmap directive.
Matthew Dillon [Fri, 26 Dec 2008 18:51:57 +0000 (10:51 -0800)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into devel
Matthew Dillon [Fri, 26 Dec 2008 18:50:44 +0000 (10:50 -0800)]
Improve a diagnostic message.
Matthew Dillon [Fri, 26 Dec 2008 18:41:37 +0000 (10:41 -0800)]
Use tsleep in the low level delay functions called when resetting
nata ports.
Submitted-by: Dmitry Komissaroff <dxi@mail.ru>
Sascha Wildner [Fri, 26 Dec 2008 16:53:07 +0000 (17:53 +0100)]
Adjust kern.bootfile to make savecore(8) work.
Sascha Wildner [Fri, 26 Dec 2008 16:39:13 +0000 (17:39 +0100)]
make makedb is already run as the last step of 'installworld'.
Sepherosa Ziehau [Fri, 26 Dec 2008 11:14:19 +0000 (19:14 +0800)]
Rework carp(4) IPv4 support.
Generic layer changes:
- Pass more detailed information to ifaddr_event handler.
o The ifaddr which triggers the event is passed in
o The action (add/delete/change) performed upon the ifaddr is
passed in
- Add ifa_prflags field in ifaddr_container. This field should
be used to hold protocol specific flags. For inet addresses,
IA_PRF_RTEXISTOK is defined to ignore rtinit() EEXIST error in
in_ifinit().
carp(4) changes:
- Add virtual address struct, which holds corresponding carp(4)
inet address and backing address of a "real" interface (backing
interface).
- The list holding virtual address struct is sorted. This is
mainly used to fix the bug in following case:
host1:
ifconfig carp0 192.168.5.1
ifconfig carp0 alias 192.168.5.2
host2:
ifconfig carp0 192.168.5.2
ifconfig carp0 alias 192.168.5.1
Before this change, the inet addresses sha1 calculated for these
two host will be different, thus CARP fails.
Based-on: OpenBSD
- Allow inet addresses to be added to carp(4) interface, even if
no backing interface could be found or the backing interface is
not running.
- Don't abuse IFF_UP, which is administrative flag; use IFF_RUNNING
instead.
- Factor out carp_stop().
- Handle ifaddr_event; most of the carp(4) inet address configuration
happens in this event handler. In carp_ioctl(), we just mark the
carp(4) interface IFF_UP|IFF_RUNNING and set IA_PRF_RTEXISTOK on
the inet address.
- Fix the ifdetach_event handler:
o Don't sit on the branch while we are sawing it off.
o We always need to leave the joined multicast group.
- Free carp_if to the proper kmalloc pool.
- Simplify the carp_if struct; except the TAILQ_HEAD, rest of the
fields are not used; nuke them.
- Use 'void *' as ifnet.if_carp's type. This could ease upcoming
carp(4) MPSAFE work.
- M_NOWAIT -> MB_DONTWAIT
- Throw in assertions
- Cleanup:
o Nuke SC2IFP
o Nuke carp_softc.sc_ifp compat shim
o Constify function parameters
o ...
Matthias Schmidt [Fri, 26 Dec 2008 12:16:32 +0000 (13:16 +0100)]
Fix bug introduced in last grep commit
Sepherosa Ziehau [Thu, 25 Dec 2008 15:13:34 +0000 (23:13 +0800)]
Use 16QW as RX FIFO threshold to improve PCIe compatibility
Sepherosa Ziehau [Thu, 25 Dec 2008 14:45:33 +0000 (22:45 +0800)]
Pull ether_input_chain_init() and ether_input_dispatch() out of
the RX ring loop
Sepherosa Ziehau [Thu, 25 Dec 2008 14:09:26 +0000 (22:09 +0800)]
Bring in RSS (receive side scaling) support, i.e. multiple RX queues
Sepherosa Ziehau [Thu, 25 Dec 2008 10:56:51 +0000 (18:56 +0800)]
First step toward multiple RX ring support
Matthew Dillon [Fri, 26 Dec 2008 05:22:55 +0000 (21:22 -0800)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into devel
Matthew Dillon [Fri, 26 Dec 2008 04:22:34 +0000 (20:22 -0800)]
Change the default for vm.burst_fault to 1, no problems were revealed from
testing.
Sascha Wildner [Thu, 25 Dec 2008 01:04:19 +0000 (02:04 +0100)]
Bring in two updates from FreeBSD.
r1.14 - newbus will zero softc, so no need to duplicate the zeroing here.
r1.18 - More properly cleanup the iicbus child when deleting it.[1]
[1] Tested-by: Vincent Stemen <vince.dragonfly@hightek.org>
Sascha Wildner [Wed, 24 Dec 2008 11:17:21 +0000 (12:17 +0100)]
Remove some more dead initialization.
Found-by: LLVM/Clang Static Analyzer
Sascha Wildner [Wed, 24 Dec 2008 10:25:14 +0000 (11:25 +0100)]
Match acpi_cpu_add_child()'s prototype with that of the corresponding
bus method.
Submitted-by: Dmitry Komissaroff <aunoor@gmail.com>
Sascha Wildner [Tue, 23 Dec 2008 22:25:36 +0000 (23:25 +0100)]
Update the whatis database for /usr/pkg/man and /usr/local/man, too.
Sascha Wildner [Tue, 23 Dec 2008 12:30:38 +0000 (13:30 +0100)]
Oops, remove '*'.
Sascha Wildner [Tue, 23 Dec 2008 12:13:13 +0000 (13:13 +0100)]
Adjust some more stuff for the CVS->git switch.
Sascha Wildner [Tue, 23 Dec 2008 09:28:18 +0000 (10:28 +0100)]
Meh, fix description.
Sascha Wildner [Tue, 23 Dec 2008 09:20:57 +0000 (10:20 +0100)]
Add support for the FC929X in mpt(4).
Submitted-by: Ben Matthews <matthb2@scorec.rpi.edu>
Dragonfly-bug: <https://bugs.dragonflybsd.org/issue1186>
Sascha Wildner [Tue, 23 Dec 2008 01:30:42 +0000 (02:30 +0100)]
No need to care about CVS/ directories anymore.
Sepherosa Ziehau [Mon, 22 Dec 2008 13:27:47 +0000 (21:27 +0800)]
- Use ether_input_chain on RX path
- Process polling count on RX path
Sepherosa Ziehau [Sun, 21 Dec 2008 11:37:07 +0000 (19:37 +0800)]
Remove unused macros
Sepherosa Ziehau [Sun, 21 Dec 2008 11:19:53 +0000 (19:19 +0800)]
Fold jme_ring_data and jme_chain_data, so RX ring/descs stuffs and
TX ring/descs stuffs could be grouped together. This eases multi
RX queue support.
Sascha Wildner [Mon, 22 Dec 2008 11:41:46 +0000 (12:41 +0100)]
WARNS is set in usr.bin/Makefile.inc.