dragonfly.git
17 years agoAvoid duplicated ifname in debug message.
Sepherosa Ziehau [Mon, 13 Nov 2006 12:27:23 +0000 (12:27 +0000)]
Avoid duplicated ifname in debug message.

Obtained-from: FreeBSD (sam@freebsd.org)

17 years agoOur errno is in section 2, so patch the vendor provided man page.
Peter Avalos [Mon, 13 Nov 2006 05:42:42 +0000 (05:42 +0000)]
Our errno is in section 2, so patch the vendor provided man page.

Thanks again to swildner for the manpage markup review.

17 years agoAdd Belarus locales (identical with FreeBSD's).
Sascha Wildner [Sun, 12 Nov 2006 21:15:46 +0000 (21:15 +0000)]
Add Belarus locales (identical with FreeBSD's).

Submitted-by: Yury Tarasievich <yury.tarasievich@gmail.com>
The following modifications were done by me:

* Fix a comment in be_BY.CP1131.src (silences a preprocessor warning).

* Add a definition for the panic key to the keymap files (as all our
  keymaps have).

* Use FreeBSD's rev. 1.2 of share/mklocale/be_BY.CP1131.src (comments
  correction).

17 years agoRename boot_i386.8 to boot_pc32.8 by repo-copy in order to enable the
Sascha Wildner [Sun, 12 Nov 2006 18:15:11 +0000 (18:15 +0000)]
Rename boot_i386.8 to boot_pc32.8 by repo-copy in order to enable the
creation of the boot.8 MLINK again.

Remove boot_i386.8 with 'make upgrade'.

17 years agoAdd a check for installworld (similar to the buildworld check) to ensure
Sascha Wildner [Sun, 12 Nov 2006 13:20:41 +0000 (13:20 +0000)]
Add a check for installworld (similar to the buildworld check) to ensure
that MACHINE is set to 'pc32' before installing world.

Reported-by: Thomas Schlesinger, Rumko and several other people
17 years agoMerge from vendor branch FILE:
Peter Avalos [Sun, 12 Nov 2006 04:51:56 +0000 (04:51 +0000)]
Merge from vendor branch FILE:
Add a libmagic.3 manual page.

Thank you to swildner for the implementation of pulling VERSION from
config.h.

17 years agoAdd a libmagic.3 manual page.
Peter Avalos [Sun, 12 Nov 2006 04:51:56 +0000 (04:51 +0000)]
Add a libmagic.3 manual page.

Thank you to swildner for the implementation of pulling VERSION from
config.h.

17 years agoAdd a libmagic.3 manual page.
Peter Avalos [Sun, 12 Nov 2006 04:51:56 +0000 (04:51 +0000)]
Add a libmagic.3 manual page.

Thank you to swildner for the implementation of pulling VERSION from
config.h.

17 years agoFix warning.
Sascha Wildner [Sun, 12 Nov 2006 00:51:47 +0000 (00:51 +0000)]
Fix warning.

17 years agoRemove files not in the new version.
Peter Avalos [Sat, 11 Nov 2006 22:10:35 +0000 (22:10 +0000)]
Remove files not in the new version.

17 years agoUpgrade to file-4.18.
Peter Avalos [Sat, 11 Nov 2006 22:04:52 +0000 (22:04 +0000)]
Upgrade to file-4.18.

17 years agoMerge from vendor branch FILE:
Peter Avalos [Sat, 11 Nov 2006 22:04:52 +0000 (22:04 +0000)]
Merge from vendor branch FILE:
Upgrade to file-4.18.

17 years agoUpgrade to file-4.18.
Peter Avalos [Sat, 11 Nov 2006 22:04:52 +0000 (22:04 +0000)]
Upgrade to file-4.18.

17 years agoTypo from previous commit (forgot the trailing */).
Peter Avalos [Sat, 11 Nov 2006 21:56:35 +0000 (21:56 +0000)]
Typo from previous commit (forgot the trailing */).

17 years agoRevert the previous commit in libmagic to make both libmagic and file(1)
Peter Avalos [Sat, 11 Nov 2006 21:52:12 +0000 (21:52 +0000)]
Revert the previous commit in libmagic to make both libmagic and file(1)
use the config.h in lib/libmagic so we don't have multiple copies of the
same file in the src tree.  Having file(1) rely on files in libmagic is
slightly more logical than the previous behavior.

17 years agoRevert the previous commit in libmagic to make both libmagic and file(1)
Peter Avalos [Sat, 11 Nov 2006 21:41:18 +0000 (21:41 +0000)]
Revert the previous commit in libmagic to make both libmagic and file(1)
use the config.h in lib/libmagic so we don't have multiple copies of the
same file in the src tree.  Having file(1) rely on files in libmagic is
slightly more logical than the previous behavior.

17 years agoFix another typo.
Sascha Wildner [Sat, 11 Nov 2006 21:19:02 +0000 (21:19 +0000)]
Fix another typo.

Noticed-by: Trevor Kendall <trevorjkendall@gmail.com>
17 years agoRemove /usr/include/machine/dvcfg.h with 'make upgrade'.
Sascha Wildner [Sat, 11 Nov 2006 20:18:37 +0000 (20:18 +0000)]
Remove /usr/include/machine/dvcfg.h with 'make upgrade'.

17 years agoCheck for subdirectories for both the platform architecture and the
Matthew Dillon [Sat, 11 Nov 2006 20:02:36 +0000 (20:02 +0000)]
Check for subdirectories for both the platform architecture and the
cpu architecture.

17 years agoEnable the building of boot0cfg for pc32.
Matthew Dillon [Sat, 11 Nov 2006 20:01:31 +0000 (20:01 +0000)]
Enable the building of boot0cfg for pc32.

17 years agoFix path.
Sascha Wildner [Sat, 11 Nov 2006 19:38:41 +0000 (19:38 +0000)]
Fix path.

17 years agoTurn off splitting in the AUTHORS section.
Sascha Wildner [Sat, 11 Nov 2006 18:50:04 +0000 (18:50 +0000)]
Turn off splitting in the AUTHORS section.

17 years agoFix typo.
Sascha Wildner [Sat, 11 Nov 2006 17:39:44 +0000 (17:39 +0000)]
Fix typo.

17 years agoTurn off splitting in the AUTHORS section.
Sascha Wildner [Sat, 11 Nov 2006 17:26:48 +0000 (17:26 +0000)]
Turn off splitting in the AUTHORS section.

17 years agoAdd support for SIGINFO.
Victor Balada Diaz [Sat, 11 Nov 2006 12:11:25 +0000 (12:11 +0000)]
Add support for SIGINFO.

Submitted-By: Trevor Kendall <trevorjkendall@gmail.com>
17 years agoAdd support for SIGINFO.
Victor Balada Diaz [Sat, 11 Nov 2006 12:05:36 +0000 (12:05 +0000)]
Add support for SIGINFO.

Submitted-By: Trevor Kendall <trevorjkendall@gmail.com>
17 years agoGrab config.h from usr.bin/file/ instead of having 2 identical copies in
Peter Avalos [Fri, 10 Nov 2006 22:16:06 +0000 (22:16 +0000)]
Grab config.h from usr.bin/file/ instead of having 2 identical copies in
the src tree.

17 years agoFix typos.
Peter Avalos [Thu, 9 Nov 2006 19:02:11 +0000 (19:02 +0000)]
Fix typos.

17 years agoRemove lukemftpd from our source tree as discussed on users@:
Peter Avalos [Thu, 9 Nov 2006 18:44:52 +0000 (18:44 +0000)]
Remove lukemftpd from our source tree as discussed on users@:

http://leaf.dragonflybsd.org/mailarchive/users/2006-11/msg00026.html

This is still available from pkgsrc.

17 years agobuildworld depends on hw.machine exported from the kernel being correct.
Matthew Dillon [Thu, 9 Nov 2006 17:16:56 +0000 (17:16 +0000)]
buildworld depends on hw.machine exported from the kernel being correct.
This designation has recently changed from i386 to pc32.  Add a check
to buildworld to report the problem and to tell the user how to fix it.

Reported-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx>
17 years agoAdjust for symbol name changes.
Matthew Dillon [Thu, 9 Nov 2006 16:52:41 +0000 (16:52 +0000)]
Adjust for symbol name changes.

Reported-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx>
17 years agoUpdate to the latest version and name (tnftp).
Peter Avalos [Wed, 8 Nov 2006 21:54:52 +0000 (21:54 +0000)]
Update to the latest version and name (tnftp).

17 years agoMerge from vendor branch TNFTP:
Peter Avalos [Wed, 8 Nov 2006 21:21:34 +0000 (21:21 +0000)]
Merge from vendor branch TNFTP:
Import of NetBSD's ftp client under its new name (tnftp)

17 years agoImport of NetBSD's ftp client under its new name (tnftp)
Peter Avalos [Wed, 8 Nov 2006 21:21:34 +0000 (21:21 +0000)]
Import of NetBSD's ftp client under its new name (tnftp)

17 years agoAdd a missing #undef to properly compile atomic.c functions into the
Matthew Dillon [Wed, 8 Nov 2006 20:59:52 +0000 (20:59 +0000)]
Add a missing #undef to properly compile atomic.c functions into the
kernel so modules can access them.

17 years agobmake uses /usr/share/mk/sys.mk, so we cannot require that MACHINE_CPU be
Matthew Dillon [Wed, 8 Nov 2006 20:43:31 +0000 (20:43 +0000)]
bmake uses /usr/share/mk/sys.mk, so we cannot require that MACHINE_CPU be
defined by the make program.

17 years agoGet the MI portions of VKERNEL to build, start linking it against libc.
Matthew Dillon [Wed, 8 Nov 2006 16:40:00 +0000 (16:40 +0000)]
Get the MI portions of VKERNEL to build, start linking it against libc.

17 years agoMove the Maxmem extern to systm.h
Matthew Dillon [Wed, 8 Nov 2006 16:38:47 +0000 (16:38 +0000)]
Move the Maxmem extern to systm.h

17 years agoAdd patch from FreeBSD to fix an infinite loop described at:
Peter Avalos [Wed, 8 Nov 2006 16:27:42 +0000 (16:27 +0000)]
Add patch from FreeBSD to fix an infinite loop described at:

http://security.FreeBSD.org/advisories/FreeBSD-SA-06:24.libarchive.asc

17 years agoSync zoneinfo database with tzdata2006o from elsie.
Sascha Wildner [Wed, 8 Nov 2006 13:46:33 +0000 (13:46 +0000)]
Sync zoneinfo database with tzdata2006o from elsie.

antarctica:     8.2 -> 8.3
northamerica:   8.9 -> 8.10
southamerica:   8.5 -> 8.6

From Paul Eggert's comments:

* Changes affecting current and future time stamps.

  Cuba has ended its three years of permanent DST.
  (Thanks to Jesper Norgaard Welen for this.)

* Changes affecting past time stamps.

  Many transitions in Chile from 1918 through 1998 have been updated
  to reflect <http://www.horaoficial.cl/horaof.htm>.  (Thanks to
  Jesper Norgaard Welen for this.)  This also affects Palmer base
  in Antarctica.  I also updated some incorrect rules for use of
  Argentina daylight saving rules at Palmer before 1982.

* Changes affecting commentary only.

  The URLs for Paraguay's daylight saving decrees have been updated.
  (Thanks to Jesper Norgaard Welen and Carlos Raul Perasso for this.)

17 years agoMore Machine-dependant/Machine-independant code and header file separation.
Matthew Dillon [Tue, 7 Nov 2006 20:48:15 +0000 (20:48 +0000)]
More Machine-dependant/Machine-independant code and header file separation.
Numerous machine interfaces have MI APIs and should be declared in MI headers
even though the routines are defined in MD sources.

* Improve rdtsc()'s API so it can be used in MI code.
* Add an explicit enable in machine/${MACHINE}/Makefile.inc for syscons/apm.
* Abstract <machine/reg.h> and provide a MI API for it via <sys/reg.h>.
* Move additional MI API calls from <machine/md_var.h> to <sys/systm.h>.

17 years agoMove <machine/dvcfg.h> to the one device that actually uses it, remove
Matthew Dillon [Tue, 7 Nov 2006 19:56:27 +0000 (19:56 +0000)]
Move <machine/dvcfg.h> to the one device that actually uses it, remove
other inclusions of dvcfg.h that are not used.

Give each platform architecture a "Makefile.inc" file which the build
system can use to determine device support when building devices.

17 years agoMove <machine/ccbque.h> to <sys/ccbque.h>. ccbque.h is not a
Matthew Dillon [Tue, 7 Nov 2006 19:23:54 +0000 (19:23 +0000)]
Move <machine/ccbque.h> to <sys/ccbque.h>.  ccbque.h is not a
machine-specific header file.

17 years agoRemove system dependancies on <machine/ipl.h>. Only architecture files
Matthew Dillon [Tue, 7 Nov 2006 18:50:07 +0000 (18:50 +0000)]
Remove system dependancies on <machine/ipl.h>.  Only architecture files
need it now.  SWI_* defines moved from the MD <machine/ipl.h> to the
MI <sys/interrupt.h> directory.

17 years agoMisc cleanups and CVS surgery. Move a number of header and source files
Matthew Dillon [Tue, 7 Nov 2006 17:51:24 +0000 (17:51 +0000)]
Misc cleanups and CVS surgery.  Move a number of header and source files
from machine/pc32 to cpu/i386 as part of the ongoing architectural separation
work and do a bit of cleanup.

17 years agoMajor kernel build infrastructure changes, part 2/2 (user).
Matthew Dillon [Tue, 7 Nov 2006 06:57:02 +0000 (06:57 +0000)]
Major kernel build infrastructure changes, part 2/2 (user).

These changes are primarily designed to create a 2-layer machine and cpu
build hierarchy in order to support virtual kernel builds in the near term
and future porting efforts in the long term.

* The make program now pulls MACHINE, MACHINE_ARCH, and MACHINE_CPU from
  the kernel hw.machine, hw.machine_arch, and hw.machine_cpu sysctl
  variables, unless overridden by environment variables.

* The config program now generates additional softlinks in the kernel build
  directory:

  machine points to the platform architecture header files
  machine_base points to the baes of the platform architecture directory.
  cpu points to the cpu architecture header files
  cpu_base points to the base of the cpu architecture directory

  Additionally, the config program generates forwarding header files as
  includes/machine/*.h.  Any cpu architecture header files that are not
  overridden by the platform architecture are generated in this directory.

  The kernel build's Makefile adjusts the -I paths to effectively merge
  machine/ and includes/machine/, presenting a uniform <machine/*.h>
  include file architecture to the kernel build.

  The kernel build's Makefile now automatically exports MACHINE and
  MACHINE_ARCH as environment variables.

  The kernel build's Makefile now makes opt_*, use_*, and IF header files
  directly available to the module build subsystem so the module build
  subsystem does not have to generate them in each module subdirectory.

* Kernel configuration files now require both a 'machine' and a 'machine_arch'
  directive.  Typically:

  machine pc32 (subject to change)
  machine_arch i386

* /usr/include/cpu has been added to augment /usr/include/machine.  The
  buildworld infrastructure also automatically merges any <cpu/*.h> header
  files that were not overridden by the <machine/*.h> header files into
  /usr/include/machine.

  Note that direct access to /usr/include/cpu is not recommended.

* A number of weird cases that generate extranious 'machine' softlinks
  (for <machine/*.h> header access) have been removed.

* The MACHINE_ARCH default to i386 has been removed.  If the make program
  does not define the MACHINE_ environment and sys.mk is included, sys.mk
  will now fail with an error.

* cpdup has been added to the bootstrap tools.

17 years agoMajor kernel build infrastructure changes, part 1/2 (sys).
Matthew Dillon [Tue, 7 Nov 2006 06:43:25 +0000 (06:43 +0000)]
Major kernel build infrastructure changes, part 1/2 (sys).

These changes are primarily designed to create a 2-layer machine and cpu
build hierarchy in order to support virtual kernel builds in the near term
and future porting efforts in the long term.

* Split arch/ into a set of platform architectures under machine/ and a
  set of cpu architectures under cpu/.  All platform and cpu header files
  will be accessible via <machine/*.h>.  Platform header files may override
  cpu header files (the platform header file then typically #include's the
  cpu header file).

* Any cpu header files that are not overridden will be copied directly
  into /usr/include/machine/, allowing the platform to omit those header
  files (not have to create degenerate forwarding header files).

* All source files access platform and cpu architecture files via the
  <machine/*.h> path.  The <cpu/*.h> path should only be used by
  platform header files when including the lower level cpu header files.

* Require both the 'machine' and the 'machine_arch' directives in the
  kernel config file.

* When building modules in the presence of a kernel config, use the IF
  files, use*.h files, and opt*.h files provided by the kernel config
  and do not generate them in each module's object directory.  This
  streamlines the module build considerably.

17 years agotest 5
Matthew Dillon [Sun, 5 Nov 2006 21:49:23 +0000 (21:49 +0000)]
test 5

17 years agotest 4
Matthew Dillon [Sun, 5 Nov 2006 21:47:49 +0000 (21:47 +0000)]
test 4

Dragonfly-bug:
Submitted-by:
Reviewed-by:
Approved-by:
Obtained-from:

17 years agoAbort if the device doesn't exist.
Simon Schubert [Sun, 5 Nov 2006 11:40:45 +0000 (11:40 +0000)]
Abort if the device doesn't exist.

17 years agoSync our rm -P option with OpenBSD - if the file has a hardlink count
Matthew Dillon [Sun, 5 Nov 2006 02:26:39 +0000 (02:26 +0000)]
Sync our rm -P option with OpenBSD - if the file has a hardlink count
greater then one do not overwrite it or remove it, and issue a warning.

17 years agore-add vinumsize, so that vinum volumes can be used to swap on
Simon Schubert [Fri, 3 Nov 2006 16:33:38 +0000 (16:33 +0000)]
re-add vinumsize, so that vinum volumes can be used to swap on

17 years agoFix userland compilation error.
Jeffrey Hsu [Fri, 3 Nov 2006 00:54:55 +0000 (00:54 +0000)]
Fix userland compilation error.

Pointed out by Simon Schubert.

17 years agoAdd wcstod(3) and wcstol(3) manual pages.
Sascha Wildner [Thu, 2 Nov 2006 19:53:56 +0000 (19:53 +0000)]
Add wcstod(3) and wcstol(3) manual pages.

Adapted-from: NetBSD

17 years agoSync strtol(3) and strtoul(3) with FreeBSD.
Sascha Wildner [Thu, 2 Nov 2006 19:48:55 +0000 (19:48 +0000)]
Sync strtol(3) and strtoul(3) with FreeBSD.

This fixes some mdoc nits, adds documentation about when EINVAL is returned
and makes the existance of strtoimax(3) and strtoumax(3) known to the world.

17 years agoClean up code.
Jeffrey Hsu [Thu, 2 Nov 2006 05:16:35 +0000 (05:16 +0000)]
Clean up code.

17 years agoThere is no securenets(5) manual page. Use .Pa and add a reference
Sascha Wildner [Wed, 1 Nov 2006 22:41:21 +0000 (22:41 +0000)]
There is no securenets(5) manual page. Use .Pa and add a reference
to ypserv(8).

17 years agoUpgrade awk to the latest version (20050424).
Peter Avalos [Wed, 1 Nov 2006 22:33:47 +0000 (22:33 +0000)]
Upgrade awk to the latest version (20050424).

17 years agoAdd our READMEs.
Peter Avalos [Wed, 1 Nov 2006 21:34:07 +0000 (21:34 +0000)]
Add our READMEs.

17 years agoMerge from vendor branch AWK:
Peter Avalos [Wed, 1 Nov 2006 21:20:57 +0000 (21:20 +0000)]
Merge from vendor branch AWK:
Import of awk 20050424

17 years agoImport of awk 20050424
Peter Avalos [Wed, 1 Nov 2006 21:20:57 +0000 (21:20 +0000)]
Import of awk 20050424

17 years agoWARNS6 cleanup. Add a length modifier to a printf format argument since
Peter Avalos [Tue, 31 Oct 2006 20:22:22 +0000 (20:22 +0000)]
WARNS6 cleanup.  Add a length modifier to a printf format argument since
inode numbers are 64 bits.

17 years agoFix parameter name in prototype.
Sascha Wildner [Mon, 30 Oct 2006 13:47:59 +0000 (13:47 +0000)]
Fix parameter name in prototype.

Noticed-by: Steve Mynott <steve.mynott@gmail.com>
17 years agoRemove recently deleted header files via 'make upgrade'.
Sascha Wildner [Mon, 30 Oct 2006 10:02:10 +0000 (10:02 +0000)]
Remove recently deleted header files via 'make upgrade'.

17 years agoAdd a __DECONST to bring this up to WARNS6.
Peter Avalos [Sat, 28 Oct 2006 20:42:54 +0000 (20:42 +0000)]
Add a __DECONST to bring this up to WARNS6.

17 years agoBug fixing:
Sepherosa Ziehau [Sat, 28 Oct 2006 12:28:25 +0000 (12:28 +0000)]
Bug fixing:
device_delete_child() is called unconditionally in bge_detach(), due to the
';' after 'if()'.  It is dangerous here, since bge_detach() serves as failure
cleanup routine too.

17 years agoFix incorrect function name (kobj_free -> kobj_delete) and remove references
Sascha Wildner [Fri, 27 Oct 2006 23:02:59 +0000 (23:02 +0000)]
Fix incorrect function name (kobj_free -> kobj_delete) and remove references
to kobj_class_compile_static() which was removed 2.5 years ago.

17 years agoComment out the remaining references to rman_reserve_resource_bound().
Sascha Wildner [Fri, 27 Oct 2006 22:39:05 +0000 (22:39 +0000)]
Comment out the remaining references to rman_reserve_resource_bound().

17 years agoFix function name and add MLINKS for all functions.
Sascha Wildner [Fri, 27 Oct 2006 18:15:28 +0000 (18:15 +0000)]
Fix function name and add MLINKS for all functions.

17 years agoNgSendMsgReply() doesn't exist. Should be NgSendReplyMsg().
Sascha Wildner [Fri, 27 Oct 2006 10:53:59 +0000 (10:53 +0000)]
NgSendMsgReply() doesn't exist. Should be NgSendReplyMsg().

17 years agoAdjust fstat to properly traverse mount points when constructing a
Matthew Dillon [Fri, 27 Oct 2006 05:04:35 +0000 (05:04 +0000)]
Adjust fstat to properly traverse mount points when constructing a
file or directory path, based on the new namecache topology.

17 years agoMajor namecache work primarily to support NULLFS.
Matthew Dillon [Fri, 27 Oct 2006 04:56:34 +0000 (04:56 +0000)]
Major namecache work primarily to support NULLFS.

* Move the nc_mount field out of the namecache{} record and use a new
  namecache handle structure called nchandle { mount, ncp } for all
  API accesses to the namecache.

* Remove all mount point linkages from the namecache topology.  Each mount
  now has its own namecache topology rooted at the root of the mount point.

  Mount points are flagged in their underlying filesystem's namecache
  topology but instead of linking the mount into the topology, the flag
  simply triggers a mountlist scan to locate the mount.  ".." is handled
  the same way... when the root of a topology is encountered the scan
  can traverse to the underlying filesystem via a field stored in the
  mount structure.

* Ref the mount structure based on the number of nchandle structures
  referencing it, and do not kfree() the mount structure during a forced
  unmount if refs remain.

These changes have the following effects:

* Traversal across mount points no longer require locking of any sort,
  preventing process blockages occuring in one mount from leaking across
  a mount point to another mount.

* Aliased namespaces such as occurs with NULLFS no longer duplicate the
  namecache topology of the underlying filesystem.  Instead, a NULLFS
  mount simply shares the underlying topology (differentiating between
  it and the underlying topology by the fact that the name cache
  handles { mount, ncp } contain NULLFS's mount pointer.

  This saves an immense amount of memory and allows NULLFS to be used
  heavily within a system without creating any adverse impact on kernel
  memory or performance.

* Since the namecache topology for a NULLFS mount is shared with the
  underyling mount, the namecache records are in fact the same records
  and thus full coherency between the NULLFS mount and the underlying
  filesystem is maintained by design.

* Future efforts, such as a unionfs or shadow fs implementation, now
  have a mount structure to work with.  The new API is a lot more
  flexible then the old one.

17 years agoFix typo.
Sascha Wildner [Thu, 26 Oct 2006 16:50:42 +0000 (16:50 +0000)]
Fix typo.

17 years agoRemove obsolete prototype and documentation of the suser_proc()
Sascha Wildner [Thu, 26 Oct 2006 12:58:30 +0000 (12:58 +0000)]
Remove obsolete prototype and documentation of the suser_proc()
function (which was never actually implemented).

OK'd-by:        dillon
Manpage-fix-by: Matthias Schmidt <schmidtm@mathematik.uni-marburg.de>
17 years agoFix a stack overflow due to recursion. When the namecache must invalidate
Matthew Dillon [Thu, 26 Oct 2006 02:27:19 +0000 (02:27 +0000)]
Fix a stack overflow due to recursion.  When the namecache must invalidate
an entire subtree the depth of the tree can cause the kernel stack to
overflow.  Implement a simple algorithm which limits the recursion depth.
When the recursion depth is reached the current namecache node is recorded
and further recursion does not occur.  The top level then recalls the
deletion at the recorded node, then restarts.

When removing a file or directory, invalidate all namecache records
associated with the vnode rather then just the one led to by the current
path.  Note that RENAME is not fixed and requires a more sophisticated
solution.  These fixes effect NULLFS.

17 years agoDo a major clean-up of the BUSDMA architecture. A large number of
Matthew Dillon [Wed, 25 Oct 2006 20:56:03 +0000 (20:56 +0000)]
Do a major clean-up of the BUSDMA architecture.  A large number of
essentially machine-independant drivers use the structures and definitions
in machine-dependant directories that are really machine-independant in
nature.

Split <machine/bus_dma.h> into machine-depdendant and machine-independant parts
and make the primary access run through <sys/bus_dma.h>.

Remove <machine/bus.h>, <machine/bus_memio.h> and <machine/bus_pio.h>.  The
optimizations related to bus_memio.h and bus_pio.h made a huge mess,
introduced machine-specific knowledge into essentially machine-independant
drivers, and required specific #include file orderings to do their job.
They may be reintroduced in some other form later on.

Move <machine/resource.h> to <sys/bus_resource.h>.  The contents of the file
is machine-independant or can be made a superset across many platforms.

Make <sys/bus.h> include <sys/bus_dma.h> and <sys/bus_resource.h> and
include <sys/bus.h> where necessary. Remove all #include's of
<machine/resource.h> and <machine/bus.h>.  That is, make the BUSDMA
infrastructure integral to I/O-mapped and memory-mapped accesses to devices
and remove a large chunk of machine-specific dependancies from drivers.
bus_if.h and device_if.h are now required to be present when using <sys/bus.h>.

17 years agoFix typos in some messages: writting -> writing
Sascha Wildner [Wed, 25 Oct 2006 08:27:27 +0000 (08:27 +0000)]
Fix typos in some messages: writting -> writing

17 years agoLocalize some variables.
Jeffrey Hsu [Wed, 25 Oct 2006 07:41:45 +0000 (07:41 +0000)]
Localize some variables.

17 years agoUnbreak compilation without IPSEC: move variables into conditional
Simon Schubert [Wed, 25 Oct 2006 07:02:27 +0000 (07:02 +0000)]
Unbreak compilation without IPSEC:  move variables into conditional

17 years agoPurge the IFQ when associating a new altq. Packets that have already been
Matthew Dillon [Tue, 24 Oct 2006 17:16:13 +0000 (17:16 +0000)]
Purge the IFQ when associating a new altq.   Packets that have already been
queued are not visible to the new altq and consequently not removed when
the altq is disassociated, resulting in a panic.

Reported-by: Kyle Butt <kylebutt@gmail.com>
17 years agoFix file-/pathnames which have changed now.
Sascha Wildner [Tue, 24 Oct 2006 17:09:46 +0000 (17:09 +0000)]
Fix file-/pathnames which have changed now.

17 years agoFix compilation error with IPSEC.
Jeffrey Hsu [Tue, 24 Oct 2006 16:33:11 +0000 (16:33 +0000)]
Fix compilation error with IPSEC.
Use boolean type and values for boolean variables.

17 years agoAdd support in ONOE/AMRR for drivers that can't provide per TX statistics:
Sepherosa Ziehau [Tue, 24 Oct 2006 14:39:45 +0000 (14:39 +0000)]
Add support in ONOE/AMRR for drivers that can't provide per TX statistics:
- Add callback function pointer ieee80211_ratectl_state.rc_st_state, which
  will be called periodically by ONOE/AMRR during their internal state
  updating.  This callback function pointer should return a
  ieee80211_ratectl_stats struct, which provides statistics concerning TX.
- Add ieee80211_ratectl_state.rc_st_valid_stats bitmask.  It is used to
  tell ONOE/AMRR which fields of ieee80211_ratectl_stats are valid.
- Make ONOE/AMRR spit out a warning message if driver can't provide per TX
  statistics and the statistics in ieee80211_ratectl_stats are not enough to
  do proper TX rate control.

Drivers that can't provide per TX statistics should setup
ieee80211_ratectl_state.rc_st_state and
ieee80211_ratectl_state.rc_st_valid_stats before ieee80211_ifattach().

Add ieee80211_ratectl_state.rc_st_param, it could be used by drivers to
override TX rate control algorithm's default tunable values.  This field should
be allocated, setup and freed in ieee80211_ratectl_state.rc_st_change.  Drivers
that is going to override TX rate control algorithm's default tunable values
should include specific TX rate control algorithm's parameter header file
e.g. netproto/802_11/wlan_ratectl/ieee80211_amrr_param.h

17 years agoNow that we support foo_enable="YES|NO" as well as foo="YES|NO" some
Victor Balada Diaz [Tue, 24 Oct 2006 09:24:15 +0000 (09:24 +0000)]
Now that we support foo_enable="YES|NO" as well as foo="YES|NO" some
variables collide because they use foo="" for something else.

Rename those variables to non-conflicting names.

Noticed-by: Sascha Wildner
The securelevel stuff is based on Kevin L. Kane work.

17 years agoRemove nested block.
Jeffrey Hsu [Tue, 24 Oct 2006 07:27:26 +0000 (07:27 +0000)]
Remove nested block.

17 years agoCosmetic changes.
Jeffrey Hsu [Tue, 24 Oct 2006 06:49:52 +0000 (06:49 +0000)]
Cosmetic changes.

17 years agoCosmetic changes.
Jeffrey Hsu [Tue, 24 Oct 2006 06:18:42 +0000 (06:18 +0000)]
Cosmetic changes.

17 years agoEliminate a macro layer of indirection to clear up the control flow.
Jeffrey Hsu [Tue, 24 Oct 2006 02:52:10 +0000 (02:52 +0000)]
Eliminate a macro layer of indirection to clear up the control flow.

17 years agoFurther normalize the _XXX_H_ symbols used to conditionalize header file
Matthew Dillon [Mon, 23 Oct 2006 21:59:18 +0000 (21:59 +0000)]
Further normalize the _XXX_H_ symbols used to conditionalize header file
inclusion.

Use _MACHINE_BLAH_H_ for headers found in "/usr/src/sys/arch/<arch>/include".
Most headers already did this, but some did not.

Use _ARCH_SUBDIR_BLAH_H_ for headers found in "/usr/src/sys/arch/<arch>/subdir
"
instead of _I386_SUBDIR_BLAH_H_.

Change #include's made in architecture-specific directories to use
<machine/blah.h> instead of "blah.h", allowing the included header files
to be overrdden by another architecture.  For example, a virtual kernel
architecture might include a header from arch/i386/include which then
includes some other header in arch/i386/include.  But really we want that
other header to also go via the arch/vkernel/include, so the header files
in arch/i386/include must use <machine/blah.h> instead of "blah.h" for most
of their sub-includes.

Change most architecture-specific includes such as <i386/icu/icu.h> to
use a generic path through the "arch" softlink, such as <arch/icu/icu.h>.

Remove the temporary -I@/arch shim made in a recent commit, the <arch/...>
mechanism replaces it.

These changes allow us to implement heirarchical architectural overrides,
primarily intended for virtual kernel support.  A virtual kernel uses an
architecture of 'vkernel' but must be able to access actual cpu-specific
header files such as those found in arch/i386.  It does this using a
"cpu" softlink.  For example, someone including <machine/atomic.h> in a
vkernel build would hit the "arch/vkernel/include/atomic.h" header, and this
header could then #include <cpu/atomic.h> to access the actual cpu's
atomic.h file: "arch/i386/include/atomic.h".

The ultimate effect is that an architecture can build on another
architecture's header and source files.

17 years agoFurther normalize the _XXX_H_ symbols used to conditionalize header file
Matthew Dillon [Mon, 23 Oct 2006 21:50:33 +0000 (21:50 +0000)]
Further normalize the _XXX_H_ symbols used to conditionalize header file
inclusion.

Use _MACHINE_BLAH_H_ for headers found in "/usr/src/sys/arch/<arch>/include".
Most headers already did this, but some did not.

Use _ARCH_SUBDIR_BLAH_H_ for headers found in "/usr/src/sys/arch/<arch>/subdir"
instead of _I386_SUBDIR_BLAH_H_.

Change #include's made in architecture-specific directories to use
<machine/blah.h> instead of "blah.h", allowing the included header files
to be overrdden by another architecture.  For example, a virtual kernel
architecture might include a header from arch/i386/include which then
includes some other header in arch/i386/include.  But really we want that
other header to also go via the arch/vkernel/include, so the header files
in arch/i386/include must use <machine/blah.h> instead of "blah.h" for most
of their sub-includes.

Change most architecture-specific includes such as <i386/icu/icu.h> to
use a generic path through the "arch" softlink, such as <arch/icu/icu.h>.

Remove the temporary -I@/arch shim made in a recent commit, the <arch/...>
mechanism replaces it.

These changes allow us to implement heirarchical architectural overrides,
primarily intended for virtual kernel support.  A virtual kernel uses an
architecture of 'vkernel' but must be able to access actual cpu-specific
header files such as those found in arch/i386.  It does this using a
"cpu" softlink.  For example, someone including <machine/atomic.h> in a
vkernel build would hit the "arch/vkernel/include/atomic.h" header, and this
header could then #include <cpu/atomic.h> to access the actual cpu's
atomic.h file: "arch/i386/include/atomic.h".

The ultimate effect is that an architecture can build on another
architecture's header and source files.

17 years agoBump the config version. Add a 'cpu_arch' directive that allows the
Matthew Dillon [Mon, 23 Oct 2006 18:01:15 +0000 (18:01 +0000)]
Bump the config version.  Add a 'cpu_arch' directive that allows the
cpu architecture for the virtual machine to be specified.  This also
creates additional softlinks for <cpu/*.h> and <cpu_arch/...> to allow
a virtual machine to access cpu-architecture-specific files.

17 years agoGet rid of the indirect function pointer for bzero(). We haven't used it
Matthew Dillon [Mon, 23 Oct 2006 15:42:50 +0000 (15:42 +0000)]
Get rid of the indirect function pointer for bzero().  We haven't used it
to install a more 'optimized' version of bzero in a long time, and it
isn't compatible with libc.

17 years agoRather than making static declarations global, get rid of the extern.
Sascha Wildner [Mon, 23 Oct 2006 09:27:37 +0000 (09:27 +0000)]
Rather than making static declarations global, get rid of the extern.

Pointed-out-by: dillon
Additional-clue: corecode

17 years agoThe uthreads code previously didn't work for debugging while
Simon Schubert [Mon, 23 Oct 2006 09:14:55 +0000 (09:14 +0000)]
The uthreads code previously didn't work for debugging while
uthreads was not initialized yet.  Fix this by using _thread_kern_thread
if the _thread_list isn't populated yet.

17 years agoreorder libs to allow static linking
Simon Schubert [Mon, 23 Oct 2006 09:14:47 +0000 (09:14 +0000)]
reorder libs to allow static linking

17 years agoUpdate configuration instructions.
Sascha Wildner [Mon, 23 Oct 2006 07:45:47 +0000 (07:45 +0000)]
Update configuration instructions.

17 years agoFix paths to arch/i386, related to the recent architecture topology changes.
Matthew Dillon [Sun, 22 Oct 2006 18:43:52 +0000 (18:43 +0000)]
Fix paths to arch/i386, related to the recent architecture topology changes.

17 years agomemset must be a real procedure rather then an indirect pointer because
Matthew Dillon [Sun, 22 Oct 2006 18:42:12 +0000 (18:42 +0000)]
memset must be a real procedure rather then an indirect pointer because
GCC-4.x calls it directly.

17 years agoAdd advice if a kernel config file cannot be found to remind people that
Matthew Dillon [Sun, 22 Oct 2006 16:26:44 +0000 (16:26 +0000)]
Add advice if a kernel config file cannot be found to remind people that
the config directory has changed.

17 years agoReorganize the way machine architectures are handled. Consolidate the
Matthew Dillon [Sun, 22 Oct 2006 16:12:50 +0000 (16:12 +0000)]
Reorganize the way machine architectures are handled.  Consolidate the
kernel configurations into a single generic directory.  Move machine-specific
Makefile's and loader scripts into the appropriate architecture directory.

Kernel and module builds also generally add sys/arch to the include path so
source files that include architecture-specific headers do not have to
be adjusted.

sys/<ARCH>            -> sys/arch/<ARCH>
sys/conf/*.<ARCH>     -> sys/arch/<ARCH>/conf/*.<ARCH>
sys/<ARCH>/conf/<KERNEL> -> sys/config/<KERNEL>