Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
ok deraadt
|
|
up to 3 times slower than the C code most of the time. This was
brought up by DragonflyBSD guys initially.
ok deraadt, guenther. miod will not miss it.
|
|
|
|
getting rid of the (hopefully) last bug in this code.
|
|
|
|
|
|
from bcopy.m4. Fix that.
|
|
|
|
Also fix the return value of memcpy. With these changes, this seems to
work as advertised now.
|
|
|
|
boot blocks is worth having.
|
|
|
|
|
|
if the addresses are 4-byte aligned.
ok jsing@
|
|
from NetBSD. ok miod@ drahn@
|
|
ok deraadt@
|
|
code. Missing chunks of the API are imported from the libc version,
with a few #ifdef's to port it into the kernel environment.
The bootblocks already used the newer code, and should encounter no
surprises since there are so few changes to the existing files. In
the kernel, ipcomp and kernel ppp are changed to the new API.
ipcomp has been tested.
ok tedu the brave
|
|
|
|
|
|
|
|
|
|
do 32-bit block spanning. If later on we get some that can/should do
64-bit, that can be done now using daddr64_t (but of course, we are taking
this step to finalize the daddr_t 64-bit conversion).
ok miod krw
|
|
|
|
local registers for a few temporaries. This was changed to use two global
registers. Maybe to permit use in-kernel without conflicting with the
register V7 register window handlers. (Was this done by Chris Torek? Is this
related to Gordon Irlam's work? Or was it in NetBSD? Hard to tell because
NetBSD removed their original cvs tree.)
In V8 the ABI was tightened; more global registers became offlimits in
different ways. We started supporting sun4m, and did not consider this.
As a result, the global registers chosen are the wrong choice. In
particular, %g7 is a poor choice for upcoming TLS work. It looks like
it is safer to use %g5 and %g6 since these functions are "system software".
All re-entrant parts of the system save it.
On sparc64 these functions are in libc per ABI requirement, but are unused.
On sparc, they occur in bootblocks (no reentrancy), kernel (reentrancy saves
globals; kernel is not ABI compliant), userland libc (signal handlers save
globals), and ld.so (symbol binding is not re-entrant on its own).
Discussed rather extensively with guenther, kettenis, miod and drahn.
|
|
TIMEZONE and DST...
|
|
unlike normal bzero, we guarantee that the compiler will not optimize out
calls to this function for otherwise dead variables.
to be adjusted as needed when compilers and linkers get smarter.
ok deraadt miod
|
|
ok deraadt@
|
|
|
|
no binary change
ok deraadt@
|
|
ok djm@, deraadt@
|
|
as suggested by miod.
ok miod@
|
|
|
|
ok kettenis@
|
|
|
|
file load if necessary. Will be used very shortly.
|
|
was breaking non GNUC defining compilers.
Came up during a conversation with ragge@, positive
comments from several.
|
|
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms
|
|
traditionnaly found in libkern. However, the memcmp() flavour would behave
as bcmp() with only two possible return values: zero and positive non-zero.
This broke the name cache RB trees which now rely upon proper memcmp()
semantics(negative value, zero, or positive value).
Just give up on these macros and provide the same code as libc, in libkern.
As a side effect, this no longer uses the cmpc3 instruction, which is not
implemented and requires (slow) kernel emulation, on the original uVax.
|
|
|
|
and to override the way HEAP_START and HEAP_LIMIT are defined.
|
|
According to RFC1350 there should be always be a terminating NUL.
Andre Gillibert on bugs@ pointed out that the misformed packets
caused Gentoo Linux's tftpd (atftpd) to crash trying to transfer
pxeboot to an OpenBSD machine.
This is slightly different diff than the one proposed by Andre, but
he confirms it also fixes the problem.
"looks like a better diff to me" deraadt@.
|
|
ok form@ kettenis@
|
|
won't be allocated. Check for this in close() so as not to free() bogus
pointers.
|
|
which are uniform for the profclock on each cpu in a SMP system (but using
a different seed for each cpu). on all cpus, avoid seeding with a value out
of the [0, 2^31-1] range (since that is not stable)
ok kettenis drahn
|
|
has never been performance sensitive.
Running on all platforms, discussed with millert and kettenis, ok toby
|
|
long ints for alpha. we've got only one instruction (cvttq) to
convert double-t to quadword, and float64_to_int64 did not take
into account the unsigned conversions
therefore, overflow always occured, and half of the unsigned range
(LONG_MAX .. ULONG_MAX) was broken
introduce roundAndPackInt64NoOverflow and float64_to_int64_no_overflow
for softfloat, that works with unsigned integers as well. note
that this will return zero for nan/inf/oflow/uflow, raising exception
flag
perl is happy now
looked over by miod@
tested by naddy@, and by me on nick@'s alpha
|
|
Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.
OK deraadt@
|