dragonfly.git
8 years agosbin/hammer: Remove -DALIST_NO_DEBUG
Tomohiro Kusumi [Thu, 17 Sep 2015 21:44:53 +0000 (06:44 +0900)]
sbin/hammer: Remove -DALIST_NO_DEBUG

-DALIST_NO_DEBUG is no longer necessary.

sys/kern/subr_alist.c was only used in the early stage
of hammer devel, and no longer used.

  # grep ALIST_NO_DEBUG . -rI
  ./sbin/newfs_hammer/Makefile:CFLAGS+= -I${.CURDIR}/../../sys -I${.CURDIR}/../hammer -DALIST_NO_DEBUG
  ./sbin/hammer/Makefile:CFLAGS+= -I${.CURDIR}/../../sys -DALIST_NO_DEBUG
  ./sys/kern/subr_alist.c:#ifndef ALIST_NO_DEBUG

8 years agosbin/newfs_hammer: Remove a local header newfs_hammer.h
Tomohiro Kusumi [Fri, 18 Sep 2015 13:55:04 +0000 (22:55 +0900)]
sbin/newfs_hammer: Remove a local header newfs_hammer.h

newfs_hammer.c is the only file that needs newfs_hammer.h,
and all it does is include other headers, so we really
don't need to have this as a separate header.

Also note that mount_hammer, newfs_hammer2, mount_hammer2
don't have .h as well.

8 years agosys/vfs/hammer: Fix incomplete mountctl(2) vop behavior
Tomohiro Kusumi [Thu, 17 Sep 2015 10:31:56 +0000 (19:31 +0900)]
sys/vfs/hammer: Fix incomplete mountctl(2) vop behavior

mount(8) is unable to print nomirror mount option while other
two (nohistory, master=) are properly printed. This is because
hammer's mountctl and mount flags aren't implemented the way
vfs expects them to be. mount(8) generates option strings by
mountctl(2).

===== missing nomirror string
  # mount_hammer -o nohistory -o master=5 -o nomirror /dev/da1:/dev/da2:/dev/da3 /HAMMER
  # mount | grep /HAMMER
  TEST on /HAMMER (hammer, local, nohistory, master)

===== using this commit
  # mount_hammer -o nohistory -o master=5 -o nomirror /dev/da1:/dev/da2:/dev/da3 /HAMMER
  # mount | grep /HAMMER
  TEST on /HAMMER (hammer, local, nohistory, master, nomirror)

This commit adds HMNT_NOMIRROR using a reserved HMNT_RESERVED
and assigns HMNT_NOMIRROR to nomirror. This is necessary since
two options (master=, nomirror) using the same HMNT_MASTERID
is the root cause of above behavior.

This change would affect userspace in theory, however the only
userspace that would actually use these mount option flags is
mount command itself (for inbox userspace programs at least).
It's more important that hammer properly handles mount(8).

This commit also adds a missing nomirror mountctl element in
hammer_vop_mountctl() using HMNT_NOMIRROR so mountctl becomes
aware of nomirror option.

The reason nomirror needs to use HMNT_NOMIRROR instead of
HMNT_MASTERID is because vfs_flagstostr() assumes each option
has an unique flag (see vfs_flagstostr() where it does the
following).
  flags &= ~optp->o_opt;

This could have been fixed by changing above vfs code, but
fixing hammer code is probably the right approach. Also note
that master= and nomirror options aren't alias of each other.
These two are similar but they do have different purpose, which
should make sense to have independent flags, and that's what
vfs expects.

8 years agosys/vfs/hammer: Rename HMNT_EXPORTREQ to HMNT_RESERVED
Tomohiro Kusumi [Wed, 16 Sep 2015 22:04:05 +0000 (07:04 +0900)]
sys/vfs/hammer: Rename HMNT_EXPORTREQ to HMNT_RESERVED

This was added in 513ca7d7 for NFS support but never used.
Change it (0x00000004) to HMNT_RESERVED.

8 years agosys/vfs/hammer: Conform to style(9)
Tomohiro Kusumi [Wed, 16 Sep 2015 22:53:46 +0000 (07:53 +0900)]
sys/vfs/hammer: Conform to style(9)

Remove unnecessary {} for a switch case element.

8 years agosys/vfs/hammer: Add hpanic() [2/2]
Tomohiro Kusumi [Fri, 11 Sep 2015 22:21:12 +0000 (07:21 +0900)]
sys/vfs/hammer: Add hpanic() [2/2]

Apply hpanic() to remaining several raw panic() calls.

8 years agosys/vfs/hammer: Add hpanic() [1/2]
Tomohiro Kusumi [Fri, 11 Sep 2015 22:14:03 +0000 (07:14 +0900)]
sys/vfs/hammer: Add hpanic() [1/2]

This commit does the following.

1. Add a macro hpanic() which is a wrapper for panic()
   that embed the following prefix.
   "function_name: ..."
2. Replace raw panic() calls that have above prefix with
   hpanic().
3. Fix some wrong function name literals using __func__.

8 years agosys/vfs/hammer: Change hkprintf() to macro and add variants [2/2]
Tomohiro Kusumi [Tue, 15 Sep 2015 22:11:42 +0000 (07:11 +0900)]
sys/vfs/hammer: Change hkprintf() to macro and add variants [2/2]

This commit does the following.

1. Add macros hdkprintf() and hdkrateprintf() that embed
   the following prefix.
   "function_name: ..."
2. Replace raw kprintf() calls that have above prefix with
   newly added macros.
3. Fix some wrong function name literals using __func__.

8 years agosys/vfs/hammer: Change hkprintf() to macro and add variants [1/2]
Tomohiro Kusumi [Fri, 11 Sep 2015 18:06:24 +0000 (03:06 +0900)]
sys/vfs/hammer: Change hkprintf() to macro and add variants [1/2]

This commit does the following.

1. Remove an inline function hkprintf().
2. Add a macro version of hkprintf() and its variants that
   embed the following prefix.
   "HAMMER: ..."
   "HAMMER(label) ..."
3. Replace raw kprintf() calls that have above prefix with
   newly added macros.

hkprintf() macro doesn't use hammer_debug_debug flag that was
used by the inline function version of hkprintf(), but this
doesn't make much difference from the way hkprintf() and
hammer_debug_debug have been used.

8 years agosbin/mount_hammer: Remove typedef ary_ptr_t
Tomohiro Kusumi [Tue, 15 Sep 2015 09:44:18 +0000 (18:44 +0900)]
sbin/mount_hammer: Remove typedef ary_ptr_t

It makes code more clear and readable without this typedef
which is only used for the first arg of extract_volumes().

info.volumes is char**, and an array internally used within
the function is char**, then using char*** for the first arg
is better than using typedef for char**.

8 years agosbin/hammer: Make hammer history support per-path @offset,length
Tomohiro Kusumi [Sun, 13 Sep 2015 23:00:26 +0000 (08:00 +0900)]
sbin/hammer: Make hammer history support per-path @offset,length

This commit allows each arg of the hammer history to take
@offset,length attribute. It was strange behavior that the
command takes a global @offset,length attribute while the
command supports multiple paths to lookup history for.

This commit doesn't break the existing behavior where one
specifies @offset,length attribute as a part of the command
name as "history@offset,length".

If the old style attribute (history@offset,length) is used,
then the command doesn't parse per-path attribute, but sees
the whole string as a path. Otherwise the command parses
per-path attribute and uses offset,length unique to each,
unless the whole string including the attribute part exists
as a path (can stat(2)).

=====
  # touch /HAMMER/out1
  # touch /HAMMER/out2
  # for x in {1..5}; do
  > cat dragonfly/sys/vfs/hammer/hammer.h >> /HAMMER/out1
  > sync; sync; sync; sync; sleep 1
  > done
  # for x in {1..5}; do
  > cat dragonfly/sys/vfs/hammer/hammer.h >> /HAMMER/out2
  > sync; sync; sync; sync; sleep 1
  > done
  # hammer history /HAMMER/out1 /HAMMER/out2
  /HAMMER/out1    0000000184acac5e clean {
      0000000184b59b00 15-Sep-2015 03:56:46
      0000000184b59b20 15-Sep-2015 03:56:47
      0000000184b59c80 15-Sep-2015 03:56:48
      0000000184b59dc0 15-Sep-2015 03:56:49
      0000000184b59f20 15-Sep-2015 03:56:50
      0000000184b5a060 15-Sep-2015 03:56:51
  }
  /HAMMER/out2    0000000184acaca6 clean {
      0000000184b59b00 15-Sep-2015 03:56:46
      0000000184b5a1c0 15-Sep-2015 03:57:02
      0000000184b5a320 15-Sep-2015 03:57:03
      0000000184b5a460 15-Sep-2015 03:57:04
      0000000184b5a5c0 15-Sep-2015 03:57:05
      0000000184b5a700 15-Sep-2015 03:57:06
  }
  # hammer history@50000,1000 /HAMMER/out1 /HAMMER/out2
  /HAMMER/out1    0000000184acac5e clean {
      0000000184b59b20 15-Sep-2015 03:56:47
      0000000184b59c80 15-Sep-2015 03:56:48
  }
  /HAMMER/out2    0000000184acaca6 clean {
      0000000184b5a1c0 15-Sep-2015 03:57:02
      0000000184b5a320 15-Sep-2015 03:57:03
  }
  # hammer history /HAMMER/out1@50000,1000 /HAMMER/out2@50000,1000
  /HAMMER/out1    0000000184acac5e clean {
      0000000184b59b20 15-Sep-2015 03:56:47
      0000000184b59c80 15-Sep-2015 03:56:48
  }
  /HAMMER/out2    0000000184acaca6 clean {
      0000000184b5a1c0 15-Sep-2015 03:57:02
      0000000184b5a320 15-Sep-2015 03:57:03
  }
  # hammer history /HAMMER/out1@50000,1000 /HAMMER/out2@200000,1000
  /HAMMER/out1    0000000184acac5e clean {
      0000000184b59b20 15-Sep-2015 03:56:47
      0000000184b59c80 15-Sep-2015 03:56:48
  }
  /HAMMER/out2    0000000184acaca6 clean {
      0000000184b5a5c0 15-Sep-2015 03:57:05
  }
  # hammer history@50000,1000 /HAMMER/out1@50000,1000 /HAMMER/out2@200000,1000
  /HAMMER/out1@50000,1000 No such file or directory
  /HAMMER/out2@200000,1000        No such file or directory
  # touch /HAMMER/out1@50000,1000
  # sync; sync; sync; sync; sleep 1
  # touch /HAMMER/out2@200000,1000
  # sync; sync; sync; sync; sleep 1
  # hammer history /HAMMER/out1@50000,1000 /HAMMER/out2@200000,1000
  /HAMMER/out1@50000,1000 0000000184acaca7 clean {
      0000000184b6ae20 15-Sep-2015 04:05:09
  }
  /HAMMER/out2@200000,1000        0000000184acae20 clean {
      0000000184b6b180 15-Sep-2015 04:06:11
  }

8 years agosbin/hammer: Remove obsolete option -s
Tomohiro Kusumi [Mon, 14 Sep 2015 15:52:16 +0000 (00:52 +0900)]
sbin/hammer: Remove obsolete option -s

-s was added in da804f11 in the early stage of hammer devel
but no longer used. Using -s does nothing after b5aaba7f.

(b5aaba7f did remove -s from hammer(8) manpage)

8 years agosbin/hammer: Remove prototype of not existing function
Tomohiro Kusumi [Mon, 14 Sep 2015 15:49:31 +0000 (00:49 +0900)]
sbin/hammer: Remove prototype of not existing function

8 years agosbin/hammer: Sync hammer usage() with hammer(8) manpage
Tomohiro Kusumi [Mon, 14 Sep 2015 20:20:03 +0000 (05:20 +0900)]
sbin/hammer: Sync hammer usage() with hammer(8) manpage

A function usage() in sbin/hammer/hammer.c is missing several
options that exist in hammer(8) manpage. Add missing ones and
sync with manpage.

8 years agosbin/hammer: Update hammer usage()
Tomohiro Kusumi [Mon, 14 Sep 2015 15:48:44 +0000 (00:48 +0900)]
sbin/hammer: Update hammer usage()

Add one line that was missing in 3f760d89.

8 years agosbin/hammer: Make a global variable static
Tomohiro Kusumi [Sun, 13 Sep 2015 16:04:08 +0000 (01:04 +0900)]
sbin/hammer: Make a global variable static

8 years agosbin/hammer: Separate read/write inode ops on hammer *stats
Tomohiro Kusumi [Sun, 13 Sep 2015 17:06:37 +0000 (02:06 +0900)]
sbin/hammer: Separate read/write inode ops on hammer *stats

It should show read and write inode ops separately since
the original hammer sysctl accounts have them separately
(just like all other fields printed by *stats command),
and it's trivial to add these two to get total inode ops.

8 years agosbin/hammer: Cleanup hammer *stats commands
Tomohiro Kusumi [Sun, 13 Sep 2015 12:33:08 +0000 (21:33 +0900)]
sbin/hammer: Cleanup hammer *stats commands

8 years agosys/vfs/hammer: Fix error message when volumes are already mounted
Tomohiro Kusumi [Tue, 15 Sep 2015 22:10:16 +0000 (07:10 +0900)]
sys/vfs/hammer: Fix error message when volumes are already mounted

It should show volumes are mounted instead of "No root volume"
when the volumes are hammer volumes and failed with EBUSY.

  # mount_hammer /dev/da1:/dev/da2:/dev/da3 /HAMMER
  # mount_hammer /dev/da1:/dev/da2:/dev/da3 /HAMMER
  mount_hammer: Unknown error: Device busy
  # dmesg | tail -1
  hammer_mount: The volumes are probably mounted

8 years agosys/vfs/hammer: Add HAMMER_DIR_INODE_LOCALIZATION()
Tomohiro Kusumi [Sat, 12 Sep 2015 15:08:15 +0000 (00:08 +0900)]
sys/vfs/hammer: Add HAMMER_DIR_INODE_LOCALIZATION()

Move ondisk definition part of hammer_dir_localization()
to sys/vfs/hammer/hammer_disk.h.

It's better to separate kernel fs code from ondisk spec
(and that's what hammer.h and hammer_disk.h are made for).

8 years agosys/vfs/hammer: Remove #if 1 that no longer has any meaning
Tomohiro Kusumi [Sat, 12 Sep 2015 23:48:53 +0000 (08:48 +0900)]
sys/vfs/hammer: Remove #if 1 that no longer has any meaning

8 years agosys/vfs/hammer: Remove obsolete macro HAMMER_HEAD|TAIL_ONDISK_SIZE
Tomohiro Kusumi [Sat, 12 Sep 2015 14:17:07 +0000 (23:17 +0900)]
sys/vfs/hammer: Remove obsolete macro HAMMER_HEAD|TAIL_ONDISK_SIZE

These macros are no longer used and not necessary.

These are only used in the early stage of hammer devel and
macro values do not reflect hammer implementation today.

8 years agosbin/hammer: Fix comment on how to compile sbin/hammer/test_dupkey.c
Tomohiro Kusumi [Mon, 7 Sep 2015 16:18:28 +0000 (01:18 +0900)]
sbin/hammer: Fix comment on how to compile sbin/hammer/test_dupkey.c

This comment was never updated after icrc32.c was added.

8 years agosbin/hammer: Cleanup header includes regarding hammer_util.h
Tomohiro Kusumi [Mon, 7 Sep 2015 15:43:34 +0000 (00:43 +0900)]
sbin/hammer: Cleanup header includes regarding hammer_util.h

8 years agosbin/hammer: Cleanup header includes regarding hammer.h
Tomohiro Kusumi [Mon, 7 Sep 2015 14:29:25 +0000 (23:29 +0900)]
sbin/hammer: Cleanup header includes regarding hammer.h

8 years agosys/vfs/hammer: Fix possible race on volume-del
Tomohiro Kusumi [Mon, 7 Sep 2015 14:11:29 +0000 (23:11 +0900)]
sys/vfs/hammer: Fix possible race on volume-del

hmp->volume_to_remove should get reset to -1 only after the
volume is successfully removed. Otherwise there is a possible
race between this and blockmap allocation code who checks if
hmp->volume_to_remove is the volume being removed.

Spotted-by: dillon
8 years agosys/vfs/hammer: Remove unnecessary header includes
Tomohiro Kusumi [Sun, 6 Sep 2015 19:12:53 +0000 (04:12 +0900)]
sys/vfs/hammer: Remove unnecessary header includes

8 years agosys/vfs/hammer: Remove header includes from hammer.h
Tomohiro Kusumi [Sun, 6 Sep 2015 17:48:34 +0000 (02:48 +0900)]
sys/vfs/hammer: Remove header includes from hammer.h

Remove
 #include <sys/buf2.h>
 #include <sys/mountctl.h>
 #include <sys/globaldata.h>
 #include <vm/vm_page2.h>
from sys/vfs/hammer/hammer.h

8 years agosys/vfs/hammer: Add header includes to hammer.h
Tomohiro Kusumi [Sun, 6 Sep 2015 17:12:45 +0000 (02:12 +0900)]
sys/vfs/hammer: Add header includes to hammer.h

Add
 #include <sys/fcntl.h>
 #include <sys/dirent.h>
 #include <sys/sysctl.h>
 #include <sys/event.h>
 #include <sys/file.h>
 #include <vm/swap_pager.h>
to sys/vfs/hammer/hammer.h

8 years agosys/vfs/hammer: Add hammer_data_zone(_index) macros
Tomohiro Kusumi [Sun, 6 Sep 2015 13:59:27 +0000 (22:59 +0900)]
sys/vfs/hammer: Add hammer_data_zone(_index) macros

since now that all hammer code selects data zone to
allocate blockmap space based on the following basic
rule without an exception (that is actually the same).

zone = (data_len >= 16KB ? LARGE_DATA : SMALL_DATA);

8 years agosys/vfs/hammer: Remove exceptional zone selection case
Tomohiro Kusumi [Sun, 6 Sep 2015 13:00:07 +0000 (22:00 +0900)]
sys/vfs/hammer: Remove exceptional zone selection case

hammer_alloc_data() has an unusual and exceptional way to
determine data zone (i.e. LARGE_DATA or SMALL_DATA) as shown
in below (B). This commit changes that to the normal way of
selecting the data zone to use as shown in (A). It's simply
better not to use an exceptional rule when that doesn't
make any difference as explained below. Also see 901e04c7.

=====(A)
Hammer is designed to use LARGE_DATA zone for >=16KB
length data, and SMALL_DATA zone for <16KB length data.
zone = (data_len >= 16KB ? ZONE_LARGE_DATA_INDEX : ZONE_SMALL_DATA_INDEX);
=====

=====(B)
An exceptional case that doesn't follow an above rule.
zone = (data_len > 8KB ? ZONE_LARGE_DATA_INDEX : ZONE_SMALL_DATA_INDEX);
=====

hammer_alloc_data() using (B) actually doesn't make any
difference because strategy write has already rounded up the
data size to hammer's buf size if data_len is >8KB as shown
below, by the time hammer mirror write code (which is the only
caller with a record type of HAMMER_RECTYPE_DATA) allocates
blockmap space to write the original-rounded-up src data to
the dst fs.

hammer_vop_strategy_write()
> if (bio->bio_offset || ip->ino_data.size > HAMMER_HBUFSIZE)
> bytes = bp->b_bufsize;

In other words, data_len is never going to be
(data_len > 8KB && data_len < 16KB)
when hammer_alloc_data() is called with the record type
of HAMMER_RECTYPE_DATA. If that's the case (A) just works.

8 years agosys/vfs/hammer: Remove prototype of not existing function
Tomohiro Kusumi [Mon, 7 Sep 2015 13:21:03 +0000 (22:21 +0900)]
sys/vfs/hammer: Remove prototype of not existing function

8 years agosys/vfs/hammer: Remove HAMMER_BUFFER_BITS
Tomohiro Kusumi [Sun, 6 Sep 2015 11:17:33 +0000 (20:17 +0900)]
sys/vfs/hammer: Remove HAMMER_BUFFER_BITS

This macro is only used by compile time sanity check,
and the check is way too obvious that it can be get rid of.

Hammer code used to use this macro to right-shift offset
(>>14 had meaning in the early stage of hammer devel),
and it made sense to have the compile time sanity check,
but not really when having a way too obvious check is
the only use case.

8 years agosys/vfs/hammer: Add HAMMER_HBUFSIZE
Tomohiro Kusumi [Sun, 6 Sep 2015 10:58:47 +0000 (19:58 +0900)]
sys/vfs/hammer: Add HAMMER_HBUFSIZE

Add HAMMER_HBUFSIZE which is 1/2 of HAMMER_BUFSIZE.

8KB (HAMMER_BUFSIZE / 2) is somewhat important number as
vfs opses use this value to round up a size to allocate
within blockmap address space.

8 years agosys/vfs/hammer: Adjust and cleanup _KERNEL
Tomohiro Kusumi [Sat, 5 Sep 2015 19:47:16 +0000 (04:47 +0900)]
sys/vfs/hammer: Adjust and cleanup _KERNEL

Remove no longer necessary _KERNEL that was originally
added for usr.bin/fstat/hammer.c to include
<vfs/hammer/hammer.h> by 872a7eee.

<vfs/hammer/hammer.h> isn't supposed to be necessary by
userspace except for a few (actually only above file)
unusual userspace programs that want to access in-kernel
data structures (like incore inode), so it's better not
to pollute <vfs/hammer/hammer.h> with bunch of _KERNEL
ifdefs in the first place if possible.

Also see 23e66b3b and 1caa2035.

8 years agosys/vm: Adjust position to define _KERNEL
Tomohiro Kusumi [Sat, 5 Sep 2015 19:43:21 +0000 (04:43 +0900)]
sys/vm: Adjust position to define _KERNEL

Do the same as what sys/sys/buf2.h does.

Userspace can't include <sys/spinlock2.h> anyway, so this
commit doesn't make much difference. It's either including
<sys/vm/vm_page2.h> does nothing or results compile time
error.

8 years agosbin/hammer: Add ifndef/define/endif for headers
Tomohiro Kusumi [Sat, 5 Sep 2015 18:50:39 +0000 (03:50 +0900)]
sbin/hammer: Add ifndef/define/endif for headers

Some headers are missing this, so add it to those.

8 years agosys/vfs/hammer: Add ifndef/define/endif for headers
Tomohiro Kusumi [Sat, 5 Sep 2015 19:00:56 +0000 (04:00 +0900)]
sys/vfs/hammer: Add ifndef/define/endif for headers

Some headers are missing this, so add it to those.

8 years agosys/vfs/hammer: Erase btype of a new boundary on internal split
Tomohiro Kusumi [Sat, 5 Sep 2015 14:12:18 +0000 (23:12 +0900)]
sys/vfs/hammer: Erase btype of a new boundary on internal split

It's more sane to erase btype of RBN of the original node
on internal split than only erasing subtree_offset.
(subtree_offset==0 means the elm has no child, but btype
not being 0 means its child is either leaf or internal node
which is insane if not a bug)

This doesn't affect comparison of nodes because btype is
not a part of keys to determine > or = or < of nodes.

This also makes possible to write non-ambiguous test code
in userspace as it eliminates multiple possible ways that
test code needs to deal with and be more explicit, which is
considered a good thing if the kernel change doesn't degrade
performance, etc. Also see 6580f642.

8 years agolibc/sysctl: Fix the user.* branch.
Sascha Wildner [Thu, 24 Sep 2015 12:54:00 +0000 (14:54 +0200)]
libc/sysctl: Fix the user.* branch.

This is a combination of FreeBSD's r285188 and more work by myself.
After r285188, FreeBSD still has issues with most user.posix2_* values
(due to a leading _ missing in the define names; they also need to be
checked for being > 0).

Partially-taken-from: FreeBSD

8 years agogetconf(1): Add _POSIX2_PBS*.
Sascha Wildner [Thu, 24 Sep 2015 12:50:08 +0000 (14:50 +0200)]
getconf(1): Add _POSIX2_PBS*.

8 years ago<unistd.h>: Clean up the _POSIX2_* defines (Shells and Utilities options).
Sascha Wildner [Wed, 23 Sep 2015 18:52:40 +0000 (20:52 +0200)]
<unistd.h>: Clean up the _POSIX2_* defines (Shells and Utilities options).

* Bump the _POSIX2_C_BIND, _POSIX2_FORT_RUN and _POSIX2_UPE defines to
  200809.

* Define _POSIX2_C_DEV, _POSIX2_LOCALEDEF and _POSIX2_SW_DEV to 200809.

* Improve comments.

Things I know of that we still have to do:

* For 100% _POSIX2_UPE conformance we still need to implement at least
  sh(1)'s HISTFILE and MAILCHECK environment variables.

* For 100% _POSIX2_SW_DEV conformance we still need to implement at
  least make(1)'s -p option.

8 years agorevoke(2): Replace 'count' w/ a boolean 'found'
Sepherosa Ziehau [Tue, 22 Sep 2015 14:06:28 +0000 (22:06 +0800)]
revoke(2): Replace 'count' w/ a boolean 'found'

8 years agortadvctl.8: Use Mt for email addresses.
Sascha Wildner [Tue, 22 Sep 2015 15:48:18 +0000 (17:48 +0200)]
rtadvctl.8: Use Mt for email addresses.

8 years agokernel: Handle zero-length ELF sections better
John Marino [Mon, 21 Sep 2015 15:48:53 +0000 (17:48 +0200)]
kernel: Handle zero-length ELF sections better

FreeBSD simply skips all zero-length ELF sections when scanning an
REL type file.  The first time we tried it, DF panicked with a lost
bigs message.  It turns out this was because the skip should have been
applied in 3 places and we missed the first one.

The same approach is needed by the boot loader as well.

8 years agoBad commits always come in threes (copied lined instead of moving it)
John Marino [Tue, 22 Sep 2015 00:20:18 +0000 (02:20 +0200)]
Bad commits always come in threes (copied lined instead of moving it)

8 years agoFix mis-paste (move section down 1 line)
John Marino [Tue, 22 Sep 2015 00:16:27 +0000 (02:16 +0200)]
Fix mis-paste (move section down 1 line)

8 years agokernel: Fix loading of gold-linked modules
John Marino [Tue, 22 Sep 2015 00:03:26 +0000 (02:03 +0200)]
kernel: Fix loading of gold-linked modules

Kernel modules linked by gold differed from those modules linked by ld.bfd in that
the .note.GNU-stack section on ld.bfd were set as size "1" whereas on gold this section
was size "0".  The object loading code was not set handle sizes less than 1, causing
module loading failure.

The fix of ensuring the smallest alignment to be zero by checking for -1 is required
over FreeBSD's technique of continuing if the section size is zero because an internal
check causes a "lost progbits" panic when FreeBSD's method is used.

This adjustment should enable a fully functional world and kernel to be built by gold
linker using WORLD_LDVER=ld.gold in make.conf.  Before this, only the world worked;
the kernel could not be booted.

Approved by: dillon

8 years agortadvd - Import newer rtadvd, add rtadvctl from FreeBSD-10
Matthew Dillon [Mon, 21 Sep 2015 00:59:44 +0000 (17:59 -0700)]
rtadvd - Import newer rtadvd, add rtadvctl from FreeBSD-10

* This patch updates the rtvdvd daemon and adds the rtadvctl
  utility to the base system. Both of these are from
  FreeBSD-10.2-RELEASE.  The intent is to add RFC 6106 functionality
  (DNS information distributed via router advertisements) to the
  system

Submitted-by: Charles Musser <cmusser@sonic.net>
8 years agokernel/vga: Remove a no longer needed variable.
Sascha Wildner [Sun, 20 Sep 2015 10:21:20 +0000 (12:21 +0200)]
kernel/vga: Remove a no longer needed variable.

It was used until 4e193d20af and I oversaw that it could be removed.

8 years agoi386 removal, part 43/x: Remove/change i386 specific info in manual pages.
Sascha Wildner [Sat, 19 Sep 2015 23:40:47 +0000 (01:40 +0200)]
i386 removal, part 43/x: Remove/change i386 specific info in manual pages.

8 years agoiwm - DragonFly cleanup (no functional changes)
Matthew Dillon [Fri, 18 Sep 2015 20:38:29 +0000 (13:38 -0700)]
iwm - DragonFly cleanup (no functional changes)

* Cleanup and document iwm work.

* Remove test fences that aren't needed.

8 years agouipc: Rework unp_pcblist() to make it MPSAFE
Sepherosa Ziehau [Fri, 18 Sep 2015 11:42:29 +0000 (19:42 +0800)]
uipc: Rework unp_pcblist() to make it MPSAFE

8 years agouipc: Make unp_discard MPSAFE by deferring closef to a dedicated taskqueue
Sepherosa Ziehau [Fri, 18 Sep 2015 11:41:46 +0000 (19:41 +0800)]
uipc: Make unp_discard MPSAFE by deferring closef to a dedicated taskqueue

8 years agoAdd iwm.4 and iwmfw.4 manual pages (taken from FreeBSD).
Sascha Wildner [Fri, 18 Sep 2015 08:27:59 +0000 (10:27 +0200)]
Add iwm.4 and iwmfw.4 manual pages (taken from FreeBSD).

8 years agoi915kms.4: Add missing .El
Sascha Wildner [Fri, 18 Sep 2015 08:27:34 +0000 (10:27 +0200)]
i915kms.4: Add missing .El

8 years agokernel: Make iwm compilable into the kernel and add it to LINT64.
Sascha Wildner [Fri, 18 Sep 2015 08:14:46 +0000 (10:14 +0200)]
kernel: Make iwm compilable into the kernel and add it to LINT64.

8 years agoiwm - DragonFly modifications and a bug fix
Matthew Dillon [Fri, 18 Sep 2015 05:56:20 +0000 (22:56 -0700)]
iwm - DragonFly modifications and a bug fix

* Modifications to make iwm build for DragonFly.

* Fix a serious bug, iwm_stop_device() must clear the rxq stat
  data primarily to reset to hw rx ring index to 0.  Otherwise
  all packets already handled from 0 to the current hw rx ring index
  will be reprocessed on restart.

* Implement iwmsleep() instead of using msleep().  iwmsleep() will
  handle exiting and re-entering the wlan_serializer.  Without this
  we can easily deadlock on the double lock.

* Implement Makefile infrastructure.

* Revert the FreeBSD patch to remove the per-debvice netif, since our
  802.11 infrastructure has not yet been updated for that.

* Purge the ifq on start if the interface is not running.

* Misc other DragonFly adjustments.

8 years agowlan - Import if_iwm from FreeBSD (base)
Matthew Dillon [Fri, 18 Sep 2015 05:53:32 +0000 (22:53 -0700)]
wlan - Import if_iwm from FreeBSD (base)

8 years agowlan - Minor updates for if_iwm import.
Matthew Dillon [Fri, 18 Sep 2015 05:49:41 +0000 (22:49 -0700)]
wlan - Minor updates for if_iwm import.

* Add PCIM_STATUS_INTxSTATE

* Expose ieee80211broadcastaddr[]

8 years agoi386 removal, part 42/x: Remove i386 info from the syscall(9) manpage.
Sascha Wildner [Thu, 17 Sep 2015 12:37:43 +0000 (14:37 +0200)]
i386 removal, part 42/x: Remove i386 info from the syscall(9) manpage.

8 years agoRemove libcom_err.so{,.3} via 'make upgrade' too.
Sascha Wildner [Thu, 17 Sep 2015 12:09:29 +0000 (14:09 +0200)]
Remove libcom_err.so{,.3} via 'make upgrade' too.

8 years agokernel/dup: Correct dup{,2}()'s fd params to int in the syscall glue.
Sascha Wildner [Wed, 16 Sep 2015 22:35:57 +0000 (00:35 +0200)]
kernel/dup: Correct dup{,2}()'s fd params to int in the syscall glue.

8 years agouipc: Allow fdalloc() to fail in unp_externalize()
Sepherosa Ziehau [Tue, 15 Sep 2015 14:42:11 +0000 (22:42 +0800)]
uipc: Allow fdalloc() to fail in unp_externalize()

While I'm here, add comment about never reached code.

8 years agouipc: White space
Sepherosa Ziehau [Tue, 15 Sep 2015 13:14:52 +0000 (21:14 +0800)]
uipc: White space

8 years agokernel: Use fhold() instead of increasing f_count manually
Sepherosa Ziehau [Tue, 15 Sep 2015 12:49:30 +0000 (20:49 +0800)]
kernel: Use fhold() instead of increasing f_count manually

8 years agokernel/syscons: Fix compilation without ddb in the config.
Sascha Wildner [Tue, 15 Sep 2015 21:52:35 +0000 (23:52 +0200)]
kernel/syscons: Fix compilation without ddb in the config.

8 years agoUpdate the pciconf(8) database.
Sascha Wildner [Tue, 15 Sep 2015 06:49:04 +0000 (08:49 +0200)]
Update the pciconf(8) database.

September 10, 2015 snapshot from http://pciids.sourceforge.net/

8 years agoatomic: Add atomic_testandclear_int()
Sepherosa Ziehau [Mon, 14 Sep 2015 14:56:34 +0000 (22:56 +0800)]
atomic: Add atomic_testandclear_int()

8 years agodevfs: Protect f_data1 properly and revoke the meanless FCDEVPRIV f_flag
Sepherosa Ziehau [Sun, 13 Sep 2015 15:02:42 +0000 (23:02 +0800)]
devfs: Protect f_data1 properly and revoke the meanless FCDEVPRIV f_flag

8 years agounp: Fix falloc() failure in unp_fp_externalize()
Sepherosa Ziehau [Sun, 13 Sep 2015 12:58:33 +0000 (20:58 +0800)]
unp: Fix falloc() failure in unp_fp_externalize()

fx will be NULL, if falloc() fails.

While I'm here, move local variables near their usage.

8 years agouipc: Protect proc.p_fd access properly in unp_internalize()
Sepherosa Ziehau [Fri, 11 Sep 2015 14:54:47 +0000 (22:54 +0800)]
uipc: Protect proc.p_fd access properly in unp_internalize()

8 years agotest: Add test for unix socket file descriptor passing
Sepherosa Ziehau [Fri, 11 Sep 2015 14:37:53 +0000 (22:37 +0800)]
test: Add test for unix socket file descriptor passing

8 years agoshare/ctype: Improved makefile allows symlinks to be removed
John Marino [Sun, 13 Sep 2015 15:56:35 +0000 (17:56 +0200)]
share/ctype: Improved makefile allows symlinks to be removed

The makefile, which is generated, now can generate all LC_CTYPE
output files without the use of symlinks and still manages to avoid
source file duplication.  The symlinks might cause issues for
repositories cloned to a MS Windows system.

Requested-by: bapt@FreeBSD.org

8 years agocldr2def: Improve ctype makefile generation to avoid symlinks
John Marino [Sun, 13 Sep 2015 15:52:56 +0000 (17:52 +0200)]
cldr2def: Improve ctype makefile generation to avoid symlinks

I was informed that symlinks in repository might cause problems
when the repository is extracted to windows.  The generated ctype
makefile was improved to work without symlinks at all.  (The symlinks
were there to avoid multiple copies of the same exact file, some of
which were greater than 1 Mb in size).

8 years agomake.conf: Remove unused variable.
Sascha Wildner [Sun, 13 Sep 2015 12:02:14 +0000 (14:02 +0200)]
make.conf: Remove unused variable.

8 years agoi386 removal, part 41/x: Remove POWERFAIL_NMI kernel option.
Sascha Wildner [Sun, 13 Sep 2015 11:33:23 +0000 (13:33 +0200)]
i386 removal, part 41/x: Remove POWERFAIL_NMI kernel option.

It was only used in i386 specific code.

8 years agodrm/i915: drm/i915: Ignore SURFLIVE and flip counter when the GPU gets reset
François Tigeot [Sun, 13 Sep 2015 11:21:42 +0000 (13:21 +0200)]
drm/i915: drm/i915: Ignore SURFLIVE and flip counter when the GPU gets reset

This is commit 7cb9a79e3ee6e414d7f413cd1785d630ace9a1b0 from Linux 3.17.8
Original author: Ville Syrjälä <ville.syrjala@linux.intel.com>
0riginal commit message:

commit bdfa7542d40e6251c232a802231b37116bd31b11 upstream.

During a GPU reset we need to get pending page flip cleared out
since the ring contents are gone and flip will never complete
on its own. This used to work until the mmio vs. CS flip race
detection came about. That piece of code is looking for a
specific surface address in the SURFLIVE register, but as
a flip to that address may never happen the check may never
pass. So we should just skip the SURFLIVE and flip counter
checks when the GPU gets reset.

intel_display_handle_reset() tries to effectively complete
the flip anyway by calling .update_primary_plane(). But that
may not satisfy the conditions of the mmio vs. CS race
detection since there's no guarantee that a modeset didn't
sneak in between the GPU reset and intel_display_handle_reset().
Such a modeset will not wait for pending flips due to the ongoing GPU
reset, and then the primary plane updates performed by
intel_display_handle_reset() will already use the new surface
address, and thus the surface address the flip is waiting for
might never appear in SURFLIVE. The result is that the flip
will never complete and attempts to perform further page flips
will fail with -EBUSY.

During the GPU reset intel_crtc_has_pending_flip() will return
false regardless, so the deadlock with a modeset vs. the error
work acquiring crtc->mutex was avoided. And the reset_counter
check in intel_crtc_has_pending_flip() actually made this bug
even less severe since it allowed normal modesets to go through
even though there's a pending flip.

This is a regression introduced by me here:
 commit 75f7f3ec600524c9544cc31695155f1a9ddbe1d9
 Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
 Date:   Tue Apr 15 21:41:34 2014 +0300

    drm/i915: Fix mmio vs. CS flip race on ILK+

Testcase: igt/kms_flip/flip-vs-panning-vs-hang
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agodrm/i915: drop WaSetupGtModeTdRowDispatch:snb
François Tigeot [Sun, 13 Sep 2015 11:14:05 +0000 (13:14 +0200)]
drm/i915: drop WaSetupGtModeTdRowDispatch:snb

This is commit 454a87ce581cec28d88da251f85b4bcfe5938a0f from Linux 3.17.8
Original author: Daniel Vetter <daniel.vetter@ffwll.ch>
0riginal commit message:

commit 2208d655a91f9879bd9a39ff9df05dd668b3512c upstream.

This reverts the regressing

commit 6547fbdbfff62c99e4f7b4f985ff8b3454f33b0f
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Dec 14 23:38:29 2012 +0100

    drm/i915: Implement WaSetupGtModeTdRowDispatch

that causes GPU hangs immediately on boot.

Reported-by: Leo Wolf <jclw@ymail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79996
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
[Jani: amended the commit message slightly.]
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agodrm/i915: Disable caches for Global GTT.
François Tigeot [Sun, 13 Sep 2015 11:06:16 +0000 (13:06 +0200)]
drm/i915: Disable caches for Global GTT.

This is commit 76d0c9869b8cdbdb978caa4e13bc98840daafa2b from Linux 3.17.8
Original author: Rodrigo Vivi <rodrigo.vivi@intel.com>
Original commit message:

commit d6a8b72edc92471283925ceb4ba12799b67c3ff8 upstream.

Global GTT doesn't have pat_sel[2:0] so it always point to pat_sel = 000;
So the only way to avoid screen corruptions is setting PAT 0 to Uncached.

MOCS can still be used though. But if userspace is trusting PTE for
cache selection the safest thing to do is to let caches disabled.

BSpec: "For GGTT, there is NO pat_sel[2:0] from the entry,
so RTL will always use the value corresponding to pat_sel = 000"

- System agent ggtt writes (i.e. cpu gtt mmaps) already work before
this patch, i.e. the same uncached + snooping access like on gen6/7
seems to be in effect.
- So this just fixes blitter/render access. Again it looks like it's
not just uncached access, but uncached + snooping. So we can still
hold onto all our assumptions wrt cpu clflushing on LLC machines.

v2: Cleaner patch as suggested by Chris.
v3: Add Daniel's comment

Reference: https://bugs.freedesktop.org/show_bug.cgi?id=85576
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: James Ausmus <james.ausmus@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Jani Nikula <jani.nikula@intel.com>
Tested-by: James Ausmus <james.ausmus@intel.com>
Reviewed-by: James Ausmus <james.ausmus@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agodrm/i915: properly reenable gen8 pipe IRQs
François Tigeot [Sun, 13 Sep 2015 10:46:59 +0000 (12:46 +0200)]
drm/i915: properly reenable gen8 pipe IRQs

This is commit 18c22448d791a5c329528e495f19b639dd7a3dec from Linux 3.17.8
Original author: Paulo Zanoni <paulo.r.zanoni@intel.com>
Original commit message:

commit 1180e20606fd7c5d76dc5b2a1594fa51ba5a0f31 upstream.

We were missing the pipe B/C vblank bits! Take a look at
gen8_de_irq_postinstall for a comparison.

This should fix a bunch of IGT tests.

There are a few more things we could improve on this code, but this
should be the minimal fix to unblock us.

v2: s/extra_iir/extra_ier/ because IIR doesn't make sense (Ville)

Bugzilla:https://bugs.freedesktop.org/show_bug.cgi?id=83640
Testcase: igt/*
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
8 years agoi386 removal, part 40/x: Remove BOOTP_NFSV3 kernel option.
Sascha Wildner [Sun, 13 Sep 2015 10:51:03 +0000 (12:51 +0200)]
i386 removal, part 40/x: Remove BOOTP_NFSV3 kernel option.

NFS root mounts default to NFSv3 since b9a7a2bd9ad2 from 2009. The only
other place where it was used until recently was in i386's locore.s,
which got removed in f4c88b0b86f1.

8 years agolocale/UTF-8: Fixed upper bound logic
John Marino [Sun, 13 Sep 2015 10:08:10 +0000 (12:08 +0200)]
locale/UTF-8: Fixed upper bound logic

The upper bound for UTF-8 is 0x10FFFF.  Using two's complement to check
this range is wrong.  Valid values such as 0x20000, 0x40000 and 0x80000
were wrongly failing will illegal sequence errors.  Using simple
comparison operators should fix the logic.

8 years agodrm/i915: Reduce diff to Linux 3.17 in i915/intel_dp.c
Imre Vadász [Sat, 12 Sep 2015 10:09:44 +0000 (12:09 +0200)]
drm/i915: Reduce diff to Linux 3.17 in i915/intel_dp.c

Replaces intel_dp_aux_native_* calls by the corresponding drm_dp_dpcd_*
calls used in the Linux 3.17 code, and removes the intel_dp_aux_native_*
functions.

intel_dp_aux_native_read_retry() became intel_dp_dpcd_read_wake().
One operator precedence typo which wasn't synced from Linux 3.17 code
yet, and some whitespace diff fixes

8 years agodrm/i915: Adapt i2c handling a bit closer to Linux 3.17, Makes PSR work
Imre Vadász [Fri, 11 Sep 2015 23:18:55 +0000 (01:18 +0200)]
drm/i915: Adapt i2c handling a bit closer to Linux 3.17, Makes PSR work

Adds the intel_dp_aux_init and intel_dp_aux_transfer methods as in the
Linux 3.17 code, to properly initialize the intel_dp->aux struct.

Panel self refresh can now be enabled by setting "drm.i915.enable_psr=1"
in /boot/loader.conf.

8 years agoActivate symbol versioning on libc (bump DF version)
John Marino [Sat, 12 Sep 2015 12:48:25 +0000 (14:48 +0200)]
Activate symbol versioning on libc (bump DF version)

The symbol maps for libc have been verified to work as expected, thus
symbol versioning has been activated for libc.  The major version of
libc remains at 8 indefinitely.

The previously built packages and programs should continue to function
normally.  Future packages built on latest master (400304+) will not
run on DragonFly with version 400303 or earlier due to missing symbol
errors by rtld.  The plan is to archive current packages under a new
directory of mirror-master to continue (static) support for older versions
of master until those machines can be upgraded.

The DF version is changed to 400304 with this commit.

8 years agoinstallworld: When installing libraries, install libc first
John Marino [Sat, 12 Sep 2015 14:07:41 +0000 (16:07 +0200)]
installworld: When installing libraries, install libc first

The libraries have to be built in a specific order.  The way the makefile
is written, the libraries are installed in the same order as they are
built.  However, this dynamic made it impossible to install an new libc
that signficantly impacts other libraries in-place.  For example,
libncurses is significantly impacted by libc versioning, and it is
installed before libc which causes immediate failure in programs like
"ln" and "install" because rtld can't find new symbols.

The solution is update the lib makefile to put libc at the beginning
of the installation queue.  This simple change ensures libc changes
will not break world installation.

8 years agoRemove /usr/include/emulation/posix4 (empty since 2007) via 'make upgrade'.
Sascha Wildner [Fri, 11 Sep 2015 23:21:54 +0000 (01:21 +0200)]
Remove /usr/include/emulation/posix4 (empty since 2007) via 'make upgrade'.

8 years agoRemove some additional files via 'make upgrade'.
Sascha Wildner [Fri, 11 Sep 2015 23:15:01 +0000 (01:15 +0200)]
Remove some additional files via 'make upgrade'.

8 years agolibc: Add stack protector support back
John Marino [Fri, 11 Sep 2015 08:11:53 +0000 (10:11 +0200)]
libc: Add stack protector support back

Based on regressions indicated by dports bulk build (< 10), it appears
that the deactivated stack_protector.c code was used with static stack
protection (e.g. -lssp_nonshared).

FreeBSD moved the file to its own area less than a month ago, which is
why I thought it had been removed.  The plan is to put all security
related code in the same area, so I'm going to follow suit.  While here,
remove the stack_smash_handler, which I believe is obsolete, and reduce
differences with FreeBSD.

8 years agoRemove libcom_err and compile_et.
Sascha Wildner [Fri, 11 Sep 2015 08:19:00 +0000 (10:19 +0200)]
Remove libcom_err and compile_et.

They were part of kerberos and only ever used for it and associated
pam modules, all of which were removed long ago. So this is just
forgotten cleanup.

Ports seem to take care of themselves, too. All ports mentioning
either com_err or compile_et anywhere built without the versions
in base.

8 years agokernel/bus: Change function definitions to static (to match declaration).
Sascha Wildner [Thu, 10 Sep 2015 21:27:58 +0000 (23:27 +0200)]
kernel/bus: Change function definitions to static (to match declaration).

8 years agokernel/net: Change function definitions to static (to match declaration).
Sascha Wildner [Thu, 10 Sep 2015 21:27:35 +0000 (23:27 +0200)]
kernel/net: Change function definitions to static (to match declaration).

8 years agoi386 removal, part 39/x: Remove est(4) driver.
Sascha Wildner [Thu, 10 Sep 2015 20:43:41 +0000 (22:43 +0200)]
i386 removal, part 39/x: Remove est(4) driver.

Of the 36 CPUs it supports, only one supports Intel 64 (aka AMD64),
namely the Intel Core 2 Duo T7500, released in May 2007. The rest,
Intel Pentium Ms and two Intel Core CPUs, were 32 bit only.

If someone is still using a T7500 with DragonFly and our regular
ACPI P-state support doesn't work with it, we'd be interested in
hearing about it. As a last resort, there's always cpucontrol(8)
to set the MSRs manually. :)

Also, estd isn't in ports or dports.

8 years agotaskqueue: Fix taskqueue locking issues
Sepherosa Ziehau [Thu, 10 Sep 2015 15:10:05 +0000 (23:10 +0800)]
taskqueue: Fix taskqueue locking issues

- wakeup/wakeup_one should be called w/o spinlock (taskqueue lock).
- Callout needs to lock taskqueue before calling taskqueue_enqueue_locked.

8 years agortld.1: Improve _rtld_functrace example
John Marino [Thu, 10 Sep 2015 13:10:52 +0000 (15:10 +0200)]
rtld.1: Improve _rtld_functrace example

The man page was written at a time that gcc was "leaking" headers.
Now <unistd.h> is required for this example to compile.

8 years agosys/param.h: Fix typo in comment
John Marino [Wed, 9 Sep 2015 22:04:34 +0000 (00:04 +0200)]
sys/param.h: Fix typo in comment

8 years agobump __DragonFly_version for environ, __progname change
John Marino [Wed, 9 Sep 2015 21:46:54 +0000 (23:46 +0200)]
bump __DragonFly_version for environ, __progname change

The "environ" and "__progname" symbols no longer appear in libc.
Certain linker flags can result in a link failure on these symbols.  This
has been seen in llvm (likely requiring a patch for all versions to treat
DragonFly like FreeBD).  Since this is a behavior change, I think it is
worth a version bump in case makefiles have to check the version to
adjust.

8 years agoSimplify redundant __*_VISIBLE checks in various header files.
Sascha Wildner [Wed, 9 Sep 2015 18:39:10 +0000 (20:39 +0200)]
Simplify redundant __*_VISIBLE checks in various header files.

* __BSD_VISIBLE implies __XSI_VISIBLE and __POSIX_VISIBLE.

* __XSI_VISIBLE implies __POSIX_VISIBLE.

None of these functions/defines are actually XSI. No functional change
expected.

8 years agokernel: Remove pci_pir.c, which was not built.
Sascha Wildner [Wed, 9 Sep 2015 16:07:57 +0000 (18:07 +0200)]
kernel: Remove pci_pir.c, which was not built.

According to sephe, this is no longer relevant these days.