dragonfly.git
112 min agoemx: Use ringmap to do polling cpu assignment and fill redirect table.master
Sepherosa Ziehau [Fri, 26 May 2017 14:46:20 +0000 (26 22:46 +0800)]
emx: Use ringmap to do polling cpu assignment and fill redirect table.

10 hours agomxge: Share same redirect table for RSS and non-RSS mode.
Sepherosa Ziehau [Fri, 26 May 2017 06:15:22 +0000 (26 14:15 +0800)]
mxge: Share same redirect table for RSS and non-RSS mode.

11 hours agokern: Bump __DragonFly_version.
Sepherosa Ziehau [Fri, 26 May 2017 05:21:33 +0000 (26 13:21 +0800)]
kern: Bump __DragonFly_version.

- Change CPU_SETSIZE to signed int.
- Allow process to change selft CPU affinity.

11 hours agousched: Allow process to change self cpu affinity
Sepherosa Ziehau [Fri, 26 May 2017 05:21:06 +0000 (26 13:21 +0800)]
usched: Allow process to change self cpu affinity

11 hours agosched: Change CPU_SETSIZE to signed int, same as FreeBSD/Linux.
Sepherosa Ziehau [Fri, 26 May 2017 05:20:23 +0000 (26 13:20 +0800)]
sched: Change CPU_SETSIZE to signed int, same as FreeBSD/Linux.

29 hours agoemx: Remove unapplied comment
Sepherosa Ziehau [Thu, 25 May 2017 05:53:51 +0000 (25 13:53 +0800)]
emx: Remove unapplied comment

34 hours agomxge: Number of entries of the indirect table must be power-of-2
Sepherosa Ziehau [Thu, 25 May 2017 05:48:26 +0000 (25 13:48 +0800)]
mxge: Number of entries of the indirect table must be power-of-2

35 hours agomxge: Use ringmap to do MSI-X cpu assignment and fill redirect table.
Sepherosa Ziehau [Thu, 25 May 2017 04:59:57 +0000 (25 12:59 +0800)]
mxge: Use ringmap to do MSI-X cpu assignment and fill redirect table.

37 hours agoifnet: Add comment for ringmap
Sepherosa Ziehau [Thu, 25 May 2017 03:19:49 +0000 (25 11:19 +0800)]
ifnet: Add comment for ringmap

2 days agomxge.4: Firmware images can also be embedded into a system.
Jan Sucan [Wed, 24 May 2017 20:35:34 +0000 (24 20:35 +0000)]
mxge.4: Firmware images can also be embedded into a system.

2 days agoigb.4: Update year.
Sepherosa Ziehau [Wed, 24 May 2017 09:37:43 +0000 (24 17:37 +0800)]
igb.4: Update year.

43 hours ago<netproto/smb/smb_conn.h>: Add missing include guard.
Sascha Wildner [Wed, 24 May 2017 21:03:38 +0000 (24 23:03 +0200)]
<netproto/smb/smb_conn.h>: Add missing include guard.

2 days agomxge: Unify firmware handling with the rest of the system.
Jan Sucan [Wed, 17 May 2017 11:27:12 +0000 (17 11:27 +0000)]
mxge: Unify firmware handling with the rest of the system.

* Convert firmware binary data from C arrays in a header files to
  uuencode .uu files.

* Move the .uu images to a sys/contrib/dev/mxge.

* Make it possible to embed the firmware images into a system.

2 days agoem: Enable MSI by default on devices has PCI advanced features capability.
Sepherosa Ziehau [Wed, 24 May 2017 06:30:37 +0000 (24 14:30 +0800)]
em: Enable MSI by default on devices has PCI advanced features capability.

Some versions of I219 does not PCI express capability, but only
PCI advanced features capability.

Dragonfly-bug: http://bugs.dragonflybsd.org/issues/3038

2 days agoigb: Use ringmap to do MSI-X cpu assignment and fill redirect table.
Sepherosa Ziehau [Mon, 15 May 2017 09:15:18 +0000 (15 17:15 +0800)]
igb: Use ringmap to do MSI-X cpu assignment and fill redirect table.

2 days agoifnet: Rework if_ringmap_match
Sepherosa Ziehau [Thu, 18 May 2017 06:55:08 +0000 (18 14:55 +0800)]
ifnet: Rework if_ringmap_match

Original version is kinda broken, if ring count != ringmap grid.
This version fixes it and gives more even ring distribution.

3 days agoA step to correctly handling command timeouts in the MMC layer.
Imre Vadász [Sun, 21 May 2017 14:02:20 +0000 (21 16:02 +0200)]
A step to correctly handling command timeouts in the MMC layer.

    - Now that properly issuing CMD6 is crucial (so data isn't written to
      the wrong partition for example), make a step into the direction of
      correctly handling the timeout for these commands in the MMC layer.
      Also, do a SEND_STATUS when CMD6 is invoked with an R1B response as
      recommended by relevant specifications. However, quite some work is
      left to be done in this regard; all other R1B-type commands done by
      the MMC layer also should be followed by a SEND_STATUS (CMD13), the
      erase timeout calculations/handling as documented in specifications
      are entirely ignored so far, the MMC layer doesn't provide timeouts
      applicable up to the bridge drivers and at least sdhci(4) currently
      is hardcoding 1 s as timeout for all command types unconditionally.
      Let alone already available return codes often not being checked in
      the MMC layer ...

    - For devices following the eMMC specification v4.41 or later, year 0
      is 2013 rather than 1997; so correct this for assembling the device
      ID string properly.

* This omits all the parts specific to eMMC "partitions" from the FreeBSD
  change.

* Add the Intel sdhci controller ids to sdhci_pci.c to set the
  SDHCI_QUIRK_WAIT_WHILE_BUSY quirk there.
  This also disables DMA on apollo lake sdhci, while there and whitelists
  ADMA2 on Bay Trail and Braswell sdhci controllers.

Taken-From: FreeBSD (svn r315430)

5 days agoMore style, comments, includes and unused params fixes for sdhci and mmc.
Imre Vadász [Sun, 21 May 2017 10:53:03 +0000 (21 12:53 +0200)]
More style, comments, includes and unused params fixes for sdhci and mmc.

Taken-From: FreeBSD (svn r314811)

5 days agoStyle fixes for sdhci(4) and mmc(4) in comments, includes, unused params.
Imre Vadász [Sat, 20 May 2017 22:06:59 +0000 (21 00:06 +0200)]
Style fixes for sdhci(4) and mmc(4) in comments, includes, unused params.

Taken-From: FreeBSD (svn r315466)

6 days agonvme - Fix interrupt pin support when MSI-X is unavailable.
Matthew Dillon [Fri, 19 May 2017 17:55:10 +0000 (19 10:55 -0700)]
nvme - Fix interrupt pin support when MSI-X is unavailable.

* Real hardware (so far) all supports MSI-X, but VMs emulating NVMe
  have been found not to.

* Fix numerous assertions that were getting hit due to the non-MSI-X
  case not installing the sc->cputovect[i] mapping.

  Install a fake cputovect[] mapping.  This mapping is primarily to allow
  multiple submission queues (per-cpu when possible).  Completion queues
  will be further limited to reduce loop-check overheads.

* For the non-MSI-X case, limit the number of completion queues to 4,
  since there is really no point having more there being only one interrupt
  vector.  We use 4 to allow the chipset side to run optimally even though
  it is not necessarily useful to have that many on the cpu side.  Though
  to be fair, in cases where the cpu-side driver polls for completions,
  having multiple completion queues CAN help even if there is only one
  interrupt as each completion queue is separately locked.

* Properly set the interrupt masking registers in the non-MSI-X case
  (probably not needed).  Note that these registers are explicitly not
  supposed to be accessed by the host when MSI-X is used.

* Fix a bug where the maximum number of queues possible was one too high.
  This limit is *never* reached anyway, but fix the code just in case.

* Fix a bug where we assumed that the number of queues returned by the
  NVME_FID_NUMQUEUES command would always be <= the number of queues
  requested.  In fact, this is not the case for at least one chipset
  or for some VM emulations.  Limit the returned values to no more than
  the requested values.

* Set the queue->nqe field last when creating a completion queue.  This
  prevents interrupts which poll multiple completion queues from attempting
  to poll a completion queue that has not finished getting set up.  This
  case always occurs when pin-based interrupts are used and sometimes
  occurs when MSI-X vectors are used, depending on the topology.

* NOTES ON DISABLING MSI-X.  Not all chipsets implement pin-based interrupts
  properly for NVMe.  The BPX NVMe card, for example, appears to just leave
  the pin interrupt in a stuck state (the chipset docs say the level
  interrupt is cleared once all doorbell heads are synchronized for the
  completion queues, but this does not happen).  So NVMe users should not
  explicitly disable MSI-X when it is nominally supported, except for
  testing.

Reported-by: sinetek
6 days agokernel - Fix excessive call stack depth on stuck interrupt
Matthew Dillon [Fri, 19 May 2017 17:51:55 +0000 (19 10:51 -0700)]
kernel - Fix excessive call stack depth on stuck interrupt

* Fix an issue where a stuck level interrupt can result in an excessively
  deep call-stack and possible panic.

* Fixed by disallow thread preemption when curthread->td_nest_count
  is >= 2.  The critical section count test is not sufficient for the
  fast-interrupt unpend -> preemption case.

9 days agoImprove markup in some manual pages.
Sascha Wildner [Tue, 16 May 2017 21:42:07 +0000 (16 23:42 +0200)]
Improve markup in some manual pages.

Use .Fa uniformly for struct members (see mdoc(7)).

11 days agosdhci - Define some easy bits from Simplified Controller Spec v4.20.
Imre Vadász [Sun, 14 May 2017 16:19:41 +0000 (14 18:19 +0200)]
sdhci - Define some easy bits from Simplified Controller Spec v4.20.

* New HOST_CONTROL2 fields, and new controller version values.

11 days agosdhci - Check slot type cap, set SDHCI_SLOT_EMBEDDED for an embedded slot.
Imre Vadász [Tue, 17 Jan 2017 23:12:05 +0000 (18 00:12 +0100)]
sdhci - Check slot type cap, set SDHCI_SLOT_EMBEDDED for an embedded slot.

* Fail in sdhci(4) initialization for slot type shared, which is completely
  unsupported by this driver at the moment.

* We shouldn't need to do any card insertion handling for embedded slots.
  XXX We could also do a couple of consistency checks, if the configuration
      selected by the driver actually makes sense for the slot type.

12 days agosdhci - Add tunables for disabling SDMA and/or ADMA2, and for testing ADMA2.
Imre Vadász [Fri, 6 Jan 2017 21:53:26 +0000 (6 22:53 +0100)]
sdhci - Add tunables for disabling SDMA and/or ADMA2, and for testing ADMA2.

* Also document hw.sdhci.debug tunable while there.

* Limit ADMA2 support to the already tested and working Intel sdhci
  controllers for now. Currently we only explicitly match against the Intel
  models in sdhci_acpi(4).
  XXX sdhci_pci(4) should explicitly match against the Intel sdhci
      controllers as well to whitelist ADMA2 support, via the
      SDHCI_QUIRK_WHITELIST_ADMA2 flag.

* For testing on not-yet whitelisted models, add the hw.sdhci.adma2_test
  tunable to skip the whitelist check.

12 days agosdhci - Handle ADMA error interrupt, similar to ACMD12 error interrupt.
Imre Vadász [Sat, 7 Jan 2017 22:53:43 +0000 (7 23:53 +0100)]
sdhci - Handle ADMA error interrupt, similar to ACMD12 error interrupt.

* Print the DMA descriptor entry that is likely at fault.

12 days agosdhci - Implement ADMA2 transfer support. Keep SDMA support for now.
Imre Vadász [Sat, 7 Jan 2017 21:44:07 +0000 (7 22:44 +0100)]
sdhci - Implement ADMA2 transfer support. Keep SDMA support for now.

* Using ADMA2 transfers, only generates 1 or 2 interrupts for each
  bio transfer, whereas the existing SDMA code was only transferring
  in 4K blocks (with a completion interrupt for each 4K block).

* Since support for UHS high-speed modes is still missing this might
  only give a small performance increase in many cases.
  With very aggressive CPU C-state power-management and/or very slow
  CPUs, this can improve performance a lot however. e.g. on an Atom
  x5-Z8300 at 480MHz using deepest mwait c-state setting:
    - eMMC read speed: ca. 17 MiB/s --> 30 MiB/s
    - SD-card read speed: ca. 11MiB/s --> 18MiB/s

12 days agosdhci - Add data structure definitions for ADMA2 DMA descriptors.
Imre Vadász [Fri, 6 Jan 2017 21:50:12 +0000 (6 22:50 +0100)]
sdhci - Add data structure definitions for ADMA2 DMA descriptors.

12 days agobnx: Free ringmap in device_detach device method
Sepherosa Ziehau [Sun, 14 May 2017 05:08:20 +0000 (14 13:08 +0800)]
bnx: Free ringmap in device_detach device method

12 days agobnx: Use modulo to map TX rings.
Sepherosa Ziehau [Sun, 14 May 2017 01:45:38 +0000 (14 09:45 +0800)]
bnx: Use modulo to map TX rings.

13 days agobnx: Use ringmap to do MSI-X cpu assignment and fill redirect table.
Sepherosa Ziehau [Fri, 12 May 2017 07:06:52 +0000 (12 15:06 +0800)]
bnx: Use ringmap to do MSI-X cpu assignment and fill redirect table.

2 weeks agopf: Normalized, i.e. defragged, packets requiring rehash.
Sepherosa Ziehau [Fri, 12 May 2017 04:42:24 +0000 (12 12:42 +0800)]
pf: Normalized, i.e. defragged, packets requiring rehash.

DragonFly-bug: https://bugs.dragonflybsd.org/issues/3036
Tested-by: tautology
2 weeks agodevattr.3: Some minor adjustments.
Sascha Wildner [Thu, 11 May 2017 18:56:26 +0000 (11 20:56 +0200)]
devattr.3: Some minor adjustments.

* Do not point to itself with .Xr

* Add missing space.

2 weeks agotools/toeplitz: Add option to do modulo
Sepherosa Ziehau [Sun, 7 May 2017 06:42:28 +0000 (7 14:42 +0800)]
tools/toeplitz: Add option to do modulo

2 weeks agonetisr: Add tunable for netisr_ncpus.
Sepherosa Ziehau [Sun, 7 May 2017 02:35:22 +0000 (7 10:35 +0800)]
netisr: Add tunable for netisr_ncpus.

2 weeks agoix: Use ringmap to do MSI-X cpu assignment and fill redirect table.
Sepherosa Ziehau [Tue, 18 Apr 2017 06:06:43 +0000 (18 14:06 +0800)]
ix: Use ringmap to do MSI-X cpu assignment and fill redirect table.

2 weeks agoifnet: Add ringmap, which does ring/cpu map and generates redirect table.
Sepherosa Ziehau [Tue, 18 Apr 2017 05:43:26 +0000 (18 13:43 +0800)]
ifnet: Add ringmap, which does ring/cpu map and generates redirect table.

2 weeks agoinet: Local group index is not assigned in jail.
Sepherosa Ziehau [Wed, 10 May 2017 10:47:25 +0000 (10 18:47 +0800)]
inet: Local group index is not assigned in jail.

Dragonfly-bug: https://bugs.dragonflybsd.org/issues/3035

2 weeks agokernel/vga_switcheroo: Hook vga_switcheroo to i915.
Peeter Must [Tue, 9 May 2017 12:36:13 +0000 (9 15:36 +0300)]
kernel/vga_switcheroo: Hook vga_switcheroo to i915.

* When i915 loads, call vga_switcheroo to switch gmux so the
  integrated graphics device will output both to the laptop panel
  and the external monitor.
  For now, we do not power off the discrete graphics device.

2 weeks agoClean up SEE ALSO in various manual pages.
Sascha Wildner [Wed, 10 May 2017 06:36:21 +0000 (10 08:36 +0200)]
Clean up SEE ALSO in various manual pages.

2 weeks agokernel/apple_gmux: Fix compilation when VGA_SWITCHEROO is in the config.
Sascha Wildner [Tue, 9 May 2017 04:04:26 +0000 (9 06:04 +0200)]
kernel/apple_gmux: Fix compilation when VGA_SWITCHEROO is in the config.

We would get a redefinition warning/error, because opt_drm.h has
VGA_SWITCHEROO defined to 1 in this case, which is not the same as
merely defining it. To be on the safe side, define to 1 here, too,
and also add an #ifndef and a comment.

Discussed-with: Peeter Must <karu.pruun@gmail.com>

2 weeks agokernel: Move apple_gmux to sys/gnu/dev/misc/
Sascha Wildner [Mon, 8 May 2017 08:51:37 +0000 (8 10:51 +0200)]
kernel: Move apple_gmux to sys/gnu/dev/misc/

2 weeks agoResolve some mdoc issues in manual pages.
Sascha Wildner [Mon, 8 May 2017 13:47:38 +0000 (8 15:47 +0200)]
Resolve some mdoc issues in manual pages.

2 weeks agosound/hda: Fix an invalid corb size (0) panic
François Tigeot [Mon, 8 May 2017 11:34:52 +0000 (8 13:34 +0200)]
sound/hda: Fix an invalid corb size (0) panic

* This allows HDMI audio to be used with problematic Radeon
  graphics card models such as Radeon R7 240

* This commit is based on a patch from Andriy Gapon posted in
  freebsd-current@ back in July 2010:
  https://lists.freebsd.org/pipermail/freebsd-current/2010-July/018764.html

Submitted-by: davshao, issue #3026
2 weeks agoRemove a no longer used header (scsi_iu.h).
Sascha Wildner [Mon, 8 May 2017 06:54:18 +0000 (8 08:54 +0200)]
Remove a no longer used header (scsi_iu.h).

The last consumer was removed in 82faf7935980d0b4e443ff7bbff806e3d6e2a10f.

2 weeks ago<sys/un.h>: Stop including <sys/file.h>.
Sascha Wildner [Sat, 6 May 2017 18:33:18 +0000 (6 20:33 +0200)]
<sys/un.h>: Stop including <sys/file.h>.

It is no longer needed since f635d1746140d0f4915af3adb8314f4759377d3b.

While here, remove a forward declaration of struct sockopt (no longer
needed since 002c1265bf9676475d08e73e8d873cea9ee4a82e) and adjust a
bit of whitespace.

Also adjust ng_ksocket.c where DragonFly specific code was assuming
that including <sys/un.h> would bring in <sys/fcntl.h>.

3 weeks agoUpdate drm/radeon to Linux 4.7.10 as much as possible...
David Shao [Sat, 1 Apr 2017 23:32:06 +0000 (1 16:32 -0700)]
Update drm/radeon to Linux 4.7.10 as much as possible...

...before other kernel changes.

3 weeks agohier.7: Some adjustments to match current layout.
Sascha Wildner [Wed, 3 May 2017 07:24:23 +0000 (3 09:24 +0200)]
hier.7: Some adjustments to match current layout.

3 weeks agokernel/acpi_srat: Remove some unused code.
Sascha Wildner [Sun, 30 Apr 2017 22:19:05 +0000 (1 00:19 +0200)]
kernel/acpi_srat: Remove some unused code.

3 weeks agoRemove some old UUCP remains and adjust better to net/freebsd-uucp pkg.
Sascha Wildner [Sun, 30 Apr 2017 18:32:24 +0000 (30 20:32 +0200)]
Remove some old UUCP remains and adjust better to net/freebsd-uucp pkg.

3 weeks agolinux/apple-gmux.h: Fix permissions.
Sascha Wildner [Sat, 29 Apr 2017 08:56:55 +0000 (29 10:56 +0200)]
linux/apple-gmux.h: Fix permissions.

3 weeks agokernel/acpica: Remove obsolete comment in the Makefile.
Sascha Wildner [Fri, 28 Apr 2017 16:46:08 +0000 (28 18:46 +0200)]
kernel/acpica: Remove obsolete comment in the Makefile.

4 weeks agokernel: Import the apple-gmux driver from Linux 4.8
Peeter Must [Thu, 13 Apr 2017 07:17:43 +0000 (13 10:17 +0300)]
kernel: Import the apple-gmux driver from Linux 4.8

Some Apple laptop models with dual GPUs use a special gmux device
in order to connect video outputs to a particular GPU or the other
one.
This driver allows the use of Intel graphics on Macbooks having an
on-board additional Nvidia GPU.

Rename the driver to "apple_gmux" since hyphens are not welcome in
DragonFly's kernel module names.

4 weeks agodrm/linux: Remove no longer needed iic includes
François Tigeot [Thu, 27 Apr 2017 11:12:29 +0000 (27 13:12 +0200)]
drm/linux: Remove no longer needed iic includes

4 weeks agotuning.7: Fix typo.
Sascha Wildner [Thu, 27 Apr 2017 07:50:11 +0000 (27 09:50 +0200)]
tuning.7: Fix typo.

4 weeks agotuning.7: Fix .Fx/.Dx confusion a bit better.
Sascha Wildner [Thu, 27 Apr 2017 06:53:02 +0000 (27 08:53 +0200)]
tuning.7: Fix .Fx/.Dx confusion a bit better.

* Remove a rather meaningless sentence about the VM.

* In HISTORY, it is indeed FreeBSD that we are referring to. Add some
  info about DragonFly.

* Add an AUTHORS section.

4 weeks agodocs - Fix name type-o
Matthew Dillon [Wed, 26 Apr 2017 19:51:12 +0000 (26 12:51 -0700)]
docs - Fix name type-o

* Fix .Fx use that was supposed to be .Dx.

Reported-by: kerma
4 weeks ago<fcntl.h>: Add some missing defines (required by POSIX).
Sascha Wildner [Mon, 24 Apr 2017 17:22:39 +0000 (24 19:22 +0200)]
<fcntl.h>: Add some missing defines (required by POSIX).

   SEEK_SET   S_ISUID   S_IRWXU   S_IRWXG   S_IRWXO
   SEEK_CUR   S_ISGID   S_IRUSR   S_IRGRP   S_IROTH
   SEEK_END             S_IWUSR   S_IWGRP   S_IWOTH
                        S_IXUSR   S_IXGRP   S_IXOTH

Adjust <stat.h>, <stdio.h> and <unistd.h> accordingly.

See http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/fcntl.h.html

4 weeks agokernel - Fix double-free in if_ath, fix lost rcvif.
Matthew Dillon [Mon, 24 Apr 2017 17:06:32 +0000 (24 10:06 -0700)]
kernel - Fix double-free in if_ath, fix lost rcvif.

* Reassign rcvif in ieee80211_vap_pkt_send_dest() prior to calling
  ic_transmit().  The rcvif assignment can get lost from packet
  manipulation above that section of code.

* Fix a double-free in if_ath in the error path for ath_transmit().
  Callers of ic_transmit (aka ath_transmit in this case) expect the
  mbuf to remain intact on a non-zero error return.

* Document confusing code in WPI.

Reported-by: marino
Reviewed-by: sephe
4 weeks agokernel - Fix i915 deadlock
Matthew Dillon [Sun, 23 Apr 2017 00:30:54 +0000 (22 17:30 -0700)]
kernel - Fix i915 deadlock

* (Attempt to) fix a deadlock in the i915 code.  The device lock retry
  code does not release the PG_BUSY on the passed-in placeholder page,
  so the fact that the lock is obtained non-blocking is irrelevant.

  Try to fix this by immediately releasing the placeholder page.  The
  code already checks for an insertion race later on.

4 weeks agox86_64: Identify HWP in "Thermal and PM features"
François Tigeot [Sat, 22 Apr 2017 08:29:45 +0000 (22 10:29 +0200)]
x86_64: Identify HWP in "Thermal and PM features"

Also known as Hardware-managed P-states.

5 weeks agoix: Fixup TX/RX ring settings for X550, which supports 64/64 TX/RX rings.
Sepherosa Ziehau [Tue, 18 Apr 2017 04:22:26 +0000 (18 12:22 +0800)]
ix: Fixup TX/RX ring settings for X550, which supports 64/64 TX/RX rings.

5 weeks agosys/vfs/hammer: Drop typedefs for struct hammer_ioc_{hist_entry,mrecord_head}
Tomohiro Kusumi [Mon, 17 Apr 2017 18:48:22 +0000 (17 21:48 +0300)]
sys/vfs/hammer: Drop typedefs for struct hammer_ioc_{hist_entry,mrecord_head}

These are the only two ioctl structs with pointer typedefs. All the
rest of ioctl structs aren't typedef'd, and there isn't really any
reason that these two need to be typedef'd.

Note that almost all non ioctl HAMMER structs have pointer typedef,
and majority of variables have been typedef'd ones from the beginning
(since they were mostly pointers). Rest were changed to use typedef'd
at some point in 2016, to avoid mix of these for no reason, though
typedef'd pointers have ugliness when used as const.

5 weeks agosbin/*hammer: Add missing braces to conform to code style
Tomohiro Kusumi [Mon, 17 Apr 2017 11:18:10 +0000 (17 14:18 +0300)]
sbin/*hammer: Add missing braces to conform to code style

These were the missing ones due to
1. the code were written by several devs
2. they were missing ever since originally written by dillon@

5 weeks agosbin/mount_hammer: Use calloc(3) and cleanups
Tomohiro Kusumi [Mon, 17 Apr 2017 11:17:48 +0000 (17 14:17 +0300)]
sbin/mount_hammer: Use calloc(3) and cleanups

5 weeks agokernel: Remove TCPDEBUG checks in tcp_debug.c.
Sascha Wildner [Sun, 16 Apr 2017 23:04:20 +0000 (17 01:04 +0200)]
kernel: Remove TCPDEBUG checks in tcp_debug.c.

This file is only compiled in when TCPDEBUG is specified, so the check
is always true.

5 weeks agokernel: Fix building with options TCPDEBUG.
Sascha Wildner [Sun, 16 Apr 2017 23:00:53 +0000 (17 01:00 +0200)]
kernel: Fix building with options TCPDEBUG.

5 weeks agosys/vfs/autofs: Value returned by taskqueue_enqueue_timeout(9) is not an error; ...
Tomohiro Kusumi [Sun, 16 Apr 2017 22:01:29 +0000 (17 01:01 +0300)]
sys/vfs/autofs: Value returned by taskqueue_enqueue_timeout(9) is not an error; (FreeBSD@GitHub e61af21d)

5 weeks agosys/vfs/autofs: Sync with FreeBSD's .vop_print format (FreeBSD@GitHub d8ce902a)
Tomohiro Kusumi [Sun, 16 Apr 2017 21:56:47 +0000 (17 00:56 +0300)]
sys/vfs/autofs: Sync with FreeBSD's .vop_print format (FreeBSD@GitHub d8ce902a)

FreeBSD@GitHub d8ce902a4769ab96ae8e86a730221d92a5978e4a
Implement autofs_print(), for improved debugging experience.

added .vop_print after autofs had been ported to DragonFlyBSD,
and it had anp->an_wildcards which we didn't, so just add it.

5 weeks agousr.sbin/fstyp: Use NULL instead of 0 for pointers. (FreeBSD@GitHub 27f4c84a)
Tomohiro Kusumi [Sun, 16 Apr 2017 11:06:47 +0000 (16 14:06 +0300)]
usr.sbin/fstyp: Use NULL instead of 0 for pointers. (FreeBSD@GitHub 27f4c84a)

5 weeks agousr.sbin/fstyp: Improve formatting. (FreeBSD@GitHub dc9b2340)
Tomohiro Kusumi [Sun, 16 Apr 2017 11:03:53 +0000 (16 14:03 +0300)]
usr.sbin/fstyp: Improve formatting. (FreeBSD@GitHub dc9b2340)

5 weeks agousr.sbin/autofs: Make autounmountd(8) not die when traced with "truss -p". (FreeBSD...
Tomohiro Kusumi [Sun, 16 Apr 2017 00:17:50 +0000 (16 03:17 +0300)]
usr.sbin/autofs: Make autounmountd(8) not die when traced with "truss -p". (FreeBSD@GitHub 8381908c)

5 weeks agousr.sbin/autofs: Use proper argument order for calloc(3). (FreeBSD@GitHub 6add75fe)
Tomohiro Kusumi [Sun, 16 Apr 2017 00:15:31 +0000 (16 03:15 +0300)]
usr.sbin/autofs: Use proper argument order for calloc(3). (FreeBSD@GitHub 6add75fe)

5 weeks ago<time.h>: For clarity, add prototypes (in #if 0) for missing functions.
Sascha Wildner [Sun, 16 Apr 2017 11:07:51 +0000 (16 13:07 +0200)]
<time.h>: For clarity, add prototypes (in #if 0) for missing functions.

5 weeks agosound/hda: Fix name for the Wildcat Point-LP (Broadwell PCH audio) model.
Imre Vadász [Sun, 16 Apr 2017 10:46:52 +0000 (16 12:46 +0200)]
sound/hda: Fix name for the Wildcat Point-LP (Broadwell PCH audio) model.

5 weeks agodrm/i915: Implement dev_to_i915(), instead of pancing with BUG().
Imre Vadász [Sun, 16 Apr 2017 08:28:17 +0000 (16 10:28 +0200)]
drm/i915: Implement dev_to_i915(), instead of pancing with BUG().

5 weeks agotcp: Don't assume power of 2 netisrs.
Sepherosa Ziehau [Sun, 16 Apr 2017 00:10:42 +0000 (16 08:10 +0800)]
tcp: Don't assume power of 2 netisrs.

5 weeks agosbin/hammer: Fix hammer(8)
Tomohiro Kusumi [Sat, 15 Apr 2017 21:18:38 +0000 (16 00:18 +0300)]
sbin/hammer: Fix hammer(8)

It's no longer HAMMER volume once stripped, so drop "HAMMER".

5 weeks agosys/vfs/hammer: Use hammer_crc_t
Tomohiro Kusumi [Sat, 15 Apr 2017 21:04:40 +0000 (16 00:04 +0300)]
sys/vfs/hammer: Use hammer_crc_t

Use hammer_crc_t rather than uint32_t which is the same thing.
This commit doesn't (and shouldn't) replace CRC variables that are
not HAMMER's ondisk CRC field or ioctl, but for general purpose.

5 weeks agosbin/hammer: Drop unused buffer_info variable
Tomohiro Kusumi [Sat, 15 Apr 2017 20:50:53 +0000 (15 23:50 +0300)]
sbin/hammer: Drop unused buffer_info variable

5 weeks agosbin/hammer: Fix HammerVersion initialization added by 4c09d9c4
Tomohiro Kusumi [Sat, 15 Apr 2017 19:29:02 +0000 (15 22:29 +0300)]
sbin/hammer: Fix HammerVersion initialization added by 4c09d9c4

4c09d9c4 added HammerVersion initialization code to load_volume(),
but this must be done only if volume is a root volume.

hammer version-upgrade only overwrites vol_version field of root
volume header, thus load_volume() updating HammerVersion using
non root volume(s) after once initialized using the root volume
breaks everything that volume version involves.

If HammerVersion isn't initialized by reading the volume header
(i.e. initialzied via ioctl when fs is mounted), it doesn't break
anything at least in the same way as this.

5 weeks agosbin/hammer: Cleanup get_buf_crc() after 965831f0
Tomohiro Kusumi [Sat, 15 Apr 2017 14:25:21 +0000 (15 17:25 +0300)]
sbin/hammer: Cleanup get_buf_crc() after 965831f0

Make get_buf_crc() look the same as get_inode_crc().
This is much more readable with slightly more overhead to go through
a while loop twice (at most where each loop may continue max 4 times).

5 weeks agosbin/hammer: Cleanup/rename get_leaf_crc() after 965831f0
Tomohiro Kusumi [Sat, 15 Apr 2017 13:43:00 +0000 (15 16:43 +0300)]
sbin/hammer: Cleanup/rename get_leaf_crc() after 965831f0

get_leaf_crc() is no longer a generic fucntion after 965831f0 dropped
non inode part, so rename it to get_inode_crc() with refactoring.
No functional change.

5 weeks agosbin/hammer: Fix newly added crc prefix character by 4c09d9c4
Tomohiro Kusumi [Sat, 15 Apr 2017 13:10:33 +0000 (15 16:10 +0300)]
sbin/hammer: Fix newly added crc prefix character by 4c09d9c4

4c09d9c4 made hammer show command function get_leaf_crc() use
1. "ocrc=" for old CRC
2. "icrc=" for version 7 CRC
3. "crc=" for others (i.e. bad CRC)

for inodes, but this isn't the same with get_buf_crc() for other records.

4c09d9c4 made get_buf_crc() use
1. "ocrc=" for old CRC
2. "icrc=" for others (i.e. version 7 CRC and bad CRC)

These two functions need to use the same CRC prefix character.
Add "crc=" case to get_buf_crc().

5 weeks agobsd-family-tree: Sync with FreeBSD (OpenBSD 6.1).
Sascha Wildner [Sat, 15 Apr 2017 12:15:04 +0000 (15 14:15 +0200)]
bsd-family-tree: Sync with FreeBSD (OpenBSD 6.1).

5 weeks agoUpdate the pciconf(8) database.
Sascha Wildner [Sat, 15 Apr 2017 12:14:28 +0000 (15 14:14 +0200)]
Update the pciconf(8) database.

April 3, 2017 snapshot from http://pciids.sourceforge.net/

5 weeks agodrm/linux: add component.h
François Tigeot [Sat, 15 Apr 2017 08:48:33 +0000 (15 10:48 +0200)]
drm/linux: add component.h

5 weeks agosbin/hammer: Drop non inode case from get_leaf_crc()
Tomohiro Kusumi [Fri, 14 Apr 2017 17:12:54 +0000 (14 20:12 +0300)]
sbin/hammer: Drop non inode case from get_leaf_crc()

The default case in get_leaf_crc() added by 4c09d9c4 is unused
(it's repeating the same switch/cases done by its caller), but this
is also wrong for userspace where a malloc'd buffer can only be upto
16KiB regardless of what leaf elm says.

It can be guaranteed for inode since we know inode is smaller than
16KiB. It can also be guaranteed for other types of metadata too,
but those can simply use get_buf_crc() and in fact they do.

Also see 7d0dab48.

5 weeks agosbin/hammer: Fix indentation made by 4c09d9c4
Tomohiro Kusumi [Fri, 14 Apr 2017 16:25:48 +0000 (14 19:25 +0300)]
sbin/hammer: Fix indentation made by 4c09d9c4

5 weeks agosbin/*hammer: Use consistent static/inline/returntype format for functions
Tomohiro Kusumi [Fri, 14 Apr 2017 13:30:08 +0000 (14 16:30 +0300)]
sbin/*hammer: Use consistent static/inline/returntype format for functions

Change them to HAMMER2 style which has much more stable code style
than HAMMER1. HAMMER1 is basically a mix of every possible pattern
(even in the code originally written only by dillon@).

5 weeks agosbin/hammer: Test volume version in __verify_volume()
Tomohiro Kusumi [Fri, 14 Apr 2017 12:46:56 +0000 (14 15:46 +0300)]
sbin/hammer: Test volume version in __verify_volume()

Since now that HammerVersion is always used by CRC operations, and
blkdevs based hammer commands are likely to either test/set CRC,
the volume version should be checked after volume parameters are
loaded from ondisk volume header.

The reason for using >=WIP instead of >MAX is because that's how
newfs_hammer checks volume version, though it's currently the same
thing.

5 weeks ago<ndbm.h>: Fix dptr type and add comment about wrong type of dsize.
Sascha Wildner [Fri, 14 Apr 2017 17:26:42 +0000 (14 19:26 +0200)]
<ndbm.h>: Fix dptr type and add comment about wrong type of dsize.

5 weeks ago<stdio.h>: ftello() and fseeko() were in SUSv2, so extend visibility.
Sascha Wildner [Fri, 14 Apr 2017 17:25:48 +0000 (14 19:25 +0200)]
<stdio.h>: ftello() and fseeko() were in SUSv2, so extend visibility.

See:

http://pubs.opengroup.org/onlinepubs/007908799/xsh/fseek.html
http://pubs.opengroup.org/onlinepubs/007908799/xsh/ftell.html

5 weeks ago<sys/signal.h>: Change sigev_notify_attributes to pthread_attr_t *.
Sascha Wildner [Fri, 14 Apr 2017 17:24:14 +0000 (14 19:24 +0200)]
<sys/signal.h>: Change sigev_notify_attributes to pthread_attr_t *.

See:

http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html

6 weeks agodrm/linux: Harmonize pr_debug() with the rest of the pr_* functions.
Peeter Must [Thu, 13 Apr 2017 12:57:48 +0000 (13 15:57 +0300)]
drm/linux: Harmonize pr_debug() with the rest of the pr_* functions.

6 weeks agoudp: Don't assume power of 2 netisrs.
Sepherosa Ziehau [Fri, 14 Apr 2017 06:09:29 +0000 (14 14:09 +0800)]
udp: Don't assume power of 2 netisrs.

6 weeks agoinpcb: Add function to set inpcbinfo's portinfo.
Sepherosa Ziehau [Fri, 14 Apr 2017 05:34:16 +0000 (14 13:34 +0800)]
inpcb: Add function to set inpcbinfo's portinfo.

This unbreaks inpcbinfo.portinfo_mask -> inpcbinfo.portinfo_cnt
conversion for divert inpcbs (unused by rip inpcbs).

6 weeks agosbin/hammer: Add missing fflush(stdout) in 8b6688a4
Tomohiro Kusumi [Thu, 13 Apr 2017 21:44:55 +0000 (14 00:44 +0300)]
sbin/hammer: Add missing fflush(stdout) in 8b6688a4

6 weeks agosbin/hammer: Rename hammer_parsedevs() to hammer_parse_blkdevs()
Tomohiro Kusumi [Thu, 13 Apr 2017 19:35:27 +0000 (13 22:35 +0300)]
sbin/hammer: Rename hammer_parsedevs() to hammer_parse_blkdevs()

Parsing HAMMER's blkdevs format devices is what this function does.

6 weeks agosbin/hammer: Allow any volume to be stripped by strip command
Tomohiro Kusumi [Thu, 13 Apr 2017 18:56:00 +0000 (13 21:56 +0300)]
sbin/hammer: Allow any volume to be stripped by strip command

hammer strip should be able to strip each volume independently whether
all volumes that consist filesystem are available or not. It makes no
sense to require all volumes when the purpose of command is to destroy
them, even though that's necessary to go through the whole process.

If root volume is missing or root volume has incomplete offset format,
layer1/2 won't be erased, but just header part.