summaryrefslogtreecommitdiff
path: root/sys/lib
AgeCommit message (Collapse)Author
2014-01-19Initialize ci_randseed better using arc4random() + a trick. Remove theTheo de Raadt
libkern srandom() API since it is not suitable for this use. ok kettenis miod
2014-01-09tiny tweak to asm. prefer memcpy and memmove, with bcopy wrapperTed Unangst
ok guenther
2013-12-28Try to load entropy data from disk:/etc/random.seed, and additionallyTheo de Raadt
use a MD-supplied random function. Then, insert this into the ELF openbsd.randomdata of the kernel, so that it has entropy right from the start. Some help from jsing for the softraid aspects. Also tested by phessler
2013-11-12avoid math on void * pointersTheo de Raadt
(a few years ago, people went far too void * happy, it was like a drug or something)
2013-10-17more a.out/ecoff removal; ok phesslerTheo de Raadt
2013-07-11add fls/flsl functions to find the last bit set in a valueJonathan Gray
from FreeBSD ok mikeb@ haesbaert@ deraadt@
2013-07-05VAX ELF kernel bits.Miod Vallat
2013-06-17m68k kernel memcpy/memmove/bcopy implementation in libkern, remove ovbcopy, ↵Janne Johansson
fix for larger than 128k size copies. Parts from deraadt@, ok (and off-by-one fix) miod@
2013-06-15Fast memmove() implementation for PowerPC, from NetBSD via martin@; withMiod Vallat
bcopy() and memcpy() wrappers.
2013-06-15Fix evil typo causing the wrong pointer to be returned for < 32 bytesMiod Vallat
memcpy() or memmove().
2013-06-15Preserve %o5 around Lbcopy_doubles; prevents the return value from memcpy()Miod Vallat
and memmove() to be incorrect for copies of 32 bytes or more, when the source and destination addresses are nicely aligned.
2013-06-15Make bcopy() involve memmove(), not memcpy().Miod Vallat
Do not bogusly return NULL if dst == src (spotted by tedu@)
2013-06-15Correctly handle a length of zero in memcpy().Miod Vallat
Return the original destination pointer in memcpy() and memmove().
2013-06-15Don't return garbage in memcpy() but the original destination pointer.Miod Vallat
2013-06-15give bcopy() the ovbcopy() semanticsMiod Vallat
2013-06-14regenMark Kettenis
2013-06-14ovbcopy begoneMark Kettenis
2013-06-14regenMark Kettenis
2013-06-14Fix memcpy/memmove return value.Mark Kettenis
2013-06-14regenMark Kettenis
2013-06-13new integral bcopy/memmove/memcpy, pulled out of sparc locoreTheo de Raadt
tested by beck
2013-06-13syncronize "look in other file" messagesTheo de Raadt
2013-06-13merged bcopy/memmove/memcpyTheo de Raadt
tested by bcallah, proofed by jasper, ok tedu
2013-06-13rework the memcpy family to all use one function body and implementTed Unangst
desired semantics. ok deraadt
2013-06-13Remove pointless instruction in the memcpy path that snuck in with theMark Kettenis
previous commit. ok deraadt@
2013-06-13take libc bcopy, gut the #ifdefs for other modes, and place it here.Theo de Raadt
Now deficient architectures can use this if they need to. conf/files already tries to pull this in (pointed out by mlarkin)
2013-06-13ovbcopy begoneTheo de Raadt
2013-06-13same bcopy/memmove/memcpy methodology for vax.Theo de Raadt
checked over by mlarkin
2013-06-13merge bcopy/memmove/memcpy into one file, with jumps so that it is moreTheo de Raadt
likely to be in the cache (like how the explanation is split between multiple commits?) tested by various
2013-06-13merge memcpy/memmove/bcopy into one file, with sub-jumps.Theo de Raadt
ok .... I guess noone, because it is summer
2013-06-13merge bcopy/memcpy/memmove into one function.Theo de Raadt
ok mlarkin tedu
2013-06-12From now on, the MI libkern memcpy should not do overlap handling.Theo de Raadt
2013-06-11regenMark Kettenis
2013-06-11Optimize memcpy(9) by always doing a forward copy; it should never be usedMark Kettenis
for overlapping copies. Attempt to be instruction cache friendly by turning things around and make memcpy(9) use the forward copy branch of memmove(9), and implement bcopy(9) by swapping its arguments and dropping into memmove(9). Same change as the one just made to for hppa.
2013-06-11remove ovbcopy supportTheo de Raadt
ok kettenis
2013-06-11regenMark Kettenis
2013-06-11Optimize memcpy(9) by always doing a forward copy; it should never be usedMark Kettenis
for overlapping copies. Attempt to be instruction cache friendly by turning things around and make memcpy(9) use the forward copy branch of memmove(9), and implement bcopy(9) by swapping its arguments and dropping into memmove(9). ok deraadt@
2013-06-11portable memmove(), for if an architecture lacks a custom optimizedTheo de Raadt
version.
2013-06-08Add CTASSERT macro, for compile time assertionsStefan Fritsch
ok kettenis@
2013-06-07Add {,u}{div,mod}si3 to libkern and to the kernel as well.Miod Vallat
2013-06-03fix an oft copied typo that i'm tired of looking atTed Unangst
2013-05-30UFS does't do inode numbers >2^32, so use a smaller type internally,Philip Guenther
only using ino_t in the VFS layer APIs: vget, readdir, getattr. otto wrote the original diff for libsa to keep bootblock from overflowing ok deraadt@ kettenis@
2013-03-12Fix kernel profiling on MP systems by using per-CPU buffers and teachMartin Pieuchot
kgmon(8) to deal with them, this time without public header changes. Previously various CPUs were iterating over the same global buffer at the same time to modify it and never ended. This diff includes some ideas submited by Thor Simon to NetBSD via miod@. ok deraadt@, mikeb@, haesbaert@
2013-02-12Back out per-CPU kernel profiling, it shouldn't modify a public headerMartin Pieuchot
at this moment.
2013-02-11Fix kernel profiling on MP systems by using per-CPU buffer. PreviouslyMartin Pieuchot
various CPUs were iterating over the same global buffer at the same time to modify it and never ended. This diff includes some ideas submited by Thor Simon to NetBSD via miod@. ok mikeb@, haesbaert@
2013-02-02Kernel bits for m68k/ELF, mostly from NetBSD. In addition, the `pmod' symbelMiod Vallat
in fpsp has to be renamed due to a clash with other parts of the kernel.
2013-01-16replace __attribute__((unused)) with __used, which will be defined to theDavid Gwynne
right thing for whichever compiler we use. found while trying to build a profiled kernel on sparc64. solution found by guenther and refined by miod and kettenis. ok guenther@ kettenis@
2013-01-07Move exec() libsa prototype to hp300 stand, now that it can no longer beMiod Vallat
found in libsa.
2013-01-05Switch m88k ports to ELF.Miod Vallat
2013-01-01Remove libsa exec.c, not used by anything anymore; all boot blocks now useMiod Vallat
loadfile or a derivative of.