Commit Graph

1728 Commits

Author SHA1 Message Date
dholland 979b72c6a6 gets_s -> kgets.
The exact name isn't that important; but it is important not to use
"gets_s" and thereby allow anyone to falsely get the impression we're
implementing Annex K. We aren't.

ok core.
2016-06-11 06:20:11 +00:00
christos aab1a996f7 dedup 2016-06-05 15:05:49 +00:00
maxv 6896e29d1e Remove the ALLOC_FIRST_FIT and ALLOC_TRACE options. This is a rather simple
allocator, and it does not need to be that complicated.
2016-06-05 13:44:48 +00:00
maxv f5998d880a Use gets_s instead of gets. The x86 bootloader prompt is easy to
overflow.
2016-06-05 13:33:03 +00:00
rtr a44831a800 provide const versions of container_of macros.
discussed with riastradh@ by email
2016-05-11 03:17:22 +00:00
christos ee17f398d4 move scsipi_strvis -> libkern:strnvisx()
change the prototype to match userland
fix sizes of strings passed to it
2016-05-02 19:18:29 +00:00
riastradh 96b890b34c Fix relation in rngtest failure message to match reality. 2016-03-28 15:20:16 +00:00
mrg 65f5251eae remove a bunch of "@echo done" from the tail of rules. these messages
were vaguely useful back when we didn't run make -j, but now you end
up with a single line "done" every so often, with no idea what it is
for.  very few other targets claim they're done so just remove these.
2016-03-22 08:25:22 +00:00
christos 95614a30c2 PR/50952: David Binderman: Clarify expression 2016-03-11 18:38:25 +00:00
tsutsui 89a198b4f5 Add an option (LIBSA_CREAD_NOCRC) to disable gunzip CRC32 calculation.
No obvious sideeffect on booting i386 GENERIC kernels (without the option).
Closes PR/50638 (Extreme slowness on loading gzipped kernels on old CPUs).
2016-01-17 04:35:42 +00:00
mrg 091c49eab9 remove "@echo done" from 4 rules that don't need it and the random "done"
in my build logs don't help understanding.
2015-10-29 00:18:55 +00:00
uebayasi ea72de740f Order library object build. 2015-09-07 03:44:19 +00:00
uebayasi 9068ec741b Sprinkle more done messages. 2015-09-07 03:20:18 +00:00
uebayasi dd204a345e In kernel lib build, print message when things not only start bug also end. 2015-09-06 15:34:55 +00:00
uebayasi f1616b9172 Set buildprefix. 2015-09-03 02:46:04 +00:00
uebayasi 593f1cf00f Use "prefix" to specify path out of $S. 2015-09-01 13:46:29 +00:00
dholland ec175d5025 Add new accessors for the d_type and d_namlen fields of struct lfs_direct.
Napalm the old byteswap access logic for these.
2015-09-01 06:16:58 +00:00
dholland eb2560adae The ifile's inode number is constant. (it is always 1)
Therefore, storing the value in the superblock and reading it out
again is silly and offers the opportunity for it to become corrupted.
So, don't do that (most of the code already didn't) and use the
existing constant instead. Initialize new 32-bit superblocks with
the value for the sake of old userland programs, but don't keep the
value in the 64-bit superblock at all.

(approved by Margo Seltzer)
2015-09-01 06:12:04 +00:00
uebayasi e7a049ec66 Include opt_diagnostic.h. 2015-08-30 07:55:45 +00:00
dholland b1828e0ba3 Hack up dinode usage to be 64 vs. 32 as needed. Part 1.
(This part changes the native lfs code; the ufs-derived code already
has 64 vs. 32 logic, but as aspects of it are unsafe, and don't
entirely interoperate cleanly with the lfs 64/32 stuff, pass 2 will be
rehashing that.)
2015-08-12 18:28:00 +00:00
dholland 32577c4f1c Add IFILE32 and IFILE64 structures for the on-disk ifile entries.
Add and use accessors. There are also a bunch of places that cast and
I hope I've found them all...
2015-08-12 18:25:51 +00:00
dholland 9e5184b86b Add a (draft) 64-bit superblock. Make things build again.
Add pieces of support for using both superblock types where
convenient, and specifically to the superblock accessors, but don't
actually enable it anywhere.

First substantive step on PR 50000.
2015-08-02 18:18:09 +00:00
tsutsui f2142f537b Revert untested and unnecessary change in previous rev 1.36.
Our autobuild doesn't always reflect the latest fixes.
2015-07-30 15:29:52 +00:00
christos 7c7a7b43d2 add mulsi3, needed by inet_addr.o 2015-07-30 07:44:40 +00:00
dholland 62d11b422e Move struct salfs back inside libsa now that lfs_accessors.h is separate. 2015-07-28 05:13:14 +00:00
dholland 34f0d74c9e Add a new lfs header file: lfs_accessors.h.
This contains all the accessor functions and macros out of lfs.h.
Add an include of lfs_accessors.h after all uses of lfs.h... except
for code that wants to define its own struct lfs-alike that the
accessors are supposed to play along with. For these, set STRUCT_LFS
and include lfs_accessors.h after the necessary structure has been
defined, so that lfs_accessors.h can emit functions in terms of it.
2015-07-28 05:09:34 +00:00
isaki b0705370de white space -> tab. 2015-07-25 07:06:11 +00:00
dholland f59b8f4b3a Switch to accessor functions for elements of the LFS on-disk
superblock. This will allow switching between 32/64 bit forms on the
fly; it will also allow handling LFS_EI reasonably tidily. (That
currently doesn't work on the superblock.)

It also gets rid of cpp abuse in the form of fake structure member
macros.

Also, instead of doing sleep/wakeup on &lfs_avail and &lfs_nextseg
inside the on-disk superblock, add extra elements to the in-memory
struct lfs for this. (XXX: these should be changed to condvars, but
not right now)

XXX: this migrates a structure needed by the lfs code in libsa (struct
salfs) into lfs.h, where it doesn't belong, but for the time being
this is necessary in order to allow the accessors (and the various
lfs macros and other goop that relies on them) to compile.
2015-07-24 06:56:41 +00:00
dholland 656ac806f0 Rearrange the structures in the lfs bootbollocks slightly.
This generates the same output (at least on amd64) but will be more
robust until we're ready to deploy lfs64 bootblocks too.

XXX: I don't think these actually work right now, and the logic for
picking between v1 and v2 lfs formats (which is not related to ffsv1
vs. ffsv2) is definitely broken. But I haven't made it any worse.
2015-07-24 06:53:24 +00:00
matt c98065b9f6 If the platform support popcount as a __builtin, use that in preference
to the libc versions.
2015-05-29 19:38:59 +00:00
matt 71577e7b2d Use ARM_ENTRY since these aren't thumb compatible. 2015-05-25 18:41:08 +00:00
christos 925d349b50 tricks with sizeof() make coverity complain. 2015-05-09 18:49:36 +00:00
riastradh 7fd36dbc4a Add container_of to libkern.
Given x = &c->f, container_of(x, T, f) yields c, where T is the type
of c.

Discussed on tech-kern a while ago:

https://mail-index.netbsd.org/tech-kern/2013/03/21/msg015131.html
2015-04-20 15:22:17 +00:00
mrg 2603e0673f remove various HAVE_GCC=45 fragments. 2015-04-15 19:13:46 +00:00
joerg 72523275ec Provide _Unwind_Find_FDE for libgcc_s compatibility. 2015-02-17 21:02:33 +00:00
joerg 1c5d00e7d3 Force FPU support for Clang, don't disable IAS completely. 2015-01-29 20:45:16 +00:00
joerg e9d4ea8b6a Fix binary search when search value is in the last block, but not equal
to the start of the range. PR 49444.
2015-01-29 20:05:56 +00:00
christos d36e0de1e1 strtoi and strtou for the kernel 2015-01-16 18:36:31 +00:00
christos 96739e65c5 bcdtobin and bintobcd are now inlines in <dev/clock_subr.h> 2014-11-20 16:25:16 +00:00
christos 035b9a6c6d prefer our own unwind.h 2014-10-23 17:51:22 +00:00
joerg 5e9701e670 Introduce a separate bit mask for the return address. Use it on HPPA. 2014-09-27 12:08:46 +00:00
matt 6cf6fe02a9 New files for Userland support of UCB RISC-V (both 32-bit and 64-bit) 2014-09-19 17:36:24 +00:00
joerg 35d69bab34 Revert 1.33 and 1.34 for now, until either .INVISIBLE is reinstanciated
or random.S dropped.
2014-09-08 12:12:19 +00:00
matt 27620987b8 New files for OR1K support 2014-09-03 19:34:25 +00:00
matt a23afddde6 Add OR1K support 2014-09-03 19:27:21 +00:00
matt 905f9a1ab9 Make random.S invisible for coldfire too (e.g. anything not "m68k") 2014-09-01 07:32:35 +00:00
tsutsui 1a8dd01ee2 Revert stupid and untested changes. There was no extra copy in the macros.
Christos, you should reread our commit guideline as a Core member.
2014-08-30 14:24:02 +00:00
christos c30be26b21 remove extra copy of the macro. 2014-08-30 13:09:27 +00:00
tsutsui e58317de49 Rename padding macros to reflect and clarify the original intention.
No binary changes on luna68k (which has -DLIBSA_PRINTF_WIDTH_SUPPORT).
2014-08-30 12:23:38 +00:00
christos 2fac5fd5c7 use .INVISIBLE to hide random.S, instead of extra rules. 2014-08-27 08:51:37 +00:00
tls ea6af427bd Merge tls-earlyentropy branch into HEAD. 2014-08-10 16:44:32 +00:00
isaki 7b2cf7659d Unify all arch/*/stand's atoi() to MI libsa.
lib/libsa/atoi.c was separated from lib/libsa/bootcfg.c.
PR/49084
2014-08-10 07:40:49 +00:00
matt 547b3a3b01 Changes to existing files to enable building AARCH64 userland.
evbarm64-el
This is clang only.  While gcc4.8 supports aarch64, no netbsd support has
been written for aarch64 with gcc4.8.
2014-08-10 05:56:36 +00:00
matt beb9c6d1b5 Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
2014-08-10 05:47:35 +00:00
joerg 3d95c8af33 Fix braino in last commit and free the node iff the insert failed. 2014-07-20 14:40:58 +00:00
lneto 4ab4902eb2 lua: updated from 5.1 to 5.3 work3
* lua(1):
  - changed lua_Integer to intmax_t
  - updated distrib/sets/lists and etc/mtree
  - updated bsd.lua.mk
  - fixed bozohttpd (lua-bozo.c)
  - compatibilized bindings: gpio, sqlite
* lua(4):
  - removed floating-point and libc dependencies using '#ifndef _KERNEL'
  - fixed division by zero and exponentiation
  - libkern: added isalnum(), iscntrl(), isgraph(), isprint() and ispunct()
  - acpica: removed isprint() from acnetbsd.h
  - libc: moved strcspn.c, strpbrk.c and strspn.c to common
  - removed stub headers
  - compatibilized bindings: luapmf, luasystm
* reorganized luaconf.h
* updated doc/CHANGES and doc/RESPONSIBLE
2014-07-19 18:38:33 +00:00
joerg 827ab89a76 Use static_cast for rb_tree_insert_node void * return value. 2014-07-14 11:36:39 +00:00
jmcneill 65c6ea680a ${.PARSEDIR} not .${PARSEDIR} for Makefile.compiler-rt include 2014-07-04 16:44:26 +00:00
joerg 1aed1443e6 IAS is clang specific. 2014-06-30 20:42:31 +00:00
joerg 182cb3ee17 .fpu is not handled correctly by LLVM's assembler parser, so use GAS for
now.
2014-06-28 20:18:15 +00:00
rtr e9c95bf579 patch posted to tech-kern@ 2014/06/25 for review with minor changes
resulting from feedback.

move multiple copies of code for parsing boot.cfg file from sparc, i386
and zaurus into libsa/bootcfg.{h,c}. largely retained i386 parsing logic
in addition to keeping sparc dispatch function while remaining consistent
with boot.cfg(5).

previous sparc64 file format has been obsoleted but only used by boot
CDs distrib/sparc64/bootfs/boot.cfg has been updated to compensate.

exported names have been prefixed with either BOOTCFG_ or bootcfg_ as per
feedback from christos@

tested on amd64 & sparc64 but not zaurus.
2014-06-28 09:16:18 +00:00
mrg ac641cb906 remove remaining makefile support for GCC < 45 that i found. 2014-06-14 20:49:36 +00:00
matt a50cc6d607 Split COPTS.libunwind.cxx into multiple lines. 2014-06-13 21:31:20 +00:00
mrg 26f35dd6b6 remove the build support for GCC 4.1, and any hacks i found for it.
there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)
2014-06-13 01:17:45 +00:00
joerg 0ed4c83ba9 Lazy VFP processing works a lot better if the functions contain a return
instruction.
2014-05-14 22:13:36 +00:00
joerg 2f1b7695c4 Support DWARFish unwind for ARM. 2014-05-11 02:07:35 +00:00
joerg 7e3335542c Missing register validation check. 2014-05-03 23:19:56 +00:00
jakllsch 849344e6ee Makefile glue to build libgnuefi; similar to libsa or libkern. 2014-04-28 19:09:29 +00:00
joerg 0c55f87954 GC unwind_info_size. 2014-04-28 13:39:23 +00:00
joerg d013f698cc Use the return address register from the CIE. Based on patch from Nick
Kledzik.
2014-04-26 23:17:38 +00:00
joerg 380ce570fd Add initial unwind support for MIPS and MIPS64. 2014-04-26 20:15:48 +00:00
joerg f76ae5ef4f Basic unwind support for HPPA. 2014-04-19 21:21:24 +00:00
joerg a997683cbb Add basic Alpha support to libunwind. 2014-04-15 18:40:34 +00:00
joerg 7209984597 Add initial unwind support for SPARC/SPARC64. 2014-04-15 11:44:26 +00:00
joerg 4b91d83710 Some architectures like SPARC need to apply a fixed offset to the return
address. Introduce such a constant.
2014-04-14 18:15:17 +00:00
joerg 44e617ea85 Move definition of what the native register layout is into
Registers.hpp.
2014-04-13 19:04:01 +00:00
joerg 8886a873b8 Support SH3 in our unwinder. 2014-04-02 22:34:29 +00:00
joerg 8d85521c7b SH3 uses unaligned data in the .eh_frame section, so use memcpy. 2014-04-02 22:22:37 +00:00
jakllsch edd6a404ba Obtain and/or use ETHER_ADDR_LEN. 2014-03-29 14:30:16 +00:00
jakllsch 836038fc64 Use ETHER_ADDR_LEN more. 2014-03-29 14:25:10 +00:00
jakllsch 2f39df062c Obtain and use ETHER_ADDR_LEN where appropriate.
Drop unnecessary includes.

XXX libsa ether_sprintf() should maybe be ether_snprintf.
2014-03-29 14:20:14 +00:00
christos 54ec44dad1 Remove {v,}sprintf 2014-03-26 18:02:24 +00:00
joerg dd0e21086c Save & restore FP registers. 2014-03-25 00:00:55 +00:00
joerg 0378fc4757 Add m68k support to our unwinder. 2014-03-24 21:25:03 +00:00
hkenken 0f26c1cc74 for LIBSA_PRINTF_WIDTH_SUPPORT,
Fix right and left-adjusting padding.
2014-03-22 02:51:44 +00:00
christos c1ae06abab kill sprintf 2014-03-20 20:42:08 +00:00
christos 3946297f1a new header. 2014-03-20 03:13:31 +00:00
christos 303a695e1b reduce size by 1K by sharing the ls code. 2014-03-20 03:13:18 +00:00
joerg 1fad0e91e1 Fix DW_CFA_GNU_args_size handling. The primary architecture using this
opcode is VAX. A function call pushes the number of arguments given onto
the stack and "ret" will pop it automatically. The FDE of the caller
contains the amount of stack space used for arguments (and possibly
extra padding), so unwinding has to compensate for this when "returning"
from a function. This is exactly the case when step() is done. The
existing handling in _Unwind_SetIP no longer makes sense.
2014-03-20 01:35:45 +00:00
joerg 9a7eb6d5aa Drop XXX, spell R14 as SP. 2014-03-19 21:15:45 +00:00
joerg 0498752769 Allow building with GCC 4.1 by providing <cstdint> 2014-03-19 16:46:23 +00:00
riastradh 6cb10275d0 Merge riastradh-drm2 to HEAD. 2014-03-18 18:20:35 +00:00
joerg c9aa4ad46c Add basic unwind support for VAX. PSW handling and stack pointer after
resume is still incomplete.
2014-03-18 13:08:15 +00:00
pooka bb154207c8 remove compiler-rt duplicates to fix build 2014-03-13 16:09:11 +00:00
joerg a5e04a5e0f Kill one colon that shouldn't be. 2014-03-13 01:50:50 +00:00
joerg 0f0483b305 libstdc++ doesn't like me using <cstdint> without requesting C++11, so
just do so.
2014-03-13 00:56:41 +00:00
joerg d952896fa0 Add _Unwind_GetIPInfo for libstdc++. 2014-03-13 00:28:20 +00:00
joerg a0318c3f0f Pass down data_base just in case something actually tries to use it. 2014-03-12 22:50:59 +00:00
joerg a6d7909bce Add more const to make GCC happy. 2014-03-12 15:31:55 +00:00
pooka 1ee7f81f1b Do not include compiler-rt in librump. librump is not a toolchain support
library, and toolchain support belongs in the host libc or libgcc or
equivalent entity that is actually supposed to complement the toolchain.

Fixes librump build on (a) Linux ARM (collisions with libgcc)
2014-03-12 00:22:53 +00:00
joerg b77db904fb Add a dummy element as explicit padding for PPC32. Fix DWARF enumeration
to match the values created by GCC. Fix DWARFish -> index conversion.
2014-03-12 00:01:12 +00:00
joerg fb33a5654b Rename IP_PSEUDO_REG to RETURN_REG. Fix PPC value. Sort. 2014-03-11 23:57:42 +00:00
joerg 1b4a81d6d1 GC unused enum. 2014-03-11 23:55:11 +00:00
joerg 499c31d6cd 0 is a valid LSDA encoding and can be seen in statically linked
programs. Initialize lsdaEncoding to DW_EH_PE_omit and check for that
value to decide whether a value should be decoded.
2014-03-11 23:52:17 +00:00
nakayama 1b088eaae2 Align explicitly to make kernels compiled by clang generate
properly aligned code.
2014-03-07 20:23:09 +00:00
joerg 2ce54a14d1 Provide labs, llabs and imaxabs for kernel use. 2014-02-27 18:05:07 +00:00
joerg a48c968746 Update compiler-rt glue for the new source layout. 2014-02-26 22:37:55 +00:00
joerg 685add8053 Casting to void is the canonical way of marking a variable as
potentially unused.
2014-02-20 00:29:03 +00:00
njoly 9d9871abbe Revert previous revision. It bkeaks profiling kernel builds.
LIBISPRIVATE unconditionnally set MKPROFILE to no, preventing
profiling kernel library.
2014-02-09 12:53:30 +00:00
joerg 720b2586bd Include compiler-rt in libc, libm and libkern. 2014-01-29 23:37:18 +00:00
joerg 9de82816fc For ARM EABI, includ divide-by-0 trap handlers. 2014-01-29 22:30:24 +00:00
matt a11fbefc31 Add support for non-EABI (DWARF) ARM exception handling. 2014-01-29 06:59:53 +00:00
joerg 329758262f This is not libc, so don't check the libc arch macro. 2014-01-17 00:49:55 +00:00
joerg 7a05a6aa88 For HAVE_LIBGCC=no, use compiler-rt for quad support. 2014-01-15 21:12:57 +00:00
tsutsui bb834b97ba Remove obsolete exec.c for a.out. It was superseded by loadfile() long ago. 2014-01-12 15:19:57 +00:00
jakllsch d2ad8298ea Make libsa fsmod string pointer const. 2014-01-05 21:38:25 +00:00
christos 5e0bd251ff add strncat (for acpi) 2013-12-27 20:25:33 +00:00
jakllsch cc6c3a11f9 intmax_t might be long long, handle accordingly. from christos 2013-12-24 22:26:21 +00:00
jakllsch 74f35cdadc Add 'j' format modifier for intmax_t. 2013-12-24 21:41:49 +00:00
joerg a060b1754e Fix typo. 2013-12-20 12:46:42 +00:00
pooka e546a6c273 Allow overriding CTASSERT. This helps with building NetBSD sources with
compilers that don't support __COUNTER__ -- shifting the CTASSERTs
around to avoid __LINE__ conflicts is a hopeless struggle.
2013-12-15 21:15:41 +00:00
joerg aceb213538 Allow kernel code to access constant databases by moving cdbr(3) and the
required mi_vector_hash(3) into src/common.
2013-12-11 01:24:08 +00:00
joerg ab0f68f9e6 libkern build glue for compiler-rt. 2013-12-03 16:15:22 +00:00
lneto c4a02e0a12 changed lua_Number to int64_t 2013-12-02 04:39:10 +00:00
jakllsch a88e58194e Fix a use-after-free (well, dealloc actually) issue. 2013-11-27 17:33:03 +00:00
christos ff19ecf77c For the purposes of static analysis, this never returns. 2013-11-19 16:56:21 +00:00
christos 02a4ce877b make a gcc unitialized variable 2013-11-03 00:44:34 +00:00
christos e382fdd226 mark some variables as unused, but keep them around as comments 2013-11-03 00:01:43 +00:00
christos ecffa9b765 XXX: gcc initializations 2013-10-20 17:17:30 +00:00
christos 892b86a26f remove unused 2013-10-20 17:16:57 +00:00
christos 683cfc6937 use new function to avoid array overflow 2013-10-20 17:15:42 +00:00
joerg 3a53a9e14e Add a heavily modified version of Apple's libunwind as released under
MIT license in libc++abi. At the moment, only x86 support is tested.
2013-10-14 01:14:57 +00:00
joerg 69d0b9d44c Let's not use uninitialized variables to write to random memory
locations, shall we?
2013-10-13 20:09:02 +00:00
pgoyette 5beb5eb050 Rework previous (1.24) change. Rather than depending on the
file's flags to decide if decompress cleanup is needed, just
check to see if the open() allocated the 'struct sd *' used for
decompression.

This fixes recent problem where presence of a "load=ffs" command
in my /boot.cfg resulted in a "heap full" error at boot time.

OK martin@
2013-10-11 16:30:31 +00:00
joerg 4d12bfcd15 Pass PICFLAGS down to cc-as-as and use __PIC__ to decide if it is small
vs big PIC mode. Retire -DPIC and -DBIGPIC.
2013-09-12 15:36:14 +00:00
riastradh 04e877f3a1 Fix libkern's prototype for explicit_memset. 2013-08-28 16:20:38 +00:00
matt f0f9ccc930 Use LIBISPRIVATE?= yes 2013-08-21 08:30:50 +00:00
matt b3356a40df Thumbify 2013-08-21 08:30:18 +00:00
matt e1512a262a Simplify by using LIBISPRIVATE?= yes 2013-08-21 05:50:14 +00:00
matt 9a5bd26b35 Some assembly files need to compiled -marm since they are Thumb compatible. 2013-08-20 21:43:03 +00:00
matt 99a7d6ba8e Fix typos (prX not cpX) 2013-08-12 23:42:14 +00:00
matt 0009e83bf7 Add EHABI unwind stubs to libkern so prevent errors in linking if unwind
tables are present.
2013-08-12 23:22:12 +00:00
matt 015cebed78 Support thumb 2013-08-11 04:58:01 +00:00
skrll 0bdf107fbc Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.
2013-07-23 14:52:07 +00:00
matt 516ab0fa43 Adjust for coldfire 2013-07-18 22:14:48 +00:00
matt 6b35aaa5b7 Fix typo. 2013-07-18 12:54:08 +00:00
matt 10fa00e357 Reorder a little to make clearer. 2013-07-18 12:53:09 +00:00
matt 0ad8b94ed8 Keep stack longword aligned.
Use longword ops for %d2.
2013-07-18 12:42:24 +00:00
matt 8d43a067dd Convert to motorola syntax 2013-07-18 12:40:42 +00:00
matt 6dedf03e19 Convert to morotola syntax 2013-07-18 12:29:30 +00:00
matt 547d5de4df Don't use %d2 (violates the ABI since it wasn't saved), use %a0 instead.
Use a pcrelative access for the local data avoiding the GOT.
2013-07-18 12:16:40 +00:00
rmind 7ae1c4ed1b libkern: add murmurhash module. 2013-06-29 16:02:01 +00:00
riastradh 82db4b9858 Replace consttime_bcmp/explicit_bzero by consttime_memequal/explicit_memset.
consttime_memequal is the same as the old consttime_bcmp.
explicit_memset is to memset as explicit_bzero was to bcmp.

Passes amd64 release and i386/ALL, but I'm sure I missed some spots,
so please let me know.
2013-06-24 04:21:19 +00:00
dholland e1610ba4cb Stick ffs_, ext2_, chfs_, filecore_, cd9660_, or mfs_ in front of
the following symbols so as to disambiguate fully. (Christos already
did the lfs ones.)

   lblkno
   lblktosize
   lfragtosize
   numfrags
   blkroundup
   fragroundup
2013-06-23 07:28:36 +00:00
riastradh bfb8ca3f2e Account bytes drawn from initial call to libkern arc4random.
XXX This unlocked initialization looks rather bogus...
2013-06-23 02:38:22 +00:00
riastradh 6290b0987e Rework rndsink(9) abstraction and adapt arc4random(9) and cprng(9).
rndsink(9):
- Simplify API.
- Simplify locking scheme.
- Add a man page.
- Avoid races in destruction.
- Avoid races in requesting entropy now and scheduling entropy later.

Periodic distribution of entropy to sinks reduces the need for the
last one, but this way we don't need to rely on periodic distribution
(e.g., in a future tickless NetBSD).

rndsinks_lock should probably eventually merge with the rndpool lock,
but we'll put that off for now.

cprng(9):
- Make struct cprng_strong opaque.
- Move rndpseudo.c parts that futz with cprng guts to subr_cprng.c.
- Fix kevent locking.  (Is kevent locking documented anywhere?)
- Stub out rump cprng further until we can rumpify rndsink instead.
- Strip code to grovel through struct cprng_strong in fstat.
2013-06-23 02:35:23 +00:00
dholland 2737439da3 fsbtodb() -> FFS_FSBTODB(), EXT2_FSBTODB(), or MFS_FSBTODB()
dbtofsb() -> FFS_DBTOFSB() or EXT2_DBTOFSB()

(Christos already did the lfs ones a few days back)
2013-06-23 02:06:04 +00:00
matt 47a6ce0396 Add back {,u}modsi3 for libkern since if we are building standalone tools
we might be using the old ABI and might need them.
2013-06-21 05:06:24 +00:00
matt 7213984b98 modsi3/umodsi3 are only needed !EABI arm 2013-06-20 07:29:50 +00:00
dholland 64912b9b11 blkoff() -> mfs_blkoff()
XXX: this shouldn't be using "mfs" for its symbols as we also have
XXX: sys/ufs/mfs.
2013-06-19 18:18:12 +00:00
dholland f1333577b5 Rename ambiguous macros:
MAXDIRSIZE -> UFS_MAXDIRSIZE or LFS_MAXDIRSIZE
   NINDIR -> FFS_NINDIR, EXT2_NINDIR, LFS_NINDIR, or MFS_NINDIR
   INOPB -> FFS_INOPB, LFS_INOPB
   INOPF -> FFS_INOPF, LFS_INOPF
   blksize -> ffs_blksize, ext2_blksize, or lfs_blksize
   sblksize -> ffs_blksize

These are not the only ambiguously defined filesystem macros, of
course, there's a pile more. I may not have found all the ambiguous
definitions of blksize(), too, as there are a lot of other things
called 'blksize' in the system.
2013-06-19 17:51:25 +00:00
christos 855bb66ef7 Prefix most of the cpp macros with lfs_ and LFS_ to avoid conflicts with ffs.
This was done so that boot blocks that want to compile both FFS and LFS in
the same file work.
2013-06-18 18:18:57 +00:00
dholland 5a420c1b9a Stick UFS_ in front of these symbols:
DIRBLKSIZ
   DIRECTSIZ
   DIRSIZ
   OLDDIRFMT
   NEWDIRFMT

Part of PR 47909.
2013-06-09 17:57:08 +00:00
dholland 89582ef58a Build properly against the lfs changes. 2013-06-09 00:02:33 +00:00
tsutsui ab5da9a864 Wrap >80 char lines that overflowed on NDADDR -> EXT2FS_NDADDR changes. 2013-05-10 15:22:37 +00:00
matt 5f058922b3 This change arm, armeb, earm, earmeb, earmhf, earmhfeb so all builds that
share a MACHINE_ARCH for userland so that except for etc, will produce
identical sets.

usr/include/machine now points to usr/include/arm
2013-05-02 03:56:38 +00:00
martin e7f80397d9 Make the check in close() for a non-deflatable file mode symetric to
the one in open().
Avoids dealloc() calls on NULL.
2013-04-14 22:23:28 +00:00
nakayama 99b8f1ddbf Remove duplicate source files. 2013-03-17 04:47:16 +00:00
nakayama e923193871 Revert previous. christos fixed the root cause. 2013-03-17 04:45:46 +00:00
christos ab495c9f87 undo sparc64 kludge 2013-03-17 00:47:13 +00:00
nakayama 809b806d54 Make sparc64 32-bit kernel buildable. 2013-03-14 11:53:33 +00:00
christos d3a58d87a8 amend previous sparc64 fix: rump does not know about memcpyset.s 2013-03-11 11:44:48 +00:00
christos 49d47d88c9 On sparc64 memcpy and memset are provided by memcpyset.s (should have been
memcpyset.S, but...). Don't include them in the build because it breaks the
modular build where the kernel library is built as an object.
2013-03-10 07:31:03 +00:00
christos 642baa00c2 recognize OpenBSD too 2013-03-02 22:04:06 +00:00
matt f35a96a42a Modify earm rule to match any machine_arch starting with earm. 2013-02-06 07:18:15 +00:00
matt 080a1c2724 Add strnlen.c to SRCS (which will automatically use the .S version if it
exists).
2013-01-23 22:34:37 +00:00
macallan b3be12c418 pull in strnlen.S 2013-01-23 20:38:27 +00:00
dholland dcd34a91c5 Stuff UFS_ in front of a few of ufs's symbols to reduce namespace
pollution. Specifically:
   ROOTINO -> UFS_ROOTINO
   WINO -> UFS_WINO
   NXADDR -> UFS_NXADDR
   NDADDR -> UFS_NDADDR
   NIADDR -> UFS_NIADDR
   MAXSYMLINKLEN -> UFS_MAXSYMLINKLEN
   MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency)

Sort out ext2fs's misuse of NDADDR and NIADDR; fortunately, these have
the same values in ext2fs and ffs.

No functional change intended.
2013-01-22 09:39:11 +00:00
matt e140e7a99f Pass down an empty CPUFLAGS since CPUFLAGS is contained in CFLAGS. 2012-12-12 15:12:11 +00:00
matt d341a32e61 Don't pass down CPUFLAGS since its value is already in CFLAGS. 2012-12-12 15:10:27 +00:00
christos 293b3c5124 add new divsi3 related files. 2012-10-30 16:36:03 +00:00
christos 58e206816c add split files. 2012-10-10 02:15:31 +00:00
matt 325a8822fe Add ARMv5 support the clz instruction 2012-09-01 11:24:36 +00:00
drochner 8588929dc5 Add "consttime_bcmp" and "explicit_bzero" functions for both kernel
abd userland, as proposed on tech-security, with explicit_bzero using
a volatile function pointer as suggested by Alan Barrett.
Both do what the name says. For userland, both are prefixed by "__"
to keep them out of the user namespace.
Change some memset/memcmp uses to the new functions where it makes
sense -- these are just some examples, more to come.
2012-08-30 12:16:48 +00:00
joerg c14f2d4ef8 Deal with optional HAVE_GCC. 2012-08-10 16:05:26 +00:00
matt 9c2af1c9cc If earm*, compile new aeabi runtime routines. 2012-08-06 02:14:57 +00:00
mhitch ddc56403a8 Fix cd9660_read() to not read past the end of the file. This would result
in incorrect resid values, and causes the read of /boot.cfg to ignore the
file.  If the requested transfer extends past the end of the file, force
the internal buffer to be used, and when transferring data from the
internal buffer, limit the transfer to what's left in the file.  CDROM
boot will now process the /boot.cfg file.
2012-07-23 00:49:20 +00:00
dsl 6a03bb6b37 Remove the code that tries to load the "ffs" kernel module during boot.
This is in line with the core decision than even modular kernels should
  contain the ffs code.
I've left in the code that tries to load "nfs" and "ext2fs", but it
  isn't clear that is necessary.
Removes a warning message that (usually) flashes past to fast to read.
AFAICT all the relevant kernels contain ffs (and nfs for that matter).
2012-05-21 21:34:16 +00:00
tls 2b09c6c851 Add a spin mutex to the rndsink structure; it is used to avoid lock
ordering and sleep-holding-locks problems when rekeying, and thus
to avoid a nasty race between cprng destruction and reseeding.
2012-04-10 14:02:27 +00:00
tsutsui 1296da9587 Fix a bug that libsa ls doesn't work in case of filename with directory path.
("ls /path/and/file" always returns not found)  From MINIX via Evgeniy Ivanov.
2012-03-02 12:08:44 +00:00
njoly 923a542ecd void function _arc4randbytes cannot return a value. 2012-02-14 18:57:35 +00:00
dholland 7609b9bc56 Migrate one last leftover bit (used only by the kernel now) to
sys/ufs/ufs and remove the old quota headers and no-longer-used shared
code. Ok by releng.
2012-02-05 14:19:02 +00:00
tls 7b0b7dedd9 Entropy-pool implementation move and cleanup.
1) Move core entropy-pool code and source/sink/sample management code
   to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
   source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
   avoid expensive operations on disabled entropy sources; make the
   rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
   have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
   system events, and skew between clocks, with a sample implementation
   for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files).  Tested with release
builds on amd64 and evbarm and live testing on amd64.
2012-02-02 19:42:57 +00:00
rmind c1591c4ef3 Add CTASSERT_SIGNED() and CTASSERT_UNSIGNED(). 2012-01-22 02:57:36 +00:00
joerg 714fe69669 Don't use __cmsg_alignbytes in the kernel. Mark it as constant function
for userland as its value never changes. This allows the compiler to
optimise most invocations away.
2012-01-20 00:25:29 +00:00
christos 488f092662 PR/45796: Evgeniy Ivanov minixfs3 support. 2012-01-16 18:46:20 +00:00
christos 8ead40fd5d PR/45796: Evgeniy Ivanov minixfs3 support.
Split out fn_match since we have 3 copies now.
2012-01-16 18:44:13 +00:00
tsutsui c2e8ce644b Apply the following patch submitted by Evgeniy Ivanov:
http://mail-index.NetBSD.org/tech-kern/2011/12/15/msg012226.html
http://mail-index.NetBSD.org/tech-kern/2011/12/17/msg012229.html

 - add 'ls' op to struct fs_ops to support ls command on each fs,
   enabled by -DLIBSA_ENABLE_LS_OP and SAMISCMAKEFLAGS+="SA_ENABLE_LS_OP=yes"
   in libsa
 - split sys/lib/libsa/ufs_ls.c into UFS specific part and MI part (ls.c)
   that opens the target fs and calls fs-depedent XXX_ls() functions
 - add a ls op for ext2fs
   (all other fs than ufs and ext2fs don't have actual ls ops yet)
 - replace existing MD ufs_ls() calls with this new MI ls()

The original patch was written for i386 and ext2fs.
zaurus zboot has been tested by nonaka@.
ews4800mips and x68k loaders have been tested by me (with several fixes).
landisk might be okay since it was almost copied from i386.

XXX1: "ls" op in fs_ops looks a bit inconsistent, but we will be able to
      replace it with real fs ops like readdir if it's really worth
XXX2: someone might have to check sys/arch/ia64/stand/efi/libefi/efifs_ls.c
2011-12-25 06:09:08 +00:00
drochner 47be4b7567 make "rs" static -- this name is too unspecific for the global namespace 2011-11-29 13:16:26 +00:00
tls 38f95ba1b7 Remove rnd_extract_data from the public kernel API (it is for use by the
stream generators only).  Clean up some related minor issues.
2011-11-29 03:50:31 +00:00
tls f27d6532f5 Remove arc4random() and arc4randbytes() from the kernel API. Replace
arc4random() hacks in rump with stubs that call the host arc4random() to
get numbers that are hopefully actually random (arc4random() keyed with
stack junk is not).  This should fix some of the currently failing anita
tests -- we should no longer generate duplicate "random" MAC addresses in
the test environment.
2011-11-28 08:05:05 +00:00
tsutsui 48b15c9676 Disable a DIAGNOSTIC test which causes kernel stack overflow on all arm ports.
Boot failure is reported from several arm users (nonaka@, ryo@, and others),
and too large auto variable in arc4_randrekey() is pointed out by enami@.
2011-11-27 00:09:04 +00:00
enami 0ceee4c5f8 Use exact 32bit integral type to declare variable to store
32bit random value.  This is necessary since it is overwritten
by four bytes.
2011-11-26 14:04:20 +00:00
enami 6f7055e2a8 Fix white space usage. 2011-11-26 13:53:37 +00:00
joerg 916c58b88e Spell restrict with __. 2011-11-25 12:45:00 +00:00
para 4255d01378 make it compile without DIAGNOSTIC defined 2011-11-20 15:37:31 +00:00
tls 3afd44cf08 First step of random number subsystem rework described in
<20111022023242.BA26F14A158@mail.netbsd.org>.  This change includes
the following:

	An initial cleanup and minor reorganization of the entropy pool
	code in sys/dev/rnd.c and sys/dev/rndpool.c.  Several bugs are
	fixed.  Some effort is made to accumulate entropy more quickly at
	boot time.

	A generic interface, "rndsink", is added, for stream generators to
	request that they be re-keyed with good quality entropy from the pool
	as soon as it is available.

	The arc4random()/arc4randbytes() implementation in libkern is
	adjusted to use the rndsink interface for rekeying, which helps
	address the problem of low-quality keys at boot time.

	An implementation of the FIPS 140-2 statistical tests for random
	number generator quality is provided (libkern/rngtest.c).  This
	is based on Greg Rose's implementation from Qualcomm.

	A new random stream generator, nist_ctr_drbg, is provided.  It is
	based on an implementation of the NIST SP800-90 CTR_DRBG by
	Henric Jungheim.  This generator users AES in a modified counter
	mode to generate a backtracking-resistant random stream.

	An abstraction layer, "cprng", is provided for in-kernel consumers
	of randomness.  The arc4random/arc4randbytes API is deprecated for
	in-kernel use.  It is replaced by "cprng_strong".  The current
	cprng_fast implementation wraps the existing arc4random
	implementation.  The current cprng_strong implementation wraps the
	new CTR_DRBG implementation.  Both interfaces are rekeyed from
	the entropy pool automatically at intervals justifiable from best
	current cryptographic practice.

	In some quick tests, cprng_fast() is about the same speed as
	the old arc4randbytes(), and cprng_strong() is about 20% faster
	than rnd_extract_data().  Performance is expected to improve.

	The AES code in src/crypto/rijndael is no longer an optional
	kernel component, as it is required by cprng_strong, which is
	not an optional kernel component.

	The entropy pool output is subjected to the rngtest tests at
	startup time; if it fails, the system will reboot.  There is
	approximately a 3/10000 chance of a false positive from these
	tests.  Entropy pool _input_ from hardware random numbers is
	subjected to the rngtest tests at attach time, as well as the
	FIPS continuous-output test, to detect bad or stuck hardware
	RNGs; if any are detected, they are detached, but the system
	continues to run.

	A problem with rndctl(8) is fixed -- datastructures with
	pointers in arrays are no longer passed to userspace (this
	was not a security problem, but rather a major issue for
	compat32).  A new kernel will require a new rndctl.

	The sysctl kern.arandom() and kern.urandom() nodes are hooked
	up to the new generators, but the /dev/*random pseudodevices
	are not, yet.

	Manual pages for the new kernel interfaces are forthcoming.
2011-11-19 22:51:18 +00:00
mrg 030041f5bd use LIBISPRIVATE instead of home-grown. 2011-10-30 00:28:57 +00:00
christos 63efa6113b shouldn't need .size for ppc64. 2011-10-28 02:00:50 +00:00
chs e873fd069d use gcc builtin for memset() on vax too. 2011-10-01 16:06:24 +00:00
christos b3bf6991f2 Don't include <sys/systm.h> because it brings in too much stuff that
conflicts with standalone code. Instead modify kern_assert() to be like
panic() and call that.
2011-09-29 20:50:09 +00:00
jym 325494fe33 Modify *ASSERTMSG() so they are now used as variadic macros. The main goal
is to provide routines that do as KASSERT(9) says: append a message
to the panic format string when the assertion triggers, with optional
arguments.

Fix call sites to reflect the new definition.

Discussed on tech-kern@. See
http://mail-index.netbsd.org/tech-kern/2011/09/07/msg011427.html
2011-09-27 01:02:33 +00:00
jym c0cdfbbb3d Do as Joerg said and kill the __STDC__ blocks. They only make sense for
things used by assembler, which won't be the case for these macros.
2011-09-25 20:31:18 +00:00
jym b0471da334 Make strnlen(3) accessible in kernel. ok christos@. 2011-09-01 22:35:17 +00:00
dyoung 9943264696 Build and install ppath(3), property-list paths library. 2011-08-26 21:22:07 +00:00
matt 0435f73056 Fix bug when only restoring r31 (lr was not being restored properly). 2011-08-12 14:48:00 +00:00
uwe 89e9839f44 Reword the comment about "millicode" nature of these functions and add
it to sdivsi3_i4i.S too.
2011-08-05 02:00:25 +00:00
uwe 41f19aa9d6 Reword the comment about "millicode" nature of these functions and add
it to sdivsi3.S too.

Remove !_KERNEL code left over from the days when we shared these
files with userland.

Use .L prefix for local label.
2011-08-05 01:59:39 +00:00
uwe ab79e8db68 For unsignad integer division gcc used to emit a call to __udivsi3
"millicode" function that uses compiler-private ABI.  Newer gcc uses
heavily tuned __udivsi3_i4i that is NOT compatible with __udivsi3
because it's expected to clobber different registers.  We don't want
to link the kernel against libgcc and we don't have resources to write
heavily tuned version ourselves, so clone __udivsi3 but adjust it to
conform to the __udivsi3_i4i clobber spec.

Ditto for signed division.

You can make gcc use old routines with -mdiv=call-div1 to avoid few
extra instructions to save/restore the right registers in the signed
division funcion.
2011-08-04 03:20:09 +00:00
jakllsch a6deec34f7 Fix printf formating in ifdef DEBUG sections. 2011-07-30 03:43:20 +00:00
joerg 3eb244d801 Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
2011-07-17 20:54:30 +00:00
mrg b259e2f2c8 revert the _i4i aliases. they are not the right thing. 2011-07-14 09:48:03 +00:00
mrg 2f4b41bf98 add weak aliases for __sdivsi3_i4i and __udivsi3_i4i. 2011-07-06 01:29:54 +00:00
matt fee0e13d37 If GCC 4.0 or later, use __builtin_offsetof for offsetof.
This make GCC 4.5 with offsetof in mbuf.h and kern_cpu.c
2011-07-05 01:56:45 +00:00
mrg db6886e029 apply some -O0 with gcc 4.5 and vax. 2011-07-03 15:29:34 +00:00
mrg 80d3d3c382 fix the names of the _END symbols passed to .size; fixes rump issues,
and kernels still work fine, and ofwboot still links.
2011-07-02 23:36:02 +00:00
matt 805a90b602 Add the _restgpr* and _savegpr* entries that GCC 4.5 wants. This file is
designed to support the other GCC 4.5 variants that may be required.
2011-07-02 03:35:03 +00:00
mrg e405cd7d86 remove HAVE_GCC == 4 conditional 2011-06-20 08:22:43 +00:00
joerg df3149f5ef Don't use C versions of memcmp, memcpy, memmove, memset and strchr
on x86 for standalone code. The assembler versions are much smaller.
2011-06-16 16:47:53 +00:00
joerg be964ea63f Add an optional MD calling convention flag for use in libsa when space
optimisation is critical. Use this on i386 to switch to register passing
calling convention for the file system entry points and most assembler
call backs that have to preserve at least 3 registers.
2011-06-16 13:44:56 +00:00
joerg c97378d081 Add an optional MD calling convention flag for use in libsa when space
optimisation is critical. Use this on i386 to switch to register passing
calling convention for the file system entry points and most assembler
call backs that have to preserve at least 3 registers.
2011-06-16 13:27:58 +00:00
mrg 42abd36401 catch up with the userland copy:
>revision 1.6
>date: 2011/03/23 20:54:35;  author: martin;  state: Exp;  lines: +2 -2
>Avoid using %g7

fixes rump on sparc, at least somewhat.
tested that normal kernels runs fine this with this change, too.
2011-06-13 03:23:53 +00:00
joerg a216da57a6 Default to -Wno-sign-compare -Wno-pointer-sign for clang.
Push -Wno-array-bounds down to the cases that depend on it.
Selectively disable warnings for 3rd party software or non-trivial
issues to be reviewed later to get clang -Werror to build most of the
tree.
2011-05-26 12:56:24 +00:00
tsutsui f38f34147b KNF a bit. 2011-05-20 16:33:07 +00:00
nakayama 99c51b3804 Use %zd for ssize_t, and %zu for size_t. 2011-05-13 23:35:09 +00:00
zoltan b3cd019cf9 Separate the IP and UDP code paths inside libsa, so I can add HTTP booting
later.
2011-05-11 16:23:40 +00:00
bouyer d9210c2405 Add a new libquota library, which contains some blocks to build and/or
parse quota plists; as well as a getfsquota() function to retrieve quotas
for a single id from a single filesystem (whatever filesystem this is:
a local quota-enabled fs or NFS). This is build on functions getufsquota()
(for local filesystems with UFS-like quotas) and getnfsquota();
which are also available to userland programs.
move functions from quota2_subr.c to libquota or libprop as appropriate,
and ajust in-tree quota tools.
move some declarations from kernel headers to either sys/quota.h or
quota/quota.h as appropriate. ufs/ufs/quota.h still installed because
it's needed by other installed ufs headers.
ufs/ufs/quota1.h still installed as a quick&dirty way to get a code
using the old quotactl() to compile (just include ufs/ufs/quota1.h instead of
ufs/ufs/quota.h - old code won't compile without this change and this is
on purpose).
Discussed on tech-kern@ and tech-net@ (long thread, but not much about
libquota itself ...)
2011-03-24 17:05:39 +00:00
jakllsch bdf5f7401d Add quad srcs if building x86_64 32-bit libkern. 2011-02-26 18:17:55 +00:00
matt 7fe5f9cb4c Add quad srcs if using MIPS O32 ABI 2011-02-26 16:28:10 +00:00
joerg eb077f08e0 No trailing 0 byte for hexdigits. 2011-02-25 00:20:36 +00:00
joerg 36ed38c29f Move HEXDIGIT to mvme68k's sboot. It seems to be the only user.
Save a byte by explicitly specifying the size.
2011-02-25 00:17:35 +00:00
matt 7a630fe12e Define CTASSERT in terms of __CTASSERT 2011-02-19 02:02:14 +00:00
christos 392bc55180 revert bad whitespace change. 2011-02-17 21:15:31 +00:00
christos abd082246f fix -Wself-assign warning 2011-02-17 19:38:48 +00:00
rmind 9b6bd2d968 Remove clause 3 (UCB advertising clause) from the University of Utah
copyright.  Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
2011-02-08 20:20:06 +00:00
skrll f80f065ff5 This file needs opt_multiprocessor.h early so we pick up the right
definition from cpu.h, etc.

XXX should revisit the _STANDALONE vs _KERNEL split
2011-01-31 12:10:58 +00:00
matt ecfd85d839 Fix KDASSERTMSG defintions for !DEBUG 2011-01-26 01:02:46 +00:00
matt 084c578c30 Add KDASSERTMSG (KDASSERT already exists). 2011-01-24 22:53:07 +00:00
skrll ed569699ed Fix build. 2011-01-24 15:01:30 +00:00
skrll 024e5c66df Fix MULTIPROCESSOR curlwp/curcpu handling... missed in previous commit. 2011-01-22 10:58:44 +00:00