dragonfly.git
12 years agoRemove the script that was used to update the pciconf(8) database.
Sascha Wildner [Sat, 24 Dec 2011 00:11:38 +0000 (01:11 +0100)]
Remove the script that was used to update the pciconf(8) database.

12 years agoUpdate the pciconf(8) database.
Sascha Wildner [Sat, 24 Dec 2011 00:10:23 +0000 (01:10 +0100)]
Update the pciconf(8) database.

Dec 21 snapshot from http://pciids.sourceforge.net/

This commit switches us to using the sourceforge list only. It's large,
actively maintained, and comes in the right format for pciconf(8) so we
need no scripts to prepare it.

Previously it was a combination of this database with Chris Hart's (seems
to be no longer actively maintained) and Jim Boemler's.

12 years agoUpdate build for OpenPAM Lycopsida.
Peter Avalos [Fri, 23 Dec 2011 23:46:46 +0000 (15:46 -0800)]
Update build for OpenPAM Lycopsida.

12 years agoMerge branch 'vendor/OPENPAM'
Peter Avalos [Fri, 23 Dec 2011 21:47:59 +0000 (13:47 -0800)]
Merge branch 'vendor/OPENPAM'

12 years agoImport OpenPAM Lycopsida.
Peter Avalos [Fri, 23 Dec 2011 21:28:41 +0000 (13:28 -0800)]
Import OpenPAM Lycopsida.

This also includes changeset 509 to prevent a logged error message if
the file doesn't exist in openpam_check_owner_perms.c.

12 years agotelnetd: Validate key length prior to copying into a fixed buffer.
Peter Avalos [Fri, 23 Dec 2011 18:16:31 +0000 (10:16 -0800)]
telnetd:  Validate key length prior to copying into a fixed buffer.

It's possible for a remote attacker to execute arbitrary code with the
privileges of the telnetd daemon (normally root) prior to this fix.
CVE-2011-4862

Obtained-from:   FreeBSD-SA-11:08.telnetd

12 years agostore.9: Add a line about suword32().
Sascha Wildner [Fri, 23 Dec 2011 14:51:00 +0000 (15:51 +0100)]
store.9: Add a line about suword32().

12 years agovkernel/vkernel64: Add suword32() to fix build.
Sascha Wildner [Fri, 23 Dec 2011 14:50:06 +0000 (15:50 +0100)]
vkernel/vkernel64: Add suword32() to fix build.

12 years agokernel/x86_64: Remove a useless file.
Sascha Wildner [Fri, 23 Dec 2011 13:51:47 +0000 (14:51 +0100)]
kernel/x86_64: Remove a useless file.

12 years agotbridge: Make it compilable into the kernel and add it to the LINTs.
Sascha Wildner [Fri, 23 Dec 2011 00:04:41 +0000 (01:04 +0100)]
tbridge: Make it compilable into the kernel and add it to the LINTs.

This is purely for build testing. It would never be compiled into a
normal kernel.

12 years agotbridge: Remove an unused header. It's all in <sys/tbridge.h>.
Sascha Wildner [Thu, 22 Dec 2011 23:53:42 +0000 (00:53 +0100)]
tbridge: Remove an unused header. It's all in <sys/tbridge.h>.

12 years agokernel: Remove two PC98 specific serial driver headers.
Sascha Wildner [Thu, 22 Dec 2011 23:31:45 +0000 (00:31 +0100)]
kernel: Remove two PC98 specific serial driver headers.

12 years agoboot: Remove some unused files in sys/boot.
Sascha Wildner [Thu, 22 Dec 2011 23:07:44 +0000 (00:07 +0100)]
boot: Remove some unused files in sys/boot.

12 years agokernel: Remove some more old headers.
Sascha Wildner [Thu, 22 Dec 2011 22:15:21 +0000 (23:15 +0100)]
kernel: Remove some more old headers.

They all got useless with the recent ISA-only driver removal.

12 years agoral(4): Remove an unused header.
Sascha Wildner [Thu, 22 Dec 2011 21:55:10 +0000 (22:55 +0100)]
ral(4): Remove an unused header.

No longer used since ral(4) was switched to modules for the firmware.

12 years agokernel - Fix new static stackgap feature from recent commit
Matthew Dillon [Thu, 22 Dec 2011 21:18:41 +0000 (13:18 -0800)]
kernel - Fix new static stackgap feature from recent commit

* Fix the code up a bit to make the feature actually work properly.

12 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Thu, 22 Dec 2011 21:18:37 +0000 (13:18 -0800)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

12 years agokernel: Remove an unused header file.
Sascha Wildner [Thu, 22 Dec 2011 21:17:02 +0000 (22:17 +0100)]
kernel: Remove an unused header file.

The two (PC98) drivers using this were removed in 2005.

12 years agokernel - cleanup bit number test
Matthew Dillon [Thu, 22 Dec 2011 19:48:34 +0000 (11:48 -0800)]
kernel - cleanup bit number test

* Use testq/%rax instead of %eax.  This change should have no real effect
  since the test is against a bit number and not a bit mask, but is more
  correct.

12 years agokernel - Reorder critical section interlock in splz()
Matthew Dillon [Thu, 22 Dec 2011 19:45:06 +0000 (11:45 -0800)]
kernel - Reorder critical section interlock in splz()

* Reorder a critical section interlock in splz() to remove a one-instruction
  window where an interrupt might nest against the splz() operation.

12 years agokernel - Properly dispose of vm_page_t in sf_buf_mfree()
Matthew Dillon [Thu, 22 Dec 2011 19:43:26 +0000 (11:43 -0800)]
kernel - Properly dispose of vm_page_t in sf_buf_mfree()

* Properly dispose of vm_page_t in sf_buf_mfree(), used by sendfile()

* Should fix a VM page delete/free panic.

Reported-by: sephe
12 years agokernel - Implement static stackgap feature in addition to random stackgap
Matthew Dillon [Thu, 22 Dec 2011 19:39:56 +0000 (11:39 -0800)]
kernel - Implement static stackgap feature in addition to random stackgap

* Specifying a negative kern.stackgap_random value implements a static
  stack gap intead of a random one.  The negative value does not need to
  be a power of 2 but will, of course, still be aligned.

12 years agokernel - Increase cluster_limit for exec args on machines w/ > 16 cpus
Matthew Dillon [Thu, 22 Dec 2011 19:32:57 +0000 (11:32 -0800)]
kernel - Increase cluster_limit for exec args on machines w/ > 16 cpus

* Increase the objcache for exec args on machines with more than 16
  cpus to accomodate a higher possible exec rate.

12 years agokernel - Add suword32 and fix argc/envc initialization
Matthew Dillon [Thu, 22 Dec 2011 19:30:41 +0000 (11:30 -0800)]
kernel - Add suword32 and fix argc/envc initialization

* Add suword32() for cases where we want to write out a word and not a long.

* argc and envc are integers, not longs.

* Change has no effect on intel/amd boxes

12 years agokernel - Fix floating point save state structure and minor npx issues
Matthew Dillon [Thu, 22 Dec 2011 19:21:41 +0000 (11:21 -0800)]
kernel - Fix floating point save state structure and minor npx issues

* The floating point save structure(s) used by the kernel and possibly
  also userland were too large for x86-64 due to a porting error where
  'long' variables were left intact that should have been turned into
  32-bit variables.

  No known adverse effect to the too-large structures but we have to get
  it right.

* npxexit() was not being called in a kernel thread exit case.  Kernel
  threads do not use the FP unit so the case was never hit, but fix it
  anyway.

* Move a critical section to cover a flags test to handle a very rare
  preemptive thread switch issue.  Since the preempting thread is a
  kernel thread which does not use the FP unit this case was never hit,
  but fix it anyway.

12 years agolibc - fix mcontext issues
Matthew Dillon [Thu, 22 Dec 2011 19:13:45 +0000 (11:13 -0800)]
libc - fix mcontext issues

* Fix incorrect register use in _get_mcontext() left over from the
  32-bit port to 64-bits.

* This routine is only (currently) used by a few pkgsrc packages.

12 years agopci: Bring in HyperTransport MSI mapping support
Sepherosa Ziehau [Thu, 22 Dec 2011 11:52:02 +0000 (19:52 +0800)]
pci: Bring in HyperTransport MSI mapping support

12 years agoBump __DragonFly_version in param.h due to libm update
John Marino [Thu, 22 Dec 2011 07:19:05 +0000 (08:19 +0100)]
Bump __DragonFly_version in param.h due to libm update

12 years agolibm: Man page updates
John Marino [Wed, 21 Dec 2011 22:34:17 +0000 (23:34 +0100)]
libm: Man page updates

These are the man page updates required as a consequence
of adding FreeBSD functions to libm.

12 years agolibm: Sync with FreeBSD (~50 math functions added)
John Marino [Wed, 21 Dec 2011 17:10:04 +0000 (18:10 +0100)]
libm: Sync with FreeBSD (~50 math functions added)

The main purpose of syncing with FreeBSD is to obtain numerous "long double"
functions which are required for C99 compliance.  There are still many
functions missing.  According to g++ testsuite, the following 10 functions
still must be implemented at least:
        coshl           logl            expl
        sinhl           log2l           expm1l
        acoshl          log10l
        asinhl          log1pl

Also known missing are nexttowardl, tgammal, and the long double version of
most of several complex functions.

A few years ago the freebsd-based math library was thrown out in favor of
the NetBSD version.  It may be time to reverse that and sync the entire
libm with FreeBSD.  Right now the DragonFly libm is a mixture between the
two and it doesn't divide nicely.  All the rounding and rint functions from
NetBSD had to be thrown out as well as the "kernel" functions.  For the
short term this is okay, but in the long term it would be a good idea to
start tracking FreeBSD again.  They are maintaining this library more
frequently and adding more functions more rapidly than NetBSD, so it would
be good to piggy-back on that effort.

The man page will be committed separately.

12 years agolibm: Add .section .note.GNU-stack to all assembly files
John Marino [Tue, 20 Dec 2011 12:07:37 +0000 (13:07 +0100)]
libm: Add .section .note.GNU-stack to all assembly files

GCC always appends the following line to assembly files it generates:

  .section    .note.GNU-stack,"",@progbits

This creates an empty section named ".note.GNU-stack" to the object file
which servers as a hint to GNU linkers that this object file does not
require an executable stack.  When all linked object files indicate that
no executable stack is needed, the executable NX bit is set such as the
binary is run on a non-executable stack.  This is a free security
improvement against buffer overflow attacks.

12 years agolibm: Some cleanup in the manual pages.
Sascha Wildner [Wed, 21 Dec 2011 18:53:20 +0000 (19:53 +0100)]
libm: Some cleanup in the manual pages.

12 years agolibm: A little cleanup in the exp*(3) MLINKS.
Sascha Wildner [Wed, 21 Dec 2011 18:28:10 +0000 (19:28 +0100)]
libm: A little cleanup in the exp*(3) MLINKS.

12 years agoRemove some __STDC__ checks.
Sascha Wildner [Wed, 21 Dec 2011 18:05:43 +0000 (19:05 +0100)]
Remove some __STDC__ checks.

12 years agoaltq/cbq: Clear poll-cache if the cached class is to be destroyed
Sepherosa Ziehau [Wed, 21 Dec 2011 08:09:50 +0000 (16:09 +0800)]
altq/cbq: Clear poll-cache if the cached class is to be destroyed

12 years agoaltq/hfsc: Clear poll-cache if the cached hfsc class is to be destroyed
Sepherosa Ziehau [Wed, 21 Dec 2011 08:01:58 +0000 (16:01 +0800)]
altq/hfsc: Clear poll-cache if the cached hfsc class is to be destroyed

Reported-by: pavalos@
12 years agosmb - Tear out C++-wannabe exception magic
Samuel J. Greear [Tue, 20 Dec 2011 19:32:14 +0000 (12:32 -0700)]
smb - Tear out C++-wannabe exception magic

12 years agoi386/ioapic_abi: Mark the unused IOAPIC irqmap as reserved
Sepherosa Ziehau [Tue, 20 Dec 2011 11:47:23 +0000 (19:47 +0800)]
i386/ioapic_abi: Mark the unused IOAPIC irqmap as reserved

Since IDT on i386 is shared, we need to guard against reuse
an already used IDT entry

12 years agoRemove formatted version of ieee.3 manpage too.
Sascha Wildner [Tue, 20 Dec 2011 11:46:12 +0000 (12:46 +0100)]
Remove formatted version of ieee.3 manpage too.

12 years agolibm: Bump __DragonFly_version, remove obsolete man page
John Marino [Tue, 20 Dec 2011 10:12:55 +0000 (11:12 +0100)]
libm: Bump __DragonFly_version, remove obsolete man page

The ieee (3) man page is no longer generated, so add it to the upgrade
script. The last commit introduced several functions to libm, so that
merits increasing the param.h version.

12 years agolibm: Sync with NetBSD
John Marino [Mon, 19 Dec 2011 22:29:15 +0000 (23:29 +0100)]
libm: Sync with NetBSD

Adds the following assembly function: logbl, ilogbl, modf, scalbnl
Adds the following source functions: exp2, exp2f, frexp, nextafterl,
  nexttoward, requo, remquof, and fabsl
Captures all the bug fixes since last sync
Synchronizes with current NetBSD versions where possible.

Required to fix modern gcc/fortran and other packages.
Gets closer to C99 capability.

12 years agoloader.8: Add missing spaces.
Sascha Wildner [Tue, 20 Dec 2011 09:59:00 +0000 (10:59 +0100)]
loader.8: Add missing spaces.

12 years agoloader.conf.5: Use .Dx.
Sascha Wildner [Tue, 20 Dec 2011 09:58:52 +0000 (10:58 +0100)]
loader.conf.5: Use .Dx.

12 years agovinum(4): Remove some casts to union and solve it in standard C.
Sascha Wildner [Mon, 19 Dec 2011 18:09:03 +0000 (19:09 +0100)]
vinum(4): Remove some casts to union and solve it in standard C.

12 years agovpo(4): Remove some casts to union and solve it in standard C.
Sascha Wildner [Mon, 19 Dec 2011 18:03:05 +0000 (19:03 +0100)]
vpo(4): Remove some casts to union and solve it in standard C.

12 years agokernel: Shuffle some initialization around to avoid forward declarations.
Sascha Wildner [Mon, 19 Dec 2011 12:18:57 +0000 (13:18 +0100)]
kernel: Shuffle some initialization around to avoid forward declarations.

12 years agokernel: Remove now obsolete CPU_AMD64X2_INTR_SPAM option.
Sascha Wildner [Mon, 19 Dec 2011 12:05:35 +0000 (13:05 +0100)]
kernel: Remove now obsolete CPU_AMD64X2_INTR_SPAM option.

12 years agox86_64: Always set LINTEN for AMD CPUs if their family >= 0xF
Sepherosa Ziehau [Mon, 19 Dec 2011 11:54:10 +0000 (19:54 +0800)]
x86_64: Always set LINTEN for AMD CPUs if their family >= 0xF

This merges d54b8204947bb8a83fa3d2c7f1b595e47f3802c2

12 years agoi386: Always set LINTEN for AMD CPUs if their family >= 0xF
Sepherosa Ziehau [Mon, 19 Dec 2011 11:33:30 +0000 (19:33 +0800)]
i386: Always set LINTEN for AMD CPUs if their family >= 0xF

Since LINTEN will take effect when LAPIC is hardware enabled,
so we defer the LINTEN turning on when we know LAPIC will be
software enabled.

This fixes the recent MI per-cpu interrupt information array
support on AMD CPUs when IOAPIC is disabled on SMP system.

12 years agogpt(8): increase size of boot slice to 768MB
François Tigeot [Sun, 18 Dec 2011 19:48:19 +0000 (20:48 +0100)]
gpt(8): increase size of boot slice to 768MB

* aligning it to the size of the boot slice created by the
  live cd installer

12 years agoi386/MachintrABI: Use low-level INTR{EN,DIS} in intr_{setup,teardown}
Sepherosa Ziehau [Sun, 18 Dec 2011 13:53:17 +0000 (21:53 +0800)]
i386/MachintrABI: Use low-level INTR{EN,DIS} in intr_{setup,teardown}

This merges 26cf64b268c65144b898d5d00883a252da364c03

12 years agoi386/icu: Add intr_{enable,disable} wrapper for ICU_INTR{EN,DIS}
Sepherosa Ziehau [Sun, 18 Dec 2011 13:20:17 +0000 (21:20 +0800)]
i386/icu: Add intr_{enable,disable} wrapper for ICU_INTR{EN,DIS}

This merges 1967234a6fada57e929763ef261fcb5739102053

12 years agoi386/ioapic_abi: Augment intr_{setup,teardown} w/ assertions
Sepherosa Ziehau [Sun, 18 Dec 2011 12:09:31 +0000 (20:09 +0800)]
i386/ioapic_abi: Augment intr_{setup,teardown} w/ assertions

This merges 88100cf6c15096c1eb0776d2a8bd9dcf04d19095

12 years agoi386/ioapic_abi: Augment intr_disable/intr_enable w/ assertions
Sepherosa Ziehau [Sun, 18 Dec 2011 12:02:11 +0000 (20:02 +0800)]
i386/ioapic_abi: Augment intr_disable/intr_enable w/ assertions

This merges aef690c8e8f24bd1169780ebc7bade827fb3f370

12 years agox86_64: Per-cpu IDT
Sepherosa Ziehau [Sun, 18 Dec 2011 05:05:07 +0000 (13:05 +0800)]
x86_64: Per-cpu IDT

12 years agoioapic: Even for UP, we still should initialize irqmap properly
Sepherosa Ziehau [Sun, 18 Dec 2011 03:15:51 +0000 (11:15 +0800)]
ioapic: Even for UP, we still should initialize irqmap properly

Since we enable IOAPIC even for UP building

12 years agoidt: Remove no longer applied comment about NIDT
Sepherosa Ziehau [Sun, 18 Dec 2011 03:11:58 +0000 (11:11 +0800)]
idt: Remove no longer applied comment about NIDT

We should always use all of the available IDT entries

12 years agonexus/intr: Properly assert cpuid for interrupt resources
Sepherosa Ziehau [Sun, 18 Dec 2011 02:17:48 +0000 (10:17 +0800)]
nexus/intr: Properly assert cpuid for interrupt resources

Noticed-by: Nuno Antunes
12 years agosym(4): Remove excessive semicolons.
Sascha Wildner [Sat, 17 Dec 2011 14:53:51 +0000 (15:53 +0100)]
sym(4): Remove excessive semicolons.

They are provided by the macro definition.

This is the same what FreeBSD did in r118472.

12 years agotwe(4): Remove a cast to a union (which is a GNU extension).
Sascha Wildner [Sat, 17 Dec 2011 14:04:09 +0000 (15:04 +0100)]
twe(4): Remove a cast to a union (which is a GNU extension).

12 years agovinum(4): Fix wrong parenthesizing.
Sascha Wildner [Fri, 16 Dec 2011 19:51:30 +0000 (20:51 +0100)]
vinum(4): Fix wrong parenthesizing.

12 years agopcn(4): Fix a bug where && was meant but & was used.
Sascha Wildner [Fri, 16 Dec 2011 13:50:23 +0000 (14:50 +0100)]
pcn(4): Fix a bug where && was meant but & was used.

12 years agomemcontrol(8): Fix wrong parenthesizing.
Sascha Wildner [Fri, 16 Dec 2011 13:18:11 +0000 (14:18 +0100)]
memcontrol(8): Fix wrong parenthesizing.

12 years agox86_64/MachintrABI: Use low-level INTR{EN,DIS} in intr_{setup,teardown}
Sepherosa Ziehau [Fri, 16 Dec 2011 09:20:00 +0000 (17:20 +0800)]
x86_64/MachintrABI: Use low-level INTR{EN,DIS} in intr_{setup,teardown}

intr_{setup,teardown} have already done enough verification for the
'intr' parameter

12 years agox86_64/icu: Add intr_{enable,disable} wrapper for ICU_INTR{EN,DIS}
Sepherosa Ziehau [Fri, 16 Dec 2011 08:52:38 +0000 (16:52 +0800)]
x86_64/icu: Add intr_{enable,disable} wrapper for ICU_INTR{EN,DIS}

- Add more assertion in icu_abi_intr_{enable,disable}()
- Augment icu_abi_intr_{setup,teardown}() w/ assertions

12 years agox86_64/ioapic_abi: Augment intr_{setup,teardown} w/ assertions
Sepherosa Ziehau [Fri, 16 Dec 2011 08:01:05 +0000 (16:01 +0800)]
x86_64/ioapic_abi: Augment intr_{setup,teardown} w/ assertions

12 years agox86_64/ioapic_abi: Augment intr_disable/intr_enable w/ assertions
Sepherosa Ziehau [Fri, 16 Dec 2011 07:21:44 +0000 (15:21 +0800)]
x86_64/ioapic_abi: Augment intr_disable/intr_enable w/ assertions

12 years agonexus_alloc_resource: Add missing rman_set_rid()
Sepherosa Ziehau [Fri, 16 Dec 2011 06:09:16 +0000 (14:09 +0800)]
nexus_alloc_resource: Add missing rman_set_rid()

12 years agonexus/intr: Change the wrong cpuid backtrace to assertion
Sepherosa Ziehau [Fri, 16 Dec 2011 03:08:03 +0000 (11:08 +0800)]
nexus/intr: Change the wrong cpuid backtrace to assertion

12 years agotip(1): Remove "register".
Sascha Wildner [Fri, 16 Dec 2011 04:30:51 +0000 (05:30 +0100)]
tip(1): Remove "register".

12 years agoVFS accounting: add a sync command
Francois Tigeot [Thu, 1 Dec 2011 12:43:23 +0000 (13:43 +0100)]
VFS accounting: add a sync command

* Kernel usage counter are not stored permanently on the filesystem,
  they need to be properly initialized from userland to return
  meaningful values

12 years agovquota(8): add a -h flag
Francois Tigeot [Sun, 27 Nov 2011 10:41:08 +0000 (11:41 +0100)]
vquota(8): add a -h flag

* humanize numbers where it makes sense

12 years agoAdd a NO_BINUTILS221 option (like NO_GCC41) to not build older binutils.
Sascha Wildner [Thu, 15 Dec 2011 09:57:57 +0000 (10:57 +0100)]
Add a NO_BINUTILS221 option (like NO_GCC41) to not build older binutils.

Reported-by: ftigeot
12 years agovquota(8): More style fixes.
Sascha Wildner [Thu, 15 Dec 2011 09:42:03 +0000 (10:42 +0100)]
vquota(8): More style fixes.

12 years agointr: Per-cpu MI interrupt information array
Sepherosa Ziehau [Thu, 15 Dec 2011 05:47:26 +0000 (13:47 +0800)]
intr: Per-cpu MI interrupt information array

- Interrupt information is only recorded in its target CPU's interrupt
  information array.
- Interrupt threads, emergency polling threads, interrupt livelock
  processing and hardware interrupt threads scheduling only access
  the interrupt information of the CPU they are running on; they have
  already been locked to the interrupt's target CPU.
- Location of SWI information is saved in a global array swi_info_ary,
  since scheduling SWI does not necessarily happens on the CPU that
  SWI thread is running, we need a quick and correct way find the SWI
  information.
- Factor out sched_ithd_intern, which accept interrupt information
  (struct intr_info) instead of interrupt number.  Split the original
  sched_ithd() into sched_ithd_soft(), which schedules SWI thread, and
  sched_ithd_hard() which schedules hardware interrupt thread.
- vmstat(8) interrupt reporting w/ -v is augmented to print the interrupts'
  target CPU.

This paves way to the per-cpu MD interrupt description table

12 years agokernel - Update loader.conf documentation and add sio comconsole unit specifier
Matthew Dillon [Thu, 15 Dec 2011 01:12:51 +0000 (17:12 -0800)]
kernel - Update loader.conf documentation and add sio comconsole unit specifier

* Update the loader.conf documentation to describe how the boot loader and
  kernel can use a serial port and baud rate other than the default for
  comconsole.

  Also describe how to recompile the boot loader.

  Describe how IPMI can be tied into the boot loader and kernel via
  the built-in fake serial port in the BMC (often COM2).

* Add a kenv feature to allow the sioN.flags to be specified in loader.conf.
  This allows the comconsole to be moved to e.g. sio1 without having
  to recompile the kernel.

12 years agovquota(8): finish implementing the check command
Francois Tigeot [Mon, 10 Oct 2011 20:08:08 +0000 (22:08 +0200)]
vquota(8): finish implementing the check command

* collect the sums of file sizes for each used uid and gid
  and display them

12 years agovquota(8): add code to manage hard links
Francois Tigeot [Sun, 25 Sep 2011 20:40:27 +0000 (22:40 +0200)]
vquota(8): add code to manage hard links

* Add an inode number caching infrastructure to only count file size
  once for files with more than one hard link.

* The new code is used by the vquota check command

12 years agoahci(4): Add MODULE_VERSION.
Sascha Wildner [Wed, 14 Dec 2011 19:21:42 +0000 (20:21 +0100)]
ahci(4): Add MODULE_VERSION.

12 years agokernel/vfs_quota: Fix the placement of braces.
Sascha Wildner [Wed, 14 Dec 2011 13:32:45 +0000 (14:32 +0100)]
kernel/vfs_quota: Fix the placement of braces.

12 years agoNULL VFS: store PFS mount points for later use
Francois Tigeot [Wed, 24 Aug 2011 20:00:28 +0000 (22:00 +0200)]
NULL VFS: store PFS mount points for later use

* This is a hack to obtain the pfs mount point in vop_write()

* PFSes use nullfs mounts. Unfortunately, the nullfs implementation
  does not respect the traditional vfs/vnode layers and its vnodes
  may belong to many mount point at once.

* What's worse, the mount point passed to VFS functions is the one
  of the underlying non-PFS filesystem.

* We use the namecache layer to put the upper mount point of the
  PFS in a new vnode field to work around this limitation.

12 years agoUse a sysctl to show if VFS accounting is enabled
François Tigeot [Wed, 14 Dec 2011 13:11:25 +0000 (14:11 +0100)]
Use a sysctl to show if VFS accounting is enabled

* Both the loader tunable and the sysctl are now called
  vfs.accounting_enabled

12 years agoDisable VFS accounting by default
François Tigeot [Wed, 14 Dec 2011 09:53:46 +0000 (10:53 +0100)]
Disable VFS accounting by default

* Enable it globally with vfs.accounting.enable="1" in loader.conf

12 years agoFix some overlooked references in manual pages (malloc(9) -> kmalloc(9)).
Sascha Wildner [Wed, 14 Dec 2011 11:03:16 +0000 (12:03 +0100)]
Fix some overlooked references in manual pages (malloc(9) -> kmalloc(9)).

12 years agolibprop: Fix some references in the manual pages (malloc(9) -> kmalloc(9)).
Sascha Wildner [Wed, 14 Dec 2011 10:38:20 +0000 (11:38 +0100)]
libprop: Fix some references in the manual pages (malloc(9) -> kmalloc(9)).

12 years agointr: Per-CPU emergency thread
Sepherosa Ziehau [Wed, 14 Dec 2011 09:51:46 +0000 (17:51 +0800)]
intr: Per-CPU emergency thread

12 years agointr: Remove the broken sysctl_intrcnt(); use sysctl_intrcnt_all() instead
Sepherosa Ziehau [Wed, 14 Dec 2011 08:59:50 +0000 (16:59 +0800)]
intr: Remove the broken sysctl_intrcnt(); use sysctl_intrcnt_all() instead

12 years agointr: Nuke count_registered_ints()
Sepherosa Ziehau [Wed, 14 Dec 2011 08:20:41 +0000 (16:20 +0800)]
intr: Nuke count_registered_ints()

The only caller of this function icu_reinit() actually was broken
for a logn time; it needs to be reworked

12 years agointr: Remove unused function
Sepherosa Ziehau [Wed, 14 Dec 2011 08:10:45 +0000 (16:10 +0800)]
intr: Remove unused function

12 years agomake - Do not try to track stopped/continued processes
Matthew Dillon [Wed, 14 Dec 2011 03:40:06 +0000 (19:40 -0800)]
make - Do not try to track stopped/continued processes

* There are bugs in make which I haven't tracked down related to the
  handling of stopped/continued processes.

* Work around the problem by removing the use of WUNTRACED in one of the
  several waitpid() use cases.  It is unclear why one would ever want to
  try to track signals to processes for this case.

* This fixes a "couldn't resume %s" error from make when a large -j N
  build is repeatedly ^Z'd and continued.

12 years agokernel - Fix signal races against exiting processes
Matthew Dillon [Wed, 14 Dec 2011 03:37:04 +0000 (19:37 -0800)]
kernel - Fix signal races against exiting processes

* Fix a panic which can occur when a signal races an exiting process.

* Fix an incorrect status return from the wait*() system calls which
  can sometimes occur when a SIGTSTP or other signal races an exit.

  Do not allow the signal status to overwrite the exit value.

* Fix a race where the kill() system call can return ESRCH when a signal
  races an exiting process which has already entered the zombie state.

  Return success in this case and silently drop the signal.

12 years agoFix wrong argument to allproc_scan in elf_brand_inuse()
YONETANI Tomokazu [Tue, 13 Dec 2011 21:44:37 +0000 (06:44 +0900)]
Fix wrong argument to allproc_scan in elf_brand_inuse()

the callback expects data to be the address of elf_brand_inuse_info
but the caller passed something else.  this fixes kernel panic upon
`kldunload linux'.

12 years agoVFS accounting: add a new vquotactl() syscall
Francois Tigeot [Tue, 16 Aug 2011 10:01:27 +0000 (12:01 +0200)]
VFS accounting: add a new vquotactl() syscall

* It uses a proplib(3) based interface to pass messages between
  kernel and userland

* It may be used to handle different commands in the future

* For now, only implement one displaying the contents of the
  space counters for a particular mount point

* Also add a debug flag to vquota(8) showing messages exchanged
  between kernel and userland

12 years agoecc(4): Move from sys/dev/bridge to sys/dev/misc.
Sascha Wildner [Tue, 13 Dec 2011 17:17:31 +0000 (18:17 +0100)]
ecc(4): Move from sys/dev/bridge to sys/dev/misc.

While here, make it compilable into the kernel and add it to the LINTs.

12 years agoecc.4: Update manual page for X3400 support.
Sascha Wildner [Tue, 13 Dec 2011 14:51:51 +0000 (15:51 +0100)]
ecc.4: Update manual page for X3400 support.

12 years ago<sys/elf_common.h>: Add an EM_ALPHA #define.
Sascha Wildner [Tue, 13 Dec 2011 13:40:40 +0000 (14:40 +0100)]
<sys/elf_common.h>: Add an EM_ALPHA #define.

It seems to help with building openjdk.

The value the same in binutils too.

Taken-from: FreeBSD
Reported-by: dfcat on #dragonflybsd
12 years agoi386/ioapic: Always allow user to specify GSI's target CPU
Sepherosa Ziehau [Tue, 13 Dec 2011 13:34:45 +0000 (21:34 +0800)]
i386/ioapic: Always allow user to specify GSI's target CPU

This merges b8dfb6b1be7001e8dc00e5bc9e6efb85a5e0f4ab

12 years agoi386/icu: Implement rman_setup MachIntrABI method
Sepherosa Ziehau [Tue, 13 Dec 2011 13:28:41 +0000 (21:28 +0800)]
i386/icu: Implement rman_setup MachIntrABI method

This merges b3cf468e65fcb31e33ab367c068eee119db92491

12 years agoi386/ioapic_abi: Implement MachIntrABI.rman_setup
Sepherosa Ziehau [Tue, 13 Dec 2011 12:15:33 +0000 (20:15 +0800)]
i386/ioapic_abi: Implement MachIntrABI.rman_setup

This merges 981239a7fd1d95a113e7526e3bef62975ff0f114

12 years agoecc: ecc: Support the ECC error detection for Xeon X3400 family
Sepherosa Ziehau [Tue, 13 Dec 2011 10:06:56 +0000 (18:06 +0800)]
ecc: ecc: Support the ECC error detection for Xeon X3400 family