openbsd
9 years ago/bin and /sbin are moving towards static PIE, so on many architectures
deraadt [Tue, 23 Dec 2014 17:16:00 +0000 (17:16 +0000)]
/bin and /sbin are moving towards static PIE, so on many architectures
the PIC .o files are unsuitable for static "instbin".  This adds more
work at build time, but the result will be optimized for size.

9 years agoMake sure the GOT and PLT are not writable.
kettenis [Tue, 23 Dec 2014 16:45:04 +0000 (16:45 +0000)]
Make sure the GOT and PLT are not writable.

Note that ommitting PROT_EXEC for the PLT is deliberate; static PIE
binaries should never actually hit the PLT.

We're still debating what to do when mprotect(2) fails.  But that is no
excuse not to at least attempt to fix things up.

ok deraadt@

9 years agoSmall changes to buil
deraadt [Tue, 23 Dec 2014 16:35:53 +0000 (16:35 +0000)]
Small changes to buil

9 years agodo not expose "ra" to cpp because it muddles up the .c code above.
deraadt [Tue, 23 Dec 2014 16:27:18 +0000 (16:27 +0000)]
do not expose "ra" to cpp because it muddles up the .c code above.
instead handle it internally as $ra
solution from kettenis, ok guenther

9 years agomissing test-depends thingy.
espie [Tue, 23 Dec 2014 14:05:16 +0000 (14:05 +0000)]
missing test-depends thingy.
explicitly document that some lists are sorted

9 years agosupport negative horizontal widths in man(7);
schwarze [Tue, 23 Dec 2014 13:48:15 +0000 (13:48 +0000)]
support negative horizontal widths in man(7);
minus twenty lines of code in spite of enhanced functionality

9 years agopf now supports source-hash and random with tables so we can allow it
reyk [Tue, 23 Dec 2014 13:18:23 +0000 (13:18 +0000)]
pf now supports source-hash and random with tables so we can allow it
in redirections.  Thanks for help and input from jsg and yasuoka who
reminded me to dig out and update these old diffs for pf and relayd.

ok jsg@

9 years agoSet up the linkage table register (%r19) before calling _dl_boot_bind.
kettenis [Tue, 23 Dec 2014 12:25:43 +0000 (12:25 +0000)]
Set up the linkage table register (%r19) before calling _dl_boot_bind.

9 years agoWe do not need to grab the kernel lock for clock interrupts on luna88k,
aoyama [Tue, 23 Dec 2014 10:59:29 +0000 (10:59 +0000)]
We do not need to grab the kernel lock for clock interrupts on luna88k,
as same as aviion.

suggested and ok miod@

9 years agoRemove function mouse_map. This function is redundant.
shadchin [Tue, 23 Dec 2014 10:24:22 +0000 (10:24 +0000)]
Remove function mouse_map. This function is redundant.

ok zhuk@

9 years agofix typo in previous
schwarze [Tue, 23 Dec 2014 10:09:23 +0000 (10:09 +0000)]
fix typo in previous

9 years agoConsistency: put variables between curly braces.
ajacoutot [Tue, 23 Dec 2014 10:07:44 +0000 (10:07 +0000)]
Consistency: put variables between curly braces.
No functional change intended.

9 years agosome scaling unit fixes:
schwarze [Tue, 23 Dec 2014 09:31:17 +0000 (09:31 +0000)]
some scaling unit fixes:
- .sp with an invalid argument is .sp 1v, not .sp 0v
- in man(1), trailing garbage doesn't make scaling units invalid

9 years agotweak meta-info checking a bit.
espie [Tue, 23 Dec 2014 08:46:31 +0000 (08:46 +0000)]
tweak meta-info checking a bit.
- remove IsLink tests, there's no reason to treat them specially.
- files are forced to root, no need to allow for bin anymore.

- force libraries to be not executable, if there's no explicit @mode
annotation

9 years agoeven if the second argument to .IP is invalid, don't print it
schwarze [Tue, 23 Dec 2014 08:15:37 +0000 (08:15 +0000)]
even if the second argument to .IP is invalid, don't print it

9 years agoto be safe, revert locking change until further tested.
tedu [Tue, 23 Dec 2014 07:54:13 +0000 (07:54 +0000)]
to be safe, revert locking change until further tested.

9 years agochange pmap pools from nointr to waitok. pvpool left alone for now.
tedu [Tue, 23 Dec 2014 07:42:46 +0000 (07:42 +0000)]
change pmap pools from nointr to waitok. pvpool left alone for now.

9 years agoFix vertical scaling. Obviously, nobody ever had a serious look at this.
schwarze [Tue, 23 Dec 2014 06:16:21 +0000 (06:16 +0000)]
Fix vertical scaling.  Obviously, nobody ever had a serious look at this.
Basic units, centimeters, points, ens, ems, and the rounding algorithm
were all wrong, only inches, pica, and the default vertical span worked.

9 years agoconvert pool_init nointr to waitok
tedu [Tue, 23 Dec 2014 04:56:47 +0000 (04:56 +0000)]
convert pool_init nointr to waitok

9 years agoknf
tedu [Tue, 23 Dec 2014 04:54:45 +0000 (04:54 +0000)]
knf

9 years agoconvert from nointr to waitok
tedu [Tue, 23 Dec 2014 04:53:20 +0000 (04:53 +0000)]
convert from nointr to waitok

9 years agooptimize locking a wee bit by holding it for critical parts only
tedu [Tue, 23 Dec 2014 04:48:47 +0000 (04:48 +0000)]
optimize locking a wee bit by holding it for critical parts only

9 years agoI don't like these macros, they obscure the code.
tedu [Tue, 23 Dec 2014 04:47:30 +0000 (04:47 +0000)]
I don't like these macros, they obscure the code.
We can use pool_setipl instead of doing the dance ourselves.
The bufpool is already setipl, we don't need to dance at all. We
should zero the buf.
ok deraadt dlg

9 years agoon-media chroot went away a while back
deraadt [Tue, 23 Dec 2014 04:08:01 +0000 (04:08 +0000)]
on-media chroot went away a while back

9 years agothe kvm database only needs to be readable by kmem group. make it so.
tedu [Tue, 23 Dec 2014 03:29:52 +0000 (03:29 +0000)]
the kvm database only needs to be readable by kmem group. make it so.

9 years agoIn a2roffsu(), do not parse the number twice.
schwarze [Tue, 23 Dec 2014 03:27:36 +0000 (03:27 +0000)]
In a2roffsu(), do not parse the number twice.
Gets rid of 25 lines of code and one static buffer.
No functional change for numbers shorter than BUFSIZ characters.

9 years agounifdef INET
tedu [Tue, 23 Dec 2014 03:26:24 +0000 (03:26 +0000)]
unifdef INET

9 years agounifdef some more INET. v4 4life.
tedu [Tue, 23 Dec 2014 03:24:08 +0000 (03:24 +0000)]
unifdef some more INET. v4 4life.

9 years agoconvert nointr pool_init argument to pr_waitok
tedu [Tue, 23 Dec 2014 02:01:57 +0000 (02:01 +0000)]
convert nointr pool_init argument to pr_waitok

9 years agocorrectly handle scaling units after .PD
schwarze [Tue, 23 Dec 2014 01:57:11 +0000 (01:57 +0000)]
correctly handle scaling units after .PD

9 years agochange req pool alloc to null. add prwaitok here and nfs_node_pool which
tedu [Tue, 23 Dec 2014 01:55:03 +0000 (01:55 +0000)]
change req pool alloc to null. add prwaitok here and nfs_node_pool which
is also sleeping in all callers, but already used null

9 years agochange pool allocator to null and pass waitok to indicate nointr
tedu [Tue, 23 Dec 2014 01:53:57 +0000 (01:53 +0000)]
change pool allocator to null and pass waitok to indicate nointr

9 years agochange pool_init allocator to NULL and pass PR_WAITOK in flags as a sign
tedu [Tue, 23 Dec 2014 01:53:33 +0000 (01:53 +0000)]
change pool_init allocator to NULL and pass PR_WAITOK in flags as a sign
that these don't need to support interrupts

9 years agobackout previous, because libkvm needs two pieces. will let mike
deraadt [Tue, 23 Dec 2014 01:24:50 +0000 (01:24 +0000)]
backout previous, because libkvm needs two pieces.  will let mike
find a different way.

9 years agoforce the pool of pmapvp onto PAGE_SIZE allocations by specifying a
dlg [Tue, 23 Dec 2014 01:12:33 +0000 (01:12 +0000)]
force the pool of pmapvp onto PAGE_SIZE allocations by specifying a
pool allocator. pmapvp is 1024 bytes, and the size * 8 change in pools
without an allocator being specified tries to place it on large pages.
you need pmap to use large pages, and pmap isnt set up yet.

fixed a very early fault on macppc.
debugged with and tested by krw@
ok deraadt@ krw@

9 years agoMove PD_MASK, PT_MASK and a couple macros into pmap.c. The only other
mlarkin [Mon, 22 Dec 2014 23:59:43 +0000 (23:59 +0000)]
Move PD_MASK, PT_MASK and a couple macros into pmap.c. The only other
user of these was hibernate, which now gets its own PD_MASK (since
the resume time PD_MASK is essentially disjoint from the runtime
PD_MASK). No functional change, just moving the deck chairs around in
preparation for an upcoming change.

ok deraadt

9 years agoThe code already pays attention not to close the same block twice.
schwarze [Mon, 22 Dec 2014 23:26:20 +0000 (23:26 +0000)]
The code already pays attention not to close the same block twice.
Similarly, avoid having the same block break two other blocks.
In some situations, this could lead to an endless loop in rew_sub()
found by jsg@ with afl.
Minimal example:  .Po Ao Pc Bo Pc Ac Bc

9 years agoClean up some weird spacing. No functional change.
mlarkin [Mon, 22 Dec 2014 22:33:51 +0000 (22:33 +0000)]
Clean up some weird spacing. No functional change.

9 years agofix an error in piglet allocation when requesting an alignment < PAGE_SIZE
mlarkin [Mon, 22 Dec 2014 22:22:35 +0000 (22:22 +0000)]
fix an error in piglet allocation when requesting an alignment < PAGE_SIZE
(which we never did, but it was a bug nonetheless).

ok kettenis, deraadt

9 years agoLink -static -pie executables with rcrt0.o instead of crt0.o such that they
kurt [Mon, 22 Dec 2014 21:59:18 +0000 (21:59 +0000)]
Link -static -pie executables with rcrt0.o instead of crt0.o such that they
self-relocate.

9 years agoSelf-relocation code for i386.
kurt [Mon, 22 Dec 2014 21:58:25 +0000 (21:58 +0000)]
Self-relocation code for i386.

9 years agoReplace switch workq with taskq, using the blambert@ method (tm).
krw [Mon, 22 Dec 2014 20:08:05 +0000 (20:08 +0000)]
Replace switch workq with taskq, using the blambert@ method (tm).

Tested with non-drm and wsfb systems. ok kettenis@ miod@

9 years agoLink -static -pie executables with rcrt0.o instead of crt0.o such that they
kettenis [Mon, 22 Dec 2014 19:32:49 +0000 (19:32 +0000)]
Link -static -pie executables with rcrt0.o instead of crt0.o such that they
self-relocate.

Based on a diff from kurt@

ok deraadt@

9 years agosync
deraadt [Mon, 22 Dec 2014 19:18:26 +0000 (19:18 +0000)]
sync

9 years agoStatic PIE has been delayed for quite a while. By pushing hard with pascal
deraadt [Mon, 22 Dec 2014 19:14:59 +0000 (19:14 +0000)]
Static PIE has been delayed for quite a while.  By pushing hard with pascal
towards a wimpy (but sufficient) model, kurt and kettenis got upset enough
to do it the right way, right away before we got out of hand.  Bravo!
We no longer need /sbin/ld.so on the new roadmap.

9 years agoLink -static -pie executables with rcrt0.o instead of crt0.o such that they
kettenis [Mon, 22 Dec 2014 19:04:24 +0000 (19:04 +0000)]
Link -static -pie executables with rcrt0.o instead of crt0.o such that they
self-relocate.

Based on a diff for amd64 from kurt@

9 years agoSelf-relocation code for hppa.
kettenis [Mon, 22 Dec 2014 19:02:58 +0000 (19:02 +0000)]
Self-relocation code for hppa.

9 years agoremove never used in openbsd tahoe support. and ns32k. and pmax.
tedu [Mon, 22 Dec 2014 18:21:10 +0000 (18:21 +0000)]
remove never used in openbsd tahoe support. and ns32k. and pmax.
ok deraadt millert

9 years agoLink -static -pie executables with rcrt0.o instead of crt0.o such that they
kettenis [Mon, 22 Dec 2014 16:04:35 +0000 (16:04 +0000)]
Link -static -pie executables with rcrt0.o instead of crt0.o such that they
self-relocate.

Based on a diff for amd64 from kurt@

9 years agosync
deraadt [Mon, 22 Dec 2014 15:57:17 +0000 (15:57 +0000)]
sync

9 years agodickman noticed /var/rwho keeps coming back. remove it.
tedu [Mon, 22 Dec 2014 15:39:28 +0000 (15:39 +0000)]
dickman noticed /var/rwho keeps coming back. remove it.

9 years agoMake it possible to execute PIE binaries that don't have an PT_INTERP segment
kettenis [Mon, 22 Dec 2014 15:05:24 +0000 (15:05 +0000)]
Make it possible to execute PIE binaries that don't have an PT_INTERP segment
(and therefore no interpreter).  Necessary to make self-relocating "static"
PIE working.

This will also allow execution of shared libraries that have the 'x' bit set.
Those shouldn't exist, but unfortunately people outside OpenBSD think
differently which means third-party software sometimes installs shared
libraries with the 'x' bit set.

ok kurt@, deraadt@

9 years agowhen we run into real errors, the progress meter is distracting, so have
espie [Mon, 22 Dec 2014 14:24:56 +0000 (14:24 +0000)]
when we run into real errors, the progress meter is distracting, so have
a method ->disable that does something nice to the display, and stops
the progress meter right before we display our first real error.

9 years agoTeach ld(1) not to add a PT_INTERP entry for -static -pie.
kettenis [Mon, 22 Dec 2014 14:17:22 +0000 (14:17 +0000)]
Teach ld(1) not to add a PT_INTERP entry for -static -pie.

ok kurt@

9 years agoTeach ld(1) not to add a PT_INTERP entry for -static -pie.
kettenis [Mon, 22 Dec 2014 14:09:58 +0000 (14:09 +0000)]
Teach ld(1) not to add a PT_INTERP entry for -static -pie.

ok kurt@

9 years agoSelf-relocation code for sparc64.
kettenis [Mon, 22 Dec 2014 13:53:01 +0000 (13:53 +0000)]
Self-relocation code for sparc64.

9 years agoWhen skipping a relocation because the referenced symbol is undefined, make
kettenis [Mon, 22 Dec 2014 13:32:51 +0000 (13:32 +0000)]
When skipping a relocation because the referenced symbol is undefined, make
sure we move on to the next relocation entry.

While there, also skip relocations for REL architectures.

9 years agoNow does not need to be initialized event.value.
shadchin [Mon, 22 Dec 2014 11:21:49 +0000 (11:21 +0000)]
Now does not need to be initialized event.value.
This not used anymore.

ok deraadt@

9 years agoOperations on the global prefix or address lists should be done under
mpi [Mon, 22 Dec 2014 11:17:20 +0000 (11:17 +0000)]
Operations on the global prefix or address lists should be done under
splsoftnet().

9 years agoMake sure rtrequest1(9) is called under splsoftnet().
mpi [Mon, 22 Dec 2014 11:05:53 +0000 (11:05 +0000)]
Make sure rtrequest1(9) is called under splsoftnet().

9 years agoadd fingerprinthash to the options list;
jmc [Mon, 22 Dec 2014 09:26:31 +0000 (09:26 +0000)]
add fingerprinthash to the options list;

9 years agotweak previous;
jmc [Mon, 22 Dec 2014 09:24:59 +0000 (09:24 +0000)]
tweak previous;

9 years agoOut out you evil network daemon.
florian [Mon, 22 Dec 2014 09:13:35 +0000 (09:13 +0000)]
Out out you evil network daemon.
OK deraadt@ some time ago

9 years agomention ssh -Q feature to list supported { MAC, cipher, KEX, key }
djm [Mon, 22 Dec 2014 09:05:17 +0000 (09:05 +0000)]
mention ssh -Q feature to list supported { MAC, cipher, KEX, key }
algorithms in more places and include the query string used to
list the relevant information; bz#2288

9 years agotweak previous;
jmc [Mon, 22 Dec 2014 08:24:17 +0000 (08:24 +0000)]
tweak previous;

9 years agoregression test for multiple required pubkey authentication;
djm [Mon, 22 Dec 2014 08:06:03 +0000 (08:06 +0000)]
regression test for multiple required pubkey authentication;
ok markus@

9 years agocorrect description of what will happen when a AuthorizedKeysCommand is
djm [Mon, 22 Dec 2014 08:04:23 +0000 (08:04 +0000)]
correct description of what will happen when a AuthorizedKeysCommand is
specified but AuthorizedKeysCommandUser is not (sshd will refuse to start)

9 years agomake internal handling of filename arguments of "none" more consistent
djm [Mon, 22 Dec 2014 07:55:51 +0000 (07:55 +0000)]
make internal handling of filename arguments of "none" more consistent
with ssh. "none" arguments are now replaced with NULL when the
configuration is finalised.

Simplifies checking later on (just need to test not-NULL rather than
that + strcmp) and cleans up some inconsistencies. ok markus@

9 years agoremember which public keys have been used for authentication and
djm [Mon, 22 Dec 2014 07:51:30 +0000 (07:51 +0000)]
remember which public keys have been used for authentication and
refuse to accept previously-used keys.

This allows AuthenticationMethods=publickey,publickey to require
that users authenticate using two _different_ pubkeys.

ok markus@

9 years agofix passing of wildcard forward bind addresses when connection
djm [Mon, 22 Dec 2014 07:24:11 +0000 (07:24 +0000)]
fix passing of wildcard forward bind addresses when connection
multiplexing is in use; patch from Sami Hartikainen via bz#2324;
ok dtucker@

9 years agomake this slightly easier to diff against portable
djm [Mon, 22 Dec 2014 06:14:29 +0000 (06:14 +0000)]
make this slightly easier to diff against portable

9 years agoadd TIMEOUT_INITIALIZER for initting timeout declaractions.
dlg [Mon, 22 Dec 2014 04:43:38 +0000 (04:43 +0000)]
add TIMEOUT_INITIALIZER for initting timeout declaractions.

similar to TASK_INITIALIZER and all the queue _INITIALIZER things.

ok deraadt@

9 years agoIntroduce new csu0 variant for -static -pie binaries to use called
kurt [Mon, 22 Dec 2014 03:51:08 +0000 (03:51 +0000)]
Introduce new csu0 variant for -static -pie binaries to use called
rcsu0.o where the initial 'r' is for relocatable. rcsu0.o performs
self-relocation on static pie binaries by calling a slightly modified
copy of ld.so's _dl_boot_bind() in boot.h.

The first arch implementatation is also included for amd64 where
__start calls _dl_boot_bind() and then calls ___start(). Includes
parts from kettenis@ to help get R_X86_64_64 relocations working
and proper handling for undefined weak symbols.

This is the first part of several to get static pie self-relocating
binaries working. binutils, gcc and kernel changes are forthcoming
to complete the solution, then per-arch implementations are needed
for MD_RCRT0_START in csu.

okay kettenis@ pascal@ deraadt@

9 years agoconvert to using siphash
tedu [Mon, 22 Dec 2014 03:38:01 +0000 (03:38 +0000)]
convert to using siphash

9 years agofix docs for NOBROADCASTKILL
tedu [Mon, 22 Dec 2014 03:33:18 +0000 (03:33 +0000)]
fix docs for NOBROADCASTKILL

9 years agobcopy -> memcpy, as in amd64
deraadt [Mon, 22 Dec 2014 03:14:59 +0000 (03:14 +0000)]
bcopy -> memcpy, as in amd64

9 years agobcopy -> memcpy; ok tedu
deraadt [Mon, 22 Dec 2014 03:13:45 +0000 (03:13 +0000)]
bcopy -> memcpy; ok tedu

9 years agoremove some unused fields from pool. ok dlg
tedu [Mon, 22 Dec 2014 02:59:53 +0000 (02:59 +0000)]
remove some unused fields from pool. ok dlg

9 years agoamd64 now also uses the ssyms mechanism.
deraadt [Mon, 22 Dec 2014 02:55:48 +0000 (02:55 +0000)]
amd64 now also uses the ssyms mechanism.
ok guenther

9 years agounifdef INET
tedu [Mon, 22 Dec 2014 02:28:51 +0000 (02:28 +0000)]
unifdef INET

9 years agounifdef INET
tedu [Mon, 22 Dec 2014 02:26:53 +0000 (02:26 +0000)]
unifdef INET

9 years agoadjust for new SHA256 key fingerprints and slightly-different MD5 hex
djm [Mon, 22 Dec 2014 02:15:52 +0000 (02:15 +0000)]
adjust for new SHA256 key fingerprints and slightly-different MD5 hex
fingerprint format

9 years agopoll changes to netcat (usr.bin/netcat.c r1.125) broke this test;
djm [Mon, 22 Dec 2014 01:14:49 +0000 (01:14 +0000)]
poll changes to netcat (usr.bin/netcat.c r1.125) broke this test;
fix it by ensuring more stdio fds are sent to devnull

9 years agoif we're able to use large page allocators, try and place at least
dlg [Mon, 22 Dec 2014 00:33:40 +0000 (00:33 +0000)]
if we're able to use large page allocators, try and place at least
8 items on a page. this reduces the number of allocator operations
we have to do per item on large items.

ok tedu@

9 years agotweak previous;
jmc [Sun, 21 Dec 2014 23:35:14 +0000 (23:35 +0000)]
tweak previous;

9 years agodocument FingerprintHash here too
djm [Sun, 21 Dec 2014 23:12:42 +0000 (23:12 +0000)]
document FingerprintHash here too

9 years agoAdd FingerprintHash option to control algorithm used for key
djm [Sun, 21 Dec 2014 22:27:55 +0000 (22:27 +0000)]
Add FingerprintHash option to control algorithm used for key
fingerprints. Default changes from MD5 to SHA256 and format
from hex to base64.

Feedback and ok naddy@ markus@

9 years agoWSCONS_EVENT_WSMOUSED_SLEEP and WSCONS_EVENT_WSMOUSED_CLOSE not used anymore.
shadchin [Sun, 21 Dec 2014 18:25:07 +0000 (18:25 +0000)]
WSCONS_EVENT_WSMOUSED_SLEEP and WSCONS_EVENT_WSMOUSED_CLOSE not used anymore.

ok mpi@

9 years agoCleanup - remove event WSCONS_EVENT_WSMOUSED_SLEEP, WSCONS_EVENT_WSMOUSED_CLOSE.
shadchin [Sun, 21 Dec 2014 18:23:37 +0000 (18:23 +0000)]
Cleanup - remove event WSCONS_EVENT_WSMOUSED_SLEEP, WSCONS_EVENT_WSMOUSED_CLOSE.
Do not need it now.

ok mpi@

9 years agoWSMOUSE_INPUT_WSMOUSED_CLOSE not used anymore.
shadchin [Sun, 21 Dec 2014 18:16:07 +0000 (18:16 +0000)]
WSMOUSE_INPUT_WSMOUSED_CLOSE not used anymore.

ok mpi@

9 years agoPrevent writing to the kernel area via the direct map. We do this by padding
mlarkin [Sun, 21 Dec 2014 16:27:07 +0000 (16:27 +0000)]
Prevent writing to the kernel area via the direct map. We do this by padding
the end of the kernel area to 2MB, so that the direct map pages can then
have the W permission removed (X permission was already removed in a previous
diff). This creates a VA hole at the end of bss, so adjust for that since
that's where symbols get loaded by the bootloader (for now, map that region
RO until the boot loader can be updated to place the symbols at "end" instead
of "end of bss").

with help from and ok deraadt@

9 years agoUse -m for macro set selection in mandoc(1) mode only, not in man(1)
schwarze [Sun, 21 Dec 2014 14:49:00 +0000 (14:49 +0000)]
Use -m for macro set selection in mandoc(1) mode only, not in man(1)
and apropos(1) mode.  While here, put a space character between
options and option arguments in error messages.
Both reported by Alessandro DE LAURENZIS <just22 dot adl at gmail dot com>.

9 years agoAlways clear a port reset feature after setting it, or at least try to.
mpi [Sun, 21 Dec 2014 12:04:01 +0000 (12:04 +0000)]
Always clear a port reset feature after setting it, or at least try to.
Otherwise we might leave a port in an unwanted state.

Found while investigating timeout issues on xhci(4).

9 years agoVarious transfer improvements/fixes.
mpi [Sun, 21 Dec 2014 11:46:53 +0000 (11:46 +0000)]
Various transfer improvements/fixes.

Chain TRBs when submitting bulk or interrupt transfers with a length
bigger than the Maxium Packet Size of the endpoint.

Append a supplementary TRB if a zero length packet is required.

While here, set the flags of each TRB at once.  Even if this driver
implementation fills the first TRB of a chain last, be safe and make
sure the hardware wont miss any flag.

Note that with this change, DMA sync operations might not cover the
whole chain, just like for control transfers, if the ring is starting
over.

Previous version of this diff tested by Peter N. M. Hansteen, thanks!

9 years agoUse a bitmask when dumping TRB flags. No change in !XHCI_DEBUG.
mpi [Sun, 21 Dec 2014 11:20:24 +0000 (11:20 +0000)]
Use a bitmask when dumping TRB flags.  No change in !XHCI_DEBUG.

9 years agofix test-redef2:
espie [Sun, 21 Dec 2014 09:33:12 +0000 (09:33 +0000)]
fix test-redef2:
- introduce explicit STORAGE classes for the shadow stack entries
- delay freeing definitions if they're in-use, keep them in a simple array.

okay millert@

9 years ago<sys/endian.h> needs <sys/cdefs.h>
guenther [Sun, 21 Dec 2014 04:49:00 +0000 (04:49 +0000)]
<sys/endian.h> needs <sys/cdefs.h>

found previously by someone whose email I've lost; rediscovered by miod@
ok millert@ deraadt@

9 years agoStop pulling in <arpa/inet.h> or <arpa/nameser.h> when unnecessary.
guenther [Sun, 21 Dec 2014 00:54:49 +0000 (00:54 +0000)]
Stop pulling in <arpa/inet.h> or <arpa/nameser.h> when unnecessary.
*Do* pull it in when in_{port,addr}_h is needed and <netinet/in.h> isn't.

ok reyk@

9 years agoShow the sign for NaN as per POSIX; from Elliott Hughes.
daniel [Sun, 21 Dec 2014 00:23:30 +0000 (00:23 +0000)]
Show the sign for NaN as per POSIX; from Elliott Hughes.

ok martynas@, millert@, doug@

9 years agoFix build with -Werror -std=c99 -pedantic.
daniel [Sun, 21 Dec 2014 00:17:24 +0000 (00:17 +0000)]
Fix build with -Werror -std=c99 -pedantic.

ok schwarze@