Add fcu(4) to avoid playing a fan symphony when installing/upgrading some
PowerMac G5.

ok miod@, krw@, deraadt@
clarify that \[uXXXX] wants uppercase hex digits
prettier whitespace in variable assignments
Framework extension to support -Tutf8 tests.

New per-directory variables UTF8_TARGETS and SKIP_ASCII,
intended as subsets of REGRESS_TARGETS.

New .PHONY targets "utf8" and "utf8-clean" to only do -Tutf8 tests;
of course, "all" and "clean" also include this functionality.

While here, prefix internal variables with an underscore.
zap trailing whitespace;
The kernel and ld.so pass 0 in %rdx for use as the cleanup callback
for about a year, so it's safe to add the test and atexit() call.
While here, drop the no-longer-used obj and ps_strings and the
asm to set those up, switch from sys/param.h to limits.h, and ANSIfy.

ok kettenis@
Make sure we pass a NULL cleanup argument to __start() by initializing
a2 to zero in the kernel and ld.so.  This will let us add the
conditional atexit() call to crt0

ok kettenis@ miod@
basic tests for the \[uXXXX] escape sequence
The kernel and ld.so have passed 0 in r7 for use as the cleanup
callback for about a year, so it's safe to make __start() treat
that as the cleanup argument and conditionally pass it to atexit().
Eliminate the no-longer-used obj and ps_strings arguments to position
things correctly, which lets us eliminate the ASM wrapper completely.

ok kettenis@ miod@
The kernel and ld.so have passed 0 in r0 for use as the cleanup
callback for about a year, so it's safe to make __start() pass that
as the cleanup argument to ___start(), and have *that* conditionally
pass it to atexit().  Eliminate the no-longer-used obj and ps_strings
arguments to position things correctly, simplifying the ASM wrapper
slightly.

ok kettenis@ miod@; testing patrick@
Support the alternative syntax \C'uXXXX' for Unicode characters.
It is already documented in the Heirloom troff manual,
and groff handles it as well.

Bug reported by Bjarni Ingi Gislason <bjarniig at rhi dot hi dot is>
on <bug-groff at gnu dot org>.  Well, admittedly, that bug was reported
against groff, but mandoc was even more broken than groff with respect
to this syntax...
Ignore blank lines right after .SH and .SS.
Improves the rendering of gpg(1); issue reported by jca on ports.
test man.c rev. 1.71
In the parser, when closing an explicit block that is not open,
close below-subsection implicit scopes that may still be open.
In the formatter, make sure indentation is reset when leaving a scope,
not only when entering the next one.

Improves the formatting of gpg(1); issue reported by jca on ports.
drm/i915: Fix context sizes on HSW

With updates to the spec, we can actually see the context layout, and
how many dwords are allocated. That table suggests we need 70720 bytes
per HW context. Rounded up, this is 18 pages. Looking at what lives
after the current 4 pages we use, I can't see too much important (mostly
it's d3d related), but there are a couple of things which look scary. I
am hopeful this can explain some of our odd HSW failures.

v2: Make the context only 17 pages. The power context space isn't used
ever, and execlists aren't used in our driver, making the actual total
66944 bytes.

v3: Add a comment to the code. (Jesse & Paulo)

From Ben Widawsky
6bab5ce3f3224d3c1fcc92ed9184392558ae3df4 in ubuntu 3.8
a0de80a0e07032a111230ec92eca563f9d93648d in mainline linux
drm/i915: do not update cursor in crtc mode set

The cursor is disabled before crtc mode set in crtc disable (and we
assert this is the case), and enabled afterwards in crtc enable. Do not
update it in crtc mode set.

On HSW enabling a plane on a disabled pipe may hang the entire system.
And there's no good reason for doing it ever, so just don't.

v2: Add note about HSW hangs - vsyrjala

From Jani Nikula
0be01fc195fd4ea1aec1f8be7c03ca8f920a9486 in ubuntu 3.8
cc173961a68034c1171a421f0dbed39edfb60880 in mainline linux
drm/i915: Don't enable the cursor on a disable pipe

On HSW enabling a plane on a disabled pipe may hang the entire system.
And there's no good reason for doing it ever, so just don't.

v2: Move the crtc active checks to intel_crtc_cursor_{set,move} to
avoid confusing people during modeset

From Ville Syrjala
f6c0873963a9b8ea1d94541e0e219e6ea090012b in ubuntu 3.8
f2f5f771c5fc0fa252cde3d0d0452dcc785cc17a in mainline linux
drm/i915/hsw: Disable L3 caching of atomic memory operations.

Otherwise using any atomic memory operation will lock up the GPU due
to a Haswell hardware bug.

v2: Use the _MASKED_BIT_ENABLE macro.  Drop drm parameter definition.

From Francisco Jerez
018e31d2bd17a8bc95e1d1ca519650f2418b6010 in ubuntu 3.8
f3fc4884ebe6ae649d3723be14b219230d3b7fd2 in mainline linux
replace disksort with bufqs.

i havent had any tests, so if there's any fallout ill deal with it when
people hit it. i wont feel guilty about it at all though.
replace the user of ticks in a condition like "interval + start < ticks"
with "ticks - start > interval" because the latter copes with the ticks
value wrapping.

pointed out by guenther@
ok krw@