Sascha Wildner [Tue, 19 Aug 2014 20:09:23 +0000 (22:09 +0200)]
libc/locale: Remove a wrong comma in the monetary testcase.
Sascha Wildner [Tue, 19 Aug 2014 20:08:47 +0000 (22:08 +0200)]
libc/valloc(): Use posix_memalign().
Taken-from: FreeBSD
Matthew Dillon [Mon, 18 Aug 2014 21:04:44 +0000 (14:04 -0700)]
kernel - Add EVFILT_USER
* Bring in EVFILT_USER support from FreeBSD. Document the hacked use of
EV_CLEAR.
* Implemented a bit differently. Currently not implemented as another
filter callback. Instead we explicitly test for user_filtops, which
isn't as messy (at least until some other kqueue feature needs the 'touch'
interface).
Taken-From: FreeBSD
Matthew Dillon [Mon, 18 Aug 2014 07:55:09 +0000 (00:55 -0700)]
cyapa - attempt #2 to fix boot issue
* Previous fix didn't work. It appears that the trackpad can sometimes
loose its mind even after initializing ok, so instead of doing a load-time
fix we now check the status byte in the poll.
* If the poll status indicates that cyapa is not running the device will be
bootstrapped again.
* Also, when not running do not try to interpret remaining status fields
for input.
François Tigeot [Mon, 18 Aug 2014 06:34:57 +0000 (08:34 +0200)]
drm/i915: Sync ioctl definitions with Linux 3.8.13
Many ioctls are now unlocked.
Matthew Dillon [Mon, 18 Aug 2014 06:37:20 +0000 (23:37 -0700)]
cyapa - Implement power save mode, try to fix boot issue (Acer c720 chromebook)
* Implement power save mode when the pad hasn't been touched for 10 seconds.
Return to full power on any activity.
* Try to fix an issue when cyapa is loaded from /boot/loader.conf or built
into the kernel. For some reason cyapa polls that it isn't running but
we'd already gone through the bootstrap sequence and determined that it
was running. Why it stops is not known but it appears doing a status query
after init completion puts it in the right state.
Matthew Dillon [Mon, 18 Aug 2014 06:36:46 +0000 (23:36 -0700)]
dmesg - flush stdout before sleeping
* Flush output before sleeping when dmesg -f is specified.
Sascha Wildner [Sun, 17 Aug 2014 18:29:21 +0000 (20:29 +0200)]
drm/ttm: Add missing kfree().
Sascha Wildner [Sun, 17 Aug 2014 18:17:23 +0000 (20:17 +0200)]
drm/i915: Fix a missing initialization.
Sascha Wildner [Sun, 17 Aug 2014 10:33:44 +0000 (12:33 +0200)]
<sys/taskqueue>: Remove FreeBSD specific, *_fast() related defines.
They were brought in with
d96c147595b4f9046cb3d1682071adf4f98a2204.
François Tigeot [Sun, 17 Aug 2014 09:08:58 +0000 (11:08 +0200)]
drm/i915: Enable fbc on Mobile Ironlake
Sascha Wildner [Sat, 16 Aug 2014 21:09:39 +0000 (23:09 +0200)]
unifdef(1): Update to upstream version 2.10.15.a52596a
Taken-from: http://dotat.at/prog/unifdef/
Matthew Dillon [Sat, 16 Aug 2014 20:54:17 +0000 (13:54 -0700)]
ath - Change the way the edma rxfifo is reset (2)
* Correct a debugging change that wasn't supposed to go in.
Matthew Dillon [Sat, 16 Aug 2014 20:36:21 +0000 (13:36 -0700)]
ath - Change the way the edma rxfifo is reset
* Do not unconditionally try to reload the whole FIFO. Instead set a flag
when the HAL is reset.
* Force the hal to cold-reset every time for now to match the flag.
* Currently a hack until a Adrian comes up with the correct fix.
* TODO - Currently does not re-enable the RXEOL interrupt correctly.
Matthew Dillon [Sat, 16 Aug 2014 20:32:22 +0000 (13:32 -0700)]
kernel - Adjust BUS_DMASYNC_* API
* Change the BUS_DMASYNC_* enumeration to a bitmask to allow multiple
flags to be specified in one call.
* Now more compatible with FreeBSD and one less thing to worry about when
porting a driver.
* While we are at it, allow add_bounce_page() to modify the size. This has
no effect on the current codebase since bounce pages are page-aligned (so the
page-residual will never be less than the passed address), but is more
correct.
* Fixes bounce-buffer issue with if_ath.
Sascha Wildner [Sat, 16 Aug 2014 12:56:00 +0000 (14:56 +0200)]
libc: Remove unneeded semconfig function & file.
François Tigeot [Sat, 16 Aug 2014 09:52:04 +0000 (11:52 +0200)]
drm/i915: Sync i915_drv.h and i915_debugfs.c with Linux 3.8.13
Matthew Dillon [Sat, 16 Aug 2014 06:03:53 +0000 (23:03 -0700)]
ath - incremental update ath from FreeBSD
* Update to fbsd
61ad4c7509a280c218a389f91026136cec60708e
(Aug 11 2014).
Matthew Dillon [Sat, 16 Aug 2014 05:55:43 +0000 (22:55 -0700)]
ath - incremental update ar9300 from FreeBSD
* Update to fbsd
61ad4c7509a280c218a389f91026136cec60708e
(Aug 11 2014).
* Minor adjustments to the ar9300 hal, plus sysctl support for
forced cold reset.
Matthew Dillon [Fri, 15 Aug 2014 17:05:21 +0000 (10:05 -0700)]
kernel - Reduce ig4 receive errors
* The timeout code now checks the FIFO and register status at least once
before testing whether the timeout has been exceeded, and at least once
more after waiting the timeout period.
Previously the code would check, see that no data was present, then delay
a little and check whether a timeout occurred after the delay without
again testing whether data is present.
* Appears to fix receive timeouts reported by cyapa and atmel_mxt.
Sascha Wildner [Fri, 15 Aug 2014 13:56:35 +0000 (15:56 +0200)]
Update the pciconf(8) database.
August 10, 2014 snapshot from http://pciids.sourceforge.net/
Matthew Dillon [Fri, 15 Aug 2014 07:14:38 +0000 (00:14 -0700)]
atmel - Add automatic recalibration
* Add automatic recalibration every 30 seconds when idle. I'm really not
sure if this is necessary or not but for now we do it.
* Interval can be adjusted with sysctl debug.atmel_mxt_autocalibrate,
set to 0 to disable.
Matthew Dillon [Fri, 15 Aug 2014 07:10:53 +0000 (00:10 -0700)]
ig4 - Fix rxdata shift error and add debugging
* Fix a bug where the rx fifo can wind up with spurious data that never
clears because later commands are always one-ahead of it.
* Report rx data failures and spurious rx fifo data, except when the
NOREPORT flag has been specified.
Matthew Dillon [Fri, 15 Aug 2014 07:09:32 +0000 (00:09 -0700)]
smbus - Add SMB_TRANS_NOREPORT
* Add a flag to tell subsystems not to report errors (during probing).
François Tigeot [Fri, 15 Aug 2014 06:44:44 +0000 (08:44 +0200)]
drm/i915: Only build on amd64/x86_64 machines
This driver now requires a direct memory map.
Matthew Dillon [Fri, 15 Aug 2014 01:52:07 +0000 (18:52 -0700)]
atmel_mxt - Add atmel MXT touchscreen driver (Acer c720p)
* Implements the communications infrastructure on the hardware backend and
emulates an elographics tablet on the frontend.
* X Configuration is:
Section "InputDevice"
Identifier "TouchScreen0"
Driver "elographics"
Option "Device" "/dev/atmel1-4a"
# Option "ZAxisMapping" "4 5 6 7"
EndSection
* System configuration is (in /boot/loader.conf):
ig4_load="YES"
atmel_mxt_load="YES"
* Currently only tested and only likely to work with the Acer c720p.
Can do basic touchscreen operations... hold-move-and-release for
button-1. Can move or resize windows (you may want to make your resize
widgets bigger). Can hit buttons and hotlinks in browsers. Cannot
scroll a browser window on its own.
* Noise issues. I've noticed that both my chromebooks have a lot of mouse
pointer jitter with both the trackpad and the touchscreen, more than
I can actually fix. I've noticed some complaints on the linux forums too
so it aint just us.
The jitter is reduced if you put the laptop on your lap, and appears to
go away entirely if the laptop is on your lap AND the power is disconnected
(i.e. running on battery).
Markus Pfeiffer [Thu, 14 Aug 2014 22:03:07 +0000 (22:03 +0000)]
drm/i915: grab the config log on hardware init
Markus Pfeiffer [Thu, 14 Aug 2014 21:46:24 +0000 (21:46 +0000)]
drm/i915: Use intel_gmbus_get_adapter instead of dev_priv->gmbus array
Markus Pfeiffer [Sat, 9 Aug 2014 18:20:18 +0000 (19:20 +0100)]
drm/i915: Fix multiple off-by-one errors in intel_i2c
* the i2c pin numbers are 1 based as per intel spec but
we used the unit number as pin number, which is 0 based
* the gmbus array is 0 based, but the port number is 1 based
accesses into the port array are therefore off-by-one and this
only worked by chance before.
François Tigeot [Thu, 14 Aug 2014 18:13:51 +0000 (20:13 +0200)]
drm/i915: Sync i915_gem_execbuffer.c with Linux 3.8.13
* Simpler code and more consistent performance
* Implement a workaround for a Sandy-Bridge hardware issue
Matthew Dillon [Thu, 14 Aug 2014 17:36:03 +0000 (10:36 -0700)]
smb - Increase max block size from 32 to 1024
* The SMB API can be used for I2C transactions. Do not impose the
SMB2.0 block size limit on transfers.
Sascha Wildner [Thu, 14 Aug 2014 07:46:37 +0000 (09:46 +0200)]
bsd-family-tree: Sync with FreeBSD.
François Tigeot [Thu, 14 Aug 2014 07:09:59 +0000 (09:09 +0200)]
drm/i915: Fix display corruption issues on Haswell
* The mid-level cache is setup differently on Haswell
* Haswell's PTE encoding has also changed; we have to know what
GPU generation we're running on to write the correct attributes
to the Graphics Translation Tables
Sepherosa Ziehau [Wed, 13 Aug 2014 12:58:32 +0000 (20:58 +0800)]
tools/kq_connect_client: Add option to create UDP socket before connect
And do connect and send 18B datagram before closing the UDP socket. This
simulates DNS resolving, though this UDP socket does not receive a reply.
Sepherosa Ziehau [Wed, 13 Aug 2014 12:57:59 +0000 (20:57 +0800)]
tools/udpecho: Add option to disable echo; just sink
Matthew Dillon [Tue, 12 Aug 2014 23:57:16 +0000 (16:57 -0700)]
kernel - PF SMP work - fix RDR rules
* Use the global state table for all global-flagged state. RDR
rules can apparently cause PF_SK_WIRE/PF_SK_STACK to be
reversed so our global state table tests which only used
PF_SK_WIRE for GLOBAL-flagged translations were not sufficient.
* Fixes issues with the reverse packet direction for a rdr
rule not finding the reverse state.
* Note that RDR rules will not be SMP-optimal.
* Adds a bit more overhead for NAT translations which are not
SMP optimal (however, most NAT translations select a port
that will be SMP optimal).
Reported-by: alexh
François Tigeot [Tue, 12 Aug 2014 16:44:53 +0000 (18:44 +0200)]
drm: Add Linux kmap functions
These implementations are only suitable for use with systems with
direct memory maps, which means amd64/x86-64 for now.
François Tigeot [Tue, 12 Aug 2014 09:20:08 +0000 (11:20 +0200)]
drm/i915: i915_emit_box() from Linux 3.8.13
François Tigeot [Mon, 11 Aug 2014 19:40:21 +0000 (21:40 +0200)]
agp: Add more Haswell PCI IDs
François Tigeot [Mon, 11 Aug 2014 09:58:41 +0000 (11:58 +0200)]
drm/i915: Enable Haswell support
* The drm/i915 driver includes its own set of PCI ids, making those in
drm_pciids.h redundant. Remove i915/i930 ids from this file.
* Unfortunately our old drm code base expects to directly use device
lists with a different format.
* Rewrite the i915_probe() routine to use the driver-included device
list and patch a special-purpose, one-element list in the legacy
format at runtime to make the old drm_attach() routine and associated
code happy.
* At this point, Haswell GPUs still exhibit display corruption issues
with 2D acceleration. Disabling it in xorg.conf is recommended.
François Tigeot [Mon, 11 Aug 2014 08:51:35 +0000 (10:51 +0200)]
drm/i915: Sync i915_gem_evict.c with Linux 3.8.13
Matthew Dillon [Sun, 10 Aug 2014 20:03:51 +0000 (13:03 -0700)]
kernel - Fix PF SMP issues
* Fix an address table scan race that can cause packets to not match.
* The same fix also fixes a NULL pointer dereference caused by the
same scan race.
Reported-by: alexh (and testing too)
François Tigeot [Sun, 10 Aug 2014 08:37:01 +0000 (10:37 +0200)]
agp/drm: Remove intel_gtt_get_bridge_device()
François Tigeot [Sun, 10 Aug 2014 08:04:58 +0000 (10:04 +0200)]
agp/drm: Rename agp_i810.h to intel-gtt.h
So that we use the same file name as Linux.
Sepherosa Ziehau [Sun, 10 Aug 2014 12:26:02 +0000 (20:26 +0800)]
tools/netrate: Use FIONBIO to make the socket nonblocking
Sepherosa Ziehau [Sun, 10 Aug 2014 12:22:12 +0000 (20:22 +0800)]
tcp: Fix upper half (socket code) and so_port switching race.
Use message put done receipt to change this socket's so_port, i.e. _after_
this message was put onto the target netisr's msgport but _before_ the
message could be pulled from the target netisr's msgport, so that:
- The upper half (socket code) will not see the new msgport before this
message reaches the new msgport and messages for this socket will be
ordered.
- This message will see the new msgport, when its handler is called in the
target netisr.
Add comment about it and explain why the so_port switching should be done
in this commit's fashion.
Reported-by: dillon@
Sepherosa Ziehau [Sun, 10 Aug 2014 11:42:58 +0000 (19:42 +0800)]
msgport: Add message put done receipt support
The receipt callback is called immediately after the message is put on to
the target msgport. Complex operation is NOT allowed in this callback,
since it could be called w/ spinlock for spin msgports.
It will be used to fix the race between the upper half (socket code)
and the so_port switching.
Antonio Huete Jimenez [Sat, 9 Aug 2014 16:24:54 +0000 (18:24 +0200)]
dhclient - Change config 'ignore' directive behaviour.
- Change dhclient.conf directive 'ignore' to take a list of option names
rather than list of option declarations. e.g. 'ignore routers;'
instead of 'ignore routers 1.2.3.4;' The value in the declaration
was being ignored anyway.
- While there clean up the related code a bit.
Taken-from: OpenBSD
Antonio Huete Jimenez [Thu, 7 Aug 2014 19:11:13 +0000 (21:11 +0200)]
dhclient - Do not update linkstat several times.
- In the case where two RTM_IFINFO link changes occur immediately
after each other (as in the case with trunk and probably vlan)
dhclient missed the state change of the second interface.
Taken-from: OpenBSD
Antonio Huete Jimenez [Thu, 7 Aug 2014 19:06:42 +0000 (21:06 +0200)]
dhclient - Revert
a4a242d4bd3b87eb38ccf205bb2784ada509ca3a
- Routing breaks if dhclient-script flushes the
interface's routes when the interface is down.
Taken-from: OpenBSD
Antonio Huete Jimenez [Thu, 7 Aug 2014 08:05:20 +0000 (10:05 +0200)]
dhclient - Update OBSD Ids
- RFC changes to the manual pages already there.
Taken-from: OpenBSD
Antonio Huete Jimenez [Thu, 7 Aug 2014 07:53:39 +0000 (09:53 +0200)]
dhclient - Remove saved resolv.conf to avoid problems.
- Once resolv.conf.saved has been copied back as
resolv.conf, delete it so it isn't copied again the
next time a dhclient goes away.
Taken-from: OpenBSD
Antonio Huete Jimenez [Thu, 7 Aug 2014 07:47:01 +0000 (09:47 +0200)]
dhclient - Refuse leases for already configured subnets.
Taken-from: OpenBSD
Antonio Huete Jimenez [Sat, 2 Aug 2014 12:04:09 +0000 (14:04 +0200)]
dhclient - When a link is lost, call dhclient-script with reason "FAIL".
- This does the resolv.conf dance and removes 'dead' routes, rather than
leaving these droppings behind.
- When dhclient is exiting after calling dhclient-script with "FAIL",
give the script a couple of seconds to finish. Also pass the lease
parameters (old_*) to dhclient-script so routes can be cleaned up
in this path too.
Taken-from: OpenBSD
Antonio Huete Jimenez [Sat, 2 Aug 2014 12:02:22 +0000 (14:02 +0200)]
dhclient - Update reality correspondance of some comments.
Taken-from: OpenBSD
Antonio Huete Jimenez [Sat, 2 Aug 2014 12:01:21 +0000 (14:01 +0200)]
dhclient - Missed a reinitialize_interface() declaration.
Taken from: OpenBSD
Antonio Huete Jimenez [Sat, 2 Aug 2014 11:59:14 +0000 (13:59 +0200)]
dhclient - Nuke 'interfaces_invalidated' global variable.
- Since reinitialize_interface() was simply setting interfaces_invalidated
to 0, nuke it too!
- Always update ifi->linkstat in dispatch() loop.
Taken-from: OpenBSD
Antonio Huete Jimenez [Sat, 2 Aug 2014 11:55:32 +0000 (13:55 +0200)]
dhclient - Nuke some comments.
- Nuke a bunch of annoying "/* Send a packet. */" comments above
invocations to send_packet(), and similiar combinations.
Taken-from: OpenBSD
Antonio Huete Jimenez [Fri, 1 Aug 2014 18:24:13 +0000 (20:24 +0200)]
dhclient - No point having two copies of this file
- This copy never got installed anyway.
Taken-from: OpenBSD
Antonio Huete Jimenez [Fri, 1 Aug 2014 18:19:04 +0000 (20:19 +0200)]
dhclient - Remove cur_time global.
- Junk global cur_time, and use time(NULL) or local variables where
time is checked multiple times. Add a set_timeout_interval() function
to allow setting a timeout based on an interval from current time.
- Fixes issues with initial startup where the global cur_time was
always old and caused initial DHCPDISCOVER or DHCPREQUEST packets
to be sent multiple times. And probably other timeout related
oddities.
Taken-from: OpenBSD
Antonio Huete Jimenez [Fri, 1 Aug 2014 18:09:13 +0000 (20:09 +0200)]
dhclient - Add ignore keyword to conf file.
- Allows to ignore unwanted info from the server without
necessarily speciyfing a supersede value.
Taken-from: OpenBSD
Antonio Huete Jimenez [Fri, 1 Aug 2014 17:43:37 +0000 (19:43 +0200)]
dhclient - Don't abandon time_t precision for intervals.
- Use (long long) and %lld when printing, rather than (int)and %d.
Follows idiom used for 64-bit size_t and off_t.
Taken-from: OpenBSD
Antonio Huete Jimenez [Fri, 1 Aug 2014 17:41:32 +0000 (19:41 +0200)]
dhclient - Don't store a time_t into an int.
- Make the variable time_t.
Taken-from: OpenBSD
Antonio Huete Jimenez [Fri, 1 Aug 2014 17:36:21 +0000 (19:36 +0200)]
dhclient - Don't print time_t as %d
- Cast to (int) just in case time_t ever changes size.
Values in these cases are intervals, i.e. (time_t - time_t)
so int/%d will be fine.
Taken-from: OpenBSD
Antonio Huete Jimenez [Fri, 1 Aug 2014 17:24:13 +0000 (19:24 +0200)]
dhclient - Remove unused field 'next' from struct timeout.
- There's only one timeout now, not a list.
Taken-from: OpenBSD
Antonio Huete Jimenez [Fri, 1 Aug 2014 17:21:00 +0000 (19:21 +0200)]
dhclient - State engine for packet processing.
- Time may have passed! Use cur_time in routing message processing.
Taken-from: OpenBSD
François Tigeot [Sat, 9 Aug 2014 06:47:40 +0000 (08:47 +0200)]
drm/i915: Modesetting code rework
* Video output handling, DPMS support and the modesetting part of the
driver are now mostly in sync with Linux 3.8.13.
* We now have support for the new Haswell Digital Display Interfaces
(DDI), which can be configured as DisplayPort, HDMI, DVI or eDP
(embedded Displayport).
We also support the Haswell Flexible Display Interface (FDI) used to
drive VGA ports.
* This blog entry from Daniel Vetter contains more information:
http://blog.ffwll.ch/2012/08/new-modeset-code.html
* This commit also adds a few unrelated changes which were hard to
separate from the modesetting code. They are mostly about generic
Haswell and Baytrail/Valleyview support and bugfixes or workarounds
for older GPU issues.
Matthew Dillon [Fri, 8 Aug 2014 23:49:38 +0000 (16:49 -0700)]
kernel - Fix serialization bug in if_ath
* Fix a bug which was causing a serialization assertion to fail.
Sascha Wildner [Fri, 8 Aug 2014 17:15:41 +0000 (19:15 +0200)]
installer: Remove a more or less arbitrary check of the swap size.
Except for boxes which have lots of memory combined with a very very
small disk, the installer gives a sane default for swap size by itself
and if the user doesn't change it, all will be good.
However, if the user did choose to adjust the swap size and if it was
to below the main memory size, this check caused it not to be activated
and no dumpdev was written to the rc.conf of the installed system.
Instead of guessing around how much swap is needed to hold a dump,
adding warnings and whatnot, just assume that anyone who tinkers with
the offered defaults is intelligent enough to know possible
consequences and accept their choice in any case.
Matthew Dillon [Fri, 8 Aug 2014 05:31:46 +0000 (22:31 -0700)]
boot - Fix two bugs in the ufs code.
* Fix an incorrect start f_seekp position on open(). When open()ing a path
the fp is used for the directory search. A seek position left over from
the directory search can wind up being left in place after the file has
been located and openned, causing the starting seek position to not be 0.
* Fixes problems with the boot loader not detecting valid modules or a
valid kernel image.
* Handle an overflow case in fp->f_nindir[] initialization. This case will
not normally occur.
Matthew Dillon [Fri, 8 Aug 2014 05:31:13 +0000 (22:31 -0700)]
boot - Add 'crc' command.
* Add 'crc file...' command. This command crc's the contents of a file.
It can be used to help debug loader issues.
Matthew Dillon [Fri, 8 Aug 2014 02:06:49 +0000 (19:06 -0700)]
installer - Fix time selection, again.
* The installer asks you to input your local time. This is separate from it
asking you whether the CMOS clock is local or UTC.
* We previously fixed the CMOS clock local/UTC selection, but the local time
entry was still broken.
* This patch sets the TZ environment variable for the installer itself so
when you input your local time it actually does the correct local conversion
for your time zone. Otherwise the local conversion is done using GMT which
is not right.
Reported-by: Don Allen
Sascha Wildner [Thu, 7 Aug 2014 22:31:48 +0000 (00:31 +0200)]
Adjust things for OpenSSL-1.0.1i.
Sascha Wildner [Thu, 7 Aug 2014 22:02:41 +0000 (00:02 +0200)]
Merge branch 'vendor/OPENSSL'
Sascha Wildner [Thu, 7 Aug 2014 22:00:01 +0000 (00:00 +0200)]
Import OpenSSL-1.0.1i.
Sascha Wildner [Thu, 7 Aug 2014 21:25:50 +0000 (23:25 +0200)]
openssl: Add our local changes on master.
Sascha Wildner [Thu, 7 Aug 2014 21:22:26 +0000 (23:22 +0200)]
Merge branch 'vendor/OPENSSL'
Sascha Wildner [Thu, 7 Aug 2014 21:22:05 +0000 (23:22 +0200)]
openssl: Remove some local changes from the vendor branch.
Alex Hornung [Thu, 7 Aug 2014 21:09:32 +0000 (22:09 +0100)]
rc.d/ppp: add support for -unitN override
* Man page changes taken from FreeBSD.
Matthew Dillon [Thu, 7 Aug 2014 07:38:51 +0000 (00:38 -0700)]
ig4 - Fix minor documentation bug
* Fix minor doc bug in register definitions.
Matthew Dillon [Thu, 7 Aug 2014 07:37:19 +0000 (00:37 -0700)]
cyapa - Add sysctl for minimum pressure
* Add a sysctl for minimum pressure to detect a finger. Fingers below this
value will be ignored. Default to 16.
François Tigeot [Wed, 6 Aug 2014 21:08:15 +0000 (23:08 +0200)]
drm/i915: Fix locking in i915_dma.c
Some i915_dma.c functions didn't include locking directives or used
them in a different order than Linux.
Sascha Wildner [Wed, 6 Aug 2014 19:33:13 +0000 (21:33 +0200)]
rc.subr: Add quietstart and pass through arguments to rc scripts.
None of our scripts handle additional arguments yet but it will be
needed for moused starting/stopping via devd(8) and for bluetooth
too.
Taken-from: FreeBSD
François Tigeot [Wed, 6 Aug 2014 13:31:41 +0000 (15:31 +0200)]
linux/err.h: Add IS_ERR_OR_NULL()
Obtained-from: OpenBSD
François Tigeot [Wed, 6 Aug 2014 13:30:47 +0000 (15:30 +0200)]
linux/delay.h: Add mdelay()
Obtained-from: OpenBSD
François Tigeot [Wed, 6 Aug 2014 13:29:37 +0000 (15:29 +0200)]
linux/kernel.h: Add WARN_ONCE()
Michael Neumann [Tue, 5 Aug 2014 13:20:12 +0000 (15:20 +0200)]
Fix logic error. Due to the bug, it incorrectly checked TXQ status
which in turn can leave TXQ active.
Obtained From: FreeBSD (r218038
747546166f1055f5d23ef661fbc30e355f1d6fec)
Michael Neumann [Tue, 5 Aug 2014 13:18:20 +0000 (15:18 +0200)]
Fix typo.
Obtained From: FreeBSD
Michael Neumann [Tue, 5 Aug 2014 13:02:51 +0000 (15:02 +0200)]
Correct wrong definition of PM timer mask and adjust L1/PM timer
value. While I'm here enable all clocks before initializing
controller. This change should fix lockup issue seen on AR8152
v1.1 PCIe Fast Ethernet controller.
This fixes: http://bugs.dragonflybsd.org/issues/2625
Obtained-From: FreeBSD (r217649
d7200f3f19ae70c6fc623456c4e7ceda8e6f631d)
Michael Neumann [Tue, 5 Aug 2014 12:46:44 +0000 (14:46 +0200)]
Don't bother to enable ASPM L1 to save more power. Even though I am
not able to trigger the issue with sample boards, some users seems
to suffer from freeze/lockup when system is booted without UTP cable
plugged in. I'm not sure whether this is BIOS issue or controller
bug. This change fixes AR8132 lockup issue seen on EEE PC.
Obtained-From: FreeBSD (r214542
d5b678ca0dc503e5c0ee4dde9d43cb0138def17c)
Michael Neumann [Tue, 5 Aug 2014 11:59:38 +0000 (13:59 +0200)]
status bits should be &'ed against status to be really functional.
Obtained-From: FreeBSD (r212764
d7bdcc10e4df9e7f755be4e1853272956eb39493)
Michael Neumann [Tue, 5 Aug 2014 11:44:55 +0000 (13:44 +0200)]
Make sure to disable RX MAC in alc_stop_mac(). Previously there was a logic error which it always enabled RX MAC.
Obtained-From: FreeBSD (r211285
d05dbde94114fc2033995347b55de74f9bc8e40e)
Matthew Dillon [Tue, 5 Aug 2014 07:06:31 +0000 (00:06 -0700)]
newfs_hammer2 - Set default compression and check modes
* When creating a new filesystem, make sure the directory inodes contain
proper defaults for the compression and crc check mode.
Matthew Dillon [Tue, 5 Aug 2014 07:04:24 +0000 (00:04 -0700)]
hammer2 - Add directives for setting the check mode
* Add setcheck, setcrc32, and a few other directives for setting the
crc check mode on a directory or file. The inode and any new chains
or modifications will inherit the mode.
* Make adjustments to stat and show to display more information.
Matthew Dillon [Tue, 5 Aug 2014 06:58:14 +0000 (23:58 -0700)]
hammer2 - Make the CRC check code programmable
* Add infrastructure to allow a CRC check code method request to be stored
in an inode. The method will be inherited by anything created under the
inode.
* Refactor the check_algo and comp_algo encoding to make the distinction
between the requests in ipdata fields and the actual specification stored
in bref.methods.
* Make sure that the hidden directory inherits the iroot's algorithm
specifications for consistency.
Matthew Dillon [Mon, 4 Aug 2014 08:11:46 +0000 (01:11 -0700)]
hammer2 - freemap and data check code
* Change the freemap to use 8 sets = ~32 reserved blocks instead of 14 sets.
Use a straight iterator. (TODO - must invalidate newer volumes if an older
volume backup is mounted RW because freemap will become inconsistent).
* Update the freemap documentation. Requires more work.
* MODIFY_OPTDATA can only skip to the end if chain->data is NULL in
the BREF_TYPE_DATA case. chain->data might not be NULL if the
data chain represents a compressed device buffer.
* Add check code generation and testing. Currently just kprintf()s a
warning if the check code does not match. Implement iscsi crc-32,
sha-192 (this is sha-256 with the last 64 bits XOR'd into the first),
and implement check generation and testing for all data, meta-data,
and the freemap. For Everything. 64-bit CRCs are not yet implemented.
* Fix a few cases where the DIO or the chain was not being properly
dirtied prior to making modifications to the media contents via
chain->data (this showed up because CRC tests were failing).
* Cleanup:
- CHAIN_FORCECOW is no longer used, remove it.
- Move FLUSH_DEPTH_LIMIT from hammer2.h to hammer2_flush.c.
- Remove debug structures from the blockref check union.
- Remove some #if 0'd code that is no longer applicable.
Matthew Dillon [Mon, 4 Aug 2014 08:10:06 +0000 (01:10 -0700)]
hammer2 - add crc checking skeleton
* Check meta-data crcs. If verbose (-v) is specified, also check
data crcs.
Sascha Wildner [Sun, 3 Aug 2014 02:27:51 +0000 (04:27 +0200)]
kernel/acpi_timer: Lower the bar for ACPI-fast on real and virtual machines.
This brings in FreeBSD's revisions 220331-220369:
r220369 | jkim | 2011-04-05 20:40:19 +0200 (Tue, 05 Apr 2011) | 6 lines
Lower the bar for ACPI-fast on real machines slightly. Empirical evidences
show that there are perfectly working PM timers with occasional "hiccups",
probably because of an SMI. Now we ignore the maximum if it happens once in
the test loop and the width is small enough. Also, relax normal width a bit
to count in a boundary case.
------------------------------------------------------------------------
r220336 | jkim | 2011-04-04 19:44:26 +0200 (Mon, 04 Apr 2011) | 3 lines
Always check the current minimum value to make the test more predictable.
Use INT32_MAX instead of an arbitrary big number for the initial minimum.
------------------------------------------------------------------------
r220333 | jkim | 2011-04-04 19:00:50 +0200 (Mon, 04 Apr 2011) | 5 lines
Lower the bar for ACPI-fast on virtual machines. The current logic depends
on the fact that real hardware has almost fixed cost to read the ACPI timer.
It is virtually always false for hardware emulation and it makes no sense to
read it multiple times, which is already quite expensive for full emulation.
------------------------------------------------------------------------
r220331 | jkim | 2011-04-04 18:47:42 +0200 (Mon, 04 Apr 2011) | 2 lines
Add inline to acpi_timer_read() to reduce unnecessary jumps and calls.
Sascha Wildner [Sun, 3 Aug 2014 01:08:37 +0000 (03:08 +0200)]
kernel: Don't pass the size of the var as arg2 to sysctl_handle_int().
arg1 (second parameter) is for passing a variable and arg2 (third
parameter) is for passing a constant (in which case arg1 is NULL).
Sascha Wildner [Sat, 2 Aug 2014 12:42:46 +0000 (14:42 +0200)]
isp(4): Remove wrong D_DISK and add D_MPSAFE to ops.