Commit graph

5210 commits

Author SHA1 Message Date
Thomas Veerman
b180f32ab3 VFS/PFS: remove remnants of file position in pipes 2013-01-23 11:14:34 +00:00
Thomas Veerman
306f3ccd6f VFS: fix select bug on pipes 2013-01-23 11:14:34 +00:00
Thomas Veerman
28b81f9c3b ramdisk: traditional-cpp does not work with clang 2013-01-23 11:14:33 +00:00
Kees Jongenburger
65fdb4cffe build:fixes Files in DESTDIR but missing from flist.
Change-Id: Idb3d53a22bee6731fb22f435bf672a0ff180b863
2013-01-23 11:12:49 +01:00
Joachim Henke
eddc5dd581 ramdisk: add virtio-blk to proto and boot option 2013-01-23 09:03:03 +00:00
Arne Welzel
d19844d69c virtio: virtio-net driver 2013-01-23 09:03:03 +00:00
Arne Welzel
a27b60af75 virtio: virtio-blk driver 2013-01-23 09:03:03 +00:00
Joachim Henke
ac11e38fd5 pci: add virtio pci device ids 2013-01-23 09:03:03 +00:00
Arne Welzel
a58c735738 virtio: generic virtio library 2013-01-23 09:03:03 +00:00
Ben Gras
dcff984d6a kernel: fix sanity check 2013-01-18 21:38:28 +00:00
Ben Gras
4c6c911fdc Replace previous change by different test
. so contents always get overwritten in out-of-tree case
2013-01-17 16:05:50 +00:00
Lionel Sambuc
f0a513440d drivers/ramdisk/Makefile fixup
Change-Id: I481830f19b650ff0d93bf319ca4d8e901657b8f8
2013-01-17 15:54:48 +01:00
Nicholas Heath
1bbba6353d Fixed bug in getrlimit as core dumps are supported now. 2013-01-17 14:06:35 +00:00
Lionel Sambuc
b1c4ba4ab6 ARM updates
Due to the ABI we are using we have to use the earm architecture
moniker for the build system to behave correctly. This involves
then some headers to move around.

There is also a few related Makefile updates as well as minor
source code corrections.
2013-01-17 10:03:58 +01:00
Lionel Sambuc
b86af8be0b Toolchain adaptation for ARM MINIX support 2013-01-17 10:03:58 +01:00
Lionel Sambuc
13c63491af Reverting back to default value of MKARZERO
The value was changed to no for cross-building as the old binutils
could not handle the required flag. As this is now possible, the
default is restored.

This flags make sure that AR zeroes out some timestamps and uid/gid
fields in libraries, which would change for every build of the
library otherwise, preventing comparison between to builds.
2013-01-17 10:03:58 +01:00
Lionel Sambuc
ebae0113f8 Removing useless __NBSD_LIBC define in libcurses 2013-01-17 10:03:58 +01:00
Kees Jongenburger
86466eaa18 misc:Add gerrit code review support.
Add gerrit code review support by adding a git-review configuration
file.

Change-Id: I63c2d22b946c6b64c90be120983ce81df890f6aa
2013-01-16 09:44:16 +01:00
Ben Gras
1cd76c7513 sys/arch/x86/include updates
. primary purpose is to synchronize with <ieeefp.h> which
	  expects a fp_prec from sys/arch/x86/include/ieeefp.h
2013-01-15 12:14:01 +00:00
Ben Gras
287c0e3b92 csu: restore crt1.o symlink
. minix gcc package uses crt1.o to link
2013-01-15 09:20:27 +00:00
Ben Gras
c096911b97 sprofalyze fixes
. accumulate sprof_info
	. reset 'seen' endpoints for every file to keep in sync with kernel
	  profile stream
2013-01-15 08:23:19 +00:00
Ben Gras
e9a6abd046 tar: use utime() to restore timestamps
. otherwise all extracted files get 'now'
2013-01-15 07:28:58 +00:00
Lionel Sambuc
22aad3f26b UPDATING instructions for libc/terminfo update 2013-01-14 13:20:00 +01:00
Lionel Sambuc
0ac803292e Fix warnings trivial warnings.
Fix warnings about:
 . Unused variables
 . format mismatch in printf/scanf format string and arguments
 . Missing parenthesis around assignment as truth values
 . Clang warnings anout unknown GCC pragma
2013-01-14 11:44:31 +01:00
Lionel Sambuc
77399bd649 Changing field utmp.ut_time from int to time_t
This makes sure the types are coherent, and right now, time_t is
defined as an long, through _BSD_TIME_T_. It previously was
hardcoded as an int, so the structure's size does not change.

Change-Id: If29e94ab53f605d1480fadb540f5b67be4ddaf5b
2013-01-14 11:36:27 +01:00
Lionel Sambuc
44bedb31d8 Importing common/dist/zlib
Change-Id: I46de716a98ccc501ca32b2a9445d9964594ddc61
2013-01-14 11:36:27 +01:00
Lionel Sambuc
f5435c74b7 Updating lib/libcrypt
Change-Id: I4dc5ca7c86abc5295ffc57386a14dd1d790fd489
2013-01-14 11:36:27 +01:00
Lionel Sambuc
e8235bc09a Updating usr.bin/passwd
Change-Id: I5512cd44cb9f1684350050d4e3fb5bb4d1c9b6b1
2013-01-14 11:36:27 +01:00
Lionel Sambuc
2bc7c627ac Updating usr.bin/make
Change-Id: I66b137a0368cf99267cd47a9625da8a12d8a1df7
2013-01-14 11:36:27 +01:00
Lionel Sambuc
71c7dcb9ce Updating usr.bin/m4
Change-Id: I6edfb294639490da27f6abd132822b901de0d650
2013-01-14 11:36:26 +01:00
Lionel Sambuc
927829ed36 nbsd_ports cleanups
Change-Id: Ib538a7b12a46a5052fb37e4ba74c32ebc43dbf64
2013-01-14 11:36:26 +01:00
Lionel Sambuc
22e69f558e Cleaning usage of MAJOR/MINOR
Change-Id: I4d7718c51967930375a5f0657b61f869745cf644
2013-01-14 11:36:26 +01:00
Lionel Sambuc
0c3ae37f52 Updating libcurses, libterminfo and terminfo.
The three are updated together as they are tightly coupled.

Change-Id: I9e1f07b6adc6e8ae10833e6f1402f8472d2d34b8
2013-01-14 11:36:26 +01:00
Lionel Sambuc
f14fb60209 Libraries updates and cleanup
* Updating common/lib
 * Updating lib/csu
 * Updating lib/libc
 * Updating libexec/ld.elf_so
 * Corrected test on __minix in featuretest to actually follow the
   meaning of the comment.
 * Cleaned up _REENTRANT-related defintions.
 * Disabled -D_REENTRANT for libfetch
 * Removing some unneeded __NBSD_LIBC defines and tests

Change-Id: Ic1394baef74d11b9f86b312f5ff4bbc3cbf72ce2
2013-01-14 11:36:26 +01:00
Lionel Sambuc
f6aac1c3b5 Moving all NetBSD headers back where they belong.
Moving include/sys NetBSD headers to /sys/sys
Moving include/arch/*/ NetBSD headers to /sys/arch/*/include

Change-Id: Ia1a45d4e83ab806c84093ec2b61bdbea9bed65a0
2013-01-14 11:36:25 +01:00
Lionel Sambuc
be89757ef5 common upgrades
Change-Id: I567fc15845b601019d346569ecfcef4f89687fd2
2013-01-14 11:36:25 +01:00
Kees Jongenburger
65c5a092c1 ramdisk:add support for cross building a dso ramdisk.
Change-Id: Ib2840bceab10cf98cb0abfbdb2393af4d59be102
2013-01-13 17:00:13 +01:00
Kees Jongenburger
aacce8f40c ramdisk:replace proto.sh by the c processor.
Replace proto.sh by the c processor to generate proto.gen in order
for us to have a more flexible way of selecting the files we want
in the ramdisk.

Change-Id: Id82b9f1b73b498c4d885bb3156fcefaeb9d157e0
2013-01-13 17:00:13 +01:00
Thomas Veerman
bdfef53dbf VFS: initialize variables 2013-01-11 12:46:44 +00:00
Thomas Veerman
aa521228a5 VFS: Coverity appeasements 2013-01-11 09:42:01 +00:00
Thomas Veerman
c77228c77b ARM: fix clock
The GPTIMER1 clock is configured to run at 32 kHz and generate
(overflow) interrupts every 1 ms. However, the Timer Overflow Wrappping
Register (TOWR) was configured to filter every other interrupt. This
caused to the internal 'realtime' value to be off.
2013-01-11 09:18:36 +00:00
Thomas Veerman
aa3623d873 ARM: make cycle counter available to userspace 2013-01-11 09:18:36 +00:00
Thomas Veerman
ea8ff9284a Add stack trace dumps for VFS over serial 2013-01-11 09:18:36 +00:00
Thomas Veerman
625f4ae4a3 VFS: add documentation about internal working 2013-01-11 09:18:36 +00:00
Thomas Veerman
23c5f56e32 VFS: change locking to ease concurrent FSes
This patch uses stricter locking for REQ_LINK, REQ_MKDIR, REQ_MKNOD,
REQ_RENAME, REQ_RMDIR, REQ_SLINK and REQ_UNLINK. For all requests, VFS
locks the directory in which we add or remove an inode with VNODE_WRITE.
I.e., the operations have exclusive access to that directory.

Furthermore, REQ_CHOWN, REQ_CHMOD, and REQ_FTRUNC now lock the vmnt
VMNT_READ; VMNT_WRITE was unnecessary.
2013-01-11 09:18:35 +00:00
Thomas Veerman
93103f497f libmthread: add possibility to randomize scheduler 2013-01-11 09:18:35 +00:00
Thomas Veerman
3de8d1cf6e VFS/PFS: remove notion of position in pipes
Because pipes have no file position. VFS maintained (file) offsets into a
buffer internal to PFS and stored them in vnodes for simplicity, mixing
the responsibilities of filp and vnode objects.

With this patch PFS ignores the position field in REQ_READ and REQ_WRITE
requests making VFS' job a lot simpler.
2013-01-11 09:18:35 +00:00
Thomas Veerman
7c8b3ddfed VFS: fix locking bugs
.sync and fsync used unnecessarily restrictive locking type
.fsync violated locking order by obtaining a vmnt lock after a filp lock
.fsync contained a TOCTOU bug
.new_node violated locking rules (didn't upgrade lock upon file creation)
.do_pipe used unnecessarily restrictive locking type
.always lock pipes exclusively; even a read operation might require to do
 a write on a vnode object (update pipe size)
.when opening a file with O_TRUNC, upgrade vnode lock when truncating
.utime used unnecessarily restrictive locking type
.path parsing:
  .always acquire VMNT_WRITE or VMNT_EXCL on vmnt and downgrade to
   VMNT_READ if that was what was actually requested. This prevents the
   following deadlock scenario:
   thread A:
     lock_vmnt(vmp, TLL_READSER);
     lock_vnode(vp, TLL_READSER);
     upgrade_vmnt_lock(vmp, TLL_WRITE);

   thread B:
     lock_vmnt(vmp, TLL_READ);
     lock_vnode(vp, TLL_READSER);

   thread A will be stuck in upgrade_vmnt_lock and thread B is stuck in
   lock_vnode. This happens when, for example, thread A tries create a
   new node (open.c:new_node) and thread B tries to do eat_path to
   change dir (stadir.c:do_chdir). When the path is being resolved, a
   vnode is always locked with VNODE_OPCL (TLL_READSER) and then
   downgraded to VNODE_READ if read-only is actually requested. Thread
   A locks the vmnt with VMNT_WRITE (TLL_READSER) which still allows
   VMNT_READ locks. Thread B can't acquire a lock on the vnode because
   thread A has it; Thread A can't upgrade its vmnt lock to VMNT_WRITE
   (TLL_WRITE) because thread B has a VMNT_READ lock on it.

   By serializing vmnt locks during path parsing, thread B can only
   acquire a lock on vmp when thread A has completely finished its
   operation.
2013-01-11 09:18:35 +00:00
Ben Gras
ecf9b40841 vm: fix region reporting bug
. logic was backwards, causing no reporting ever
	. this broke coredumps ('Warning: Program has too many regions')
2013-01-09 19:50:52 +00:00
Ben Gras
a5f09d5196 service: nonfatally ignore unknown call keywords
. makes switching between revisions with new system.conf
	  keywords less risky
2013-01-08 18:54:04 +00:00