]> Zhao Yanbai Git Server - minix.git/log
minix.git
9 years agorestore PSW like 9393439a20 for AMD syscall 99/2899/1
Ben Gras [Thu, 20 Nov 2014 16:42:32 +0000 (16:42 +0000)]
restore PSW like 9393439a20 for AMD syscall

Change-Id: Ide0a8727af8d0d81361382dbd2460c7a6c5743fc

9 years agoinet: detect short TCP option lengths 96/2896/1
David van Moolenbroek [Tue, 18 Nov 2014 12:45:46 +0000 (12:45 +0000)]
inet: detect short TCP option lengths

Previously, a TCP option length of zero would cause inet to end up
in an infinite loop.

This resolves #7, reported by Alejandro Hernandez.

Change-Id: I45ad4c789d10d8e202cf6e140a7b9db7a6543c75

9 years agoFix for missing /usr/games in root's PATH 95/2895/1
Lionel Sambuc [Mon, 17 Nov 2014 21:35:00 +0000 (22:35 +0100)]
Fix for missing /usr/games in root's PATH

After importing the default environment from NetBSD, we discovered that
it doesn't contain /usr/games, which is required for the commands
strfile. This utility is used while generating fortune database.

This patch simply sets TOOL_STRFILE to contain an absolute path.

Change-Id: I2e366a0b67d5258f387c3f5a2a2a581fedead359

9 years agodhcpd: don't crash so easily 94/2894/1
David van Moolenbroek [Mon, 17 Nov 2014 20:13:46 +0000 (20:13 +0000)]
dhcpd: don't crash so easily

The jump-to-start hack is not resetting global variables, resulting in
a crash after several such restarts cause an overflow in the network
table.  This patch fixes that particular issue, but more similar
issues (in particular memory leaks) are bound to come up.  As such this
is a stopgap measure until we can get rid of the old dhcpd altogether.

This resolves the additional issue reported in #2.

Change-Id: Ic4cd80eae520cf2b97e893bac63b3ab1ecfea6d8

9 years agortl8139: enable bus mastering if needed 93/2893/1
David van Moolenbroek [Mon, 17 Nov 2014 19:19:36 +0000 (19:19 +0000)]
rtl8139: enable bus mastering if needed

This resolves #2.

Change-Id: Ie6736f0d5a713025f09c18de7042ba44fbb1b2f8

9 years agolibfsdriver: support mmap on FSes with no device 92/2892/1
David van Moolenbroek [Sat, 15 Nov 2014 10:14:00 +0000 (10:14 +0000)]
libfsdriver: support mmap on FSes with no device

This patch adds (very limited) support for memory-mapping pages on
file systems that are mounted on the special "none" device and that
do not implement PEEK support by themselves.  This includes hgfs,
vbfs, and procfs.

The solution is implemented in libvtreefs, and consists of allocating
pages, filling them with content by calling the file system's READ
functionality, passing the pages to VM, and freeing them again.  A new
VM flag is used to indicate that these pages should be mapped in only
once, and thus not cached beyond their single use.  This prevents
stale data from getting mapped in without the involvement of the file
system, which would be problematic on file systems where file contents
may become outdated at any time.  No VM caching means no sharing and
poor performance, but mmap no longer fails on these file systems.

Compared to a libc-based approach, this patch retains the on-demand
nature of mmap.  Especially tail(1) is known to map in a large file
area only to use a small portion of it.

All file systems now need to be given permission for the SETCACHEPAGE
and CLEARCACHE calls to VM.

A very basic regression test is added to test74.

Change-Id: I17afc4cb97315b515cad1542521b98f293b6b559

9 years agolibfsdriver: prefill st_dev for stat requests 91/2891/1
David van Moolenbroek [Fri, 14 Nov 2014 15:52:22 +0000 (15:52 +0000)]
libfsdriver: prefill st_dev for stat requests

This obviates the need for several file system implementations to
remember the device on which they are mounted.

Change-Id: Ida8325cf4bcf072e61761cfee34e3f7ed2d750b9

9 years agoprocfs: add /proc/service directory 88/2888/2
David van Moolenbroek [Mon, 10 Nov 2014 14:54:06 +0000 (14:54 +0000)]
procfs: add /proc/service directory

This directory is filled dynamically with regular files, one for each
service that RS knows about, named after its label.  Its contents are
still subject to (heavy) change, but currently expose the service's
endpoint and number of restarts so far.

Change-Id: Ie58c824bcb6382c8da7a714e59fee87329970b4b

9 years agoprocfs: convert to KNF 87/2887/2
David van Moolenbroek [Sun, 9 Nov 2014 15:17:44 +0000 (15:17 +0000)]
procfs: convert to KNF

Change-Id: Ib4252f199af0f9597745dcd2c11a7f761738671f

9 years agolibvtreefs: API changes/extensions, part 2 86/2886/2
David van Moolenbroek [Sun, 9 Nov 2014 14:14:37 +0000 (14:14 +0000)]
libvtreefs: API changes/extensions, part 2

- rename start_vtreefs to run_vtreefs, since the function returns upon
  termination these days;
- add get_inode_slots function to retrieve the number of indexed slots;
- add support for extra per-inode data for arbitrary storage.

Change-Id: If2d365d7b478a1cecc9e20fb2b3e70c1a1cf7243

9 years agolibvtreefs: API changes/extensions, part 1 85/2885/2
David van Moolenbroek [Thu, 6 Nov 2014 15:04:45 +0000 (15:04 +0000)]
libvtreefs: API changes/extensions, part 1

- move primary I/O buffer into vtreefs; change read hook API;
- add hooks for write, truncate, symlink, mknod, unlink, chmod/chown;
- modernize message_hook;
- change procfs, devman, gpio accordingly;

Change-Id: I9f0669e41195efa3253032e95d93f0a78e9d68d6

9 years agolibvtreefs: convert to KNF 84/2884/2
David van Moolenbroek [Thu, 6 Nov 2014 13:36:45 +0000 (13:36 +0000)]
libvtreefs: convert to KNF

Change-Id: I81bdf05c9b630a0cbb0ac573d36d4f59f8137199

9 years agoFix bad cast from `u16_t` to `ssize_t` 89/2889/1
Emmanuel Blot [Fri, 7 Nov 2014 17:24:13 +0000 (18:24 +0100)]
Fix bad cast from `u16_t` to `ssize_t`

9 years agoprocfs: compile in x86 support only for x86 target 83/2883/2
David van Moolenbroek [Wed, 5 Nov 2014 14:07:38 +0000 (14:07 +0000)]
procfs: compile in x86 support only for x86 target

Issue reported by Emmanuel Blot.

Change-Id: I7f5b1b65273e6ac841d5451e0be7b0e1c92d537c

9 years agotest76: increase alarm times 90/2890/1
David van Moolenbroek [Wed, 12 Nov 2014 12:11:32 +0000 (12:11 +0000)]
test76: increase alarm times

The test would sometimes fail because an alarm triggered before the
system call to be interrupted by the alarm could be started.

Change-Id: Ia507720a1f2d259afde1f97b7edd03f22cbd4810

9 years agotrace(1): document how to add an IOCTL handler 82/2882/2
David van Moolenbroek [Tue, 11 Nov 2014 23:11:21 +0000 (23:11 +0000)]
trace(1): document how to add an IOCTL handler

Also fix two small IOCTL-related bugs:
- do not print an argument pointer for argument-less IOCTLs;
- print IOCTL contents with -V given once, just like structures.

Change-Id: Iec7373003d71937fd34ee4b9db6c6cec0c916411

9 years agoext2: perform super I/O with contiguous memory 78/2878/2
David van Moolenbroek [Sun, 9 Nov 2014 12:59:39 +0000 (12:59 +0000)]
ext2: perform super I/O with contiguous memory

Issue reported by Antoine Leca.

Change-Id: Ie6f3ab6c1943b0b7ea9d5a68d4c24b92bab17233

9 years agoVM,MFS: better handling of some exceptional cases 80/2880/1
Ben Gras [Thu, 6 Nov 2014 13:39:32 +0000 (14:39 +0100)]
VM,MFS: better handling of some exceptional cases

Fix for problems reported by Alejandro Hernández:
. VM unmap: handle case where there is no nextvr

Fixes for problems found by running Melkor ELF fuzzing tool:
. VM: better handle case where region prealloc fails by
  freeing memory that was allocated so far
. MFS fs_readwrite: EOF check should happen for read and
  peek requests, not just read

This fixes #4.

Change-Id: I2adf4eebdfb4c48a297beff0478eed5c917a53a4

9 years agoImport NetBSD shell environment files 79/2879/1
Lionel Sambuc [Mon, 10 Nov 2014 15:09:08 +0000 (16:09 +0100)]
Import NetBSD shell environment files

With the import of Xorg, a proper separation between login-time and sub
shell-time of the environment setup is necessary.

Instead of re-developping this from scratch, I am taking the opportunity
to import the NetBSD default environment.

Change-Id: Ib6a8fbd9c2f407ccd59be57a52ef9df21c2c9ce7

9 years agoAdding /usr/X11R7/lib to LD_LIBRARY_PATH 76/2876/2
Lionel Sambuc [Tue, 7 Oct 2014 21:00:33 +0000 (23:00 +0200)]
Adding /usr/X11R7/lib to LD_LIBRARY_PATH

Change-Id: I94b91e9e89115f90142e284fca21df4c3c8e2060

9 years agoAdding /usr/X11R7 to PATH 75/2875/2
Lionel Sambuc [Tue, 6 May 2014 09:14:14 +0000 (11:14 +0200)]
Adding /usr/X11R7 to PATH

Change-Id: Ifac54e59715f48bdfa4ab0a77d656d11f7289a2e

9 years agoImporting external/mit/xorg support rules 74/2874/2
Lionel Sambuc [Wed, 21 Aug 2013 09:15:11 +0000 (11:15 +0200)]
Importing external/mit/xorg support rules

Change-Id: Ib11d8659485a444797bf3a2118182a1d4e316b50

9 years agoexternal/mit/expat: Import 73/2873/2
Lionel Sambuc [Sat, 14 Dec 2013 03:48:37 +0000 (04:48 +0100)]
external/mit/expat: Import

Change-Id: Ieb49357166b392956df6554a06fcae83c8fd519d

9 years agoEnhancing /proc/pci 72/2872/2
Lionel Sambuc [Fri, 17 Oct 2014 16:33:00 +0000 (18:33 +0200)]
Enhancing /proc/pci

 - Adding missing fields for PCI device lookup
 - Adding the domain (for now set to zero) as part of the slot name

Change-Id: Iebaf3b21f6ab5024738cbc1dea66d5ad3ada175d

9 years agoTurn PCI into a character driver 71/2871/2
Lionel Sambuc [Thu, 16 Oct 2014 19:19:24 +0000 (21:19 +0200)]
Turn PCI into a character driver

Change-Id: Ia9c83af4d52e82e845b6a847c3e82e33d1920ae0

10 years agoUse NetBSD PCI ID DB 70/2870/1
Lionel Sambuc [Thu, 16 Oct 2014 12:23:30 +0000 (14:23 +0200)]
Use NetBSD PCI ID DB

Change-Id: I3fcbce5983b4e0b45e6cc8fac076947c6a84928d

10 years agoImporting lib/libpci 69/2869/1
Lionel Sambuc [Wed, 15 Oct 2014 07:51:53 +0000 (09:51 +0200)]
Importing lib/libpci

Change-Id: I21ae1e409286cec27c5e35677de3778a3f505d1e

10 years agoPCI driver cleanup 68/2868/1
Lionel Sambuc [Tue, 14 Oct 2014 19:38:39 +0000 (21:38 +0200)]
PCI driver cleanup

 - Moved to KNF
 - Whitespace cleanup
 - Removed useless static functions prototypes
 - Renamed some file private functions by prepending '__'
 - Renamed some server-specific function by prepending '_'
 - Fixed compilation warning for WARNS= 3

Change-Id: Ie44d35839177d5ee0630cdf576660c852452ab80

10 years agoPCKDB: Fix PS/2 Mouse support. 67/2867/1
Lionel Sambuc [Thu, 6 Nov 2014 14:37:34 +0000 (15:37 +0100)]
PCKDB: Fix PS/2 Mouse support.

Change-Id: I2240b47ca47a3db7268b47e9e5881d8200c68531

10 years agoFix iopl flag when sysenter/exit are used 66/2866/1
Lionel Sambuc [Fri, 31 Oct 2014 21:40:23 +0000 (22:40 +0100)]
Fix iopl flag when sysenter/exit are used

Change-Id: If8c12f987c3adb8f329ae163da6b2f1cb8cc772f

10 years agoAdd trace(1): the MINIX3 system call tracer 65/2865/1
David van Moolenbroek [Tue, 4 Nov 2014 21:33:04 +0000 (21:33 +0000)]
Add trace(1): the MINIX3 system call tracer

Change-Id: Ib970c8647409196902ed53d6e9631a1673a4ab2e

10 years agobuildsystem: fix build errors for x86 on OSX 64/2864/1
Thomas Veerman [Wed, 15 Oct 2014 08:59:38 +0000 (10:59 +0200)]
buildsystem: fix build errors for x86 on OSX

Define _NLS_PRIVATE in tools/llvm-tblgen/Makefile so that
<tools/compat/nl_types.h> will pull in <include/nl_types.h>. This is
necessary as Clang's c++/v1/locale implementation contains references
to catopen and other catalog symbols that aren't defined anywhere.
Moreover, the compiler will complain about NL_CAT_LOCALE not being
declared. The compat nl_types.h fixes these discrepancies.

However, <nl_types.h> uses __format_arg to add function attributes to
declarations. On NetBSD __format_arg(fmtarg) is defined by
<sys/cdefs.h> to be __attribute__((__format_arg__ (fmtarg))) for
briefness, but other platforms don't do that. Consequently, the build
will fail on catopen and friends function declarations because the
compiler doesn't know how to handle __format_arg(fmtarg). A fixup to
<tools/compat/nl_types.h> takes care of this, but it won't win any
beauty contest.

Change-Id: Ic4426eca8385aeef858e60304d6e8c06cd497d95
Signed-off-by: Thomas Veerman <tveerman@gmail.com>
10 years agoVM: fix returning VFS error code for mmap 63/2863/1
David van Moolenbroek [Mon, 3 Nov 2014 11:18:30 +0000 (11:18 +0000)]
VM: fix returning VFS error code for mmap

Change-Id: Ifcaa15fb8277be53515eb18c4f86a306c52d91d6

10 years agoFix fcntl(F_[GS]ETNOSIGPIPE) semantics 62/2862/1
David van Moolenbroek [Sat, 1 Nov 2014 12:57:31 +0000 (12:57 +0000)]
Fix fcntl(F_[GS]ETNOSIGPIPE) semantics

The new semantics should match those of NetBSD and other systems.

Change-Id: Ic9ca9d6b8c3e42d2a2953d9feea5f6bacaceb43c

10 years agodevman: allow multiple event read calls up to EOF 61/2861/1
David van Moolenbroek [Tue, 28 Oct 2014 13:37:42 +0000 (13:37 +0000)]
devman: allow multiple event read calls up to EOF

Read calls may be repeated by VFS if the user destination memory is
not mapped in.  Devman currently assumes that all reads are
successful, and uses this to track whether EOF has been reached for
a particular event, discarding it as soon as this happens.  Upon
repetition, this may result in lost events for devmand.

With this patch, devman discards events only once devmand reads the
EOF marker, which itself can never generate a user page fault.  The
result is that read calls for data can be repeated safely, without
the risk of losing events in the process.

Change-Id: I9dfdf7f8c8992a20a10302d79c3506e61f8564b0

10 years agoFix build error on OSX 60/2860/2
Thomas Veerman [Thu, 9 Oct 2014 20:14:41 +0000 (22:14 +0200)]
Fix build error on OSX

When building Gold on OSX 10.9 and Clang 6.0, the build process fails
with the error:

In file included from /Users/thomas/minix/tools/binutils/../../external/gpl3/binutils/dist/gold/binary.cc:31:
In file included from /Users/thomas/minix/tools/binutils/../../external/gpl3/binutils/dist/gold/stringpool.h:23:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string:438:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cwchar:107:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cwctype:54:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:51:72: error: use of undeclared identifier 'do_not_use_isalnum_with_safe_ctype'
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_isalnum(int __c) {return isalnum(__c);}

Signed-off-by: Thomas Veerman <tveerman@gmail.com>
Change-Id: Ib7ca13a51e83c31bb3020d755e04b308aeacde5d

10 years agoFix OS X crossbuilds for arm 59/2859/2
Lionel Sambuc [Fri, 10 Oct 2014 09:19:08 +0000 (11:19 +0200)]
Fix OS X crossbuilds for arm

 - Fixed missing variable interpolation because of single quotes
 - Replaced /bin/sh in gen_uEnv.txt.sh with /usr/bin/env bash as the default
   echo doesn't support '-n'
 - Fixed some whitespace errors
 - A succesful build requires for now to skip the gold linker on OSX.

Change-Id: Id09bf52f45252026e3a58b74e8448ea24a0dab12

10 years agoImport tmux 58/2858/2
David van Moolenbroek [Wed, 1 Oct 2014 15:59:46 +0000 (15:59 +0000)]
Import tmux

We have to use SOCK_SEQPACKET instead of SOCK_STREAM for client/server
communication, because UDS does things with control messages that tmux
does not expect.

Change-Id: I3edb1875d61fb976cf6485c650f4fd4b82fa354c

10 years agolibc: enable setproctitle(3) 57/2857/2
David van Moolenbroek [Wed, 1 Oct 2014 15:40:46 +0000 (15:40 +0000)]
libc: enable setproctitle(3)

Change-Id: I31bbc5d960c60f7347424ce3d8f4bce89b396339

10 years agoImport libevent 56/2856/2
David van Moolenbroek [Wed, 1 Oct 2014 15:39:05 +0000 (15:39 +0000)]
Import libevent

Change-Id: Ic75f4cac5eb07ffaba8f97d10673d7d7e2b1762d

10 years agominix libraries: resolve clang warnings 55/2855/1
David van Moolenbroek [Tue, 30 Sep 2014 21:04:09 +0000 (21:04 +0000)]
minix libraries: resolve clang warnings

Change-Id: I0f3425fb8838708c9848a006f1eee5ab1bad71d2

10 years agolibc: resolve minix clang warnings 54/2854/1
David van Moolenbroek [Tue, 30 Sep 2014 20:35:56 +0000 (20:35 +0000)]
libc: resolve minix clang warnings

Change-Id: If6c42f7346cc1b00b387ae8d3b4f0df3ffb0244f

10 years agolibsys: resolve clang warnings 53/2853/1
David van Moolenbroek [Tue, 30 Sep 2014 20:08:54 +0000 (20:08 +0000)]
libsys: resolve clang warnings

Change-Id: Ic954ba8667b4d039172b8e0d2ec57674a479b8aa

10 years agoReplace NetBSD grep with OpenBSD grep 52/2852/1
David van Moolenbroek [Tue, 30 Sep 2014 17:26:43 +0000 (17:26 +0000)]
Replace NetBSD grep with OpenBSD grep

The NetBSD version is seriously broken--it is unable to match lines
against an empty pattern--and appears to be unmaintained.

The new version is the latest OpenBSD grep, with a number of MINIX-
specific changes marked as such, and an additional number of
(signed/unsigned, const) fixes to pass compilation.

Since this is not NetBSD code, move back the entire thing into
minix/usr.bin.

Change-Id: Icd40794a2d0cff9e7fb452db7d28c16dbd25e51d

10 years agolibsffs: make path names constant 51/2851/1
David van Moolenbroek [Sat, 23 Aug 2014 22:28:01 +0000 (22:28 +0000)]
libsffs: make path names constant

And a few other related warning fixes.

Change-Id: I1a49b9ee04c2b1bf80bc943272f72ffd6de77ef6

10 years agoRemove support for call profiling 50/2850/1
David van Moolenbroek [Tue, 30 Sep 2014 12:31:44 +0000 (12:31 +0000)]
Remove support for call profiling

The entire infrastructure relied on an ACK feature, and as such, it
has been broken for years now, with no easy way to repair it.

Change-Id: I783c2a21276967af115a642199f31fef0f14a572

10 years agotest56: fix race condition 49/2849/1
David van Moolenbroek [Tue, 23 Sep 2014 11:49:47 +0000 (11:49 +0000)]
test56: fix race condition

Change-Id: I42bfe2b150e92f760794b4a03e62859c8bd7a992

10 years agotests: fix clang warnings 48/2848/1
David van Moolenbroek [Tue, 23 Sep 2014 11:49:24 +0000 (11:49 +0000)]
tests: fix clang warnings

Change-Id: I5dddc85169d7ef515c99dd1ab824573cbc1b5f2b

10 years agoVFS: do not make cloned devices setuid/setgid 47/2847/1
David van Moolenbroek [Mon, 29 Sep 2014 16:07:10 +0000 (16:07 +0000)]
VFS: do not make cloned devices setuid/setgid

Change-Id: Ifd97444dd54334ccbc8780df9473450998ab7489

10 years agoRemove obsolete MIOC(UN)MAP requests 46/2846/1
David van Moolenbroek [Mon, 29 Sep 2014 16:05:22 +0000 (16:05 +0000)]
Remove obsolete MIOC(UN)MAP requests

Change-Id: I915ac759bc80a50aad21c12f088ad6c345a42986

10 years agosys/ioccom.h: remove _MINIX_IOCTL_IORW 45/2845/1
David van Moolenbroek [Mon, 29 Sep 2014 16:02:32 +0000 (16:02 +0000)]
sys/ioccom.h: remove _MINIX_IOCTL_IORW

It is unused, and does not do what the context suggests it does.

Change-Id: Ic5df9c77e2566a7754e01a444126a6caad2850fc

10 years agosvrctl(2) update 44/2844/1
David van Moolenbroek [Mon, 29 Sep 2014 15:41:36 +0000 (15:41 +0000)]
svrctl(2) update

- synchronize request type with ioctl by making it unsigned long;
- unbreak VFS requests, as they were being sent to PM;
- use proper ioctl direction flags (and new numbers) for requests;
- remove some needless header inclusions;
- svrctl is in libc, make its message name reflect this;
- keep backward compatibility: svrctl is part of the userland ABI.

Change-Id: I44902e8d0d11b8ebc1ef3bda94d2202481743c9b

10 years agoVFS/FS: putnode count need not be 64-bit 43/2843/1
David van Moolenbroek [Mon, 29 Sep 2014 15:14:02 +0000 (15:14 +0000)]
VFS/FS: putnode count need not be 64-bit

Change-Id: I49e67438d3f316e0321ac711494e988bb6510679

10 years agoIOCTL requests are unsigned longs now 42/2842/1
David van Moolenbroek [Mon, 29 Sep 2014 15:11:01 +0000 (15:11 +0000)]
IOCTL requests are unsigned longs now

Issue reported by JD Begin.

Change-Id: I0306d9dc43c36107897c8b73ed340d86a8dcef27

10 years agoCreate new colemak minix keymap. 41/2841/1
AndrewEdwards [Sun, 28 Sep 2014 16:23:15 +0000 (16:23 +0000)]
Create new colemak minix keymap.

Change-Id: I3464e723bd6bb578f415dfe78540e60b2eefb8b7

10 years agobuild lua dynamically 40/2840/1
Ben Gras [Sun, 28 Sep 2014 14:31:54 +0000 (16:31 +0200)]
build lua dynamically

. allows modules to be loaded

Fix submitted by Marc Balmer <mbalmer@NetBSD.org>

Change-Id: I6b2d19c2c9b136f0d72d2f714027221c0b86b5ae

10 years agoImport NetBSD legal/COPYRIGHT. 39/2839/2
Ben Gras [Sun, 28 Sep 2014 12:00:54 +0000 (14:00 +0200)]
Import NetBSD legal/COPYRIGHT.

Change-Id: Ic23e5f1902ade92402faa968bb945b7d873aaf6b

10 years agoImport NetBSD games/fish command. 38/2838/1
Alexandre Beletti [Thu, 25 Sep 2014 00:03:28 +0000 (02:03 +0200)]
Import NetBSD games/fish command.

Change-Id: Ie3009121c768fa5e0c50c681b87cde344ae7cfe2

10 years agoPorting grep from NetBSD 37/2837/1
Sky Liu [Sat, 13 Sep 2014 14:59:14 +0000 (22:59 +0800)]
Porting grep from NetBSD

Change-Id: I6fa9e3c0a4edc4d3ff292dc5c96ac16b34d7c792

10 years agoImport NetBSD games/snake command. 36/2836/2
Alexandre Beletti [Tue, 23 Sep 2014 07:16:10 +0000 (04:16 -0300)]
Import NetBSD games/snake command.

Change-Id: Ie46c0acc09e5e8079f80301ae3a40172fcfb51dd

10 years agotests: reenable testisofs 34/2834/2
David van Moolenbroek [Mon, 8 Sep 2014 22:34:15 +0000 (22:34 +0000)]
tests: reenable testisofs

Change-Id: Ic0883f8b487390e34f1a27e324b033a8cbe2cfff

10 years agoClean up obsolete FS support routines 59/2759/4
David van Moolenbroek [Sun, 24 Aug 2014 11:53:52 +0000 (11:53 +0000)]
Clean up obsolete FS support routines

Change-Id: I56d0ab51f32064bb964051732de7e2465dc22b75

10 years agoisofs: rename source directory to "isofs" 58/2758/4
David van Moolenbroek [Sun, 24 Aug 2014 11:52:43 +0000 (11:52 +0000)]
isofs: rename source directory to "isofs"

Change-Id: Ibe630f720b4399e7ebbbd850650036fbaa9cec7b

10 years agoisofs: basic improvements 57/2757/4
David van Moolenbroek [Sun, 24 Aug 2014 11:50:23 +0000 (11:50 +0000)]
isofs: basic improvements

- fix for "out of extents" panic;
- return ENOENT when a file name does not exist;
- inode count sanity check upon unmount.

Change-Id: Icb97dbaf7c8aec463438f06b341defca357094b2

10 years agoisofs: use libdriver 56/2756/4
David van Moolenbroek [Sun, 24 Aug 2014 10:37:12 +0000 (10:37 +0000)]
isofs: use libdriver

Change-Id: I5ced800eec92f651f31d9c77c3129fe837ca4614

10 years agoiso9660fs: rewrite ISO 9660 file system server 33/2833/2
Jean-Baptiste Boric [Sun, 3 Aug 2014 17:24:51 +0000 (19:24 +0200)]
iso9660fs: rewrite ISO 9660 file system server

iso9660fs has been cleaned up and debugged. It now supports:
 * ISO 9660 Level 3,
 * System Use Sharing Protocol (SUSP),
 * Rock Ridge Interchange Protocol (RRIP).

The following Rock Ridge features are supported:
 * POSIX file attributes (PX),
 * POSIX device number (PN),
 * Symbolic links (SL),
 * Alternate file name (NM),
 * Timestamps in 7-byte format (TF).

Change-Id: Ib227411bdda5bc10a957b27ad05fafdc95eca35f

10 years agoRevert "Temporarily disable the is9600 FS server" 35/2835/1
David van Moolenbroek [Thu, 18 Sep 2014 12:59:18 +0000 (12:59 +0000)]
Revert "Temporarily disable the is9600 FS server"

This reverts commit ab5c98ee5a2332a1f64b55fa3d056b675b2252ef.

10 years agowriteisofs: set file struct version field to one 55/2755/3
David van Moolenbroek [Sat, 23 Aug 2014 18:55:44 +0000 (18:55 +0000)]
writeisofs: set file struct version field to one

Dictated by the spec and correctly flagged by the new isofs code.

Change-Id: Ie155c30b6a53e40ec42066af0adbcdbf457e5620

10 years agoPFS: rewrite, restyle 54/2754/3
David van Moolenbroek [Sun, 24 Aug 2014 10:20:59 +0000 (10:20 +0000)]
PFS: rewrite, restyle

- remove the buffer pool, inode bitmap, and inode hash table, and
  simplify the code accordingly;
- use theoretically slightly more optimal buffer management;
- put the entire source in one file, instead of having many files
  with one or two functions each;
- convert the code to KNF style.

Change-Id: Ib8f6f0bd99fbc6eb9098fba718e71b8e560783d9

10 years agoPFS: use libfsdriver 53/2753/3
David van Moolenbroek [Sun, 24 Aug 2014 10:18:30 +0000 (10:18 +0000)]
PFS: use libfsdriver

In order to avoid creating libfsdriver exceptions, two changes to VFS
are necessary:

- the returned position field for reads/writes is no longer abused to
  return the new pipe size; VFS is perfectly capable of updating the
  size itself;
- during system startup, PFS is now sent a mount request, just like all
  other file systems.

In proper "two steps forward, one step back" fashion, the latter point
has the consequence that PFS can no longer drop its privileges at
startup.  This is probably best resolved with a more general solution
for all boot image system services.  The upside is that PFS no longer
needs to be linked with libc.

Change-Id: I92e2410cdb0d93d0e6107bae10bc08efc2dbb8b3

10 years agolibc: make socketpair(3) use the right device 52/2752/3
David van Moolenbroek [Sun, 24 Aug 2014 10:16:37 +0000 (10:16 +0000)]
libc: make socketpair(3) use the right device

UDS expects the device number of the actual socket, not the device on
which the socket happens to reside.  The code worked only because PFS
returned the same value in the st_dev stat field, which it will have
to continue doing for a while now.

Change-Id: I426d38a86a96307ff6e6ed8099d37dae02d6bf2b

10 years agoext2: use libfsdriver 51/2751/3
David van Moolenbroek [Sun, 24 Aug 2014 10:12:30 +0000 (10:12 +0000)]
ext2: use libfsdriver

- fix panic on truncating files with holes;
- remove block-based readahead, to match MFS.

Change-Id: I385552f8019e9c013a6cb937bcc8e4e7181a4a50

10 years agoMFS: use libfsdriver 50/2750/3
David van Moolenbroek [Sun, 24 Aug 2014 10:06:03 +0000 (10:06 +0000)]
MFS: use libfsdriver

Change-Id: Ib658c7dea47b81a417755b0554a75288117b431a

10 years agoMove clock_time into libsys 49/2749/3
David van Moolenbroek [Sun, 24 Aug 2014 10:00:06 +0000 (10:00 +0000)]
Move clock_time into libsys

Change-Id: Ibc5034617e6f6581de7c4a166ca075b3c357fa82

10 years agolibvtreefs: use libfsdriver 48/2748/3
David van Moolenbroek [Sun, 24 Aug 2014 09:55:05 +0000 (09:55 +0000)]
libvtreefs: use libfsdriver

Change-Id: I0e6446bd0ccc3b89edc237be441ebfd92585f352

10 years agolibpuffs: use libfsdriver 47/2747/3
David van Moolenbroek [Sun, 24 Aug 2014 09:51:35 +0000 (09:51 +0000)]
libpuffs: use libfsdriver

Change-Id: I26651578066e1098dc275a9cfbe5710870a13811

10 years agolibsffs: use libfsdriver 46/2746/3
David van Moolenbroek [Sun, 24 Aug 2014 09:47:41 +0000 (09:47 +0000)]
libsffs: use libfsdriver

Change-Id: Id8377873455771c614371e115643cd906d05f12c

10 years agolibminixfs: add block I/O routines 45/2745/3
David van Moolenbroek [Sun, 24 Aug 2014 09:40:52 +0000 (09:40 +0000)]
libminixfs: add block I/O routines

The new functionality aims to save each file system server from having
to implement its own block I/O routines just so that it can serve as a
root file system.  The new source file (bio.c) lists the requirements
that file system servers have to fulfill in order to use the routines.

Change-Id: Ia0190fd5c30e8c2097ed8f4b0e3ccde1827e0b92

10 years agolibminixfs: do not make fs_sync upcalls 44/2744/3
David van Moolenbroek [Sun, 24 Aug 2014 09:38:25 +0000 (09:38 +0000)]
libminixfs: do not make fs_sync upcalls

The file system may not be expecting these upcalls at arbitrary
moments, while they serve only as a performance optimization anyway.

Change-Id: I0748fd1f6c2645ddbb64466093ee36025aac45e0

10 years agotest72: fix mock bdev functions 43/2743/3
David van Moolenbroek [Sun, 24 Aug 2014 09:37:42 +0000 (09:37 +0000)]
test72: fix mock bdev functions

The minixfs library only ever submits vector elements (and reads) of
the system page size. The test implementation was expecting vector
elements (and reads) of the file system block size. The resulting
mismatch caused I/O to fail in various ways, even though this did not
have an effect on the actual test.

Change-Id: I02f4a3efcd4a32916435d82c7d5798e6b78f0a27

10 years agotest72: fix premature block size update 42/2742/3
David van Moolenbroek [Sun, 24 Aug 2014 09:37:10 +0000 (09:37 +0000)]
test72: fix premature block size update

Updating the current block size before flushing the cache, which still
contained blocks with the old block size, resulted in triggering an
assert on position alignment.

Change-Id: I7a83f3d3bc57bafc08aa6c8df64fbf978273bbfd

10 years agoAdd libfsdriver: a library to drive file systems 41/2741/3
David van Moolenbroek [Sun, 24 Aug 2014 09:27:54 +0000 (09:27 +0000)]
Add libfsdriver: a library to drive file systems

This library provides new abstractions for the upper (VFS) side of
file system services, and should be used for all file system service
implementations from now on.  It provides the following functionality:

  - a function call table abstraction, hiding the details of the
    VFS-FS protocol with simple parameters;
  - a (currently limited) number of per-function steps required for
    all file system implementations, such as copying in and out path
    names and result buffers;
  - a default implementation for multicomponent path lookups, such
    that the file system merely has to implement resolution of single
    components at a time;
  - an abstraction for copying data from and to the file system, which
    allows transparent intraprocess copying as required for the lookup
    implementation;
  - a set of functions to simplify getdents implementations.

The message loop provided by the library is currently for use by
single-threaded file system implementations only.  Multithreaded file
system services may use the more low-level message processing
functionality.

Protocol-level optimizations such as including names in protocol
messages may be hidden entirely in this library.  In addition, in the
future, the lookup implementation may be replaced by a single-
component lookup VFS/FS protocol request as part of a VFS name cache
implementation; this, too, can be hidden entirely in this library.

Change-Id: Ib34f0d0e021dfa3426ce8826efcf3eaa94d3ef3e

10 years agoVFS: provide correct root directory for lookups 40/2740/2
David van Moolenbroek [Sun, 24 Aug 2014 09:27:02 +0000 (09:27 +0000)]
VFS: provide correct root directory for lookups

This fixes a VFS panic and a chroot(2) security hole.

Change-Id: Ifd1923f886501cf3a73277aab89db974798c47dc

10 years agoVFS: do not call REQ_FLUSH on the root file system 39/2739/2
David van Moolenbroek [Sun, 24 Aug 2014 09:26:17 +0000 (09:26 +0000)]
VFS: do not call REQ_FLUSH on the root file system

Change-Id: I15d29a6f3d198e604ea7f7a9db600d6d18b6994b

10 years agoSet the motd to point to a wiki page. 32/2832/1 R3.3.0 v3.3.0
Ben Gras [Sat, 13 Sep 2014 21:56:00 +0000 (23:56 +0200)]
Set the motd to point to a wiki page.

Change-Id: I12bc9d07c4d3d0bcb17a27521a0f06ad5abb5fda

10 years agoset reasonable packages list 31/2831/1
Ben Gras [Sat, 13 Sep 2014 20:22:51 +0000 (22:22 +0200)]
set reasonable packages list

. clang, binutils and git and dependencies on CD
. don't bzip .iso

Change-Id: If43324b46289de5fd1ca7b64785f8ae6e97fd6b7

10 years agorestore pkgin_cd 30/2830/1
Ben Gras [Sat, 13 Sep 2014 14:50:30 +0000 (16:50 +0200)]
restore pkgin_cd

. make release.sh put packages on the cd
. make setup script produce a better rc.package file

Change-Id: Ia4b7588975c2ddf630fa1c510715d82755f67f1e

10 years agorestore single user mode 29/2829/1
Ben Gras [Fri, 12 Sep 2014 21:15:46 +0000 (23:15 +0200)]
restore single user mode

. the minix init started rc with the 'bootargs' variable.
  this can now be cleanly passed to rc by executing sysenv
  from the ramdisk rc script.

Change-Id: I68d0d2ab0be326b2ae30438a62dd7649b600c2d2

10 years agosmall arm image script changes 28/2828/1
Ben Gras [Fri, 12 Sep 2014 10:34:13 +0000 (12:34 +0200)]
small arm image script changes

. let you specify IMG as a block device directly. this minimizes
  i/o (only write used parts of the filesystem) and so turnaround
  time - while still allowing the big default FS size.

Change-Id: Ib738499464e0d350a474a706f688d3f10806207d

10 years agoTemporarily disable the is9600 FS server 27/2827/1
Lionel Sambuc [Fri, 12 Sep 2014 11:39:49 +0000 (13:39 +0200)]
Temporarily disable the is9600 FS server

It is currently too broken to be of any use anyway. Fixes are pending,
which is why this patch is intended to be reverted before those are
merged.

For the time being, the following tools can be used to access cdroms:
 - isodir
 - isoinfo
 - isoread
 - writeisofs

Change-Id: I681e8f1224bb464ba978f893dc18d46fa06a8208

10 years agousb/hcd: asserts should not have side effects 26/2826/1
Lionel Sambuc [Fri, 12 Sep 2014 11:20:40 +0000 (13:20 +0200)]
usb/hcd: asserts should not have side effects

They can be deactivated with -DNDEBUG, which is why they can't contain
code which should always be run.

It seems the local implementation of USB_ASSERT doesn't honor the
CPP flags NDEBUG, this will be corrected in a later patch.

Change-Id: Iac56b09fd563f1b8c4c7be15a468a05b9cc86a18

10 years agopkgin_sets: Fix python package name 25/2825/1
Lionel Sambuc [Fri, 12 Sep 2014 09:10:30 +0000 (11:10 +0200)]
pkgin_sets: Fix python package name

Change-Id: I09658a10f750b3d15867d6bd69d749c61831a00d

10 years ago/usr/Makefile: prevent pkgin from hanging 24/2824/1
Lionel Sambuc [Fri, 12 Sep 2014 09:07:33 +0000 (11:07 +0200)]
/usr/Makefile: prevent pkgin from hanging

Change-Id: Ida6086f3c2d3300609aaebb931d094fd779c73ea

10 years agoKernel: update copyright year 23/2823/1
David van Moolenbroek [Wed, 10 Sep 2014 13:01:45 +0000 (13:01 +0000)]
Kernel: update copyright year

Change-Id: I1776f1bc6402f264c7095c17a9ace087036cf010

10 years agorc: update (unused) default service directory 22/2822/2
David van Moolenbroek [Tue, 9 Sep 2014 11:50:48 +0000 (11:50 +0000)]
rc: update (unused) default service directory

Change-Id: I62f838a47ef92975ef88319fffd94f83814fef49

10 years agoblocktest: update test.sh for new shell 21/2821/2
David van Moolenbroek [Tue, 9 Sep 2014 11:49:27 +0000 (11:49 +0000)]
blocktest: update test.sh for new shell

Change-Id: I9c08139db972013a16f5794bd213b69bba0b5350

10 years agoPorting uuencode/uudecode from NetBSD 20/2820/2
Sky Liu [Sun, 7 Sep 2014 02:05:15 +0000 (10:05 +0800)]
Porting uuencode/uudecode from NetBSD

Lionel: I fixed small mistakes in the mi file, typos, missing keywords,
        and whitespace fixes.

Change-Id: If0c04b923af328838f2d0950e189bf28995bc0f0

10 years agoDrop minix-malloc & friends 19/2819/2
Lionel Sambuc [Wed, 3 Sep 2014 14:53:25 +0000 (16:53 +0200)]
Drop minix-malloc & friends

Known limitations:
 - comment for now testisofs, as iso9660fs is known to be broken.

Benefits:
 - near 3x speed improvement on C++ code compilation, bringing down
   make build to from 44min down to 21min.

 - Allows for X applications to work properly, which should be available
   in near-term future through pkgsrc for 3.3.0.

Change-Id: I8f4179a7ea925ed381642add32cfd8c5822217e4

10 years agoAllow elf_unpack to withstand invalid ELF headers 18/2818/2
Lionel Sambuc [Mon, 8 Sep 2014 08:16:41 +0000 (10:16 +0200)]
Allow elf_unpack to withstand invalid ELF headers

Change-Id: I10a0f3111176b9614b8531d6736e2e860eb95ce4

10 years agoSet uts.machine to i386 on intel 32bit platforms. 17/2817/1
Lionel Sambuc [Fri, 5 Sep 2014 13:35:17 +0000 (15:35 +0200)]
Set uts.machine to i386 on intel 32bit platforms.

Change-Id: Ic0833843f0d3e3df50fcbde11b453b846f0d4f33