Commit graph

215 commits

Author SHA1 Message Date
Thomas Veerman ca0bed1400 Add EOVERFLOW error condition 2010-07-15 12:36:41 +00:00
Thomas Veerman 3404e8e4e5 Convert a few man pages to mandoc 2010-07-15 08:48:24 +00:00
Ben Gras f6e558f5d4 errno EFTYPE 2010-07-13 20:05:47 +00:00
Ben Gras 9bb7552df5 remove old man.1 2010-07-13 19:49:12 +00:00
Cristiano Giuffrida 60549b67be Man pages for new system configuration. 2010-07-13 11:45:41 +00:00
Arun Thomas 4b30979086 Install(1): Allow -c option with -d
Contributed by Gautam Tirumala
2010-07-12 13:38:13 +00:00
Erik van der Kouwe b5ae3961bb Fix unintended changes in r7614 2010-07-01 11:56:02 +00:00
Erik van der Kouwe 23284ee7bd User-space scheduling for system processes 2010-07-01 08:32:33 +00:00
Ben Gras 65be30daed libfetch - move fetch.3 to man and fetch.h to include 2010-07-01 00:05:48 +00:00
Ben Gras d24348c636 man - statvfs(5) manpage 2010-06-27 15:52:50 +00:00
Ben Gras 6ef440c03b statvfs manpage. 2010-06-27 15:40:06 +00:00
Ben Gras a1a12bbc34 man: throw out *whatis 2010-06-26 02:37:41 +00:00
Arun Thomas e10916476a Move mkfiles from /etc/mk to /usr/share/mk
Simplifies pkgsrc porting.
2010-06-25 19:33:56 +00:00
Arun Thomas c0c8d25799 Rename mkfiles from minix.*.mk to bsd.*.mk
Makes things easier for pkgsrc
2010-06-25 18:29:09 +00:00
Ben Gras 9dc7c1f081 man: remove id, touch 2010-06-25 17:18:45 +00:00
Ben Gras bfeecdbf62 no more minix touch, id 2010-06-25 17:13:57 +00:00
Ben Gras 2ac57865cb no more minix cut, printf 2010-06-22 21:19:42 +00:00
Ben Gras 6dd606eabf no more minix sed, patch man pages 2010-06-22 00:44:20 +00:00
Ben Gras 029d91baa9 no more minix grep man pages. 2010-06-21 14:42:53 +00:00
David van Moolenbroek 0964b221e7 ash: expr -e support 2010-06-16 09:33:11 +00:00
Thomas Veerman 4d7c317700 Fix wrong field for stack address and a typo. 2010-06-11 11:17:31 +00:00
Thomas Veerman f838e3c204 Also install getcontext and makecontext man pages 2010-06-11 11:03:47 +00:00
Arun Thomas f0a158d8c1 More cleanup to remove MM and FS references 2010-06-10 14:04:46 +00:00
Erik van der Kouwe 65764218f7 Remove dependency of release.sh on bc, du option to give overhead totals 2010-06-10 11:14:04 +00:00
Ben Gras 8fea317779 man: no more minix find manpage 2010-06-09 12:30:25 +00:00
Ben Gras 13d50be356 commands, man: remove minix find 2010-06-09 12:17:42 +00:00
David van Moolenbroek 2a8961cdac fix int64.3 man page formatting 2010-05-24 21:10:37 +00:00
David van Moolenbroek 9ba65d2ea8 This patch switches the MINIX3 ethernet driver stack from a port-based
model to an instance-based model. Each ethernet driver instance is now
responsible for exactly one network interface card. The port field in
/etc/inet.conf now acts as an instance field instead.

This patch also updates the data link protocol. This update:
- eliminates the concept of ports entirely;
- eliminates DL_GETNAME entirely;
- standardizes on using m_source for IPC and DL_ENDPT for safecopies;
- removes error codes from TASK/STAT replies, as they were unused;
- removes a number of other old or unused fields;
- names and renames a few other fields.

All ethernet drivers have been changed to:
- conform to the new protocol, and exactly that;
- take on an instance number based on a given "instance" argument;
- skip that number of PCI devices in probe iterations;
- use config tables and environment variables based on that number;
- no longer be limited to a predefined maximum of cards in any way;
- get rid of any leftover non-safecopy support and other ancient junk;
- have a correct banner protocol figure, or none at all.

Other changes:
* Inet.conf is now taken to be line-based, and supports #-comments.
  No existing installations are expected to be affected by this.
* A new, select-based asynchio library replaces the old one.
  Kindly contributed by Kees J. Bot.
* Inet now supports use of select() on IP devices.
  Combined, the last two changes together speed up dhcpd
  considerably in the presence of multiple interfaces.
* A small bug has been fixed in nonamed.
2010-05-17 22:22:53 +00:00
Erik van der Kouwe 7570df267f Full 64-bit multitplication and division added to u64 library 2010-05-17 16:44:26 +00:00
Erik van der Kouwe 6244867b11 xargs does not support the -f flag 2010-05-12 19:17:17 +00:00
Arun Thomas 5706670029 Convert boot/ and commands/ over to bsdmake 2010-05-12 16:28:54 +00:00
Erik van der Kouwe 7de730afe4 Add scancode reading capability to TTY 2010-04-15 06:55:42 +00:00
Cristiano Giuffrida 65ef539739 Driver mapping refactory.
VFS CHANGES:
- dmap table no longer statically initialized in VFS
- Dropped FSSIGNON svrctl call no longer used by INET

INET CHANGES:
- INET announces its presence to VFS just like any other driver

RS CHANGES:
- The boot image dev table contains all the data to initialize VFS' dmap table
- RS interface supports asynchronous up and update operations now
- RS interface extended to support driver style and flags
2010-04-09 21:56:44 +00:00
Cristiano Giuffrida cb176df60f New RS and new signal handling for system processes.
UPDATING INFO:
20100317:
        /usr/src/etc/system.conf updated to ignore default kernel calls: copy
        it (or merge it) to /etc/system.conf.
        The hello driver (/dev/hello) added to the distribution:
        # cd /usr/src/commands/scripts && make clean install
        # cd /dev && MAKEDEV hello

KERNEL CHANGES:
- Generic signal handling support. The kernel no longer assumes PM as a signal
manager for every process. The signal manager of a given process can now be
specified in its privilege slot. When a signal has to be delivered, the kernel
performs the lookup and forwards the signal to the appropriate signal manager.
PM is the default signal manager for user processes, RS is the default signal
manager for system processes. To enable ptrace()ing for system processes, it
is sufficient to change the default signal manager to PM. This will temporarily
disable crash recovery, though.
- sys_exit() is now split into sys_exit() (i.e. exit() for system processes,
which generates a self-termination signal), and sys_clear() (i.e. used by PM
to ask the kernel to clear a process slot when a process exits).
- Added a new kernel call (i.e. sys_update()) to swap two process slots and
implement live update.

PM CHANGES:
- Posix signal handling is no longer allowed for system processes. System
signals are split into two fixed categories: termination and non-termination
signals. When a non-termination signaled is processed, PM transforms the signal
into an IPC message and delivers the message to the system process. When a
termination signal is processed, PM terminates the process.
- PM no longer assumes itself as the signal manager for system processes. It now
makes sure that every system signal goes through the kernel before being
actually processes. The kernel will then dispatch the signal to the appropriate
signal manager which may or may not be PM.

SYSLIB CHANGES:
- Simplified SEF init and LU callbacks.
- Added additional predefined SEF callbacks to debug crash recovery and
live update.
- Fixed a temporary ack in the SEF init protocol. SEF init reply is now
completely synchronous.
- Added SEF signal event type to provide a uniform interface for system
processes to deal with signals. A sef_cb_signal_handler() callback is
available for system processes to handle every received signal. A
sef_cb_signal_manager() callback is used by signal managers to process
system signals on behalf of the kernel.
- Fixed a few bugs with memory mapping and DS.

VM CHANGES:
- Page faults and memory requests coming from the kernel are now implemented
using signals.
- Added a new VM call to swap two process slots and implement live update.
- The call is used by RS at update time and in turn invokes the kernel call
sys_update().

RS CHANGES:
- RS has been reworked with a better functional decomposition.
- Better kernel call masks. com.h now defines the set of very basic kernel calls
every system service is allowed to use. This makes system.conf simpler and
easier to maintain. In addition, this guarantees a higher level of isolation
for system libraries that use one or more kernel calls internally (e.g. printf).
- RS is the default signal manager for system processes. By default, RS
intercepts every signal delivered to every system process. This makes crash
recovery possible before bringing PM and friends in the loop.
- RS now supports fast rollback when something goes wrong while initializing
the new version during a live update.
- Live update is now implemented by keeping the two versions side-by-side and
swapping the process slots when the old version is ready to update.
- Crash recovery is now implemented by keeping the two versions side-by-side
and cleaning up the old version only when the recovery process is complete.

DS CHANGES:
- Fixed a bug when the process doing ds_publish() or ds_delete() is not known
by DS.
- Fixed the completely broken support for strings. String publishing is now
implemented in the system library and simply wraps publishing of memory ranges.
Ideally, we should adopt a similar approach for other data types as well.
- Test suite fixed.

DRIVER CHANGES:
- The hello driver has been added to the Minix distribution to demonstrate basic
live update and crash recovery functionalities.
- Other drivers have been adapted to conform the new SEF interface.
2010-03-17 01:15:29 +00:00
Arun Thomas 9944688d2b Convert man/ over to new make 2010-03-16 00:15:43 +00:00
Thomas Veerman bef0e3eb63 - Add support for the ucontext system calls (getcontext, setcontext,
swapcontext, and makecontext).
- Fix VM to not erroneously think the stack segment and data segment have
  collided when a user-space thread invokes brk().
- Add test51 to test ucontext functionality.
- Add man pages for ucontext system calls.
2010-03-12 15:58:41 +00:00
Arun Thomas 2a8fabf4ad Include directory reorg and makefile updates.
-Convert the include directory over to using bsdmake
 syntax
-Update/add mkfiles
-Modify install(1) so that it can create symlinks
-Update makefiles to use new install(1) options
-Rename /usr/include/ibm to /usr/include/i386
-Create /usr/include/machine symlink to arch header files
-Move vm_i386.h to its new home in the /usr/include/i386
-Update source files to #include the header files at their
 new homes.
-Add new gnu-includes target for building GCC headers
2010-03-08 11:04:59 +00:00
Ben Gras eedff09bfd top manpage update 2010-03-03 15:46:20 +00:00
Ben Gras 7c4cd0e6b0 - new pread(), fnmatch() calls
- split sprintf() and snprintf() to solve a linking problem when
   compiling an application
2010-02-25 17:08:08 +00:00
Erik van der Kouwe e3bfaaa2d0 Remove executable bit on mkdep.1 2010-02-19 12:32:01 +00:00
Arun Thomas b706112487 Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
Erik van der Kouwe d70e7ff3b6 Fixes in mkdep.1, suggested by Greg King 2010-02-05 13:07:08 +00:00
Erik van der Kouwe 7c9fe576a8 Throw out getpack, replace printenv with a link to env 2010-02-03 13:51:26 +00:00
Erik van der Kouwe 144de8a7b3 Add smallbunzip2 to bzip2 man-page 2010-02-02 15:26:12 +00:00
Erik van der Kouwe c107dbe1d0 Man-pages on mkdep, cdprobe, loadramdisk and newroot; thanks to Antoine Leca 2010-02-02 15:10:00 +00:00
Erik van der Kouwe 310876dcec Kill processes which ignore signals thatshould not be ignored 2010-01-31 19:13:20 +00:00
Erik van der Kouwe d8b8e10ba4 Add notrunc conversion for dd tool 2010-01-27 07:48:06 +00:00
Erik van der Kouwe 3e583f4c04 Add -p flag for install tool 2010-01-27 07:47:29 +00:00
David van Moolenbroek 71fe2852f4 HGFS - VMware Shared Folders file system server 2010-01-25 23:18:02 +00:00
Erik van der Kouwe 58024f9eb0 Add character classes for tr 2010-01-25 18:14:54 +00:00
Erik van der Kouwe 3ec29ae85e Add dirname function 2010-01-25 18:12:28 +00:00
Erik van der Kouwe a89d141e90 Add getopt_long library function 2010-01-25 18:11:21 +00:00
David van Moolenbroek 769e5f373a man mount(1): dash escaping consistency 2010-01-22 23:24:02 +00:00
Thomas Veerman ca9280e097 - Fix dangling symlink regression
- Make open(2) more POSIX compliant
- Add a test case for dangling symlinks and open() syscall with O_CREAT and
  O_EXCL on a symlink.
- Update open(2) man page to reflect change.
2010-01-21 09:32:15 +00:00
Erik van der Kouwe a5a2073680 create the getaddrinfo and getnameinfo library functions and friends 2010-01-21 06:38:17 +00:00
Thomas Veerman cc86693102 - Make packman unmount the packages cd if it was mounted.
- Manpages for packman and packit.
2010-01-13 15:52:55 +00:00
David van Moolenbroek b31119abf5 Mount updates:
- allow mounting with "none" block device
- allow unmounting by mountpoint
- make VFS aware of file system process labels
- allow m3_ca1 to use the full available message size
- use *printf in u/mount(1), as mount(2) uses it already
- fix reference leaks for some mount error cases in VFS
2010-01-12 23:08:50 +00:00
Erik van der Kouwe 2baf34f801 Update years in man-pages (thanks to Antoine Leca for pointing this out) 2010-01-09 08:18:26 +00:00
Erik van der Kouwe f025e5f06b Implementations of readv and writev 2010-01-08 13:40:34 +00:00
Erik van der Kouwe aec561acc5 Add scalbn family of functions 2010-01-08 07:27:54 +00:00
Erik van der Kouwe 17b10f1bf3 Add fabsf function 2010-01-08 07:27:11 +00:00
Erik van der Kouwe aac4b7923f Add ENOTSUP error code 2010-01-07 09:53:31 +00:00
Erik van der Kouwe 8d97f0253f Fix bracket with different color in netconf(8) man-page 2010-01-06 08:31:11 +00:00
Erik van der Kouwe 33afb396f8 Man-page for netconf(8), contributed by Leith Brandeland 2010-01-06 08:24:06 +00:00
Erik van der Kouwe c554a39725 Move man-pages for zoneinfo, replace with links 2010-01-06 08:00:39 +00:00
Erik van der Kouwe bbff2115d6 Oops, forgot to svn add this 2010-01-06 07:49:54 +00:00
Erik van der Kouwe a75c9fce4d Man-page for ping, contributed by Leith Brandeland 2010-01-06 07:36:12 +00:00
David van Moolenbroek ac9ab099c8 General cleanup:
- clean up kernel section of minix/com.h somewhat
- remove ALLOCMEM and VM_ALLOCMEM calls
- remove non-safecopy and minix-vmd support from Inet
- remove SYS_VIRVCOPY and SYS_PHYSVCOPY calls
- remove obsolete segment encoding in SYS_SAFECOPY*
- remove DEVCTL call, svrctl(FSDEVUNMAP), map_driverX
- remove declarations of unimplemented svrctl requests
- remove everything related to swapping to disk
- remove floppysetup.sh
- remove traces of rescue device
- update DESCRIBE.sh with new devices
- some other small changes
2010-01-05 19:39:27 +00:00
David van Moolenbroek 0dcf5b7aa8 add ptrace(2) TO_NOEXEC flag 2010-01-05 09:30:28 +00:00
Erik van der Kouwe 7bbe4aaaa6 Add man entry for new errno code 2009-12-31 12:09:31 +00:00
Erik van der Kouwe 41f3075f99 Man-page name order fixes 2009-12-30 20:35:05 +00:00
David van Moolenbroek 0bafee3d78 unbreak, deprivilege dumpcore(1) 2009-12-29 21:34:06 +00:00
David van Moolenbroek e423c86009 ptrace(2) modifications:
- add T_GETRANGE/T_SETRANGE to get/set ranges of values
- change EIO error code to EFAULT
- move common-I&D text-to-data translation to umap_local
2009-12-29 21:32:15 +00:00
Erik van der Kouwe 6dc5d42798 Floating point support functions 2009-12-24 20:22:41 +00:00
David van Moolenbroek d31ad285a0 typo 2009-12-16 12:17:02 +00:00
Erik van der Kouwe 6adadade32 Implementation of strto(u)ll, documentation and tests for strto(u)l(l) 2009-12-09 19:01:38 +00:00
Erik van der Kouwe bd0933a19b Implementation of getrlimit and getdtablesize 2009-12-07 19:56:40 +00:00
Erik van der Kouwe 5427ab41c8 Add realpath function 2009-12-04 07:52:22 +00:00
David van Moolenbroek c6cce1823d Portability: POSIXize some of inet's error codes 2009-11-28 13:18:33 +00:00
Erik van der Kouwe 379e087d6b Create man pages for bigsh and dev2name 2009-10-27 15:34:22 +00:00
David van Moolenbroek 0143cb2335 support for head -n (suggested by xorquewasp) 2009-10-10 22:36:46 +00:00
Erik van der Kouwe cb6dbfca2c Add lspci command and SI_PCI_INFO getsysinfo call 2009-10-09 10:48:46 +00:00
Erik van der Kouwe d9a34f96e7 Add nohup tool (approved by Ben) 2009-10-06 14:16:35 +00:00
David van Moolenbroek e7dea9c609 Add id(1) -g, -n, -r options (Bug#302, reported by Aleksey Cheusov) 2009-10-02 12:23:00 +00:00
Ben Gras cb50e7e135 support for OSS. 2009-10-01 16:36:14 +00:00
David van Moolenbroek a8ebc69c6e Fix erroneous times() call in udpstat/tcpstat.
Reported by John Peace, bug #312.
Also fix times(2) man page.
2009-10-01 10:31:29 +00:00
David van Moolenbroek b423d7b477 Merge of David's ptrace branch. Summary:
o Support for ptrace T_ATTACH/T_DETACH and T_SYSCALL
o PM signal handling logic should now work properly, even with debuggers
  being present
o Asynchronous PM/VFS protocol, full IPC support for senda(), and
  AMF_NOREPLY senda() flag

DETAILS

Process stop and delay call handling of PM:
o Added sys_runctl() kernel call with sys_stop() and sys_resume()
  aliases, for PM to stop and resume a process
o Added exception for sending/syscall-traced processes to sys_runctl(),
  and matching SIGKREADY pseudo-signal to PM
o Fixed PM signal logic to deal with requests from a process after
  stopping it (so-called "delay calls"), using the SIGKREADY facility
o Fixed various PM panics due to race conditions with delay calls versus
  VFS calls
o Removed special PRIO_STOP priority value
o Added SYS_LOCK RTS kernel flag, to stop an individual process from
  running while modifying its process structure

Signal and debugger handling in PM:
o Fixed debugger signals being dropped if a second signal arrives when
  the debugger has not retrieved the first one
o Fixed debugger signals being sent to the debugger more than once
o Fixed debugger signals unpausing process in VFS; removed PM_UNPAUSE_TR
  protocol message
o Detached debugger signals from general signal logic and from being
  blocked on VFS calls, meaning that even VFS can now be traced
o Fixed debugger being unable to receive more than one pending signal in
  one process stop
o Fixed signal delivery being delayed needlessly when multiple signals
  are pending
o Fixed wait test for tracer, which was returning for children that were
  not waited for
o Removed second parallel pending call from PM to VFS for any process
o Fixed process becoming runnable between exec() and debugger trap
o Added support for notifying the debugger before the parent when a
  debugged child exits
o Fixed debugger death causing child to remain stopped forever
o Fixed consistently incorrect use of _NSIG

Extensions to ptrace():
o Added T_ATTACH and T_DETACH ptrace request, to attach and detach a
  debugger to and from a process
o Added T_SYSCALL ptrace request, to trace system calls
o Added T_SETOPT ptrace request, to set trace options
o Added TO_TRACEFORK trace option, to attach automatically to children
  of a traced process
o Added TO_ALTEXEC trace option, to send SIGSTOP instead of SIGTRAP upon
  a successful exec() of the tracee
o Extended T_GETUSER ptrace support to allow retrieving a process's priv
  structure
o Removed T_STOP ptrace request again, as it does not help implementing
  debuggers properly
o Added MINIX3-specific ptrace test (test42)
o Added proper manual page for ptrace(2)

Asynchronous PM/VFS interface:
o Fixed asynchronous messages not being checked when receive() is called
  with an endpoint other than ANY
o Added AMF_NOREPLY senda() flag, preventing such messages from
  satisfying the receive part of a sendrec()
o Added asynsend3() that takes optional flags; asynsend() is now a
  #define passing in 0 as third parameter
o Made PM/VFS protocol asynchronous; reintroduced tell_fs()
o Made PM_BASE request/reply number range unique
o Hacked in a horrible temporary workaround into RS to deal with newly
  revealed RS-PM-VFS race condition triangle until VFS is asynchronous

System signal handling:
o Fixed shutdown logic of device drivers; removed old SIGKSTOP signal
o Removed is-superuser check from PM's do_procstat() (aka getsigset())
o Added sigset macros to allow system processes to deal with the full
  signal set, rather than just the POSIX subset

Miscellaneous PM fixes:
o Split do_getset into do_get and do_set, merging common code and making
  structure clearer
o Fixed setpriority() being able to put to sleep processes using an
  invalid parameter, or revive zombie processes
o Made find_proc() global; removed obsolete proc_from_pid()
o Cleanup here and there

Also included:
o Fixed false-positive boot order kernel warning
o Removed last traces of old NOTIFY_FROM code

THINGS OF POSSIBLE INTEREST

o It should now be possible to run PM at any priority, even lower than
  user processes
o No assumptions are made about communication speed between PM and VFS,
  although communication must be FIFO
o A debugger will now receive incoming debuggee signals at kill time
  only; the process may not yet be fully stopped
o A first step has been made towards making the SYSTEM task preemptible
2009-09-30 09:57:22 +00:00
Erik van der Kouwe 3615d93383 Handle SIGSTOP more consistently and according to POSIX rules; it can no longer be ignored 2009-09-13 12:24:23 +00:00
Erik van der Kouwe 83b84cbe64 Man page for new function nanosleep(3), updated man page for sleep(3) 2009-08-16 12:12:40 +00:00
David van Moolenbroek 247e1e8fa8 man page fix: sigaction.2 signals list 2009-08-15 23:27:32 +00:00
David van Moolenbroek 323f0abdd6 Support for setitimer(ITIMER_VIRTUAL/ITIMER_PROF). New test (41) for setitimer. 2009-08-15 21:37:26 +00:00
David van Moolenbroek d82e260a90 Support for setitimer(ITIMER_REAL). 2009-08-15 16:09:32 +00:00
Thomas Veerman c2ffe723d1 - Moved (u)mount prototypes from unistd.h to sys/mount.h.
- Prepared mount system call to accept multiple mount flags
   instead of just read_only (however, it remains backwards
   compatible).
 - Updated the man mount(2) to reflect new header file usage. 
 - Updated badblocks, newroot, mount, and umount commands to use the
   new header file.
2009-08-12 19:57:37 +00:00
David van Moolenbroek aa84986819 more small man page fixes 2009-06-25 10:41:55 +00:00
David van Moolenbroek be9606a4e0 random man page update: cut.1 2009-06-24 21:13:28 +00:00
David van Moolenbroek 3018cd023a random man page fix: cawf.1 2009-06-24 11:42:05 +00:00
David van Moolenbroek 66d1f1260c remove last traces of FSDEVMAP svrctl 2009-06-13 13:09:14 +00:00
David van Moolenbroek 24bb7fbb4c added poweroff(8) 2009-06-12 13:02:51 +00:00
Arun Thomas 86d89ed3f1 ls(1) manpage corrections
-Add missing '-n' option to synopsis.
-MINIX 3 does support symbolic links now.

Thanks to River Tarnell for the patch.
2009-05-30 11:01:17 +00:00
David van Moolenbroek 00a2463d71 update readlink(2) manpage accordingly 2009-05-20 11:49:10 +00:00