openbsd
9 years agoSpecialisation of PkgAdd to do fw_update, not yet finished
espie [Sat, 27 Dec 2014 16:05:42 +0000 (16:05 +0000)]
Specialisation of PkgAdd to do fw_update, not yet finished

okay to import deraadt@

9 years agoOnly include "boot.h" if MD_RCRT0_START is defined. Should fix build on vax.
kettenis [Sat, 27 Dec 2014 16:04:22 +0000 (16:04 +0000)]
Only include "boot.h" if MD_RCRT0_START is defined.  Should fix build on vax.

ok miod@

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

ok kurt@

9 years agoChange the default entry point from _start to __start.
kettenis [Sat, 27 Dec 2014 13:21:08 +0000 (13:21 +0000)]
Change the default entry point from _start to __start.

ok kurt@, guenther@

9 years agoStatic PIE support for alpha.
kettenis [Sat, 27 Dec 2014 13:17:51 +0000 (13:17 +0000)]
Static PIE support for alpha.

This adds alpha-specific first-pass GOT relocation code to boot.h.
The assembly code is pure magic.  The numeric register
names don't make it easier to understand (or compare with the
equivalent ld.so code).  Unfortunately the assembler only understands
a few symbolic register names.

Renames the crt0.o entry point to __start.  Our compiler was already using
__start and the linker will soon follow.

ok kurt@

9 years agoMake ld.so process only R_ALPHA_RELATIVE relocations during early GOT
kettenis [Sat, 27 Dec 2014 13:13:25 +0000 (13:13 +0000)]
Make ld.so process only R_ALPHA_RELATIVE relocations during early GOT
relocation in _reloc_alpha_got(), and teach RELOC_RELA() to skip R_ALPHA_NONE
relocations (which are just nops used to fill out the relocation table).
Handling R_ALPHA_NONE relocations will be necessary for static PIE support
and it is not inconceivable that ld.so will end up with such relocations
at some point.

ok kurt@

9 years agoAs indicated by kettenis and kurt, hppa i386 powerpc now support static
deraadt [Sat, 27 Dec 2014 07:23:09 +0000 (07:23 +0000)]
As indicated by kettenis and kurt, hppa i386 powerpc now support static
pie.  snapshots matching this change in behaviour heading out soon.

9 years agosync
deraadt [Sat, 27 Dec 2014 06:51:42 +0000 (06:51 +0000)]
sync

9 years agoSRCDIRS must now always come from distrib/special. A few systems
deraadt [Sat, 27 Dec 2014 06:02:00 +0000 (06:02 +0000)]
SRCDIRS must now always come from distrib/special.  A few systems
still MD installboot, and we will need to repair those before
release, or force them pure -static use by both base and instbin.

9 years agoMore code. Transmitting packets somewhat works now.
kettenis [Fri, 26 Dec 2014 23:06:22 +0000 (23:06 +0000)]
More code.  Transmitting packets somewhat works now.

9 years agoDocument forward to in protocols.
benno [Fri, 26 Dec 2014 22:55:02 +0000 (22:55 +0000)]
Document forward to in protocols.

9 years agothe kvm.db is now kmem owned. noticed by Steven Roberts
tedu [Fri, 26 Dec 2014 21:17:32 +0000 (21:17 +0000)]
the kvm.db is now kmem owned. noticed by Steven Roberts

9 years agoRemove upgrade_to64time_t() now that the transition to 64 bit time_t
rpe [Fri, 26 Dec 2014 17:54:54 +0000 (17:54 +0000)]
Remove upgrade_to64time_t() now that the transition to 64 bit time_t
is done.

diff from tj at mrsk.me
OK halex@ deraadt@

9 years agoLink -static -pie executables on powerpc with rcrt0.o instead of crt0.o
kurt [Fri, 26 Dec 2014 13:53:43 +0000 (13:53 +0000)]
Link -static -pie executables on powerpc with rcrt0.o instead of crt0.o
such that they self-relocate. okay kettenis@

9 years agoSelf-relocation code for powerpc.
kurt [Fri, 26 Dec 2014 13:52:01 +0000 (13:52 +0000)]
Self-relocation code for powerpc.

9 years agonot necessary to define INET anymore
tedu [Fri, 26 Dec 2014 05:47:23 +0000 (05:47 +0000)]
not necessary to define INET anymore

9 years agounifdef INET. missed a few headers in previous rounds
tedu [Fri, 26 Dec 2014 05:46:32 +0000 (05:46 +0000)]
unifdef INET. missed a few headers in previous rounds

9 years agoWe no longer need -Wl,-Bsymbolic for -static -pie.
kettenis [Thu, 25 Dec 2014 23:15:26 +0000 (23:15 +0000)]
We no longer need -Wl,-Bsymbolic for -static -pie.

9 years agoDon't generate PLT entries for symbols defined in a regular object for
kettenis [Thu, 25 Dec 2014 23:11:21 +0000 (23:11 +0000)]
Don't generate PLT entries for symbols defined in a regular object for
-static -pie.

On sparc64, avoid generating GLOB_DAT relocs and convert certain absolute
relocs into RELATIVE relocs when we can for -static -pie.

With this change we don't need -Wl,-Bsymbolic anymore when building -static
-pie binaries.

ok millert@, kurt@

9 years agoDon't generate PLT entries for symbols defined in a regular object for
kettenis [Thu, 25 Dec 2014 23:10:17 +0000 (23:10 +0000)]
Don't generate PLT entries for symbols defined in a regular object for
-static -pie.

On sparc64, avoid generating GLOB_DAT relocs and convert certain absolute
relocs into RELATIVE relocs when we can for -static -pie.

With this change we don't need -Wl,-Bsymbolic anymore when building -static
-pie binaries.

ok millert@, kurt@

9 years agoreturn ERANGE instead of ENOMEM, so callers can differentiate real oom
benno [Thu, 25 Dec 2014 22:20:52 +0000 (22:20 +0000)]
return ERANGE instead of ENOMEM, so callers can differentiate real oom
from this case where we have a static buffer and cant realloc.

ok phessler, claudio, reyk

9 years agoUse archdep.h GOT_PERMS define for mprotect of GOT. okay kettenis@
kurt [Thu, 25 Dec 2014 21:38:45 +0000 (21:38 +0000)]
Use archdep.h GOT_PERMS define for mprotect of GOT. okay kettenis@

9 years agosubtraction of two void * is not well defined, plus two void * can be apart
otto [Thu, 25 Dec 2014 20:13:14 +0000 (20:13 +0000)]
subtraction of two void * is not well defined, plus two void * can be apart
more than an int can hold; ok krw@ deraadt@ and tedu@ (by implication)

9 years agoDelete misleading and dangerous comment about customising STATIC. Nowadays,
pascal [Thu, 25 Dec 2014 18:58:34 +0000 (18:58 +0000)]
Delete misleading and dangerous comment about customising STATIC.  Nowadays,
it's not a user-settable knob.

general agreement from miod@ kettenis@ deraadt@

9 years agoReduce memory and time consumption on certain malformed input files
schwarze [Thu, 25 Dec 2014 17:18:40 +0000 (17:18 +0000)]
Reduce memory and time consumption on certain malformed input files
by limiting the length of expanded input lines during the
(usually recursive) expansion of user defined strings.
Resource hogging found by jsg@ with afl.

9 years agoSupport negative indentations for mdoc(7) displays and lists.
schwarze [Wed, 24 Dec 2014 23:31:59 +0000 (23:31 +0000)]
Support negative indentations for mdoc(7) displays and lists.
Not exactly recommended for use, rather for groff compatibility.
While here, introduce similar SHRT_MAX limits as in man(7),
fixing a few cases of infinite output found by jsg@ with afl.

9 years agoPass real sizes to free().
miod [Wed, 24 Dec 2014 22:48:27 +0000 (22:48 +0000)]
Pass real sizes to free().

9 years agosimplify crypt_checkpass. The API promise is that this function doesn't
tedu [Wed, 24 Dec 2014 22:10:34 +0000 (22:10 +0000)]
simplify crypt_checkpass. The API promise is that this function doesn't
use global data. The simplest fix is to only check blowfish passwords,
and implicitly lock out DES passwords.
crypt_checkpass is currently only used in one place, passwd, to verify
the local user's password, so this is probably acceptable.
Gives people a little more time to migrate away from DES before introduing
checkpass into more places.

9 years agosimplify. bcrypt only support and use newer libc APIs. no makekey emul.
tedu [Wed, 24 Dec 2014 22:04:26 +0000 (22:04 +0000)]
simplify. bcrypt only support and use newer libc APIs. no makekey emul.
ok deraadt
schwarze is a little sad to see the last 1/8 shared man page go, but we
have a support program in place, called the attic.

9 years agoPartially revert 1.46 and print more details when panicing at the end of
miod [Wed, 24 Dec 2014 21:15:30 +0000 (21:15 +0000)]
Partially revert 1.46 and print more details when panicing at the end of
trap(). This is expected to reduce loss of hair. ok deraadt@

9 years agotsciic(4): i2c controller onboard Tsunami and Titan chipsets, gives access to
miod [Wed, 24 Dec 2014 18:46:12 +0000 (18:46 +0000)]
tsciic(4): i2c controller onboard Tsunami and Titan chipsets, gives access to
the fan sensors on systems without RMC. From NetBSD, ok deraadt@

9 years agoFor .RS, we need to save the information how much we actually indented
schwarze [Wed, 24 Dec 2014 18:03:34 +0000 (18:03 +0000)]
For .RS, we need to save the information how much we actually indented
because negative indents can get truncated, in which case we no longer
know how to restore the original indent at the end of the block.
This also solves another case of effectively infinite output found
by jsg@ with afl, triggered by very large negative indents.

9 years agoPrevent unsigned integer underflow when a number is too wide
schwarze [Wed, 24 Dec 2014 15:37:23 +0000 (15:37 +0000)]
Prevent unsigned integer underflow when a number is too wide
for a table cell with an "nz" layout specification,
causing essentially infinite output as found by jsg@ with afl.

9 years agoExpand Elf_Rel relocations to include DT_JMPREL. Inspect DT_PLTREL value
kurt [Wed, 24 Dec 2014 14:04:09 +0000 (14:04 +0000)]
Expand Elf_Rel relocations to include DT_JMPREL. Inspect DT_PLTREL value
to determine if DT_JMPREL relocations are REL or RELA and conditionally
perform DT_JMPREL in either REL or RELA as needed (idea from kettenis@).
Remove unneeded i386 RELA implementation. i386 static pie working now.

okay kettenis@

9 years agobump version
eric [Wed, 24 Dec 2014 13:53:39 +0000 (13:53 +0000)]
bump version

9 years agoCorrectly fallback to PLAIN if opportunistics TLS fails during TLS handshake.
eric [Wed, 24 Dec 2014 13:51:31 +0000 (13:51 +0000)]
Correctly fallback to PLAIN if opportunistics TLS fails during TLS handshake.

fix by Stefan Sieg

ok gilles

9 years agoImplement some kind ordering in the startup of package script daemons.
ajacoutot [Wed, 24 Dec 2014 13:04:43 +0000 (13:04 +0000)]
Implement some kind ordering in the startup of package script daemons.
'rcctl order ...' will prepend the daemon(s) given as argument to the
pkg_scripts line (it can be all daemons, some, or just one).
Without argument, it'll display the current order.

While here, drop a couple of examples from the man page to only leave
the most interesting one.

ok schwarze@ rpe@ (with tweaks) jasper@ robert@ sthen@

9 years agorecheck list for non emptyness *after* filtering obsolete packages.
espie [Wed, 24 Dec 2014 12:50:22 +0000 (12:50 +0000)]
recheck list for non emptyness *after* filtering obsolete packages.

9 years agoWhen a man(7) document contains unreasonably large numbers for
schwarze [Wed, 24 Dec 2014 09:57:41 +0000 (09:57 +0000)]
When a man(7) document contains unreasonably large numbers for
indentations or paragraph distances, large output may be generated,
which is practically the same as an endless loop; found by jsg@
with afl.
Reject such unreasonably large numbers beyond arbitrary limits
similar to those used by groff (max. 65 blank lines between paragraphs
and max. SHRT_MAX characters per output line) and fall back to
defaults when exceeded.  Having the limits behave in exactly the
same way is not relevant.

9 years agoFix previos. Pointed out by kurt@.
kettenis [Wed, 24 Dec 2014 08:58:46 +0000 (08:58 +0000)]
Fix previos.  Pointed out by kurt@.

9 years agomissing include
eric [Wed, 24 Dec 2014 08:43:58 +0000 (08:43 +0000)]
missing include

9 years agoUse an extension that installperl skips for the Config_heavy modifications
afresh1 [Wed, 24 Dec 2014 04:45:44 +0000 (04:45 +0000)]
Use an extension that installperl skips for the Config_heavy modifications

9 years agoAvoid /usr/local while building perl, but allow it for ports
afresh1 [Wed, 24 Dec 2014 03:53:04 +0000 (03:53 +0000)]
Avoid /usr/local while building perl, but allow it for ports

commit it deraadt@

9 years agoAdd missing argument names, and sync the argument types and names with
lteo [Wed, 24 Dec 2014 03:25:42 +0000 (03:25 +0000)]
Add missing argument names, and sync the argument types and names with
the ones used in the code.

pointed out by schwarze@

9 years agoClean up CIPHERS and related sections:
lteo [Wed, 24 Dec 2014 03:22:17 +0000 (03:22 +0000)]
Clean up CIPHERS and related sections:

- Sync cipher strings with the ones that are actually implemented.

- Remove CIPHERS SUITE NAMES (the actual cipher suites can be obtained
  via "openssl ciphers -v"), CIPHERS NOTES, and CIPHERS HISTORY
  sections.

- Stop mentioning export cipher suites since they have already been
  removed.

feedback from deraadt@ and jmc@
ok jmc@

9 years agoKNF and add a little more debug()
djm [Tue, 23 Dec 2014 22:42:48 +0000 (22:42 +0000)]
KNF and add a little more debug()

9 years agoPass real sizes to free()
miod [Tue, 23 Dec 2014 21:39:12 +0000 (21:39 +0000)]
Pass real sizes to free()

9 years agoFix an obvious free() argument misuse which has been there since r1.1.
miod [Tue, 23 Dec 2014 21:20:40 +0000 (21:20 +0000)]
Fix an obvious free() argument misuse which has been there since r1.1.

9 years agoas in libc, always assume digest is passed to Final. no null allowed.
tedu [Tue, 23 Dec 2014 20:40:06 +0000 (20:40 +0000)]
as in libc, always assume digest is passed to Final. no null allowed.

9 years agoUse the page size passed by the kernel in the Auxilliary Vector to handle
kettenis [Tue, 23 Dec 2014 20:38:20 +0000 (20:38 +0000)]
Use the page size passed by the kernel in the Auxilliary Vector to handle
architectures with variable page size.

9 years agoas in libc, there's no need to check for calling Init on null context
tedu [Tue, 23 Dec 2014 20:34:41 +0000 (20:34 +0000)]
as in libc, there's no need to check for calling Init on null context

9 years agonot necessary to zero hash context; the hash final functions all do that.
tedu [Tue, 23 Dec 2014 20:32:05 +0000 (20:32 +0000)]
not necessary to zero hash context; the hash final functions all do that.

9 years agotmp is a bad name for a shactx
tedu [Tue, 23 Dec 2014 20:29:23 +0000 (20:29 +0000)]
tmp is a bad name for a shactx

9 years agoUse ${STATIC} instead of hardcoded -static in order to take advantage of
pascal [Tue, 23 Dec 2014 19:32:16 +0000 (19:32 +0000)]
Use ${STATIC} instead of hardcoded -static in order to take advantage of
static pie.

ok deraadt@ miod@ benno@

9 years agouse endian.h swap macros instead of home grown versions
tedu [Tue, 23 Dec 2014 19:21:58 +0000 (19:21 +0000)]
use endian.h swap macros instead of home grown versions

9 years agonew SRCDIRS model seems to work
deraadt [Tue, 23 Dec 2014 17:42:57 +0000 (17:42 +0000)]
new SRCDIRS model seems to work

9 years agosparc64 can move to static pie
deraadt [Tue, 23 Dec 2014 17:20:11 +0000 (17:20 +0000)]
sparc64 can move to static pie

9 years agosuccessful switchover to non-reach-around SRCDIR
deraadt [Tue, 23 Dec 2014 17:17:16 +0000 (17:17 +0000)]
successful switchover to non-reach-around SRCDIR

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@