Commit Graph

1520 Commits

Author SHA1 Message Date
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