dragonfly.git
4 years agoi386 - Get completely rid of APIC_IO apic_io
Michael Neumann [Wed, 6 Oct 2010 18:00:44 +0000 (20:00 +0200)]
i386 - Get completely rid of APIC_IO

For SMP kernels compile time APIC_IO option has been superseeded
by loader tunable hw.apic_io_enable which defaults to APIC I/O
enabled.

4 years agox86_64: Get rid of APIC_IO (SMP only)
Michael Neumann [Sat, 16 Oct 2010 13:29:08 +0000 (15:29 +0200)]
x86_64: Get rid of APIC_IO (SMP only)

This breaks the build for non-SMP kernels, which is left
for a following commit.

Introduce loader tunable hw.apic_io_enable which defaults
to 1 (enable use of APIC I/O).

4 years agox86_64: Make APIC_IO work again.
Michael Neumann [Sat, 16 Oct 2010 10:14:26 +0000 (12:14 +0200)]
x86_64: Make APIC_IO work again.

pmap_init() still needs to setup the lapic pointer otherwise
it results in a null pointer deref somewhere else.

4 years agoACPI MADT: Hide debug prints under bootverbose
Michael Neumann [Wed, 13 Oct 2010 23:44:11 +0000 (01:44 +0200)]
ACPI MADT: Hide debug prints under bootverbose

Apply commit e907d51d13bb415ef795852a3ded4f613a946177 for x86_64.

4 years agoredirindex accessed as 32-bit. Make it 32-bits wide.
Michael Neumann [Wed, 13 Oct 2010 23:35:40 +0000 (01:35 +0200)]
redirindex accessed as 32-bit. Make it 32-bits wide.

We access redirindex from assembly as a 32-bit value, so make it an actual
32-bit value in the struct. This was no bug because the low word is stored
first in memory and only the lower 32-bits of the value were ever used.

4 years agoIO APIC: Get rid of apic_imen
Michael Neumann [Wed, 13 Oct 2010 23:26:21 +0000 (01:26 +0200)]
IO APIC: Get rid of apic_imen

Similar to commit ea689d1c5f57b6c79947344f715a9d920756eb8a but
for x86_64.

Add AIMI_FLAG_MASKED to apic_intmapinfo, which indicates the
IRQ is currently masked.  Use it instead of apic_imen.

4 years agoIO APIC: Get rid of apic_pin_trigger
Michael Neumann [Wed, 13 Oct 2010 22:22:41 +0000 (00:22 +0200)]
IO APIC: Get rid of apic_pin_trigger

- Add flags field in apic_intmapinfo, which now records irq's trigger mode

Similar to commit 0f54693073cef9158dd5df73eb8d5ed890e9da82.

4 years agoReplace magic numbers in pc64/apic_vector.s
Michael Neumann [Wed, 13 Oct 2010 22:02:42 +0000 (00:02 +0200)]
Replace magic numbers in pc64/apic_vector.s

Similar to commit 3d911e0a2ce2b7748daa8f1d330989c970a7e150
except that we use imull instead of shll in the assembly code.

4 years agoAPIC vector: Compact redirect entry's mask bit setting and clearing
Michael Neumann [Wed, 13 Oct 2010 21:43:28 +0000 (23:43 +0200)]
APIC vector: Compact redirect entry's mask bit setting and clearing

Apply commit bda48b436116a809edab410f3ac5ac38f6cb4754 for x86_64.

4 years agoUse IOAPIC_WINDOW in pc64/apic_ipl.s
Michael Neumann [Wed, 13 Oct 2010 21:35:34 +0000 (23:35 +0200)]
Use IOAPIC_WINDOW in pc64/apic_ipl.s

Apply commit d2dd4a9f99b4672441dc810683327525eb69673b for x86_64.

4 years agoMP table: Test 0xe0000 when searching MP float pointer structure
Michael Neumann [Wed, 13 Oct 2010 21:23:13 +0000 (23:23 +0200)]
MP table: Test 0xe0000 when searching MP float pointer structure

Apply commit 1df86978bda289b743b2fc978e82721462823b97 for x86_64.

MultiProcessor Specification version 1.4 never mentions this location,
however, some brain-dead BIOSes put MP table there ...  "Extened BIOS"
location is taken from mptable(8) in the base system.

Reported-and-Tested-by: ruse39 on EFnet #dragonflybsd
4 years agoIO APIC: Mask the interrupt signal before trying
Michael Neumann [Wed, 13 Oct 2010 21:19:07 +0000 (23:19 +0200)]
IO APIC: Mask the interrupt signal before trying

to clear IRR by switching trigger mode.

Apply commit 69f1d879d9f93caba0dd678e71b7adecf6eb8460 for x86_64.

4 years agoACPI MADT: Don't use the "Initial APIC ID" in cpu_procinfo(cpuid.1)
Michael Neumann [Wed, 13 Oct 2010 21:12:16 +0000 (23:12 +0200)]
ACPI MADT: Don't use the "Initial APIC ID" in cpu_procinfo(cpuid.1)

Apply commit 733c107fab3315769778d1248b45bec918e91a82 for x86_64.

Some BIOSes seem to reprogram LAPIC ID to a value different from
what's in cpu_procinfo.

4 years agoIntroduce lapic enumerators, which is used to probe and config lapics
Michael Neumann [Wed, 13 Oct 2010 20:52:58 +0000 (22:52 +0200)]
Introduce lapic enumerators, which is used to probe and config lapics

Apply commit 281d9482759bb075834585452a405a8c9bdf18e7 for x86_64.

lapic enumerator implementation should provide two method:
lapic_probe()     -- make sure that if this enumerator is selected, later
                     lapic enumeration could work.  Return error code upon
                     failure.
lapic_enumerate() -- enumerate lapic and properly configure lapic (currently
                     only mapping lapic is needed).

lapic enumerator implementation could be registered by calling:
lapic_enumerator_register()
with lapic_enumerator struct.  The higher the priority field, the earlier
the lapic enumerator's lapic_probe method will be invoked.

Currently two lapic enumerators are implemented and registered:
- lapic enumerator using MP table
- lapic enumerator using ACPI MADT
ACPI MADT lapic enumerator has higher priority.  For testing purpose, ACPI
MADT lapic enumerator's priority could be overridden by setting tunable
hw.madt_lapic_prio to a smaller value (less than 20 currently)

Idea-from: FreeBSD

4 years agoMove lapic_init() into apic/mpapic.c
Michael Neumann [Wed, 13 Oct 2010 20:34:26 +0000 (22:34 +0200)]
Move lapic_init() into apic/mpapic.c

Similar to commit ad52b37b474bc10af16b0d4b42465282a5a3f432.

4 years agoMP probe: Get rid of cpu_apic_address
Michael Neumann [Wed, 13 Oct 2010 20:24:06 +0000 (22:24 +0200)]
MP probe: Get rid of cpu_apic_address

Apply commit 8629c4ea31677432f410b049b2c595e9944f7031 for x86_64.

4 years agoSilence warning of recent commit.
Michael Neumann [Wed, 13 Oct 2010 20:17:00 +0000 (22:17 +0200)]
Silence warning of recent commit.

4 years agoMP table: Don't mix lapic/ioapic/imcr configuration information extraction
Michael Neumann [Wed, 13 Oct 2010 20:10:37 +0000 (22:10 +0200)]
MP table: Don't mix lapic/ioapic/imcr configuration information extraction

Apply commit f65c10b6e2dfc62a5fc0f7808d25d262c09fd504 for x86_64.

4 years agoMerge mptable_check() into mptable_probe()
Michael Neumann [Wed, 13 Oct 2010 20:04:25 +0000 (22:04 +0200)]
Merge mptable_check() into mptable_probe()

Apply commit 34e6fa6316420d7ca743ee26d04b7828797c21a1 for x86_64.

4 years agoSilence two warnings introduced with recent commits.
Michael Neumann [Wed, 13 Oct 2010 20:02:30 +0000 (22:02 +0200)]
Silence two warnings introduced with recent commits.

4 years agoUse madt_iterate_entries() in madt_pass2()
Michael Neumann [Wed, 13 Oct 2010 19:53:05 +0000 (21:53 +0200)]
Use madt_iterate_entries() in madt_pass2()

Apply commit a11898beeeb811eec1759909fb034150ba0b509a for x86_64.

4 years agoACPI MADT: When locating lapic address, take Local APIC Address Override
Michael Neumann [Wed, 13 Oct 2010 19:50:32 +0000 (21:50 +0200)]
ACPI MADT: When locating lapic address, take Local APIC Address Override

into consideration.

Apply commit e25b100a8d784481bc9217f427ca9d18e27ec5f4 for x86_64.

4 years agoACPI MADT: Check existance of BSP in madt_check()
Michael Neumann [Wed, 13 Oct 2010 19:48:45 +0000 (21:48 +0200)]
ACPI MADT: Check existance of BSP in madt_check()

Apply commit cda58cde01f437d263b912c973af54355d81409e for x86_64.

4 years agoACPI MADT: Add madt_iterate_entries()
Michael Neumann [Wed, 13 Oct 2010 19:46:42 +0000 (21:46 +0200)]
ACPI MADT: Add madt_iterate_entries()

Apply commit 030832e48b68e90343c9c1fb1341a7b16449fa08 for x86_64.

4 years agoUse mptable_iterate_entries() in mptable_pass2()
Michael Neumann [Wed, 13 Oct 2010 19:39:07 +0000 (21:39 +0200)]
Use mptable_iterate_entries() in mptable_pass2()

Apply commit c4717d5cd73679d8016c0e40102437236768f43f for x86_64.

4 years agoPull IMCR setting out of mptable_pass2()
Michael Neumann [Wed, 13 Oct 2010 19:07:18 +0000 (21:07 +0200)]
Pull IMCR setting out of mptable_pass2()

Apply commit a0eaef71e7c0ef8eac9c0a300e9f2e86d54b8569 for x86_64.

4 years agoLet mptable_pass2() call mptable_default()
Michael Neumann [Wed, 13 Oct 2010 19:04:37 +0000 (21:04 +0200)]
Let mptable_pass2() call mptable_default()

Apply commit 390b18b08cbb5ab106ec8794fea4b04cd58342de for x86_64.

4 years agomptable_default() only configures ioapic stuffs
Michael Neumann [Wed, 13 Oct 2010 19:00:26 +0000 (21:00 +0200)]
mptable_default() only configures ioapic stuffs

Apply commit c54467fa2dc79255c5a5ae9a47870d2e2f7f8ca4 for x86_64.

4 years agoUse mptable_iterate_entries() in mptable_pass1()
Michael Neumann [Wed, 13 Oct 2010 18:19:11 +0000 (20:19 +0200)]
Use mptable_iterate_entries() in mptable_pass1()

Apply commit 8658b5be19d5ec97f8daa926028221b7bdf3f038 for x86_64.

4 years agoMP table: Remove global variables for HT fixup
Michael Neumann [Wed, 13 Oct 2010 18:09:04 +0000 (20:09 +0200)]
MP table: Remove global variables for HT fixup

Apply commit 44c36320a5f99d34932824cdbea1bdd5d48d8493 for x86_64.

4 years agoNAPICID 16 -> 256.
Michael Neumann [Wed, 13 Oct 2010 17:56:20 +0000 (19:56 +0200)]
NAPICID 16 -> 256.

This also makes sure that we could actually do 32 (MAXCPU) CPUs
instead of 16.

Apply commit c163176b27311121d875f09bee7a2a3fef8dd8f6 for x86_x64.

4 years agomptable_lapic_enumerate(): Fix comment
Michael Neumann [Wed, 13 Oct 2010 17:51:22 +0000 (19:51 +0200)]
mptable_lapic_enumerate(): Fix comment

Apply commit d787e80c66bd2da3e41a1cb741d755fbaffb4c1d for x86_64.

4 years agoRearrange mptable_lapic_enumerate() by factoring out mptable_lapic_default()
Michael Neumann [Wed, 13 Oct 2010 17:10:52 +0000 (19:10 +0200)]
Rearrange mptable_lapic_enumerate() by factoring out mptable_lapic_default()

Apply commit 322abba72e742db1f16f4583f82df2d75ffd7ed6 for x86_64.

4 years agoAdd APIC_ID to extract apic id from local apic id field
Michael Neumann [Wed, 13 Oct 2010 16:42:53 +0000 (18:42 +0200)]
Add APIC_ID to extract apic id from local apic id field

Apply commit bc0215286a51da3b028873e4ea1b44d23a87ebdd for x86_64.

4 years agoFix compile. lapic is setup later in mp_enable().
Michael Neumann [Mon, 11 Oct 2010 18:17:42 +0000 (20:17 +0200)]
Fix compile. lapic is setup later in mp_enable().

4 years agoAdd lapic_init() to map local apic
Michael Neumann [Mon, 11 Oct 2010 18:16:01 +0000 (20:16 +0200)]
Add lapic_init() to map local apic

Apply commit 5a16ccc33e47fb29b6eb4249b6b3f582f5971ff3 for x86_64.

4 years agoMP table: Pull lapic related information extraction into seperate function
Michael Neumann [Sun, 10 Oct 2010 22:52:34 +0000 (00:52 +0200)]
MP table: Pull lapic related information extraction into seperate function

Apply commit a0873f0751631415afae9507b515c3709a8e6336 for x86_x64.

4 years agoFix warnings when compiled with ACPI_IO
Michael Neumann [Sun, 10 Oct 2010 21:33:31 +0000 (23:33 +0200)]
Fix warnings when compiled with ACPI_IO

4 years agoMerge branch 'master' of git://git.dragonflybsd.org/dragonfly
Michael Neumann [Sun, 10 Oct 2010 21:00:06 +0000 (23:00 +0200)]
Merge branch 'master' of git://git.dragonflybsd.org/dragonfly

4 years agoMP table: Do preliminary checks before claiming that the MP table is valid
Michael Neumann [Mon, 4 Oct 2010 09:18:43 +0000 (11:18 +0200)]
MP table: Do preliminary checks before claiming that the MP table is valid

Apply commit fa0583846340dfc45e2c45fe65868c95f295d8df for x86_64.

4 years agoPut mp_nbusses and bus_data under APIC_IO
Michael Neumann [Mon, 4 Oct 2010 09:12:25 +0000 (11:12 +0200)]
Put mp_nbusses and bus_data under APIC_IO

Apply commit 4f6a8b30c9ca96ca4df6ed16232bbc9eeba05a5e for x86_64.

4 years agoStaticize mp_nbusses
Michael Neumann [Mon, 4 Oct 2010 08:58:12 +0000 (10:58 +0200)]
Staticize mp_nbusses

Apply commit abe45f39559867d84370bf61f05b7649cd17a7b9 for x86_64.

4 years agoRemove bsp_apic_ready
Michael Neumann [Mon, 4 Oct 2010 08:56:06 +0000 (10:56 +0200)]
Remove bsp_apic_ready

Apply commit ae996d5a08c195e14ffc9374645447d29611dd15 for x86_64.

4 years agoCorrect the logical_cpus calculation in mptable_hyperthread_fixup()
Michael Neumann [Mon, 4 Oct 2010 08:53:52 +0000 (10:53 +0200)]
Correct the logical_cpus calculation in mptable_hyperthread_fixup()

Apply commit 7ea07fd226314dc116e1089cb39196610300b406 for x86_x64.

4 years agobuild - Correct compile errors on 64-bit buildworld
Matthew Dillon [Thu, 30 Sep 2010 18:10:38 +0000 (11:10 -0700)]
build - Correct compile errors on 64-bit buildworld

* printf formatting stuff in ssh-keygen

4 years agoinstaller: Fix the HAMMER install.
Sascha Wildner [Thu, 30 Sep 2010 17:14:26 +0000 (19:14 +0200)]
installer: Fix the HAMMER install.

Due to the recent change of some variables from unsigned to signed some
issues had crept in.

While here, clean up the function a bit and make the error message more
useful.

4 years agobuild - Adjust Makefile.usr to point at new pkgsrcv2.git repo
Matthew Dillon [Thu, 30 Sep 2010 16:47:03 +0000 (09:47 -0700)]
build - Adjust Makefile.usr to point at new pkgsrcv2.git repo

* Change 'pkgsrc.git' to 'pkgsrcv2.git'.

4 years agonrelease: Fold the mklocatedb target into customizeiso.
Sascha Wildner [Thu, 30 Sep 2010 00:54:30 +0000 (02:54 +0200)]
nrelease: Fold the mklocatedb target into customizeiso.

Also make it simpler by just using the periodic(8) script in the chroot.

4 years agokernel - Fix MP race in kmalloc/kfree
Matthew Dillon [Thu, 30 Sep 2010 00:01:53 +0000 (17:01 -0700)]
kernel - Fix MP race in kmalloc/kfree

* Fix two cases where a zone is mis-handled by the new kfree().  Note,
  however, that the race being fixed is nearly impossible (might even
  BE impossible) to produce because it requires a slab to go from
  completely empty to completely full through hysteresis and then destroyed
  all in a few microseconds.

  Essentially when a kfree() occurs on a cpu which is not the owner of
  the zone the chunk is linked into a side-list on the zone using atomic
  ops.  Under certain (very rare) circumstances the cpu doing the kfree()
  must IPI the cpu that owns the zone.

  The moment the chunk is linked in the cpu owning the zone can race the
  incoming IPI and destroy the zone (if it is now completely unused).
  The old kmemusage code handled the race just fine but the new vm_page_t
  based big-block handler could not.

  The solution is to have an atomic-ops counter for inflight IPIs which
  prevents the owning cpu from destroying the zone prematurely.

4 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Wed, 29 Sep 2010 21:48:17 +0000 (14:48 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

4 years agokernel - More work on x86_64 low-memory configurations
Matthew Dillon [Wed, 29 Sep 2010 21:47:11 +0000 (14:47 -0700)]
kernel - More work on x86_64 low-memory configurations

* The nkpt calculation was wrong and could lead to too few kernel
  page-tables during low level boot.

  Try to calculate the correct value and then add 128 page tables just
  to be safe.

Reported-by: John Marino
4 years agoMerge branch 'master' of /home/www-data/gitweb/dragonfly
Peter Avalos [Wed, 29 Sep 2010 20:08:37 +0000 (10:08 -1000)]
Merge branch 'master' of /home/www-data/gitweb/dragonfly

4 years agokernel - Adjust KVA use on i386 and x86_64
Matthew Dillon [Wed, 29 Sep 2010 18:38:30 +0000 (11:38 -0700)]
kernel - Adjust KVA use on i386 and x86_64

The i386 changes recover another ~60MB of KVM for kernel use.  This is an
attempt to further reduce KVM use based on bug reports from people running
production systems.

The x86_64 changes recognize the now much-larger KVM space (128G+) and
remove some i386-era limitations.

* i386 - Reduce the nominal maximum swbufs on i386 from 256 to 128,
  saving 16MB of KVM (and also 16MB of real memory).

  Now that we have swbufs both with and without kva we don't really
  need so many with kva.

* i386 - Reduce pv_entry reservation on machines with maximal memory
  configurations from 2.5-3M entries down to 1.4M entries.

  In addition to fixing a bug which counted vm_page_array_size twice
  (which is also fixed on x86_64 in this commit), also put a soft cap
  of 1.4M pv entries.  Most production machines never even get close
  to the old cap and this saves us at least 45MB of KVM on machines
  with 3G+ of ram.

  The cap can be raised with a kenv boot variable (vm.pmap.pv_entries).

* x86_64 - Increase the maximum buffer cache size from 400MB to 1GB.
  This will effect machines with >4G of ram.  A machine with 8G of
  ram will wind up with ~800MB worth of buffer cache.

  In particular this should improve HAMMER's cache performance since
  the presence of a cache bp is needed to circumvent the per-mount
  lock.  This may also improve flushes but it is hard to say.

Reported-by: Peter Avalos <peter@theshell.com>
4 years agonetstat - Fix netstat -m on core dumps
Matthew Dillon [Wed, 29 Sep 2010 17:15:34 +0000 (10:15 -0700)]
netstat - Fix netstat -m on core dumps

* Aggregate all ncpus worth of stats when operating on a core dump instead
  of just using cpu0.  Otherwise the numbers will be wildly incorrect.

Reported-by: Peter Avalos <peter@theshell.com>
4 years agodsched.9: Fix typo
Sascha Wildner [Wed, 29 Sep 2010 14:42:26 +0000 (16:42 +0200)]
dsched.9: Fix typo

4 years agoAdd a dsched(9) manual page.
Sascha Wildner [Wed, 29 Sep 2010 14:41:23 +0000 (16:41 +0200)]
Add a dsched(9) manual page.

Submitted-by: alexh
4 years agomutex.9: Adjust .Nm a bit and fix FILES section.
Sascha Wildner [Wed, 29 Sep 2010 14:23:02 +0000 (16:23 +0200)]
mutex.9: Adjust .Nm a bit and fix FILES section.

4 years agoUpdate build for OpenSSH-5.6.
Peter Avalos [Wed, 29 Sep 2010 10:14:54 +0000 (00:14 -1000)]
Update build for OpenSSH-5.6.

4 years agoAdd a SYSINIT(9) manpage describing the SYSINIT macro.
Venkatesh Srinivas [Wed, 29 Sep 2010 04:59:53 +0000 (21:59 -0700)]
Add a SYSINIT(9) manpage describing the SYSINIT macro.

4 years agoMerge branch 'vendor/OPENSSH'
Peter Avalos [Wed, 29 Sep 2010 02:05:08 +0000 (16:05 -1000)]
Merge branch 'vendor/OPENSSH'

4 years agokernel - Report actual real memory during kernel boot
Matthew Dillon [Wed, 29 Sep 2010 01:20:01 +0000 (18:20 -0700)]
kernel - Report actual real memory during kernel boot

* Calculate and report the actual real memory reported by the BIOS,
  only counting memory types and ignoring other mapping types and holes.

* Report this value instead of the highest mapped address, reducing
  user confusion.  e.g. on a machine with 8G of ram:

  real memory  = 8858370048 (8448 MB) (before change)
  avail memory = 7597334528 (7245 MB)

  real memory  = 8049428480 (7676 MB) (after change)
  avail memory = 7597334528 (7245 MB)

  real memory  = 8452081664 (8060 MB) (after changing BIOS video 512M->128M)
  avail memory = 7987879936 (7617 MB)

  This all makes sense if you think about.  The MB has on-board video and
  the BIOS reserves video memory for it, so after taking that into account
  the BIOS is really only eating around 4MB of ram for itself.  The

  "real memory" now correctly reflects memory remaining after the BIOS
  took its cut whereas originally (the 8.4GB) was really more a reflection
  of the highest mapped address, memory + IO/bus-space combined, and
  did not accurately reflect how much memory the BIOS was handing to the
  kernel.

4 years agoImport OpenSSH-5.6p1.
Peter Avalos [Wed, 29 Sep 2010 01:03:24 +0000 (15:03 -1000)]
Import OpenSSH-5.6p1.

4 years agokernel - Move action_list out of vm_page, and change flags from 16->32 bits
Matthew Dillon [Tue, 28 Sep 2010 23:16:05 +0000 (16:16 -0700)]
kernel - Move action_list out of vm_page, and change flags from 16->32 bits

* vm_page->action_list removed, saving 16 bytes per vm_page on x86_64
  (8 on i386).  Instead we add a flag to vm_page->flags, PG_ACTIONLIST,
  and store the action registrations in a global hash table.

* Change vm_page->flags from a 16 to 32 bits, plus pad, adding 4 bytes
  to the vm_page structure.

* x86_64 sizeof(struct vm_page) goes from 136 to 128, keeping in mind
  that it grew from 132 to 136 with the addition of ku_pagecnt.  So,
  net-net, we have still managed to decrease the size of struct vm_page
  by a little.

4 years agokernel - Increase MSGBUF_SIZE from 64K to 128K
Matthew Dillon [Tue, 28 Sep 2010 22:46:34 +0000 (15:46 -0700)]
kernel - Increase MSGBUF_SIZE from 64K to 128K

* MSGBUF_SIZE is too small to hold a verbose boot, bump the default
  up to 128K.

4 years agokernel - Greatly reduce kernel memory use for x86_64
Matthew Dillon [Tue, 28 Sep 2010 22:42:55 +0000 (15:42 -0700)]
kernel - Greatly reduce kernel memory use for x86_64

* Remove the kmemusage array entirely and instead store ku_pagecnt
  in the vm_page structure.

  This allows x86_64 to boot with 128G of KVM without eating tons of
  real memory, in addition to another recent commit which reduced
  real memory use w/ large KVM spaces.

Reported-by: John Marino
4 years agoUPGRADING: Add a note about OpenSSL SHLIB_MAJOR bump.
Peter Avalos [Tue, 28 Sep 2010 21:48:42 +0000 (11:48 -1000)]
UPGRADING: Add a note about OpenSSL SHLIB_MAJOR bump.

4 years agoFix buildkernel when pfsync(4) is compiled into an x86_64 kernel.
Sascha Wildner [Tue, 28 Sep 2010 19:44:33 +0000 (21:44 +0200)]
Fix buildkernel when pfsync(4) is compiled into an x86_64 kernel.

Reported-by: Dheeraj Reddy <dheerajr@gmail.com>
4 years agoMake acpi(4) compilable into an x86_64 kernel.
Sascha Wildner [Tue, 28 Sep 2010 19:43:43 +0000 (21:43 +0200)]
Make acpi(4) compilable into an x86_64 kernel.

Note that this doesn't mean that we recommend building ACPI into the
kernel in any way. But it will still be needed once we get to having
some kind of LINT config for x86_64.

Tested-by: Dheeraj Reddy <dheerajr@gmail.com>
4 years agoinstaller: Raise WARNS to 6 and fix resulting warnings.
Sascha Wildner [Tue, 28 Sep 2010 01:18:50 +0000 (03:18 +0200)]
installer: Raise WARNS to 6 and fix resulting warnings.

4 years agoinstaller: Add back comment.
Sascha Wildner [Tue, 28 Sep 2010 00:44:52 +0000 (02:44 +0200)]
installer: Add back comment.

4 years agoinstaller: Adjustments to the sources.conf file.
Sascha Wildner [Tue, 28 Sep 2010 00:36:43 +0000 (02:36 +0200)]
installer: Adjustments to the sources.conf file.

/cdrom is not part of our hierarchy and /usr/src only gets created in
the running system.

While here, remove the code that handles falling back to an internal
table since we can rely on /usr/share/installer/sources.conf to exist
always.

4 years agoBump SHLIB_MAJOR for libssl and libcrypto.
Peter Avalos [Mon, 27 Sep 2010 22:15:42 +0000 (12:15 -1000)]
Bump SHLIB_MAJOR for libssl and libcrypto.

The latest OpenSSL upgrade caused some issues with existing 3rd-party
binaries.  To get those programs to use the new OpenSSL, they'll need to
be relinked against the new libraries.

4 years agokernel - Fix incorrect vfs.cache sysctls (x86_64)
Matthew Dillon [Mon, 27 Sep 2010 16:07:29 +0000 (09:07 -0700)]
kernel - Fix incorrect vfs.cache sysctls (x86_64)

* The vfs.cache.numneg and vfs.cache.numcache sysctls were being defined
  as unsigned longs when they are ints

* Remove duplicate debug. sysctls for numneg/numcache.

4 years agokernel - Fix NFS server deadlock
Matthew Dillon [Mon, 27 Sep 2010 15:15:31 +0000 (08:15 -0700)]
kernel - Fix NFS server deadlock

* _cache_cleanneg() was calling cache_zap() with the non-blocking argument
  set to FALSE, causing numerous out-of-order locking situations which
  could march up the topology and cause a deadlock.

  Fixed by calling cache_zap() with the non-blocking argument set to TRUE.

* This was particularly obvious when running a buildworld with a loopback
  NFS mount for /usr/obj, which generates lots of negative cache activity,
  but theoretically could cause deadlocks even without using NFS.

Reported-by: YONETANI Tomokazu <qhwt.dfly@les.ath.cx>
4 years agoinstaller: Slightly change the item order in the configure menu.
Sascha Wildner [Mon, 27 Sep 2010 14:11:41 +0000 (16:11 +0200)]
installer: Slightly change the item order in the configure menu.

Move the "Set keyboard map" item before the "Set root password" item
in order to prevent accidental foot-shooting.

Submitted-by: matthias
4 years agocryptsetup: Port API test to DragonFly.
Sascha Wildner [Mon, 27 Sep 2010 11:48:11 +0000 (13:48 +0200)]
cryptsetup: Port API test to DragonFly.

4 years agoAdd libcryptsetup and libluks.
Sascha Wildner [Mon, 27 Sep 2010 01:17:03 +0000 (03:17 +0200)]
Add libcryptsetup and libluks.

4 years agoliblvm: Minor cleanup in the Makefile.
Sascha Wildner [Mon, 27 Sep 2010 11:54:06 +0000 (13:54 +0200)]
liblvm: Minor cleanup in the Makefile.

4 years agoUPDATING - Remove CVS Id
Matthias Schmidt [Mon, 27 Sep 2010 07:01:54 +0000 (09:01 +0200)]
UPDATING - Remove CVS Id

This could confuse users as the date of the ID is in the past.  Adapt style
while here.

4 years agotest commit
Robert Garrett [Mon, 27 Sep 2010 03:31:24 +0000 (20:31 -0700)]
test commit

4 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.

4 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.

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

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

4 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.

4 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.

4 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

4 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

4 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.

4 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.

4 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.

4 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.

4 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
4 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.

4 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>
4 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.

4 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

4 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.

4 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.

4 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.