dragonfly.git
10 years agorc.subr: Add get_pidfile_from_conf (from FreeBSD).
Sascha Wildner [Wed, 12 Mar 2014 20:00:40 +0000 (21:00 +0100)]
rc.subr: Add get_pidfile_from_conf (from FreeBSD).

10 years agousb4bsd: Fix some mistakes i made in 5782e8a131ef79.
Sascha Wildner [Wed, 12 Mar 2014 19:37:23 +0000 (20:37 +0100)]
usb4bsd: Fix some mistakes i made in 5782e8a131ef79.

10 years agorc: Use kldload -n in our rc scripts which load modules.
Sascha Wildner [Wed, 12 Mar 2014 19:12:02 +0000 (20:12 +0100)]
rc: Use kldload -n in our rc scripts which load modules.

10 years agokldload(8): Add -n for checking if a module is already loaded.
Sascha Wildner [Wed, 12 Mar 2014 18:32:18 +0000 (19:32 +0100)]
kldload(8): Add -n for checking if a module is already loaded.

Also, give better error messages upon EEXISTS and ENOEXEC.

Taken-from: FreeBSD

10 years agousb4bsd: Update ukbd driver
Markus Pfeiffer [Wed, 12 Mar 2014 13:14:37 +0000 (13:14 +0000)]
usb4bsd: Update ukbd driver

10 years agoNow that the base issue is fixed, enable -Wsign-compare again in scanners.
Sascha Wildner [Wed, 12 Mar 2014 12:36:01 +0000 (13:36 +0100)]
Now that the base issue is fixed, enable -Wsign-compare again in scanners.

Disabling warnings is usually not fixing them.

10 years agoflex: Fix -Wsign-compare warnings in generated scanners.
Sascha Wildner [Wed, 12 Mar 2014 12:27:42 +0000 (13:27 +0100)]
flex: Fix -Wsign-compare warnings in generated scanners.

10 years agolibusb20.3: Remove a reference to a (yet?) non-existent module.
Sascha Wildner [Tue, 11 Mar 2014 20:30:57 +0000 (21:30 +0100)]
libusb20.3: Remove a reference to a (yet?) non-existent module.

10 years agouipaq.4: Comment out a dead reference.
Sascha Wildner [Tue, 11 Mar 2014 20:18:03 +0000 (21:18 +0100)]
uipaq.4: Comment out a dead reference.

10 years agoBring in libusb20 examples from FreeBSD.
Sascha Wildner [Tue, 11 Mar 2014 20:24:50 +0000 (21:24 +0100)]
Bring in libusb20 examples from FreeBSD.

10 years agoSync umass.4 with FreeBSD.
Sascha Wildner [Tue, 11 Mar 2014 19:53:37 +0000 (20:53 +0100)]
Sync umass.4 with FreeBSD.

10 years agoSync zoneinfo database with tzdata2014a from ftp://ftp.iana.org/tz/releases
Sascha Wildner [Tue, 11 Mar 2014 14:38:23 +0000 (15:38 +0100)]
Sync zoneinfo database with tzdata2014a from ftp://ftp.iana.org/tz/releases

See https://github.com/eggert/tz/blob/master/NEWS for a list of
what changed. We were previously in sync with tzdata2013i.

10 years agoSync ums.4 and ukbd.4 with FreeBSD.
Sascha Wildner [Tue, 11 Mar 2014 13:41:53 +0000 (14:41 +0100)]
Sync ums.4 and ukbd.4 with FreeBSD.

10 years agousbdi.9: Sync with FreeBSD.
Sascha Wildner [Tue, 11 Mar 2014 13:26:20 +0000 (14:26 +0100)]
usbdi.9: Sync with FreeBSD.

10 years agourtwn.4: Use %O for now.
Sascha Wildner [Tue, 11 Mar 2014 13:11:47 +0000 (14:11 +0100)]
urtwn.4: Use %O for now.

10 years agoSync uvisor.4 and uvscom.4 with FreeBSD.
Sascha Wildner [Tue, 11 Mar 2014 12:57:43 +0000 (13:57 +0100)]
Sync uvisor.4 and uvscom.4 with FreeBSD.

10 years agoSync some USB serial driver manual pages with FreeBSD.
Sascha Wildner [Tue, 11 Mar 2014 12:33:55 +0000 (13:33 +0100)]
Sync some USB serial driver manual pages with FreeBSD.

uark(4)
uchcom(4)
uftdi(4)
ulpt(4)
umct(4)
umodem(4)

10 years agousb4bsd: Add back the ID for HandyTech's Braille displays to ubsa(4).
Sascha Wildner [Tue, 11 Mar 2014 12:18:29 +0000 (13:18 +0100)]
usb4bsd: Add back the ID for HandyTech's Braille displays to ubsa(4).

See fb55151b494cf8878797ecfa6429d34f3a757765 where it was added
to our old obsa(4).

Also sync the manual page with FreeBSD.

10 years agotcp: Remove unused code
Sepherosa Ziehau [Tue, 11 Mar 2014 11:38:23 +0000 (19:38 +0800)]
tcp: Remove unused code

10 years agoAdd some USB serial driver manpages from FreeBSD.
Sascha Wildner [Tue, 11 Mar 2014 10:57:13 +0000 (11:57 +0100)]
Add some USB serial driver manpages from FreeBSD.

u3g(4)
ubser(4)
ucycom(4)
uipaq(4)
umcs(4)

10 years agousbconfig.8: Add a usbdump(8) reference.
Sascha Wildner [Tue, 11 Mar 2014 10:31:00 +0000 (11:31 +0100)]
usbconfig.8: Add a usbdump(8) reference.

10 years agousb4bsd: Remove an obsolete comment in a Makefile.
Sascha Wildner [Tue, 11 Mar 2014 07:52:19 +0000 (08:52 +0100)]
usb4bsd: Remove an obsolete comment in a Makefile.

10 years agousb4bsd: Fix some SCSI handling in umass
Markus Pfeiffer [Mon, 10 Mar 2014 22:33:13 +0000 (22:33 +0000)]
usb4bsd: Fix some SCSI handling in umass

Set the sense data on probe.

10 years agoAdd libusb to <bsd.libnames.mk>.
Sascha Wildner [Mon, 10 Mar 2014 21:22:23 +0000 (22:22 +0100)]
Add libusb to <bsd.libnames.mk>.

10 years agoSync usbconfig(8) with FreeBSD.
Sascha Wildner [Mon, 10 Mar 2014 21:21:16 +0000 (22:21 +0100)]
Sync usbconfig(8) with FreeBSD.

10 years agoBring in FreeBSD's usbdump(8).
Sascha Wildner [Mon, 10 Mar 2014 21:11:53 +0000 (22:11 +0100)]
Bring in FreeBSD's usbdump(8).

10 years agoBring in FreeBSD's usbhidaction(1).
Sascha Wildner [Mon, 10 Mar 2014 21:02:44 +0000 (22:02 +0100)]
Bring in FreeBSD's usbhidaction(1).

10 years agoSync the new USB stack's usbhidctl(1) with FreeBSD.
Sascha Wildner [Mon, 10 Mar 2014 20:46:26 +0000 (21:46 +0100)]
Sync the new USB stack's usbhidctl(1) with FreeBSD.

10 years agoSync the new USB stack's libusbhid with FreeBSD.
Sascha Wildner [Mon, 10 Mar 2014 20:31:59 +0000 (21:31 +0100)]
Sync the new USB stack's libusbhid with FreeBSD.

10 years agoSync libusb with FreeBSD.
Sascha Wildner [Mon, 10 Mar 2014 20:22:22 +0000 (21:22 +0100)]
Sync libusb with FreeBSD.

10 years agoAdjust SYNOPSIS in a couple of USB driver manual pages.
Sascha Wildner [Mon, 10 Mar 2014 18:41:01 +0000 (19:41 +0100)]
Adjust SYNOPSIS in a couple of USB driver manual pages.

Namely, put "device oldusb" in all manual pages which are for drivers
that are only available in the old stack, be it because they are not
yet ported or because they are specific to the old stack.

10 years agokernel/ndis: Solve module build without a USB bus in the config better.
Sascha Wildner [Mon, 10 Mar 2014 18:32:34 +0000 (19:32 +0100)]
kernel/ndis: Solve module build without a USB bus in the config better.

When there is no USB bus in the config, the ndis modules need a hint
about which of the two possible USB stacks to build for. Always build
for usb4bsd unless oldusb is explicitly specified.

10 years agousb4bsd: Remove irritating kprintf
Markus Pfeiffer [Mon, 10 Mar 2014 17:57:15 +0000 (17:57 +0000)]
usb4bsd: Remove irritating kprintf

10 years agoAdd new usb4bsd only devices to LINT/LINT64.
Sascha Wildner [Mon, 10 Mar 2014 15:07:43 +0000 (16:07 +0100)]
Add new usb4bsd only devices to LINT/LINT64.

10 years agousb4bsd: Fix a couple of typos and build issues.
Sascha Wildner [Mon, 10 Mar 2014 13:56:38 +0000 (14:56 +0100)]
usb4bsd: Fix a couple of typos and build issues.

10 years agoLINT/LINT64: Fix umass comment.
Sascha Wildner [Mon, 10 Mar 2014 10:35:26 +0000 (11:35 +0100)]
LINT/LINT64: Fix umass comment.

10 years agokernel: Comment out old or yet unsupported USB devices in our configs.
Sascha Wildner [Mon, 10 Mar 2014 10:25:25 +0000 (11:25 +0100)]
kernel: Comment out old or yet unsupported USB devices in our configs.

10 years agochgsbsize: Optimize for x86_64 by avoid uidinfo spinlock
Sepherosa Ziehau [Mon, 10 Mar 2014 08:38:15 +0000 (16:38 +0800)]
chgsbsize: Optimize for x86_64 by avoid uidinfo spinlock

This kills one of the highly contended spinlocks on accept(2) path.  And
it also greatly helps connect(2) path.

With this commit, tools/kq_connect_client could do 273Kconns/s instead
of 260Kconns/s (~5% improvement, however, connect(2) is still cpu bound).

10 years agousb4bsd: Adjust a Makefile comment.
Sascha Wildner [Mon, 10 Mar 2014 02:20:21 +0000 (03:20 +0100)]
usb4bsd: Adjust a Makefile comment.

10 years agoMake usb4bsd the default USB stack.
Sascha Wildner [Mon, 10 Mar 2014 01:49:31 +0000 (02:49 +0100)]
Make usb4bsd the default USB stack.

To get back to the old stack, put "WANT_OLDUSB=yes" in /etc/make.conf and
replace "device usb" with "device oldusb" in the kernel configuration.

Requested-by: dillon, profmakx, marino etc.
10 years agousb4bsd - Fix poll/select/kqfilter issues with ums and usb_fifo*() API
Matthew Dillon [Mon, 10 Mar 2014 00:01:41 +0000 (17:01 -0700)]
usb4bsd - Fix poll/select/kqfilter issues with ums and usb_fifo*() API

* Fix handling of f->flag_isselect.  It was being improperly cleared on
  event notification.  It can only be cleared when the knote is removed.

* Call f->methods->f_start_read() unconditionally in usb_filter_read().
  Conditionalizing on f->queue_data will fail with devices (aka ums) which
  allocate the buffer independantly of starting the interrupt xfer.

* Call usb_fifo_wakeup() in mbuf re-queue cases to handle races when
  the read() code pulls an mbuf off the queue and then puts it back on.

* Fix bugs in UMS - Keep track of whether the interrupt transfer is running
  or not and do not re-submit or re-stop the transfer unconditionally.

10 years agousb4bsd: Adjust 'make upgrade' for the serial driver modules.
Sascha Wildner [Mon, 10 Mar 2014 00:01:39 +0000 (01:01 +0100)]
usb4bsd: Adjust 'make upgrade' for the serial driver modules.

10 years agousb4bsd: Allow to build serial drivers into the kernel too.
Sascha Wildner [Sun, 9 Mar 2014 23:59:53 +0000 (00:59 +0100)]
usb4bsd: Allow to build serial drivers into the kernel too.

10 years agousb4bsd: Fix typo in last commit.
Sascha Wildner [Sun, 9 Mar 2014 23:52:57 +0000 (00:52 +0100)]
usb4bsd: Fix typo in last commit.

10 years agousb4bsd: Fix some warnings in usb_serial.
Sascha Wildner [Sun, 9 Mar 2014 23:33:06 +0000 (00:33 +0100)]
usb4bsd: Fix some warnings in usb_serial.

* Fix two cases where sc was passed to ucom_modem() but sc->sc_tty
  should have been.

* Comment out a debug variable.

* Use #if 0 consequently and add a few more.

* Indent fixes.

OK'd-by: profmakx

10 years agousb4bsd: usb_dev kqfilter
Markus Pfeiffer [Sun, 9 Mar 2014 01:09:52 +0000 (01:09 +0000)]
usb4bsd: usb_dev kqfilter

* implement a working kqfilter
* integrate some FreeBSD patches

10 years agousb4bsd: work on usb_serial.c
Markus Pfeiffer [Sun, 9 Mar 2014 01:09:20 +0000 (01:09 +0000)]
usb4bsd: work on usb_serial.c

10 years agousb4bsd: use generated usbdevs.h
Markus Pfeiffer [Sat, 1 Mar 2014 19:18:21 +0000 (19:18 +0000)]
usb4bsd: use generated usbdevs.h

replace respective includes and fixup makefiles

10 years agousb4bsd: Implement kqfilter for usb_dev
Markus Pfeiffer [Fri, 28 Feb 2014 21:21:04 +0000 (21:21 +0000)]
usb4bsd: Implement kqfilter for usb_dev

10 years agousb4bsd: port usb_serial
Markus Pfeiffer [Tue, 25 Feb 2014 22:14:46 +0000 (22:14 +0000)]
usb4bsd: port usb_serial

10 years agoStart porting ucom.
Markus Pfeiffer [Wed, 5 Feb 2014 23:01:44 +0000 (23:01 +0000)]
Start porting ucom.

* import serial.h from freebsd
* comment almost everything out in usb_serial.c
* make the whole thing compile

10 years agotools - Fix a couple mistakes.
Antonio Huete Jimenez [Sun, 9 Mar 2014 17:12:00 +0000 (18:12 +0100)]
tools - Fix a couple mistakes.

- Don't write metadata file on dry-run mode for hammer-backup.sh
- Fix a corner case where hammer mirror-read does not find any changes
  and thus provides no endtid. Reused begtid for the metadata file
- Exit and remove the incremental file generated if we can't figure out
  which entid has to be written to the metadata file

10 years agotools - Reorganise a bit info messages in hammer-info.sh
Antonio Huete Jimenez [Sun, 9 Mar 2014 17:04:26 +0000 (18:04 +0100)]
tools - Reorganise a bit info messages in hammer-info.sh

- Also silence errors in md5's output.
- Remove some info that is already on the README

10 years agotools - Add option -k to hammer-backup.sh
Antonio Huete Jimenez [Sun, 9 Mar 2014 16:48:17 +0000 (17:48 +0100)]
tools - Add option -k to hammer-backup.sh

- This new option goes through all metadata backup files in the
  specified backup directory and performs a checksum on them.
- While here fix usage.

10 years agotools - Easier incremental backups for hammer-backup.sh.
Antonio Huete Jimenez [Sun, 9 Mar 2014 16:24:36 +0000 (17:24 +0100)]
tools - Easier incremental backups for hammer-backup.sh.

- If 'auto' is specified with option -i, then the latest full backup will
  be used. This allows easier backups via crontab for example.
- Fix a couple things in README.

10 years agotools - Improve hammer-backup.sh a bit
Antonio Huete Jimenez [Sun, 9 Mar 2014 13:24:06 +0000 (14:24 +0100)]
tools - Improve hammer-backup.sh a bit

- Use globbing where appropriate.
- Fix some tests.
- Fix awk usage in some cases.
- Remove unused variables.

Submitted-by: Freddy DISSAUX
10 years agotools - Fix indentation.
Antonio Huete Jimenez [Sun, 9 Mar 2014 12:49:19 +0000 (13:49 +0100)]
tools - Fix indentation.

- Use the same indentation across the whole hammer-backup.sh
  script.

Spotted-by: Freddy DISSAUX
10 years agochgsbsize: Reduce cover range of uidinfo spinlock
Sepherosa Ziehau [Sun, 9 Mar 2014 12:31:50 +0000 (20:31 +0800)]
chgsbsize: Reduce cover range of uidinfo spinlock

10 years agoethernet: If caller thread cpu is fixed, pass cpuid to ether_input_pkt()
Sepherosa Ziehau [Sun, 9 Mar 2014 11:28:18 +0000 (19:28 +0800)]
ethernet: If caller thread cpu is fixed, pass cpuid to ether_input_pkt()

So we could use optimized lwkt_sendmsg_oncpu() instead of lwkt_sendmsg(),
if the target netisr is on the same cpu as caller thread cpu.  Mainly to
avoid unnecessary wakeup() IPIs to other cpus.

THE RESULT:

On i7-3770 w/ HT enabled (8 logical cpus); NIC is 82599ES w/ 8 RX rings
and 8 TX rings.  Run:
    repeat 10 tcp_stream -H ... -i 256 -l 10 -r
(256 netperf TCP_MAERTS instances for 10 seconds, 10 rounds)

Total amount of cross IPIs before this commit is 6946097.  Total amount
of cross IPIs as of this commit is 5445324.  ~22% unnecessary wakeup()
IPIs are avoided!

10 years agokernel: Fixup KERN_PROC_PATHNAME sysctl
Markus Pfeiffer [Sun, 9 Mar 2014 01:15:10 +0000 (01:15 +0000)]
kernel: Fixup KERN_PROC_PATHNAME sysctl

The code for the sysctl uses pfind, which PHOLDs the process
if a pid is passed to the sysctl, so we PRELE the process
if necessary.

10 years agohammer2 - Fix stack blowout in lookup iteration
Matthew Dillon [Sat, 8 Mar 2014 05:49:30 +0000 (21:49 -0800)]
hammer2 - Fix stack blowout in lookup iteration

* hammer2_chain_lookup()->hammer2_chain_next()->hammer2_chain_lookup()
  stacking could blow out the kernel stack.

* Inline the iteration within hammer2_chain_lookup() when the lookup runs
  out of blockrefs without finding anything at the current level, instead
  of having it call hammer2_chain_next().

10 years agohammer2 - stabilization
Matthew Dillon [Sat, 8 Mar 2014 05:15:43 +0000 (21:15 -0800)]
hammer2 - stabilization

* Remove write transaction from hammer2_vop_reclaim().  This was being
  used to do the final deletion of chains for unlinked-but-open files.
  Instead, the related inode is placed on a pmp->unlinkq and finalization
  is handled by the sync and rmdir code.

* Fixes problems with flush synchronization due to the fact that a reclaim
  can occur at any time.

10 years agoSun switched these files to a 3-clause BSD license in 2009.
Justin C. Sherrill [Sat, 8 Mar 2014 04:42:53 +0000 (23:42 -0500)]
Sun switched these files to a 3-clause BSD license in 2009.

Change-noted-in: http://svnweb.freebsd.org/base?view=revision&revision=258564

10 years agotools - Implement a simple hammer-backup script.
Antonio Huete Jimenez [Fri, 7 Mar 2014 23:37:48 +0000 (00:37 +0100)]
tools - Implement a simple hammer-backup script.

This script operates HAMMER PFSes and dumps its contents for backup
purposes.

It uses mirror-read directive (see 'man 8 hammer') to perform a
dump to stdout that is redirected to a file with or without
compression.

Read /usr/src/tools/tools/hammer-backup/README for more detailed
information.

Also please note the script is not installed with a default DragonFly
BSD installation, so you have to take care of that manually.

Any suggestion or bug report is appreciated!

10 years agohammer2 - Stabilization pass
Matthew Dillon [Fri, 7 Mar 2014 21:54:00 +0000 (13:54 -0800)]
hammer2 - Stabilization pass

* Fix case in hammer2_chain_delete_duplicate(), allow delete-duplication
  of a deleted terminal chain outside of a flush.

* Fix assertions in the flush code.  Deleted parent's block tables are not
  updated.  If all parents are deleted we allow the CHAIN_DELETED flag to
  be cleared in children even though the children might still be on the
  DBTREE or be flagged BMAPPED.

* Fix bug in hammer2_bioq_sync() where new logical buffers instantiated while
  flushing existing buffers are not waited for before exiting the PREFLUSH
  state.  This might not actually be a bug but cover the case for now.

10 years agoRevert "Add an /etc/periodic script to check for dports package vulnerabilities."
Sascha Wildner [Thu, 6 Mar 2014 22:08:27 +0000 (23:08 +0100)]
Revert "Add an /etc/periodic script to check for dports package vulnerabilities."

This reverts commit dced1188f0aae7a3a714a58540f8f6bf4043f35c.

Aw, actually there are scripts in /usr/local/etc/periodic doing just that.

10 years agoAdd an /etc/periodic script to check for dports package vulnerabilities.
Sascha Wildner [Thu, 6 Mar 2014 21:56:45 +0000 (22:56 +0100)]
Add an /etc/periodic script to check for dports package vulnerabilities.

It's basically just 'pkg audit' at them moment, the output of which is
then included in the nightly security mails.

To disable this check for some reason, daily_status_dports_audit_enable
can be set to 'no' in /etc/periodic.conf.

Reported-by: joris
10 years agoAdd a urtwnfw(4) manual page (from FreeBSD).
Sascha Wildner [Thu, 6 Mar 2014 17:09:42 +0000 (18:09 +0100)]
Add a urtwnfw(4) manual page (from FreeBSD).

10 years agohier.7: Add /compat/ndis, binutils adjustments, remove /etc/firmare.
Sascha Wildner [Thu, 6 Mar 2014 16:45:38 +0000 (17:45 +0100)]
hier.7: Add /compat/ndis, binutils adjustments, remove /etc/firmare.

10 years agohammer2 - Reduce flush complexity, fix panics
Matthew Dillon [Thu, 6 Mar 2014 02:37:57 +0000 (18:37 -0800)]
hammer2 - Reduce flush complexity, fix panics

* Set synchronous flush mode by default for now to reduce sources of
  potential crashes so the core can be stabilized.

  This means that the only transactions that will run with a higher
  transaction id during a flush are allocations from the freemap made
  by the flush itself.  This is far easier to debug.

  Concurrent frontend transactions are disabled during a flush, for now.

* The buffer flush which is run synchronously from the main flush now always
  uses an async + sync vfsync sequence and does not allow any buffers to
  be left over before entering the main flush.

* The buffer flush now also uses the same transaction id as the main flush.
  A new flag, HAMMER2_TRANS_PREFLUSH is used to manage this mechanic and
  to assert on any illegal buffer flushes.

* Fix miscellanious assertions that were incorrect, and split the pass4
  codepath in the flush into pass4 and pass5 to fix another bug.

* Fix an improper semicolon (from swildner)

* Remove more dead code.

* The hammer2_vop_reclaim() code was the only code path that would acquire
  a hammer2_inode lock prior to starting a transaction for a modifying
  operation (for the delete unlinked file on last reference).  Fix this
  code to open the transaction first and obtain the inode lock second,
  which fixes a deadlock.

* Fix an infinite while() loop due to improper arguments in a TAILQ_NEXT()
  call.

10 years agokernel: Adjust type of vmm_guest to enum vmm_guest_type.
Sascha Wildner [Wed, 5 Mar 2014 19:38:08 +0000 (20:38 +0100)]
kernel: Adjust type of vmm_guest to enum vmm_guest_type.

Also rename VMM_LAST -> VMM_GUEST_LAST.

10 years agoinstaller: Adjust so we can install a vkernel environment using our ISOs.
Sascha Wildner [Wed, 5 Mar 2014 08:41:11 +0000 (09:41 +0100)]
installer: Adjust so we can install a vkernel environment using our ISOs.

Tested-by: tuxillo
10 years agosbin/hammer - Remove trailing '/' from paths.
Antonio Huete Jimenez [Tue, 4 Mar 2014 23:24:38 +0000 (00:24 +0100)]
sbin/hammer - Remove trailing '/' from paths.

  When operating PFSes through symbolic links, it was not
  possible to specify the trailing backslash since that
  translated to the PFS root dir instead of the symbolic link
  to the PFS itself. This caused problems when upgrading or
  downgrading PFSes (and probably in other cases too).
  The error was "Directory not empty".

  This commit should solve those cases, but keep in mind
  there are other cases where it is actually not possible
  to complete certain operations (like while destroying
  PFSes).

Reported-by: Siju George, others
10 years agosbin/hammer - Fix a wrong error message.
Antonio Huete Jimenez [Tue, 4 Mar 2014 21:53:10 +0000 (22:53 +0100)]
sbin/hammer - Fix a wrong error message.

10 years agokernel/vfs - Fix a refcount check in vclean_unlocked()
Antonio Huete Jimenez [Tue, 4 Mar 2014 21:32:08 +0000 (22:32 +0100)]
kernel/vfs - Fix a refcount check in vclean_unlocked()

- vx_get() actually adds a ref so you actually need to count
  with that.

10 years agokernel: Add more detailed VM detection.
Sascha Wildner [Tue, 4 Mar 2014 18:07:21 +0000 (19:07 +0100)]
kernel: Add more detailed VM detection.

Previously, the kernel global 'vmm_guest' was either 0 or 1 depending
on the VMM bit in the CPU features (which isn't set in all VMs).

This commit adds more detailed information by checking the emulated
BIOS for known strings. The detected VMs include vkernel, which
doesn't strictly fit into the category, but it shares enough
similarities for this to be useful.

Also expose this information in a read-only sysctl (kern.vmm_guest).

The detection code was kind of adapted from FreeBSD (although their
kern.vm_guest works differently).

Tested-by: tuxillo
10 years agorc.d/root - Remove unnecessary 'mount /' call.
Antonio Huete Jimenez [Mon, 3 Mar 2014 23:43:02 +0000 (00:43 +0100)]
rc.d/root - Remove unnecessary 'mount /' call.

UFS and HAMMER do not emit an error when trying to mount
an already mounted root fileystem but cd9660 does.
That's why this wasn't producing any error message on
already installed systems.

While booting the LiveCD you could see:

cd9660: /dev/vcd0: Invalid argument

Reported-by: corecode
DragonFly-bug: <http://bugs.dragonflybsd.org/issues/1518>

This commit closes #1518

10 years agortld(1): Fix a typo in inactive code.
Sascha Wildner [Mon, 3 Mar 2014 18:06:50 +0000 (19:06 +0100)]
rtld(1): Fix a typo in inactive code.

Confirmed-by: kib@freebsd via marino
10 years agoSome fixes to allow building with gcc44.
Sascha Wildner [Sun, 2 Mar 2014 19:16:26 +0000 (20:16 +0100)]
Some fixes to allow building with gcc44.

Most of them for type redefinitions which gcc47 has stopped warning about
(if they are compatible).

The libstdc++ fix is modeled after gcc47's libstdc++. We don't have
__libc_C_ctype_[] anymore.

10 years agodrm/ttm: Use the Linux wait queues API
François Tigeot [Sun, 2 Mar 2014 09:03:40 +0000 (10:03 +0100)]
drm/ttm: Use the Linux wait queues API

Reducing differences with Linux 3.9 (ttm) and Linux 3.8 (rest of the code)

10 years agodrm: Add a local implementation of linux/wait.h
François Tigeot [Sun, 2 Mar 2014 08:33:25 +0000 (09:33 +0100)]
drm: Add a local implementation of linux/wait.h

Inspired-by: OpenBSD
10 years agokern: fix integer underflow in exec_shell_imgact.
minux [Sat, 1 Mar 2014 08:41:25 +0000 (00:41 -0800)]
kern: fix integer underflow in exec_shell_imgact.

was returning E2BIG whenever argv[0] is longer interp+path.
see also FreeBSD PR 155321.

10 years agovkernel - Use 'vcd0' by default.
Antonio Huete Jimenez [Sat, 1 Mar 2014 11:54:54 +0000 (03:54 -0800)]
vkernel - Use 'vcd0' by default.

- This allow booting our ISO images directly.

10 years agovirtual/vcd - Adapt for DEVFS.
Antonio Huete Jimenez [Sat, 1 Mar 2014 11:46:16 +0000 (03:46 -0800)]
virtual/vcd - Adapt for DEVFS.

- disk_setdiskinfo() call to completely configure the device.
- This allows vcd(4) to work properly on vkernels.

10 years agokernel/ixgbe: Fix building kernels with IX_RSS_DEBUG in the config.
Sascha Wildner [Sat, 1 Mar 2014 11:10:33 +0000 (12:10 +0100)]
kernel/ixgbe: Fix building kernels with IX_RSS_DEBUG in the config.

10 years agotest again
Antonio Huete Jimenez [Sat, 1 Mar 2014 00:03:12 +0000 (01:03 +0100)]
test again

10 years agotest
Sascha Wildner [Fri, 28 Feb 2014 23:45:28 +0000 (00:45 +0100)]
test

10 years agotest - Testing 1 2 3
Antonio Huete Jimenez [Fri, 28 Feb 2014 23:25:10 +0000 (00:25 +0100)]
test - Testing 1 2 3

10 years agokernel/natapci - Fix a NULL pointer dereference.
Antonio Huete Jimenez [Fri, 28 Feb 2014 13:16:02 +0000 (14:16 +0100)]
kernel/natapci - Fix a NULL pointer dereference.

- ata_devclass is NULL when no unit 0/1 is available or no
  legacy support has been detected.
- device_add_child() populates ata_devclass via make_device()
  so do not try to get information out of it when NULL.

Submitted-by: @dillon
10 years agokernel/nata - Fix a memory leak in ata-dma.
Antonio Huete Jimenez [Fri, 28 Feb 2014 13:04:50 +0000 (14:04 +0100)]
kernel/nata - Fix a memory leak in ata-dma.

10 years agox86_64/mwait: Fix sysctl node OID settings
Sepherosa Ziehau [Fri, 28 Feb 2014 11:40:11 +0000 (19:40 +0800)]
x86_64/mwait: Fix sysctl node OID settings

10 years agoix: Implement MSI-X support and enable multiple TX rings
Sepherosa Ziehau [Wed, 19 Feb 2014 12:01:35 +0000 (20:01 +0800)]
ix: Implement MSI-X support and enable multiple TX rings

Two modes are supported, if there are enough MSI-X vector:
- TX ring and RX ring processing uses independent MSI-X vector.  It
  could be useful for some most TX applocation.  It could be enabled
  by setting hw.ix.msix.agg_rxtx or hw.ixY.msix.agg_rxtx to 0.
- TX ring and RX ring processing uses same MSI-X vector.  This is the
  default.  TX ring is processed when the header write back pointer
  is moved; this avoids unecessary TX ring serialization if there is
  no TX descriptor to recollect at all.

For 82598, MSI-X is not enabled by default, due to hardware errata.  It
could be enabled by setting per-device tunable hw.ixY.msix.enable.

Multiple TX rings are enable as of this commit.  Under MSI-X mode, 32 TX
rings could be used for 82599 and X540; 16 TX rings could be used for
82598.  Once polling(4) is implemented, more TX rings could be used.

Multiple RX rings have already been enabled, however, under MSI-X mode,
16 RX rings could be used for all devices supported by this driver.

Unlike the original Intel's ixgbe, number of RX rings and number of TX
rings could be configured independently.

Remove the original Intel's ixgbe MSI-X related code, which is not used
at all.

10 years agortadvt(8): Bump WARNS to 2.
Sascha Wildner [Fri, 28 Feb 2014 08:39:35 +0000 (09:39 +0100)]
rtadvt(8): Bump WARNS to 2.

10 years agolibsmb: Bump WARNS to 2 and fix a warning.
Sascha Wildner [Fri, 28 Feb 2014 08:35:56 +0000 (09:35 +0100)]
libsmb: Bump WARNS to 2 and fix a warning.

10 years agokernel/ntfs - Remove a forgotten #if defined
Antonio Huete Jimenez [Thu, 27 Feb 2014 20:45:56 +0000 (21:45 +0100)]
kernel/ntfs - Remove a forgotten #if defined

10 years agokernel/ntfs - Fix buffer overlapping problems.
Antonio Huete Jimenez [Thu, 27 Feb 2014 20:26:49 +0000 (21:26 +0100)]
kernel/ntfs - Fix buffer overlapping problems.

- Read only one cluster at a time.
- Do not cache boot block.

Taken-from:    FreeBSD's r118035
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2388>

(Commit refs #2388 and fixes #1853)

10 years agokernel/ntfs - Fix a possible problem in bufcache.
Antonio Huete Jimenez [Thu, 27 Feb 2014 00:08:26 +0000 (01:08 +0100)]
kernel/ntfs - Fix a possible problem in bufcache.

- Avoid different block size bread() calls for the
  same blkno.
- Fix a bug in the code handling holes which could
  cause infinite loops.

Taken-from:    FreeBSD's r116620

10 years agokernel: Remove {msg,sem,shm}sys() syscalls.
Sascha Wildner [Thu, 27 Feb 2014 07:02:40 +0000 (08:02 +0100)]
kernel: Remove {msg,sem,shm}sys() syscalls.

They have become obsolete with the recent sysvipc userland work
and are not implemented in userspace either.

Thanks to marino for helping to verify that no packages were
affected by this commit.

Pointed-out-by: Mihai Carabas
10 years agokernel - Try to catch possible bug in getnewbuf()
Matthew Dillon [Thu, 27 Feb 2014 01:16:19 +0000 (17:16 -0800)]
kernel - Try to catch possible bug in getnewbuf()

* Add a debugging kprintf() and cleanup code to attempt to catch a possible
  bug in getnewbuf() where a buffer is somehow left on a vnode's clean or
  dirty list before being reused.

10 years agokernel - Fix SMP race in VMM/VMX vmclear() call
Matthew Dillon [Thu, 27 Feb 2014 01:14:39 +0000 (17:14 -0800)]
kernel - Fix SMP race in VMM/VMX vmclear() call

* Fix an SMP race.  The pcpu vti field is used to trigger cpusync's from
  other cpus and cannot be cleared by the owning cpu until after it has
  vmclear'd and stopped using the structure.

Reported-by: tuxillo