Commit Graph

583 Commits

Author SHA1 Message Date
rillig b102417f76 Fixed the gcc warning that "static" should come before "const". 2006-07-16 06:06:20 +00:00
matt 53ea8158b4 With VAX & GCC4, use builtin memset and memmove. 2006-07-08 00:24:26 +00:00
kardel de4337ab21 merge FreeBSD timecounters from branch simonb-timecounters
- struct timeval time is gone
  time.tv_sec -> time_second
- struct timeval mono_time is gone
  mono_time.tv_sec -> time_uptime
- access to time via
	{get,}{micro,nano,bin}time()
	get* versions are fast but less precise
- support NTP nanokernel implementation (NTP API 4)
- further reading:
  Timecounter Paper: http://phk.freebsd.dk/pubs/timecounter.pdf
  NTP Nanokernel: http://www.eecis.udel.edu/~mills/ntp/html/kern.html
2006-06-07 22:33:33 +00:00
uwe 497c1ccc27 Provide __movmem* aliases to __movstr* functions.
Gcc4 uses movmem, older versions use movstr.
2006-05-22 21:34:08 +00:00
uwe 9001bc2fd8 G/c #ifdef PIC we inherited from the userland. 2006-05-22 20:56:44 +00:00
thorpej b69c14413b Support for building proplib in the kernel. 2006-04-27 20:43:09 +00:00
uwe e983955bb3 libc gets gcc millicode from libgcc, so we don't need to keep it
in src/common.  Move it to sys/lib/libkern/arch/sh3.
2006-04-22 22:48:53 +00:00
thorpej 7d3d66c90e Move strtoumax.c from libc/stdlib to common/libc/stdlib and include it
in libkern.  Required for new code coming soon.
2006-04-22 15:33:33 +00:00
christos c76b868cf4 Imply DIAGNOSTIC if __COVERITY__. 2006-04-15 01:09:34 +00:00
christos 147a6ae8fb If __COVERITY__ is defined, turn on KASSERT and _DIAGASSERT. 2006-04-14 18:24:56 +00:00
nonaka 5918a2e057 Always _LOCORE is defined for standalone program. 2006-04-14 09:23:01 +00:00
cherry 39ba8074f1 Fixed CVS version headers 2006-04-07 14:27:33 +00:00
cherry ba7cbe760f Initial import of arch/ia64 sources.
These sources are ported from FreeBSD/ia64 code.
See individual source files for credits.
In addition, code from NetBSD/alpha NetBSD/sparc64,
NetBSD/i386 and NetBSD/amd64 were used as templates,
along with my own additions.
2006-04-07 13:57:43 +00:00
tsutsui b3e724899c Remove unused file. Pointed out by uwe. 2006-03-30 13:44:51 +00:00
martin 972ca1ead8 Remove an unused, obsolete copy (pointed out by Valeriy E. Ushakov). 2006-03-30 08:07:47 +00:00
uwe 4dff387338 G/c this stale copy of SYS.h. It has not been updated since 1999. It
has not been used since an unused copy of setjmp.S has been removed
from here in 2002 (i386 removed its own in 1999).
2006-03-30 02:13:10 +00:00
dyoung 321a3122bb Per discussion on source-changes@, add __arraycount(array) for
counting the number of elements in a static array, using the idiom,
sizeof(array)/sizeof(array[0]).

XXX This may move in the future, but this is a safe place to put
XXX it for use in the kernel.
2006-03-27 21:18:33 +00:00
kleink 31930d4de5 Provide BCD<->binary conversion in libkern and turn <dev/clock_subr.h>'s
FROMBCD()/TOBCD() macros into wrappers around it, resulting in both
smaller code footprint and elimination of possible issues due to
multiple evaluation of macro arguments.

Suggested by Simon Burge and Anders Gavare on tech-kern.
2006-03-11 15:40:07 +00:00
dyoung cafe884d2c Change macro names to avoid collisions:
BIT -> __BIT
BITS -> __BITS
2006-03-08 08:26:50 +00:00
dyoung f66403a698 Move my bit-twiddling macros to libkern.h from my drivers, where
I had duplicated them.  Improve the macros' names.  Simplify their
implementation.

A brief description of each macro is below.

        BIT(n): Return a bitmask with bit m set, where the least
                significant bit is bit 0.

        BITS(m, n): Return a bitmask with bits m through n, inclusive,
                    set.  It does not matter whether m>n or m<=n.
                    The least significant bit is bit 0.

        A "bitfield" is a span of consecutive bits defined by a
        bitmask, where 1s select the bits in the bitfield.  SHIFTIN,
        SHIFTOUT, and SHIFTOUT_MASK help read and write bitfields
        from device registers.

        SHIFTIN(v, mask): Left-shift bits `v' into the bitfield
                          defined by `mask', and return them.  No
                          side-effects.

        SHIFTOUT(v, mask): Extract and return the bitfield selected
                           by `mask' from `v', right-shifting the
                           bits so that the rightmost selected bit
                           is at bit 0.  No side-effects.

        SHIFTOUT_MASK(mask): Right-shift the bits in `mask' so that
                             the rightmost non-zero bit is at bit
                             0.  This is useful for finding the
                             greatest unsigned value that a bitfield
                             can hold.  No side-effects.  Note that
                             SHIFTOUT_MASK(m) = SHIFTOUT(m, m).

Examples:

/*
 * Register definitions taken from the RFMD RF3000 manual.
 */
#define RF3000_GAINCTL          0x11            /* TX variable gain control */
#define         RF3000_GAINCTL_TXVGC_MASK       BITS(7, 2)
#define         RF3000_GAINCTL_SCRAMBLER        BIT(1)

/*
 * Shift the transmit power into the transmit-power field of the
 * gain-control register and write it to the baseband processor.
 */
atw_rf3000_write(sc, RF3000_GAINCTL,
    SHIFTIN(txpower, RF3000_GAINCTL_TXVGC_MASK));


/*
 * Register definitions taken from the ADMtek ADM8211 manual.
 *
 */
#define ATW_RXSTAT_OWN          BIT(31)         /* 1: NIC may fill descriptor */
/* ... */
#define ATW_RXSTAT_DA1          BIT(17)         /* DA bit 1, admin'd address */
#define ATW_RXSTAT_DA0          BIT(16)         /* DA bit 0, group address */
#define ATW_RXSTAT_RXDR_MASK    BITS(15,12)     /* RX data rate */
#define ATW_RXSTAT_FL_MASK      BITS(11,0)      /* RX frame length, last
                                                 * descriptor only
                                                 */

/* Extract the frame length from the Rx descriptor's
 * status field.
 */
len = SHIFTOUT(rxstat, ATW_RXSTAT_FL_MASK);
2006-03-08 00:24:06 +00:00
perry fbae48b901 Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
2006-02-16 20:17:12 +00:00
uwe 0fc70b4831 Add bswap16.c and bswap32.c to SRCS. We need fallback versions for
kernels compiled without optimization (and thus without inlining of
bswap16 and bswap32)
2006-02-04 23:33:37 +00:00
uwe e7b43156c5 Truncate the argument to 16 bit with extu.w 2006-02-04 22:24:26 +00:00
yamt 43308ea339 fix build of bzero.
XXX is it better to remove it as i386?
2005-12-27 08:49:35 +00:00
perry 4a2c58419f __asm__ -> __asm 2005-12-24 23:29:06 +00:00
perry 0f0296d88a Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete. 2005-12-24 20:45:08 +00:00
christos f852d21f71 Add the state setting functions for the new random function, but use the
small one by default, so that we can switch in the future if we want to.
2005-12-21 14:24:44 +00:00
christos 153f1146ed Use common sources with userland. 2005-12-20 19:35:26 +00:00
christos 6fcf9fd532 Provide _DIAGASSERT and NULL, so that we don't have to do it in *all* the
libkern files.
Also the new inet_addr, provides inet_aton; advertise it.
2005-12-20 19:35:12 +00:00
christos 95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
chs 8b17730eac put mcount.c in the normal object list, so that "make depend" works.
use a gcc attribute to prevent it from being instrumented.
2005-10-02 15:34:17 +00:00
uebayasi e6760038b8 Redo previous; don't add mcount.po to POBJS when MKPROFILE=no. 2005-08-25 08:55:42 +00:00
uebayasi bab482f18d Create mcount.po only when MKPROFILE != no. 2005-08-25 08:34:50 +00:00
simonb bdc552eaee KNF nit. 2005-07-27 12:41:09 +00:00
tron b1be36cfb8 Don't use a static buffer in SHA1Transform() because it might cause
various problems including sporadic IPSec authentification failures
if this code is used by multiple instances in parallel.
2005-06-30 13:08:46 +00:00
scw 9931d6382c Re-sync with libc version of memcpy_arm.S, which has deals correctly
with big-endian ARM (non-XScale) systems.
2005-06-02 08:20:53 +00:00
christos f69f7eea28 add missing const 2005-05-31 00:57:07 +00:00
reed b8643619e6 Use ${TOOL_M4} instead of "m4". (I only tested this fix
for sparc but not sparc64 or alpha yet.)

Noticed problem when building NetBSD/sparc from a Linux/i386 host
that didn't have "m4".
2005-04-22 00:22:55 +00:00
dsl 4f6d146592 KNF 2005-03-12 16:39:41 +00:00
perry 477853c351 nuke trailing whitespace 2005-02-26 22:58:54 +00:00
uwe 36ae53aba9 MBR_PTYPE_APPLE_UFS is now spelled with an underscore. 2004-11-12 19:34:43 +00:00
sekiya 77aa58c5b4 Use 64-bit-clean addition/subtraction opcodes for pointer arithmetic iff
_LP64 is defined.
2004-09-29 04:45:26 +00:00
enami 41122731c8 Redo part of rev. 1.10. 2004-09-17 21:54:28 +00:00
yamt 64308e90f3 arc4random: fix a bug introduced by rev.1.7.
actually generate four bytes random value, rather than
leaving a byte always zero.
2004-09-08 04:06:15 +00:00
christos 5d1f319c56 add __UNCONST 2004-07-01 19:04:14 +00:00
christos 3e36df0496 avoid string const cast-aways. 2004-06-30 13:45:54 +00:00
christos db25564166 remove useless typedef and casts 2004-06-30 13:45:21 +00:00
yamt f502110937 add '.L' prefixes to local labels. 2004-04-15 09:20:29 +00:00
keihan b8702f530b netbsd.org -> NetBSD.org
This was the last commit of this kind to src/sys, which is now totally
"NetBSD.org clean".  Thanks for the patiance, and sorry for all the commits.
2003-12-04 13:57:30 +00:00
keihan 8476e6755a NetBSD.ORG -> NetBSD.org
Now all "NetBSD.ORG" are gone from src/sys.
2003-12-04 12:42:54 +00:00