dragonfly.git
3 years agoMove pkg_radd config to a more obvious name; make sure settings.conf gets
Justin C. Sherrill [Mon, 7 Feb 2011 00:36:29 +0000 (16:36 -0800)]
Move pkg_radd config to a more obvious name; make sure settings.conf gets
cleaned out on upgrade, and stick a warning in UPGRADING so nobody
(hopefully) gets surprised when pkg_radd starts downloading from
mirror-master again.

3 years agoAdded notes about BIND moving to pkgsrc version for <2.7 -> 2.8 upgrades.
Justin C. Sherrill [Mon, 27 Sep 2010 02:02:30 +0000 (19:02 -0700)]
Added notes about BIND moving to pkgsrc version for <2.7 -> 2.8 upgrades.

3 years agoUpdate build for OpenSSL-1.0.0a.
Peter Avalos [Sun, 26 Sep 2010 22:38:45 +0000 (12:38 -1000)]
Update build for OpenSSL-1.0.0a.

-Add Camellia, CMS, GOST, MDC-2, modes, SEED, ts, and Whirlpool.  mdc2
is freely available since its patent expired in 2002.

-Remove md2 for CVE-2009-2409.

-See CHANGES for the enitire changeset.

3 years agoMerge branch 'vendor/OPENSSL'
Peter Avalos [Sun, 26 Sep 2010 22:19:45 +0000 (12:19 -1000)]
Merge branch 'vendor/OPENSSL'

3 years agoImport OpenSSL-1.0.0a.
Peter Avalos [Wed, 22 Sep 2010 11:21:58 +0000 (01:21 -1000)]
Import OpenSSL-1.0.0a.

3 years agovkernel - Add support for cdevs as virtual disks (2)
Matthew Dillon [Sun, 26 Sep 2010 21:47:28 +0000 (14:47 -0700)]
vkernel - Add support for cdevs as virtual disks (2)

* I missed a spot where the lseek() hack is needed.  Fixed.

3 years agokernel - Rearrange pmap_growkernel() and fix up x86_64's pmap_growkernel()
Matthew Dillon [Sun, 26 Sep 2010 18:46:20 +0000 (11:46 -0700)]
kernel - Rearrange pmap_growkernel() and fix up x86_64's pmap_growkernel()

* Rearrange pmap_growkernel() to pass an address range instead of just an
  end address.

* vm_map() no longer retries after calling pmap_growkernel(), the function
  either succeeds or panics.

* x86_64 - kldloading modules after system boot no longer populates 128GB
  worth of page tables (which eats ~256MB of ram) in order to push
  kernel_vm_end past KERNBASE.

  Instead, any kldloads into the space beyond KERNBASE, which is required
  to be able to link them into the kernel due to 32-bit PC-relative
  addressing, will populate just the required page tables and will not
  bump up kernel_vm_end.

* Fixes a panic which can occur well after boot when kldload'ing the first
  module, if 256MB worth of free pages is not instantly available.

* Saves us 256M of ram on x86_64.

3 years agodf fortune - Bring some entries closer to reality
Matthias Schmidt [Sun, 26 Sep 2010 17:27:44 +0000 (19:27 +0200)]
df fortune - Bring some entries closer to reality

3 years agopkg_search - Replace avalon with mirror-master
Matthias Schmidt [Sun, 26 Sep 2010 14:04:30 +0000 (16:04 +0200)]
pkg_search - Replace avalon with mirror-master

and remove CVS-Id while here

3 years agoOpenSSL: Set the date for manual pages to the release date.
Peter Avalos [Sun, 26 Sep 2010 08:37:01 +0000 (22:37 -1000)]
OpenSSL: Set the date for manual pages to the release date.

3 years agovkernel - Add support for cdevs as virtual disks
Matthew Dillon [Sun, 26 Sep 2010 04:00:04 +0000 (21:00 -0700)]
vkernel - Add support for cdevs as virtual disks

* Allow a cdev to be directly specified as a virtual disk.

3 years agolibcrypto: There's no need to test for WANT_IDEA twice.
Peter Avalos [Sun, 26 Sep 2010 02:00:01 +0000 (16:00 -1000)]
libcrypto:  There's no need to test for WANT_IDEA twice.

3 years agoOpenSSL: Define little endian on x86_64.
Peter Avalos [Sun, 26 Sep 2010 01:53:50 +0000 (15:53 -1000)]
OpenSSL:  Define little endian on x86_64.

We only support little endian archs, so remove the test, and just put it
with the rest of CFLAGS.

3 years agoinstaller: Suppress . in the hostname if the user didn't specify a domain.
Sascha Wildner [Sun, 26 Sep 2010 00:40:18 +0000 (02:40 +0200)]
installer: Suppress . in the hostname if the user didn't specify a domain.

Submitted-by: matthias
3 years agoOpenSSL: Eliminate some options from CFLAGS.
Peter Avalos [Sun, 26 Sep 2010 00:08:24 +0000 (14:08 -1000)]
OpenSSL:  Eliminate some options from CFLAGS.

These are already included in opensslconf.h, so there's no need to put
them in CFLAGS too.

3 years agokernel - Fix rare token overwrite race
Matthew Dillon [Sat, 25 Sep 2010 23:10:48 +0000 (16:10 -0700)]
kernel - Fix rare token overwrite race

td_toks_stop was being decremented prior to releasing the token reference
and cleaning up the optional mp lock.  This left a very small
one-instruction opening where the following sequence of events could
occur:

  * While releasing the ref in 'if (tok->t_ref == ref) tok->t_ref = NULL;'
    a fast interrupt could come along, acquire a token reusing our ref,
    then release it.

  * A thread on another cpu then successfully acquires the now released
    token.

  * The fast interrupt returns our interrupted thread resumes with the
    execution of 'tok->t_ref = NULL;'.

  * The other thread asserts on the missing token ref or otherwise performs
    actions which assume the token is still held when it is not due to
    the first thread blowing it up.

Reported-by: Francois Tigeot <ftigeot@wolfpond.org>
3 years agodocs - Adjust swapcache.8
Matthew Dillon [Sat, 25 Sep 2010 20:17:31 +0000 (13:17 -0700)]
docs - Adjust swapcache.8

* Clarify the lack of clarity on read-disturb effects.  Expand the
  write endurance section a bit incorporating the results from long-term
  testing on pkgbox64.

3 years agoAdd prototype for devfs_assume_knotes()
Jan Lentfer [Sat, 25 Sep 2010 19:23:40 +0000 (21:23 +0200)]
Add prototype for devfs_assume_knotes()

   Fixes buildkernel problem

3 years agokernel - Bring devfs_assume_knotes() uptodate and fix panic
Matthew Dillon [Sat, 25 Sep 2010 17:43:55 +0000 (10:43 -0700)]
kernel - Bring devfs_assume_knotes() uptodate and fix panic

* devfs_assume_knotes() was blindly transfering the knotes without
  properly acquiring their soft-lock.

  The problem was easily reproducable by running 'moused -p /dev/ums0'
  and then unplugging the mouse.

* Move the core of the routine into a new procedure in kern_event.c
  called knote_assume_knotes() which properly acquires and releases
  the underlying knotes.

3 years agoHAMMER VFS - Fix two ip->vp inode/vnode races
Matthew Dillon [Sat, 25 Sep 2010 14:58:12 +0000 (07:58 -0700)]
HAMMER VFS - Fix two ip->vp inode/vnode races

* nrename and nremove attempt to dereference ip->vp.  Because ip->vp has
  no other references in these code paths the operation can race and
  either assert or panic on a null-pointer dereference.

  Fix by formally acquiring the vnode before trying to dereference it.

* All other cases are passed a referenced vnode or properly acquire it
  (e.g. nresolve), and did not have this issue.

3 years agoOpenSSL: Fix includes insanity.
Peter Avalos [Sat, 25 Sep 2010 11:21:43 +0000 (01:21 -1000)]
OpenSSL:  Fix includes insanity.

Use INCS instead of the hard-to-understand and rustic stuff that was
there.

3 years agoMerge branch 'master' of git://git.dragonflybsd.org/dragonfly
Matthias Schmidt [Sat, 25 Sep 2010 07:20:19 +0000 (09:20 +0200)]
Merge branch 'master' of git://git.dragonflybsd.org/dragonfly

3 years agopkg_radd - Minor changes for script and man page
Matthias Schmidt [Sat, 25 Sep 2010 07:17:09 +0000 (09:17 +0200)]
pkg_radd - Minor changes for script and man page

- chlamydia is down, so rephrase the man page with some more generic
  text

Reported-by: Przemyslaw Pawelczyk <pp_o2@o2.pl>
- Change URL from avalon to mirror-master in pkg_radd.sh

3 years agoFix typo in last commit.
Peter Avalos [Sat, 25 Sep 2010 06:59:38 +0000 (20:59 -1000)]
Fix typo in last commit.

3 years agoFix WANT_IDEA knob.
Peter Avalos [Sat, 25 Sep 2010 06:24:48 +0000 (20:24 -1000)]
Fix WANT_IDEA knob.

I broke this in my last OpenSSL import.  Add a note to README.DRAGONFLY
to automatically generate opensslconf.h when Configure is run, and
adjust Makefile.inc to compensate for the generated code.

3 years agokernel - Remove debugging kprintf
Matthew Dillon [Sat, 25 Sep 2010 05:00:28 +0000 (22:00 -0700)]
kernel - Remove debugging kprintf

* Remove "td %p (%s) unexpectedly rescheduled" from the tsleep() path.

  This case is still undesired but it can happen through normal operation
  due to explicit lwkt_schedule()'s or delayed schedules from interlocked
  tsleep()s.  Don't kprintf a warning when it happens any more.

3 years agonetwork - NFS Stability / races
Matthew Dillon [Sat, 25 Sep 2010 01:01:25 +0000 (18:01 -0700)]
network - NFS Stability / races

* Fix additional races in the upcall interactions which can cause
  a nfsd to not get woken up when it should.

* Medium revamp of the SLP_* flags.

* Add NFSRV_RECLIMIT() macro and do a better job limiting the number
  of pending records taken off a socket.

* Fix a memory leak in the M_NFSSVC kmalloc pool.  Each time the
  server lost a socket it leaked a little memory.  Now it does not.

3 years agonet80211 - Fix missing rcvif assignment in ieee80211_fragment()
Matthew Dillon [Fri, 24 Sep 2010 17:01:12 +0000 (10:01 -0700)]
net80211 - Fix missing rcvif assignment in ieee80211_fragment()

* When the 80211 code decides it must fragment a packet for the logical
  device layer the pkthdr.rcvif for the fragments must be copied from
  the original, otherwise the underlying device will panic trying to
  locate the node.

* Untested but hopefully fixes an issue reported with wpi.

3 years agonetwork - Restart the callout timer when setting TCP_FASTKEEP
Matthew Dillon [Fri, 24 Sep 2010 16:58:09 +0000 (09:58 -0700)]
network - Restart the callout timer when setting TCP_FASTKEEP

* When TCP_FASTKEEP is enabled we must reload the callout with the shorter
  timeout.  If we allow the longer timeout to expire and the connection
  remains idle the tcp connection will be dropped when the longer timeout
  expires since it will have exceeded the maximum calculation.

* Fixes noisy but otherwise benign NFS messages on the console.

* Abstract the tcp activity function into tcp_timer_keep_activity() so
  we can call it from both usrreq and tcp_input.

3 years agoRevert part of the previous commit.
Nuno Antunes [Fri, 24 Sep 2010 16:24:26 +0000 (17:24 +0100)]
Revert part of the previous commit.

* 'Iff' is the shortened version of 'if and only if'.
  See http://en.wikipedia.org/wiki/If_and_only_if.

Pointed-out-by: swildner@
3 years agoFix typos in share/mk/bsd.README.
Nuno Antunes [Fri, 24 Sep 2010 16:11:58 +0000 (17:11 +0100)]
Fix typos in share/mk/bsd.README.

* The variable name is DPADD not SRCLIB.
* Correctly spell 'if'.

3 years agokernel - Close big race in kqueue
Matthew Dillon [Fri, 24 Sep 2010 15:44:20 +0000 (08:44 -0700)]
kernel - Close big race in kqueue

* Refactor the KN_PROCESSING abstraction.  Remove shortcuts and use it
  in ALL knote-handling situations.  One place in the EV_DELETE handling
  was broken and one or two other places were not handling REPROCESS
  requests properly.

* Overnight buildworld -j 8 now succeeds with NFS mounted /usr/src.  It
  used to panic after a few runs with a kqueue-related assertion.

3 years agoUPDATING - Add a note about 2.6 -> 2.8/HEAD upgrade /boot requirements
Joe Talbott [Fri, 24 Sep 2010 12:07:26 +0000 (08:07 -0400)]
UPDATING - Add a note about 2.6 -> 2.8/HEAD upgrade /boot requirements

Suggested-By: Steve O'Hara-Smith and Dennis Melentyev
3 years agoloader.conf(5) - Document 'fred_on_left' loader variable.
Joe Talbott [Fri, 24 Sep 2010 00:53:08 +0000 (20:53 -0400)]
loader.conf(5) - Document 'fred_on_left' loader variable.

3 years agodloader - Add Fred to the menu.
Joe Talbott [Thu, 23 Sep 2010 20:00:09 +0000 (16:00 -0400)]
dloader - Add Fred to the menu.

* 'fred_disable' in loader.conf reverts to original dloader menu.
* 'loader_color' in loader.conf is now supported again.
* 'fred_on_left' in loader.conf puts Fred on the left of the menu.

Discussed-With: Sascha Wildner
Suggested-By: Sascha Wildner
Suggested-By: Thomas Nikolajsen
3 years agodloader - Add dvar_istrue() to test boolean variables.
Joe Talbott [Thu, 23 Sep 2010 19:59:15 +0000 (15:59 -0400)]
dloader - Add dvar_istrue() to test boolean variables.

* Accepts any form of 'yes', 'true', 'on', or '1' as true.

3 years agocryptsetup: In the tests, use /usr/bin/env for locating pkg binaries.
Sascha Wildner [Fri, 24 Sep 2010 11:15:32 +0000 (13:15 +0200)]
cryptsetup: In the tests, use /usr/bin/env for locating pkg binaries.

3 years agognu/lib/Makefile: Clean up a bit.
Sascha Wildner [Fri, 24 Sep 2010 09:32:25 +0000 (11:32 +0200)]
gnu/lib/Makefile: Clean up a bit.

3 years agotest commit
Nuno Antunes [Fri, 24 Sep 2010 10:40:51 +0000 (11:40 +0100)]
test commit

3 years agorc.conf(5) - Add information howto start wlan(4) devices
Matthias Schmidt [Fri, 24 Sep 2010 10:13:14 +0000 (12:13 +0200)]
rc.conf(5) - Add information howto start wlan(4) devices

Obtained-From: FreeBSD

3 years agobuild - Clarify instalkernel requirements when upgrading /boot
Matthew Dillon [Fri, 24 Sep 2010 07:16:06 +0000 (00:16 -0700)]
build - Clarify instalkernel requirements when upgrading /boot

* When upgrading a system from the old /boot format to the new /boot
  format clarify the error message when someone tries to install a
  new kernel onto an old /boot.

  It now indicates specifically suggests doing a buildworld / installworld
  sequence first.

3 years agonetwork - Fix a sleep/wakeup race in NFS (server), implement faster keepalives
Matthew Dillon [Fri, 24 Sep 2010 05:36:08 +0000 (22:36 -0700)]
network - Fix a sleep/wakeup race in NFS (server), implement faster keepalives

* Fix a sleep/wakeup MP race in the NFS server where the server can receive
  data but fails to wakeup one of its nfsds.

* Set a faster keepalive timeout for NFS client and server.  Currently
  75 seconds (instead of 2 hours).  This solves a problem when connectivity
  is lost with the server for long enough that the server kills the
  connection, or if the server fails while processing a nfs request
  from the client.

  If the client is stuck waiting for the reply it can wind up waiting
  for the entire keepalive period before recovering, even if connectivity
  with the server is re-established.  This way the client will proactively
  determine that the connection is dead within 75 seconds and re-establish
  it.

* The value of the timeout is taken from net.inet.tcp.keepintvl
  (instead of net.inet.tcp.keepalive), which defaults to 75 seconds
  at the moment.

3 years agonetwork - Add a tcp socket for faster keepalive timeouts
Matthew Dillon [Fri, 24 Sep 2010 05:35:16 +0000 (22:35 -0700)]
network - Add a tcp socket for faster keepalive timeouts

* Add a new socket opt, TCP_FASTKEEP, which enables faster keepalive
  timeouts on a tcp socket.  This will be used by NFS.

3 years agokernel - lapic pointer was still not quite correctly initialized
Matthew Dillon [Fri, 24 Sep 2010 02:59:32 +0000 (19:59 -0700)]
kernel - lapic pointer was still not quite correctly initialized

* A conditional in the new MADT code was bypassing the lapic pointer
  mapping in certain circumstances, causing the machine to lockup in the
  low level boot.

3 years agokernel - Close small race in kqueue
Matthew Dillon [Fri, 24 Sep 2010 00:24:53 +0000 (17:24 -0700)]
kernel - Close small race in kqueue

* Normalize the kn_status reprocessing code to close a race.
  A knote_detach_and_drop() during a descriptor close can set
  KN_DELETING and return, leaving a knote undergoing processing
  by another thread marked deleted.

  If the other thread is trying to execute a filter the filter can
  wind up being run after the file pointer has been detached
  from the knote, resulting in a panic.

* All KN_DELETING and KN_WAITING flags also now set KN_REPROCESS and
  all KN_REPROCESS handling is dealt with the same way.  The filter
  is run if KN_REPROCESS is not set and if it is set any KN_DELETING
  and KN_WAITING flags are dealt with before the filter is run.

3 years agoboot - Rearrange dloader.menu a bit
Matthew Dillon [Fri, 24 Sep 2010 00:22:57 +0000 (17:22 -0700)]
boot - Rearrange dloader.menu a bit

* Rename some of the numbered options to lettered options.  For example,
  use 's' for single user boot, 'o' for booting kernel.old, and 'v' for
  verbose boot.

3 years agokernel - Work through some memory leaks in dsched
Matthew Dillon [Fri, 24 Sep 2010 00:15:07 +0000 (17:15 -0700)]
kernel - Work through some memory leaks in dsched

* Add a uninitbufbio() function to complement initbufbio().  Also move
  BUF_LOCKINIT() into initbufbio() and BUF_LOCKFREE() into uninitbufbio().

* There are several device drivers and other places where the struct buf
  is still being allocated manually (verses using getpbuf()).  These were
  kfree()ing the buffer without dealing with e.g. dsched_exit_buf().

  Have uninitbufbio() call dsched_exit_buf() and adjust the various manual
  allocations/frees of struct buf to call uninitbufbio() before kfree()ing.
  Also remove various manual calls to BUF_LOCKFREE() (which is now done
  inside uninitbufbio()).

* This should hopefully deal with the memory leaks but there could be a
  few left.

Reported-by: "Steve O'Hara-Smith" <steve@sohara.org>
3 years agokernel - Fix compile error w/last commit (unused var)
Matthew Dillon [Thu, 23 Sep 2010 22:12:20 +0000 (15:12 -0700)]
kernel - Fix compile error w/last commit (unused var)

* Remove unused variable

Reported-by: Rumko
3 years agokernel - Add kqueue and fix chflags handling for tmpfs
Matthew Dillon [Thu, 23 Sep 2010 19:53:47 +0000 (12:53 -0700)]
kernel - Add kqueue and fix chflags handling for tmpfs

* Implement kqueue ops for tmpfs so things like tail -f work properly.

* Redo all the chflags handling and checks to use the helper functions,
  also getting ridding of the horribly broken FREAD/FWRITE tests on
  node->tn_flags (which is the chflags flags, not the open flags).

  This fixes chflags handling for tmpfs.  Previously doing something
  like 'make installkernel ... DESTDIR=<sometmpfs_target>' would fail
  on re-install due to chflags not working properly.

* Fix a lost node unlock in tmpfs_chflags()

Reported-by: Nuno Antunes <nuno.antunes@gmail.com>
3 years agovkernel - Add physmem global
Matthew Dillon [Thu, 23 Sep 2010 17:14:33 +0000 (10:14 -0700)]
vkernel - Add physmem global

* The PF module assumes the 'physmem' global exists.  For the moment make
  sure it exists (add it to the vkernel targets).

3 years agonetwork - Fix bug in redispatch after PF translation
Matthew Dillon [Thu, 23 Sep 2010 17:11:23 +0000 (10:11 -0700)]
network - Fix bug in redispatch after PF translation

* ip_input() checks M_HASH after PF/firewall processing and recalculates
  the protocol port if necessary.

  ip_input() was improperly restoring ip_len when doing the re-check,
  causing TCP packets destined for the local host to be dropped.  This
  caused NAT translations with local terminations to fail.

3 years agoMerge branch 'master' of git://git.dragonflybsd.org/dragonfly
Michael Neumann [Sun, 3 Oct 2010 14:27:41 +0000 (16:27 +0200)]
Merge branch 'master' of git://git.dragonflybsd.org/dragonfly

3 years agolapic pointer was not correctly initialized
Michael Neumann [Sun, 3 Oct 2010 11:47:28 +0000 (13:47 +0200)]
lapic pointer was not correctly initialized

MADT enumeration works now on x86_64, tested on HP Compaq 6710b.

3 years agoMADT MP probe: Rework cpuid mapping, and cpuid to apicid mapping
Michael Neumann [Sun, 3 Oct 2010 11:45:30 +0000 (13:45 +0200)]
MADT MP probe: Rework cpuid mapping, and cpuid to apicid mapping

Apply commit 223bf214b579c486a04c63795cdf9808b2e87b14 for x86_64.

3 years agoFallback to ACPI MADT CPU enumeration, if BIOS does not provide MP table.
Michael Neumann [Sun, 3 Oct 2010 10:56:17 +0000 (12:56 +0200)]
Fallback to ACPI MADT CPU enumeration, if BIOS does not provide MP table.

APIC_IO does not work with ACPI MADT CPU enumeration yet.

Apply commit a26bbcd5fbded1b5c7fe0c79a0bea66716a15e33 for x86_64.

3 years agoAdd mp_set_cpuids(), which links CPU's logical id to its apic id
Michael Neumann [Sun, 3 Oct 2010 10:34:13 +0000 (12:34 +0200)]
Add mp_set_cpuids(), which links CPU's logical id to its apic id

Apply commit a9112655463eccf48a9ba79a31a3d0accb24dad8 for x86_64.

3 years agoImplement ACPI MADT parsing
Michael Neumann [Sun, 3 Oct 2010 10:29:32 +0000 (12:29 +0200)]
Implement ACPI MADT parsing

This will be used to enumerate CPUs if BIOS does not provide MP table.

Apply commit 85fd9f87e82e63599bd0293dc0112f8e26f8c3d6 for x86_x64.

3 years agoMP table related static function renaming
Michael Neumann [Sat, 2 Oct 2010 16:03:35 +0000 (18:03 +0200)]
MP table related static function renaming

Apply commit 3aba8f737c990853a6105e77cfb2bcae59b217f8 for x86_x64.

3 years agoGet rid of global variable 'boot_cpu_id'
Michael Neumann [Sat, 2 Oct 2010 15:49:35 +0000 (17:49 +0200)]
Get rid of global variable 'boot_cpu_id'

Apply commit bd8aa7e222aa89ca27a5fe2e660f02ff942abb48 for x86_64.

3 years agoCorrect mptable_pass[12]() function comment
Michael Neumann [Sat, 2 Oct 2010 15:45:39 +0000 (17:45 +0200)]
Correct mptable_pass[12]() function comment

Apply commit 0ae734b516f9975fd3ebfddd3748a028456668b6 for x86_64.

3 years agomp_probe() -> mptable_probe()
Michael Neumann [Sat, 2 Oct 2010 15:42:10 +0000 (17:42 +0200)]
mp_probe() -> mptable_probe()

Apply commit cb00b5c4169432285c3acafc0e568ffba6a63d6e for x86_64.

3 years agoChange mptable mapping mechanism during mptable parsing.
Michael Neumann [Sat, 2 Oct 2010 15:39:10 +0000 (17:39 +0200)]
Change mptable mapping mechanism during mptable parsing.

Apply commit 981bebd11ba5507ab5887bb66ef52935ab350bed for x86_64.

3 years agomp_probe(): Return physical address of the MP float pointer struct
Michael Neumann [Sat, 2 Oct 2010 14:21:33 +0000 (16:21 +0200)]
mp_probe(): Return physical address of the MP float pointer struct

Apply commit aeb48299996ead8f1c328436e93b1836326c2bf6 for x86_64.

3 years agoRemove unused variable.
Michael Neumann [Sat, 2 Oct 2010 14:14:46 +0000 (16:14 +0200)]
Remove unused variable.

3 years agoReorder MP probing
Michael Neumann [Sat, 2 Oct 2010 14:13:50 +0000 (16:13 +0200)]
Reorder MP probing

Apply commit 0f85efa20adbc0f9062a269bc2a7653b7b646683 for x86_64.

3 years agoDefer mptable_pass1() from mp_probe() to mp_enable()
Michael Neumann [Sat, 2 Oct 2010 14:02:47 +0000 (16:02 +0200)]
Defer mptable_pass1() from mp_probe() to mp_enable()

Apply commit f9c3b04f0dd9dd75702357d2bc8de782280c41df for x86_64.

3 years agoSave EBDA address before mp_probe()
Michael Neumann [Sat, 2 Oct 2010 13:55:56 +0000 (15:55 +0200)]
Save EBDA address before mp_probe()

Apply commit 1876681aa52fc75e5ac4945d4e316b2bff8b2aed for x86_64.

3 years agomptable_pass1: Don't set ncpus to 1; it has already been setup.
Michael Neumann [Sat, 2 Oct 2010 13:49:45 +0000 (15:49 +0200)]
mptable_pass1: Don't set ncpus to 1; it has already been setup.

Apply commit bcf5ecdc02ba0af44b1d9b635393a27234d67b27 for x86_64.

3 years agoRemove mp_capable; mp_enable() uses cpu_apic_address.
Michael Neumann [Sat, 2 Oct 2010 13:47:23 +0000 (15:47 +0200)]
Remove mp_capable; mp_enable() uses cpu_apic_address.

Apply commit 50bc991ed5b5f45c656530ebf5fc8b44f24258ed for x86_64.

3 years agoDefer LAPIC checking from pmap_bootstrap() to mp_enable()
Michael Neumann [Sat, 2 Oct 2010 13:40:59 +0000 (15:40 +0200)]
Defer LAPIC checking from pmap_bootstrap() to mp_enable()

Similar to commit 8b5fcfe2eabb8f50c8211d71788097cd4bfd98ba

3 years agoinstaller: Utilize dumpon(8) and swapoff(8) to turn off dump and swap.
Sascha Wildner [Thu, 23 Sep 2010 09:43:06 +0000 (11:43 +0200)]
installer: Utilize dumpon(8) and swapoff(8) to turn off dump and swap.

Previously, the installer would block further installation attempts
once a swap was mounted. This was very inconvenient, e.g. when trying
to do multiple installs in one session.

It also never issued a 'dumpon off' causing dumping to be enabled
until rebooting. This caused issues upon reboot when a removable disk
(eSATA, for example) was unplugged before the reboot.

Now that we have swapoff(8), fix all these issues by turning off
dumping and swapping once the installation is completed (after
unmounting). Also, do this in a number of other places (where we
previously warned) to make sure it all gets deactivated again should
the user have cancelled a previous installation.

3 years agokernel - Fix bug in recent AHCI driver adjustment
Matthew Dillon [Thu, 23 Sep 2010 03:05:23 +0000 (20:05 -0700)]
kernel - Fix bug in recent AHCI driver adjustment

* The recent adjustment of the driver to help deal with breakage in the
  newer AMD chipsets also failed to check for pending commands after
  a normal completion.  Fix the brainfart.

3 years agokernel - unlock the syscons_lock spinlock around ttwakeup()
Matthew Dillon [Thu, 23 Sep 2010 02:14:24 +0000 (19:14 -0700)]
kernel - unlock the syscons_lock spinlock around ttwakeup()

* ttwakeup() can block, we have to unlock syscons_lock() before calling it.

3 years agokernel - Enable EVFILT_WRITE for /dev/null, /dev/zero, etc
Matthew Dillon [Thu, 23 Sep 2010 01:00:03 +0000 (18:00 -0700)]
kernel - Enable EVFILT_WRITE for /dev/null, /dev/zero, etc

* Make both read and write kqfilters valid instead of just the read filter.
  This fixes issues with programs which select on stdout for writing,
  e.g. 'ssh -n "blah" > /dev/null'.

3 years agobuild - Workaround LINT issues
Matthew Dillon [Wed, 22 Sep 2010 21:58:53 +0000 (14:58 -0700)]
build - Workaround LINT issues

* Use an intermediate uint32_t variable to store a uint8_t length to avoid
  a silly gcc warning-turned-error about a comparison always being true.

Reported-by: swildner
3 years agoinstaller: Move /usr/pkg commands where they belong.
Sascha Wildner [Wed, 22 Sep 2010 19:32:24 +0000 (21:32 +0200)]
installer: Move /usr/pkg commands where they belong.

3 years agogcc44: Fix mis-usage of ||.
Sascha Wildner [Wed, 22 Sep 2010 18:16:26 +0000 (20:16 +0200)]
gcc44: Fix mis-usage of ||.

3 years agokernel - Remove some debugging kprintfs
Matthew Dillon [Wed, 22 Sep 2010 16:23:57 +0000 (09:23 -0700)]
kernel - Remove some debugging kprintfs

* gone: Warning: vfsync_bp skipping dirty buffer 0x********

* gone: Warning: delete stale syncache for tp=0x********, sc=*

Pointers *'d out to protect their identities!

3 years agoun-tokenize savers
Alex Hornung [Wed, 22 Sep 2010 10:55:48 +0000 (11:55 +0100)]
un-tokenize savers

* Un-tokenize all savers again. We can't simply tokenize around vidsw[]
  that easily because the saver functions are called from the console
  paths, too (cnputc, ...)

* Regarding vidsw we'll eventually have to find a different solution to
  lock it up. The current approach can't work.

Reported-by: Sascha Wildner (swildner@)
3 years agoinstaller: Remove some unused code.
Sascha Wildner [Tue, 21 Sep 2010 21:19:24 +0000 (23:19 +0200)]
installer: Remove some unused code.

3 years agoMove test/debug/gdb.kernel to share/misc/gdbinit.
Sascha Wildner [Wed, 22 Sep 2010 09:56:06 +0000 (11:56 +0200)]
Move test/debug/gdb.kernel to share/misc/gdbinit.

The main reason is that crashinfo(8) was previously searching for
this script in /usr/src because it wasn't installed in the system.

This led to two little problems. First, if you didn't have source
in /usr/src, the core.xy.txt file wouldn't have all the information.
Second, if you had source in /usr/src but it was outdated and didn't
have all the commands that crashinfo(8) required, you would get
unwanted errors in core.xy.txt.

Therefore, put the file in share/misc from where it will get
installed and where other initialization files such as indent.pro
also reside. The user can then copy it to ~/.gdbinit as he likes.

3 years agonetwork - Fix PF mis-handling and other bugs
Matthew Dillon [Wed, 22 Sep 2010 07:09:31 +0000 (00:09 -0700)]
network - Fix PF mis-handling and other bugs

* Header file changes for last PF commit.

3 years agonetwork - Fix PF mis-handling and other bugs
Matthew Dillon [Wed, 22 Sep 2010 07:01:08 +0000 (00:01 -0700)]
network - Fix PF mis-handling and other bugs

* The mbuf subsystem does NOT clear pkthdr.pf.* fields on mbuf allocation.
  PF was assuming that pf.flags was being cleared.  Instead move the
  PF_TAG_GENERATED flag from pf.flags to fw_flags and call it PF_MBUF_TAGGED.
  The fw_flags field is cleared by the mbuf subsystem.

  Then clear pf.flags whenever we set PF_MBUF_TAGGED or determine that it
  has not been set.

  This fixes a serious bug where the PF filters start missing packets,
  increasing from system boot.  This is because more and more packets in
  the objcache wind up with non-zero pf.flags which cause PF to pass
  the packet unconditionally.

  For example NAT packets would wind up in the normal protocol stack which
  would of course would get confused and generate a RST.

* Move the 'cur' static pointer in pf_purge_expired_states() up a bit
  so pf_free_state() can access it and rename it 'purge_cur'.

  Adjust pf_free_state() to iterate purge_cur when it matches the state
  being destroyed.

* Protect the pf_purge_thread() with pf_token, it was depending on the MP
  lock before which definitely does not do the job.

* Flag the pfil hook as being MPSAFE.

Reported-by: "Jan Lentfer" <Jan.Lentfer@web.de>
3 years agolibc - nmalloc: Continue in a do/while(0) loop exits the loop, making the mtmagazine...
Venkatesh Srinivas [Tue, 21 Sep 2010 04:59:48 +0000 (21:59 -0700)]
libc - nmalloc: Continue in a do/while(0) loop exits the loop, making the mtmagazine routines not use the previous magazine.

Also handle null return from _vmem_alloc in burst allocation path.

Found-by: dillon
3 years agoboot: Remove duplicate optcd kernel
Michael Neumann [Mon, 20 Sep 2010 22:56:57 +0000 (00:56 +0200)]
boot: Remove duplicate optcd kernel

3 years agoMerge branch 'master' of /home/www-data/gitweb/dragonfly
Peter Avalos [Mon, 20 Sep 2010 22:02:47 +0000 (12:02 -1000)]
Merge branch 'master' of /home/www-data/gitweb/dragonfly

3 years agoRemove an include file (leftover from the iic upgrade).
Sascha Wildner [Mon, 20 Sep 2010 21:56:57 +0000 (23:56 +0200)]
Remove an include file (leftover from the iic upgrade).

3 years agoMerge branch 'vendor/BZIP'
Peter Avalos [Mon, 20 Sep 2010 21:35:14 +0000 (11:35 -1000)]
Merge branch 'vendor/BZIP'

3 years agoImport bzip2-1.0.6 which fixes CVE-2010-0405. vendor/BZIP
Peter Avalos [Mon, 20 Sep 2010 21:34:25 +0000 (11:34 -1000)]
Import bzip2-1.0.6 which fixes CVE-2010-0405.

3 years agobzip2: Remove tests from Makefile.
Peter Avalos [Mon, 20 Sep 2010 21:25:15 +0000 (11:25 -1000)]
bzip2: Remove tests from Makefile.

The files were already removed 5 years ago, so the test target would
have never worked.

3 years agoMerge branch 'vendor/BZIP'
Peter Avalos [Mon, 20 Sep 2010 21:22:15 +0000 (11:22 -1000)]
Merge branch 'vendor/BZIP'

3 years agoUnversion the contrib/bzip2/ directory.
Peter Avalos [Mon, 20 Sep 2010 21:11:30 +0000 (11:11 -1000)]
Unversion the contrib/bzip2/ directory.

3 years agobzip2: Remove regression tests.
Peter Avalos [Mon, 20 Sep 2010 21:03:42 +0000 (11:03 -1000)]
bzip2:  Remove regression tests.

These were removed on master years ago, but never removed from the
vendor branch.

3 years agoaltq(4): Oops, actually remove the #ident (forgot in last commit).
Sascha Wildner [Mon, 20 Sep 2010 20:10:14 +0000 (22:10 +0200)]
altq(4): Oops, actually remove the #ident (forgot in last commit).

3 years agokernel: Fix some operator precedence bugs.
Sascha Wildner [Mon, 20 Sep 2010 20:01:57 +0000 (22:01 +0200)]
kernel: Fix some operator precedence bugs.

3 years agonfs(4): ERROROUT already assigns error.
Sascha Wildner [Mon, 20 Sep 2010 20:00:21 +0000 (22:00 +0200)]
nfs(4): ERROROUT already assigns error.

3 years agokernel: Remove some #ident.
Sascha Wildner [Mon, 20 Sep 2010 18:38:52 +0000 (20:38 +0200)]
kernel: Remove some #ident.

3 years agonetwork - Increase MSIZE to 512
Matthew Dillon [Mon, 20 Sep 2010 19:54:43 +0000 (12:54 -0700)]
network - Increase MSIZE to 512

* The basic problem with 384 is that kmalloc() may hand back a buffer
  which crosses a page boundary, which gums up the DMA engines for
  numerous drivers.  Many drivers can only handle one segment per
  mbuf and even those that can handle more sometimes have fairly low
  segment count limits.

Reported-by: Jan Lentfer <Jan.Lentfer@web.de>
3 years agowpi - Fix some race conditions in variable initializers.
Joe Talbott [Fri, 17 Sep 2010 01:30:44 +0000 (21:30 -0400)]
wpi - Fix some race conditions in variable initializers.

3 years agokernel - Remove mistaken commit of SATA PM spec pdf
Matthew Dillon [Mon, 20 Sep 2010 16:57:16 +0000 (09:57 -0700)]
kernel - Remove mistaken commit of SATA PM spec pdf