dragonfly.git
8 years agoMerge branch 'vendor/OPENSSL'
Sascha Wildner [Sat, 13 Jun 2015 16:29:49 +0000 (18:29 +0200)]
Merge branch 'vendor/OPENSSL'

8 years agoImport OpenSSL 1.0.1o.
Sascha Wildner [Sat, 13 Jun 2015 16:29:32 +0000 (18:29 +0200)]
Import OpenSSL 1.0.1o.

Fixes an HMAC ABI incompatibility which was introduced in 1.0.1n.

8 years agoRestore ability for master to build release 4.2
John Marino [Sat, 13 Jun 2015 08:48:40 +0000 (10:48 +0200)]
Restore ability for master to build release 4.2

It turns out that setting values on /etc/defaults/make.conf is a bad
idea.  In this case, the two SENDMAIL values that were set prevent
a master branch from building previous releases.

The fix is to comment out those two definitions and move the default
values to the makefile that uses them, using the "?=" operator.

8 years agousb4bsd: Remove FreeBSD's config file. We use usb_dragonfly.h.
Sascha Wildner [Fri, 12 Jun 2015 21:18:15 +0000 (23:18 +0200)]
usb4bsd: Remove FreeBSD's config file. We use usb_dragonfly.h.

8 years agolibusb: Use the right include file.
Sascha Wildner [Fri, 12 Jun 2015 21:16:15 +0000 (23:16 +0200)]
libusb: Use the right include file.

8 years agodrm/radeon: Use fb->pitches[0] for the correctly aligned stride
Imre Vadász [Fri, 12 Jun 2015 18:01:06 +0000 (20:01 +0200)]
drm/radeon: Use fb->pitches[0] for the correctly aligned stride

8 years agosbin/newfs_hammer: Fix "less than 10GB" error message on newfs
Tomohiro Kusumi [Thu, 11 Jun 2015 16:20:37 +0000 (01:20 +0900)]
sbin/newfs_hammer: Fix "less than 10GB" error message on newfs

- Add "(for the size of Volume 0)". Trying to make >10GB hammer
  with multiple less-than-10GB-disks results the same error.

- This message appears whenever the root volume (the volume #0
  where layer1/2 are stored by newfs) has less than 10GB space
  in zone2/volume0 address space. It doesn't matter if the total
  size of physical disks are large enough or not.

  # /sbin/newfs_hammer -L TEST /dev/da8 /dev/da9 /dev/da10 /dev/da11
  Volume 0 DEVICE /dev/da8        size   7.22GB
  Volume 1 DEVICE /dev/da9        size  28.88GB
  Volume 2 DEVICE /dev/da10       size   7.20GB
  Volume 3 DEVICE /dev/da11       size   1.86GB
  initialize freemap volume 0
  newfs_hammer: Cannot create a HAMMER filesystem less than 10GB unless you use -f
  (for the size of Volume 0).  HAMMER filesystems less than 50GB are not recommended.

- It's probably better if newfs_hammer could fail with this
  error message without writing (write(2)) to ondisk layer1/2
  structure. The layer1/2 have already been written to the root
  volume by the time the process is aborted. Also note that this
  is the only newfs_hammer sanity check failure that affect ondisk.
  All the other checks abort before ondisk formatting starts.

8 years agoStop removing i915drm.4.gz via 'make upgrade'.
Sascha Wildner [Thu, 11 Jun 2015 19:50:51 +0000 (21:50 +0200)]
Stop removing i915drm.4.gz via 'make upgrade'.

8 years agoopenssl: Adjust manual pages for 1.0.1n.
Sascha Wildner [Thu, 11 Jun 2015 19:06:39 +0000 (21:06 +0200)]
openssl: Adjust manual pages for 1.0.1n.

8 years agoMerge branch 'vendor/OPENSSL'
Sascha Wildner [Thu, 11 Jun 2015 19:04:28 +0000 (21:04 +0200)]
Merge branch 'vendor/OPENSSL'

8 years agoImport OpenSSL 1.0.1n.
Sascha Wildner [Thu, 11 Jun 2015 19:03:27 +0000 (21:03 +0200)]
Import OpenSSL 1.0.1n.

Fixes CVE-2015-1788, CVE-2015-1789, CVE-2015-1790, CVE-2015-1791,
and CVE-2015-1792.

Rejects DH handshakes with parameters shorter than 768 bits.

8 years agokernel/syscons: Allow to turn off scaling by setting kern.kms_columns <0.
Sascha Wildner [Thu, 11 Jun 2015 18:23:53 +0000 (20:23 +0200)]
kernel/syscons: Allow to turn off scaling by setting kern.kms_columns <0.

Submitted-by: Rimvydas Jasinskas <rimvydas.jasinskas@gmail.com>
8 years agokernel/syscons: Temporarily disable a6aa39351756c.
Sascha Wildner [Thu, 11 Jun 2015 17:30:41 +0000 (19:30 +0200)]
kernel/syscons: Temporarily disable a6aa39351756c.

It was causing issues and panics on at least one box, and needs further
investigation.

Reported-by: Rimvydas Jasinskas <rimvydas.jasinskas@gmail.com>
8 years agokernel - Reduce interrupt latency during large framebuffer updates
Matthew Dillon [Thu, 11 Jun 2015 05:30:02 +0000 (22:30 -0700)]
kernel - Reduce interrupt latency during large framebuffer updates

* When syscons scrolls the entire framebuffer is updated.  On large
  (e.g. 4K) displays this can take excessively long and delay interrupts
  on the cpu for too long.

* Causes the hard sound interrupt to have high latencies and not operate
  properly.

* Solved by releasing the syscons_lock() temporarily and issuing a splz()
  during long copy operations.

Reported-by: swildner, others
8 years agoVersion number changes for 4.3-DEVELOPMENT. v4.3.0
Justin C. Sherrill [Thu, 11 Jun 2015 01:05:14 +0000 (21:05 -0400)]
Version number changes for 4.3-DEVELOPMENT.

8 years agopowerd: Fix usage for cpu usage polling interval
Sepherosa Ziehau [Wed, 10 Jun 2015 14:03:05 +0000 (22:03 +0800)]
powerd: Fix usage for cpu usage polling interval

8 years agopowerd: Fix cputime calculation for non-1.0 polling interval
Sepherosa Ziehau [Wed, 10 Jun 2015 14:01:39 +0000 (22:01 +0800)]
powerd: Fix cputime calculation for non-1.0 polling interval

8 years agodrm - Attempt to fix radeon stride
Matthew Dillon [Thu, 11 Jun 2015 00:43:25 +0000 (17:43 -0700)]
drm - Attempt to fix radeon stride

* This is a bad hack which assumes that the stride must be 256-byte aligned
  for radeon GPUs.  This is apparently the case for odd monitor resolutions
  such as 1680x1050.  Most primary resolutions such as 1920x1080 are already
  naturally 256-byte aligned.

* Fixes the system console when used with odd resolutions.

8 years agokernel/syscons: Fix a comment.
Sascha Wildner [Wed, 10 Jun 2015 21:20:44 +0000 (23:20 +0200)]
kernel/syscons: Fix a comment.

Noticed-by: ivadasz
8 years agokernel/syscons: Add simple font scaling when using KMS drivers.
Sascha Wildner [Wed, 10 Jun 2015 21:04:40 +0000 (23:04 +0200)]
kernel/syscons: Add simple font scaling when using KMS drivers.

This commit lets the user choose the number of columns for KMS syscons
with a new tunable, kern.kms_columns. If it is not set, the default is
to scale as close as possible to 80x25 using natural numbers as scaling
factors (e.g., on 1680x1050 the default would be a 105x32 char console
using a 16x32 font).

The commit also separates (scaled) character drawing into a new
function, blit_blk(), and does some cleanups.

Submitted-by: dillon
8 years agopowerd: Add emergency poweroff support if laptop battery life is low.
Sepherosa Ziehau [Tue, 9 Jun 2015 15:46:17 +0000 (23:46 +0800)]
powerd: Add emergency poweroff support if laptop battery life is low.

And by default linger 60 seconds if battery life is low and powerd just
started; mainly to avoid poweroff immediately after a low battery life
laptop just booted.

8 years agodrm.4: Update the drm.4 manpage and start i915kms.4 and radeonkms.4
Imre Vadász [Tue, 9 Jun 2015 19:42:20 +0000 (21:42 +0200)]
drm.4: Update the drm.4 manpage and start i915kms.4 and radeonkms.4

8 years agodrm/radeon: Add backlight sysctls for cards with atombios.
Imre Vadász [Tue, 9 Jun 2015 19:53:02 +0000 (21:53 +0200)]
drm/radeon: Add backlight sysctls for cards with atombios.

* Add sysctl hw.backlight_level and hw.backlight_max for radeon cards
  that use atombios.

8 years agodrm - Fix valid NULL address returned from i915 mmap ioctl
Matthew Dillon [Tue, 9 Jun 2015 18:35:19 +0000 (11:35 -0700)]
drm - Fix valid NULL address returned from i915 mmap ioctl

* Do not allow the ioctl to mmap at address 0.  This fixes assertions
  in mpv and probably de-confuses other programs too.

* Calling vm_map_hint() is sufficient to ensure that a reasonable start
  address is used.

Reported-by: zrj, joris.
8 years agokernel - Increase DMA reserve from 16M to 128M by default
Matthew Dillon [Tue, 9 Jun 2015 15:36:15 +0000 (08:36 -0700)]
kernel - Increase DMA reserve from 16M to 128M by default

* People running DragonFly on workstations were having to specify
  more than the default 16M for vm.dma_reserved in /boot/loader.conf
  or their X sessions would not be stable.

* To reduce confusion, the dma_reserved default is being increased
  to 128M which should be sufficient for most display setups.

  People with headless servers will have to explicitly reduce the
  reservation in /boot/loader.conf (back to 16m is my suggestions) if
  they wish to recover the memory.

* This is the best compromise I could think of.  We can't just return
  the memory to the pool after boot because X might be started far later
  on, or even potentially killed and restarted.  Other drivers might also
  depend on large swaths of contiguous physical memory being available.

  The reserve is the best way to do it and I would rather things work out
  of the box rather than forcing regular users to set something in
  /boot/loader.conf.

8 years agox86_64/madt: Enhance bootverbose logging
Sepherosa Ziehau [Mon, 8 Jun 2015 13:48:52 +0000 (21:48 +0800)]
x86_64/madt: Enhance bootverbose logging

8 years agox86_64: Fix gd_acpi_id setting
Sepherosa Ziehau [Mon, 8 Jun 2015 13:32:03 +0000 (21:32 +0800)]
x86_64: Fix gd_acpi_id setting

8 years agoRemove ext2mount.h via 'make upgrade'.
Sascha Wildner [Tue, 9 Jun 2015 04:17:24 +0000 (06:17 +0200)]
Remove ext2mount.h via 'make upgrade'.

8 years agobuild - Parallelize kernel module build
Matthew Dillon [Tue, 9 Jun 2015 00:19:18 +0000 (17:19 -0700)]
build - Parallelize kernel module build

* Parallelize the module build portion of a full buildkernel.

* Decreases full kernel build times significantly.  The build
  is up to 3 times faster now.

* On monster full kernel build time goes from 10:48 to 3:04.

8 years agoetc/remote: add ucom1 to ucom4
Markus Pfeiffer [Mon, 8 Jun 2015 19:42:51 +0000 (19:42 +0000)]
etc/remote: add ucom1 to ucom4

8 years agousb4bsd: Make the serial driver create all devices
Markus Pfeiffer [Mon, 8 Jun 2015 19:22:32 +0000 (19:22 +0000)]
usb4bsd: Make the serial driver create all devices

* This patch adds creation of ttyUx, ttyiUx, ttylUx, cuaUx, cuaiUx,
  and cualUx, where x is the unit number for usb serial devices.
* The actual functionality for .init and .lock is not completelyl
  implemented yet

8 years agokernel/radeon: Regen register check tables (only removes FreeBSD SVN ID).
Sascha Wildner [Mon, 8 Jun 2015 17:13:37 +0000 (19:13 +0200)]
kernel/radeon: Regen register check tables (only removes FreeBSD SVN ID).

8 years agoAdd some tools to update various DRM related files, firmwares, etc.
Sascha Wildner [Mon, 8 Jun 2015 17:10:39 +0000 (19:10 +0200)]
Add some tools to update various DRM related files, firmwares, etc.

Taken-from: FreeBSD

8 years agokernel/drm: Sync radeonkms' PCI ID list with Linux 3.11's.
Sascha Wildner [Mon, 8 Jun 2015 16:42:23 +0000 (18:42 +0200)]
kernel/drm: Sync radeonkms' PCI ID list with Linux 3.11's.

8 years agokernel/radeonfw: Update two firmwares.
Sascha Wildner [Mon, 8 Jun 2015 15:35:24 +0000 (17:35 +0200)]
kernel/radeonfw: Update two firmwares.

8 years agotail - Add -q option
Matthew Dillon [Sun, 7 Jun 2015 18:41:51 +0000 (11:41 -0700)]
tail - Add -q option

* Bring in the -q option from FreeBSD.  This option masks the printing
  of filename headers when tailing multiple files.

Taken-from: FreeBSD

8 years agosys/gnu/vfs/ext2fs: Fix indentation
Tomohiro Kusumi [Sun, 7 Jun 2015 14:21:11 +0000 (23:21 +0900)]
sys/gnu/vfs/ext2fs: Fix indentation

- (Note that dfly's ext2 seems to be broken currently)

8 years agosys/gnu/vfs/ext2fs: Fix comments
Tomohiro Kusumi [Sun, 7 Jun 2015 13:23:56 +0000 (22:23 +0900)]
sys/gnu/vfs/ext2fs: Fix comments

- Have a full Linux kernel path.

- (Note that dfly's ext2 seems to be broken currently)

8 years agosys/gnu/vfs/ext2fs: Rename struct ext2mount -> struct ext2_mount
Tomohiro Kusumi [Sun, 7 Jun 2015 12:30:48 +0000 (21:30 +0900)]
sys/gnu/vfs/ext2fs: Rename struct ext2mount -> struct ext2_mount

- Not sure why but this is the only struct without _ after ext2.

- This struct is _KERNEL struct.

- (Note that dfly's ext2 seems to be broken currently)

8 years agosys/gnu/vfs/ext2fs: Rename ext2mount.h -> ext2_mount.h
Tomohiro Kusumi [Sun, 7 Jun 2015 12:22:27 +0000 (21:22 +0900)]
sys/gnu/vfs/ext2fs: Rename ext2mount.h -> ext2_mount.h

- Not sure why but this is the only file without _ after ext2.

- Renaming should not affect external userspace programs since
  userspace should never need this header (only kernel stuff).

- (Note that dfly's ext2 seems to be broken currently)

8 years agolibc - Attribute setcontext() and getcontext()
Matthew Dillon [Sun, 7 Jun 2015 04:06:55 +0000 (21:06 -0700)]
libc - Attribute setcontext() and getcontext()

* Give getcontext() the __returns_twice attribute and
  give setcontext() the __dead2 attribute.

Suggested-by: swildner
8 years agocolldef/mklocale: Remove some workarounds from "locale megapatch" times.
Sascha Wildner [Sun, 7 Jun 2015 03:26:54 +0000 (05:26 +0200)]
colldef/mklocale: Remove some workarounds from "locale megapatch" times.

This basically made it impossible to extend <sys/cdefs.h> without having
to add more gunk to the Makefiles.

8 years agostdc - add __returns_twice
Matthew Dillon [Sun, 7 Jun 2015 02:54:42 +0000 (19:54 -0700)]
stdc - add __returns_twice

* Add __returns_twice attribute support.

* Use for longjmp() and vfork() plus any variants.

Taken-From: FreeBSD

8 years agosh - Sync to FreeBSD d038ee76 part 2/2 (f)
Matthew Dillon [Sun, 7 Jun 2015 02:53:48 +0000 (19:53 -0700)]
sh - Sync to FreeBSD d038ee76 part 2/2 (f)

* Fix bin/kill (shares code with /bin/sh).  Procedure renamed.

8 years agosh - Sync to FreeBSD d038ee76 part 2/2 (e)
Matthew Dillon [Sun, 7 Jun 2015 02:47:35 +0000 (19:47 -0700)]
sh - Sync to FreeBSD d038ee76 part 2/2 (e)

* Reapply d9b533666 - mdoc nits.

* Makefile adjustments for clean stderr

* Fix minor coding error in recent commit..

8 years agosh - Sync to FreeBSD d038ee76 part 2/2 (d)
Matthew Dillon [Sun, 7 Jun 2015 02:44:29 +0000 (19:44 -0700)]
sh - Sync to FreeBSD d038ee76 part 2/2 (d)

Reapply 330497ceac - fix O_CLOEXEC race in open() and fhopen()

* Fix an O_CLOEXEC race where a fork/exec can race an open(...O_CLOEXEC)
  and improperly inherit the descriptor.

8 years agosh - Sync to FreeBSD d038ee76 part 2/2 (c)
Matthew Dillon [Sun, 7 Jun 2015 02:25:53 +0000 (19:25 -0700)]
sh - Sync to FreeBSD d038ee76 part 2/2 (c)

* Renumber copyright lines after the advertising clause was taken out.

8 years agosh - Sync to FreeBSD d038ee76 part 2/2 (b)
Matthew Dillon [Sun, 7 Jun 2015 02:22:15 +0000 (19:22 -0700)]
sh - Sync to FreeBSD d038ee76 part 2/2 (b)

* Undo a portion of the error.h move to reduce edits to bin/kill/halt.c etc.

8 years agosh - Sync to FreeBSD d038ee76 part 2/2 (a)
Matthew Dillon [Sun, 7 Jun 2015 01:44:14 +0000 (18:44 -0700)]
sh - Sync to FreeBSD d038ee76 part 2/2 (a)

* Undo el_fn_sh_complete rename.

8 years agosh - Sync to FreeBSD d038ee76 part 1/2
Matthew Dillon [Sun, 7 Jun 2015 01:41:36 +0000 (18:41 -0700)]
sh - Sync to FreeBSD d038ee76 part 1/2

* Sync to FreeBSD d038ee76 25 Apr 2015.

8 years ago<sys/sysctl.h>: Include <sys/lock.h> only for the kernel (unbreaks world).
Sascha Wildner [Sun, 7 Jun 2015 02:16:12 +0000 (04:16 +0200)]
<sys/sysctl.h>: Include <sys/lock.h> only for the kernel (unbreaks world).

The problem was that when userland included <sys/sysctl.h> without
_KERNEL_STRUCTURES defined, it could later on no longer include
<sys/lock.h> _with_ _KERNEL_STRUCTURES defined (via <sys/kinfo.h>,
for example).

8 years agokernel/hpt27xx: Stop using __DATE__ and __TIME__.
Sascha Wildner [Sun, 7 Jun 2015 00:30:22 +0000 (02:30 +0200)]
kernel/hpt27xx: Stop using __DATE__ and __TIME__.

Better for binary diffs.

Taken-from: FreeBSD

8 years agosysctl - SMP performance work
Matthew Dillon [Sat, 6 Jun 2015 23:17:41 +0000 (16:17 -0700)]
sysctl - SMP performance work

Performance work on the sysctl API.  Most accesses (including nearly all
accesses made by libc) now use a shared lock, increasing concurrency in the
exec path.

* Acquire the sysctl global lock shared instead of exclusive for all normal
  accesses.  Use an exclusive lock for node and leaf creation or deletion.
  Ultimately we will move to a fine-grained model and remove the global lock.

* Give each oid its own lockmgr lock.  Automatically acquire this lock
  shared for read access and exclusive for write access.  This retains
  just enough serialization of modifying (individual) sysctls to make
  sense to programmers.

* Supply flag overrides to force shared or exclusive use.  Force a shared
  oid lock for name2oid(), allowing the sysctlbyname() path to nominally
  use a shared lock.

8 years agolibarchive - Ensure futimens() operation is consistent with utimes()
Matthew Dillon [Sat, 6 Jun 2015 18:20:21 +0000 (11:20 -0700)]
libarchive - Ensure futimens() operation is consistent with utimes()

* utimes() allows tv_sec to be -1 to indicate that the element should
  not be updated.

* Handle this case for when futimens() is used by setting tv_nsec to
  UTIME_OMIT.

* This way operation is consistent whether we use futimens() or use
  utimes().

8 years agosys/gnu/vfs/ext2fs: Remove|fix duplicated macro definitions
Tomohiro Kusumi [Sat, 6 Jun 2015 10:09:44 +0000 (19:09 +0900)]
sys/gnu/vfs/ext2fs: Remove|fix duplicated macro definitions

- Define MAXNAMLEN using EXT2_NAME_LEN since EXT2_NAME_LEN
  is the original ondisk definition.

- Bring back MAXSYMLINKLEN that was removed in a0403c0
  using EXT2_MAXSYMLINKLEN. It's probably better to keep both
  EXT2_MAXSYMLINKLEN and MAXSYMLINKLEN just like above MAXNAMLEN
  does considering it's been exposed to userspace and removing
  may break them (although there are probably none or very few).

- Remove duplicated MAXMNTLEN definition.

- (Note that dfly's ext2 seems to be broken currently)

8 years agosys/gnu/vfs/ext2fs: Add missing ifndef/define/endif
Tomohiro Kusumi [Sat, 6 Jun 2015 12:46:25 +0000 (21:46 +0900)]
sys/gnu/vfs/ext2fs: Add missing ifndef/define/endif

- ext2fs/fs.h needs ifndef/define/endif.

- The next commit ("Remove|fix duplicated macro definitions")
  results compile error without this.

- (Note that dfly's ext2 seems to be broken currently)

8 years agosys/gnu/vfs/ext2fs: Fix terminology of "cylinder group"
Tomohiro Kusumi [Sat, 6 Jun 2015 08:36:50 +0000 (17:36 +0900)]
sys/gnu/vfs/ext2fs: Fix terminology of "cylinder group"

- Change "cylinder group" to "block group".

- Both "block group" and "cylinder group" are used in dfly ext2.
  These refer to the same(similar) idea and ext2 uses "block group".
  Not having two expressions is grep-friendly.

- No binary difference as it only changes some comments.

- (Note that dfly's ext2 seems to be broken currently)

8 years agodrm/radeon: Sync gpu driver code with Linux 3.11
zrj [Wed, 3 Jun 2015 12:01:30 +0000 (15:01 +0300)]
drm/radeon: Sync gpu driver code with Linux 3.11

Little to none functional change.

Use kzalloc()/kfree()/kcalloc() wrappers.
Also use mb() and rmb().

Use linux compat macros:
  udelay, mdelay
  wake_up
  printk
  ARRAY_SIZE
  ALIGN, round_up
  BUG, BUG_ON, BUILD_BUG_ON, WARN

While there, reduce whitespace diffs with Linux 3.11

8 years agodrm/radeon: Move some prototype declarations
zrj [Wed, 3 Jun 2015 11:48:49 +0000 (14:48 +0300)]
drm/radeon: Move some prototype declarations

While there fix a typo in r600_cp.c

8 years agodrm/radeon: Use release_firmware()/request_firmware()
zrj [Wed, 3 Jun 2015 11:45:46 +0000 (14:45 +0300)]
drm/radeon: Use release_firmware()/request_firmware()

8 years agosys/gnu/vfs/ext2fs: Remove|avoid duplicated macro definitions
Tomohiro Kusumi [Sat, 6 Jun 2015 02:33:17 +0000 (11:33 +0900)]
sys/gnu/vfs/ext2fs: Remove|avoid duplicated macro definitions

- There are EXT2_ROOTINO and EXT2_ROOT_INO, but using EXT2_ROOTINO
  is probably appropriate on dfly (and it does use EXT2_ROOTINO)
  considering it's been used by userspace, and other fs have it in
  NAME_ROOTINO format.

- WINO is from UFS, but ext2 has it for bad inode for ondisk inode.

- NDADDR and NIADDR (# of slots for direct/indirect block) should be
  defined using existing ext2 ondisk definitions.
  (or maybe don't even use NDADDR and NIADDR, but these two should be
  kept as dfly ext2 code is UFS based and UFS heavily uses these two)

- Remove MAXSYMLINKLEN since there is EXT2_MAXSYMLINKLEN and only
  EXT2_MAXSYMLINKLEN is being used. It also conflicts with UFS version
  of MAXSYMLINKLEN in vfs/ufs/dinode.h.

- (Note that dfly's ext2 seems to be broken currently)

8 years agomake.conf: Remove a no longer used variable.
Sascha Wildner [Fri, 5 Jun 2015 22:49:48 +0000 (00:49 +0200)]
make.conf: Remove a no longer used variable.

8 years agokernel/syscons: Hack around some issues between console cut/paste and Xorg.
Sascha Wildner [Fri, 5 Jun 2015 21:25:51 +0000 (23:25 +0200)]
kernel/syscons: Hack around some issues between console cut/paste and Xorg.

It led to repeating characters (as if typed) when cutting/pasting
in Xorg.

Reported-by: profmakx, jh32, ryuo, and others
Submitted-by: dillon
8 years agodrm: hack together an implementation of fb_get_options
Imre Vadász [Tue, 2 Jun 2015 21:14:52 +0000 (23:14 +0200)]
drm: hack together an implementation of fb_get_options

This can be used to set the video mode used for the syscons fb console,
a la "video=..." in linux.

8 years agokernel/syscons: First hacky steps to make syscons work with {i915,radeon}kms.
Sascha Wildner [Wed, 3 Jun 2015 18:01:46 +0000 (20:01 +0200)]
kernel/syscons: First hacky steps to make syscons work with {i915,radeon}kms.

This is a joint effort of Imre Vadasz (all the drm/i915/radeon related
bits) and me (syscons rendering related bits, mainly).

To enable the support, the "kern.kms_console" tunable needs to be set
via loader.conf.

In-collaboration-with: ivadasz

8 years agoFix kernel options in files for i915/radeon (kmsdrm -> kms).
Sascha Wildner [Tue, 2 Jun 2015 17:09:15 +0000 (19:09 +0200)]
Fix kernel options in files for i915/radeon (kmsdrm -> kms).

8 years agoUpdate files for recent drm/i915/radeon changes.
Sascha Wildner [Tue, 2 Jun 2015 16:59:17 +0000 (18:59 +0200)]
Update files for recent drm/i915/radeon changes.

8 years agosensors: By default, stick sensor tasks to the first cpu package
Sepherosa Ziehau [Fri, 5 Jun 2015 13:04:54 +0000 (21:04 +0800)]
sensors: By default, stick sensor tasks to the first cpu package

8 years agoecc/e5: Register sensor tasks to the proper cpu package
Sepherosa Ziehau [Fri, 5 Jun 2015 13:04:01 +0000 (21:04 +0800)]
ecc/e5: Register sensor tasks to the proper cpu package

8 years agomemtemp/e5: Register sensor tasks to the proper cpu package
Sepherosa Ziehau [Fri, 5 Jun 2015 13:03:24 +0000 (21:03 +0800)]
memtemp/e5: Register sensor tasks to the proper cpu package

8 years agocpu_topo: Add get_cpu_node_by_chipid()
Sepherosa Ziehau [Fri, 5 Jun 2015 13:02:20 +0000 (21:02 +0800)]
cpu_topo: Add get_cpu_node_by_chipid()

This function retrieve cpu_node according to the chip ID passed.

8 years agosys/gnu/vfs/ext2fs: Cleanup __KERNEL__ related macros
Tomohiro Kusumi [Sat, 30 May 2015 10:19:35 +0000 (19:19 +0900)]
sys/gnu/vfs/ext2fs: Cleanup __KERNEL__ related macros

- Add comments on EXT2_XXX(s) macros. These macros on dfly ext2 happen
  to be tricky and confusing as their arg types are not consistent.
  These macros are taken from e2fsprogs header (rather than macros of
  the same name in Linux kernel header) and made to work as a part of
  kernel filesystem code.

- Remove unused __KERNEL__ version of EXT2_XXX(s) macros. These are not
  compiled on dfly (and most of them result compile error if enabled on
  dfly ext2) since __KERNEL__ is designed to be Linux kernel specific
  code while dfly ext2 is made to work with userspace version of macros
  taken from e2fsprogs as mentioned above. Moreover, some of these
  __KERNEL__ version of macros are already deprecated on Linux kernel
  and have been removed from the e2fsprogs header accordingly, so there
  is no reason to keep it here as well.

- Compiling e2fsprogs does not require ext2_fs.h installed under
  /usr/include/... as it has its own copy of the ext2_fs.h in its source
  code that the dfly ext2 originally referred to.

- This commit makes no binary difference. Also this commit does not
  affect external userspace programs.

- (Note that dfly's ext2 seems to be broken currently)

8 years agosys/gnu/vfs/ext2fs: Cleanups
Tomohiro Kusumi [Sat, 30 May 2015 08:18:16 +0000 (17:18 +0900)]
sys/gnu/vfs/ext2fs: Cleanups

- Align with other #define by removing a space between # and define.

- (Note that dfly's ext2 seems to be broken currently)

8 years agosys/gnu/vfs/ext2fs: Sync with Linux kernel's ext2 definitions
Tomohiro Kusumi [Sat, 30 May 2015 02:39:14 +0000 (11:39 +0900)]
sys/gnu/vfs/ext2fs: Sync with Linux kernel's ext2 definitions

- Some of these macros could be used in the existing dfly ext2 code.

- This commit makes no binary difference.

- (Note that dfly's ext2 seems to be broken currently)

8 years agokernel - Fix altq fairq panic
Matthew Dillon [Thu, 4 Jun 2015 18:04:37 +0000 (11:04 -0700)]
kernel - Fix altq fairq panic

* Fix an altq fairq panic when RED and/or RIO is enabled.  A packet drop
  can cause a sequence of events which leads to a NULL pointer dereference
  in the fairq round robin code.

Reported-by: Joris Giovannangeli
8 years agosensors: Accept -1 as sensor thread cpuid
Sepherosa Ziehau [Thu, 4 Jun 2015 12:31:02 +0000 (20:31 +0800)]
sensors: Accept -1 as sensor thread cpuid

The task will be register to the default sensor thread.

8 years agocoretemp: Utilize per-cpu sensor threads
Sepherosa Ziehau [Thu, 4 Jun 2015 11:00:53 +0000 (19:00 +0800)]
coretemp: Utilize per-cpu sensor threads

This greatly simplifies the code.

8 years agosensors: Create per-cpu sensor task threads
Sepherosa Ziehau [Thu, 4 Jun 2015 11:00:08 +0000 (19:00 +0800)]
sensors: Create per-cpu sensor task threads

So that accessing to sensor device could be properly cpu localized,
e.g. accessing coretemp(4) could be localized to a proper cpu core,
and accessing ecc(4) could be localized to a proper cpu package.

8 years agocputimer/tsc: Prevent rdtsc reordering
Sepherosa Ziehau [Mon, 1 Jun 2015 14:19:07 +0000 (22:19 +0800)]
cputimer/tsc: Prevent rdtsc reordering

Use lfence on Intel and mfence on AMD to make sure that all instructions
before rdtsc are completed.  This should prevent time warps, if TSC is
selected as cputimer.

8 years agotsc: Factor out rdtsc_ordered()
Sepherosa Ziehau [Mon, 1 Jun 2015 13:41:44 +0000 (21:41 +0800)]
tsc: Factor out rdtsc_ordered()

Use lfence on Intel and mfence on AMD to make sure that all instructions
before rdtsc are completed.

While I'm here
- Remove redundant functions declaration in lwkt_thread.c to unbreak
  compile.
- Add cpu_vendor_id for vkernel64; extra work is needed to set it to a
  proper value.

8 years agorc.conf.5: Fix description of sysvipcd_enable.
Sascha Wildner [Wed, 3 Jun 2015 07:24:48 +0000 (09:24 +0200)]
rc.conf.5: Fix description of sysvipcd_enable.

Reported-by: James Buren <ryu0@ymail.com>
8 years agodrm - Fix deadlock
Matthew Dillon [Tue, 2 Jun 2015 06:37:04 +0000 (23:37 -0700)]
drm - Fix deadlock

* mutex_trylock()'s return value was inverted, resulting in a hanging
  lock.  Adjust the macro.

* This should fix multiple reports of deadlocks in i915 (intel).

Reported-by: ftigeot
8 years agokernel - Fix VM deadlock in optimized file read path
Charlie Root [Tue, 2 Jun 2015 01:17:30 +0000 (18:17 -0700)]
kernel - Fix VM deadlock in optimized file read path

* The optimized file read path can deadlock if the uiocopy or copyout
  operation requires a non-trivial VM fault.  Most cases were handled,
  but a MAP_ENTRY_NEEDS_COPY->vm_map_entry_shadow() path was not being
  handled.

* Disallow the optimized path for the COW case.

Reported-by: Sevan Janiyan
8 years agodrm: Partially sync drm_ioctl() with Linux 3.14
François Tigeot [Sun, 31 May 2015 17:02:10 +0000 (19:02 +0200)]
drm: Partially sync drm_ioctl() with Linux 3.14

It now uses the drm_global_mutex lockmgr lock

8 years agodrm: Synchronize ioctl definitions with Linux 3.14
François Tigeot [Sun, 31 May 2015 16:28:29 +0000 (18:28 +0200)]
drm: Synchronize ioctl definitions with Linux 3.14

Many IOCTLs don't require the acquisition of a lock anymore.

8 years agoclock/tsc: Run TSC MP synchronization test on APs too.
Sepherosa Ziehau [Sat, 30 May 2015 08:47:56 +0000 (16:47 +0800)]
clock/tsc: Run TSC MP synchronization test on APs too.

TSC MP synchronization needs BIOS and hardware coordination.  It is
known that buggy BIOS could make TSC not MP synchronized if the system
has multiple CPU packages.  Testing TSC MP synchronization only on BSP
is not enough to discover certain types of TSC MP unsynchronization,
e.g. APs TSC is ahead of BSP's TSC by great amount.  Thus APs also need
to run TSC MP synchronization test to make sure that TSC is really MP
synchronized.  And we are now running at least 50000 TSC MP
synchronization tests on each CPU.

And use lfence to prevent rdtsc from reordering during TSC MP
synchronization test, since we only test TSC MP synchronization on
Intel CPUs currently (mfence will be needed for AMD CPUs).

8 years agolwkt: Initialize LWKT objcache initialization to earlier place
Sepherosa Ziehau [Sat, 30 May 2015 13:15:04 +0000 (21:15 +0800)]
lwkt: Initialize LWKT objcache initialization to earlier place

So that calling lwkt_create w/o thread template could work during
early boot.

LWKT is now initialized before SOFTCLOCK, since SOFTCLOCK creates
per-cpu callout threads, though the creation uses thread template.

8 years agodrm: Sync drm_gem_close_ioctl() with Linux 3.14
François Tigeot [Sun, 31 May 2015 16:06:33 +0000 (18:06 +0200)]
drm: Sync drm_gem_close_ioctl() with Linux 3.14

8 years agonet80211 - Fix mis-merge
Matthew Dillon [Sun, 31 May 2015 02:05:11 +0000 (19:05 -0700)]
net80211 - Fix mis-merge

* Fix a mismerge that messes up broadcast packets.

Reported-by: Romick
Verified-by: Adrian Chadd
8 years agodrm/radeon: Add temperature sensor support
Imre Vadász [Sat, 30 May 2015 20:30:07 +0000 (22:30 +0200)]
drm/radeon: Add temperature sensor support

* Implement support for reporting radeon temperature sensors via the
  sensor framework, by replacing the original sysfs glue code from Linux.

8 years agosys/gnu/vfs/ext2fs: Fix coding style
Tomohiro Kusumi [Fri, 29 May 2015 11:17:39 +0000 (20:17 +0900)]
sys/gnu/vfs/ext2fs: Fix coding style

- Fix coding style that we rarely see in dfly kernel as well as
  ansi c code in general.

- It's visually confusing as it resembles multiplication of variables.

- (Note that dfly's ext2 seems to be broken currently)

8 years agosys/gnu/vfs/ext2fs: Remove FS/I_FS macros
Tomohiro Kusumi [Fri, 29 May 2015 10:55:39 +0000 (19:55 +0900)]
sys/gnu/vfs/ext2fs: Remove FS/I_FS macros

- These file-local macros are from UFS, but not necessary.
  Directly refering to the superblock like the original ext2
  code should be clearer.

- (Note that dfly's ext2 seems to be broken currently)

8 years agosys/gnu/vfs/ext2fs: Remove unused typedef
Tomohiro Kusumi [Fri, 29 May 2015 10:31:42 +0000 (19:31 +0900)]
sys/gnu/vfs/ext2fs: Remove unused typedef

- (Note that dfly's ext2 seems to be broken currently)

8 years agosys/gnu/vfs/ext2fs: Remove bsd_malloc/free macros
Tomohiro Kusumi [Fri, 29 May 2015 10:26:01 +0000 (19:26 +0900)]
sys/gnu/vfs/ext2fs: Remove bsd_malloc/free macros

- These file-local macros are not necessary.
  These are neither from the original ext2 nor UFS code.

- (Note that dfly's ext2 seems to be broken currently)

8 years agodrm/radeon: Expose radeon driver knobs to /boot/loader.conf
zrj [Fri, 29 May 2015 06:27:29 +0000 (09:27 +0300)]
drm/radeon: Expose radeon driver knobs to /boot/loader.conf

8 years agokernel - Fix SMP race against fp seek position lock
Matthew Dillon [Fri, 29 May 2015 21:09:37 +0000 (14:09 -0700)]
kernel - Fix SMP race against fp seek position lock

* Fix a SMP race against write-appends.  Atomic ops are used on the
  struct file->f_flag field to interlock write-append operations.
  However, the fcntl() and flock() code was also modifying file->f_flag
  using non-atomic ops.

* Fix fcntl() and flock() to use atomic ops.

* Problem could lead to processes stuck forever in "fpoff".

Reported-by: Sevan Janiyan
8 years agoSync drm_context.c with Linux 3.14
François Tigeot [Fri, 29 May 2015 19:02:19 +0000 (21:02 +0200)]
Sync drm_context.c with Linux 3.14

8 years agovmpageinfo - Add PG_NEED_COMMIT flag
Matthew Dillon [Fri, 29 May 2015 16:43:03 +0000 (09:43 -0700)]
vmpageinfo - Add PG_NEED_COMMIT flag

* Add display of the PG_NEED_COMMIT flag.

8 years agokernel - Fix improper OOM process kill when no swap configured
Matthew Dillon [Fri, 29 May 2015 16:38:13 +0000 (09:38 -0700)]
kernel - Fix improper OOM process kill when no swap configured

* The avail_shortage calculation used by the pageout demon to track
  whether enough pages could be retired had a degenerate case which
  caused the demon to improperly believe that the machine was out of
  memory when it wasn't.

* Generally would only happen if no swap was configured.

Reported-by: joris
8 years agodrm: Sync vblank handling code with Linux 3.14
François Tigeot [Thu, 28 May 2015 20:38:06 +0000 (22:38 +0200)]
drm: Sync vblank handling code with Linux 3.14