Commit graph

50 commits

Author SHA1 Message Date
Thomas Veerman 958b25be50 - Introduce support for sticky bit.
- Revise VFS-FS protocol and update VFS/MFS/ISOFS accordingly.
- Clean up MFS by removing old, dead code (backwards compatibility is broken by
  the new VFS-FS protocol, anyway) and rewrite other parts. Also, make sure all
  functions have proper banners and prototypes.
- VFS should always provide a (syntactically) valid path to the FS; no need for
  the FS to do sanity checks when leaving/entering mount points.
- Fix several bugs in MFS:
  - Several path lookup bugs in MFS.
  - A link can be too big for the path buffer.
  - A mountpoint can become inaccessible when the creation of a new inode
    fails, because the inode already exists and is a mountpoint.
- Introduce support for supplemental groups.
- Add test 46 to test supplemental group functionality (and removed obsolete
  suppl. tests from test 2).
- Clean up VFS (not everything is done yet).
- ISOFS now opens device read-only. This makes the -r flag in the mount command
  unnecessary (but will still report to be mounted read-write).
- Introduce PipeFS. PipeFS is a new FS that handles all anonymous and
  named pipes. However, named pipes still reside on the (M)FS, as they are part
  of the file system on disk. To make this work VFS now has a concept of
  'mapped' inodes, which causes read, write, truncate and stat requests to be
  redirected to the mapped FS, and all other requests to the original FS.
2009-12-20 20:27:14 +00:00
Erik van der Kouwe bd0933a19b Implementation of getrlimit and getdtablesize 2009-12-07 19:56:40 +00:00
Tomas Hruby ae75f9d4e5 Removal of the executable flag from files that cannot be executed
- 755 -> 644
2009-11-09 10:26:00 +00:00
Tomas Hruby 0b8e20c89e Changes to the include files in order to make cross-compilation possible.
- The primary reason is that mkfs and installboot need to run natively during
  the cross compilation (host and target versions are compiled). There is a
  collision of include files though. E.g. a.out.h is very minix-specific.
  Therefore some files we moved and replaced by stubs that include the original
  file if compiling on or for Minix :
  
  include/a.out.h -> include/minix/a.out.h
  include/sys/dir.h -> include/minix/dir.h
  include/dirent.h -> include/minix/dirent.h
  include/sys/types.h -> include/minix/types.h

- This does not break any native compilation on Minix. Other headers that were
  including the original files are changed according to include directly the
  new, minix specific location not to pick up the host system includes while
  cross-compiling.

- role of this patch is to make rebasing of the build branch simpler until the
  new build system is merged
2009-11-06 08:46:22 +00:00
David van Moolenbroek 4c263d6002 PM: clean up endpoint info API/ABI 2009-10-31 14:09:28 +00:00
Erik van der Kouwe cb6dbfca2c Add lspci command and SI_PCI_INFO getsysinfo call 2009-10-09 10:48:46 +00:00
Tomas Hruby b900311656 endpoint_t in syslib
- headers use the endpoint_t in syslib.h and the implmentation was using int
  instead. Both uses endpoint_t now

- every variable named like proc, proc_nr or proc_nr_e of type endpoint_t has
  name proc_ep now

- endpoint_t defined as u32_t not int
2009-09-22 21:42:02 +00:00
Ben Gras 8a54d267f0 - VM_KERN_NOPAGEZERO feature is gone
- sys_getbiosbuffer feature is gone (from kernel; available from vm)
- bump version number because munmap() calls that newly compiled binaries
  will do trigger an ugly (but harmless) error message in older VM's
- some new VM calls and flags, the new IPC calls
- some new CR0 register bits
- added files for shared memory
2009-09-21 14:23:10 +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 fe8c612aa4 support in 'mount' for specifying file system type and options 2009-05-13 15:39:44 +00:00
Philip Homburg 07c258a9c7 Added adddma/deldma/getdma. 2008-02-21 15:58:55 +00:00
Philip Homburg 4d2f56daf6 Added prototype for mapdriver5 (from RS to VFS, report the name of a driver
instead of its endpoint).
2007-08-07 11:59:02 +00:00
Philip Homburg 69ca935251 getpeuid implementation. Get the uid of a process (by endpoint) 2007-04-27 12:21:06 +00:00
Philip Homburg 8a2a957d49 Some 64-bit file offset changes that were left out accidentally in the first
commit.
2006-12-06 15:21:27 +00:00
Philip Homburg be928f01a5 Nice(3) implementation 2006-10-20 14:10:53 +00:00
Philip Homburg d7174ec0ab Added SI_CALL_STATS and ENABLE_SYSCALL_STATS for system call statistics.
Added BUSC_PCI_DEV_NAME_S and BUSC_PCI_SLOT_NAME_S to support safecopies in PCI.
Added DL_WRITEV_S, DL_READV_S, DL_GETSTAT_S, DL_GRANT, and iovec_s_t to support
safecopies in ethernet drviers. Renamed DL_INIT to DL_CONF, and DL_INIT_REPLY
to DL_CONF_REPLY.
Added SYS_READBIOS and sys_readbios to read from BIOS data areas.
Added GET_KMESS_S for safecopy support in LOG.
Added sys_safe_insb and sys_safe_outsb.
2006-07-10 12:13:29 +00:00
Philip Homburg 3f297ffd9f Added killpg to signal.h, rearranged getloadavg, putenv, and setenv in
stdlib.h and added unsetenv, added declaration of optreset to unistd.h.
2006-06-07 14:36:35 +00:00
Philip Homburg 71917d6383 Changes for restarting disk drivers and new interface between PM and FS. 2006-05-11 14:47:31 +00:00
Ben Gras 461a4fafb1 Added fchmod() and fchown() 2006-04-18 11:26:04 +00:00
Ben Gras 7b58dd7f9b Renamed findproc() to _pm_findproc() to reduce polluting of application
namespace.
2006-03-25 04:49:04 +00:00
Ben Gras 65723cba53 Fix compiler warnings for pax 2006-03-24 14:03:25 +00:00
Ben Gras 0bcb14b384 _SC_PAGESIZE sysconf() support 2006-03-23 11:05:15 +00:00
Ben Gras eae250dea4 . load average calculation changed to calculate it all over every tick
instead of keeping a running total of enqueued processes
   (because somehow the load average was broken)
 . added SI_KPROC_TAB to get a copy of kernel process table from PM, for
   a top implementation
 . fixed arg to sys_nice() to make it an endpoint, not a slot number
2006-03-16 09:33:35 +00:00
Jorrit Herder 021e3234d8 Jorrit's ... "progress?" 2006-03-10 16:10:05 +00:00
Ben Gras 7550304e19 Changes to support endpoints.
. rename message field name macros from *PROC* to *ENDPT*,
    both to reflect the new meaning and to use it to hunt down where
    they are used
  . _PM_SEG_FLAG in fd replaces funny segment loading construction by
    PM in FS
  . _MAX_MAGIC_PROC is the highest used proc number, including magic
    constants such as (currently) ANY, NONE and SELF, used by the
    endpoint macros to make sure they are encoded properly and no valid
    endpoint number ever encodes to it.
  . rename proc_nr in address copy struct to proc_nr_e (endpoint)
2006-03-03 09:43:06 +00:00
Ben Gras 5911460ce5 Fake setgroups() and initgroups() implementation. 2006-02-13 15:00:49 +00:00
Ben Gras a321c12f75 Move truncate()/ftruncate() prototype outside MINIX conditional 2006-01-19 15:33:13 +00:00
Ben Gras b40438277b Prototype fix 2006-01-17 11:24:48 +00:00
Ben Gras fbc190e562 Added truncate and ftruncate() prototypes and call numbers (prematurely)
Added symlink-related prototypes
2005-12-20 14:17:05 +00:00
Ben Gras f6e5052597 seteuid() and setegid() 2005-12-13 09:48:29 +00:00
Ben Gras f9c1f3172d getloadavg 2005-11-14 15:58:07 +00:00
Ben Gras 4c648c343e Giovanni's symlink patches (includes only) 2005-10-31 14:14:54 +00:00
Jorrit Herder e6c1aeade0 New IPC error codes: ESRCDIED, EDSTDIED, ETRAPDENIED.
New getsysinfo type to get DS store contents from IS.
New Data Store (DS) server message types and arguments.
2005-10-20 20:34:34 +00:00
Ben Gras 54709f5a3a Added SI_* memory hole list type, to request a copy of
it via getsysinfo from PM.
2005-10-13 12:45:31 +00:00
Jorrit Herder 7842d4fb26 Minor changes for new library functions at PM. 2005-10-12 15:08:45 +00:00
Ben Gras 669b2db75b Added fsync() prototype. 2005-09-21 10:57:21 +00:00
Ben Gras 688910d983 Ast@'s formatting fixes 2005-09-16 14:23:14 +00:00
Jorrit Herder 120e514506 Changed various header file to support dynamically staring drivers.
Note: full recompile necessary.
2005-08-02 15:31:12 +00:00
Philip Homburg 11cbb6faae Many changes to simplify porting applications. 2005-07-11 13:00:43 +00:00
Ben Gras af27dc0cf7 Added fchdir() system call, with corresponding manpage, Changelog and
system include modifications.
2005-06-29 19:28:26 +00:00
Ben Gras b05fa195d6 Prototype and definitions for getopt() 2005-06-27 09:30:49 +00:00
Philip Homburg 0979014807 Renamed some types Uid_t, Gid_t, Mode_t, etc. for perl5.
More space for synctree.
2005-06-23 11:07:31 +00:00
Ben Gras c40770ce68 Various select() support flags, prototypes, definitions.
Major numbers for inet, tty, ctty.

Defined _MINIX_VERSION to check for major minix version in applications.

Prototype for (fake) readlink().
2005-06-17 13:34:47 +00:00
Philip Homburg dc23e18cef Improved compatibility with other Unix systems. 2005-06-10 15:12:03 +00:00
Jorrit Herder c2cd510adf Removed debug dumps from the PM and FS servers. The dumps are now done by the
IS servers, which obtains a copy of the data through the getsysinfo() system
call. CTRL-F1 now is a special TTY key to shows function key mappings.
2005-06-07 14:43:35 +00:00
Jorrit Herder 2f74381dcc Fixed 'ps' utility: now get process table addresses with getsysinfo() calls.
To be done: get copies of process tables instead of using /dev/(k)mem.
2005-06-06 13:51:50 +00:00
Jorrit Herder f2a85e58d9 Various updates.
* Removed some variants of the SYS_GETINFO calls from the kernel;
  replaced them with new PM and utils libary functionality. Fixed
  bugs in utils library that used old get_kenv() variant.
* Implemented a buffer in the kernel to gather random data.
  Memory driver periodically checks this for /dev/random.
  A better random algorithm can now be implemented in the driver.
  Removed SYS_RANDOM; the SYS_GETINFO call is used instead.
* Remove SYS_KMALLOC from the kernel. Memory allocation can now
  be done at the process manager with new 'other' library functions.
2005-06-03 13:55:06 +00:00
Jorrit Herder e782e76944 Created new findproc system call to the PM (to replace similar kernel
functionality). Currently working on memory allocation (not yet finished).
2005-06-02 12:43:21 +00:00
Jorrit Herder 307c825515 New NOTIFY trap (IPC call) to send queued notification messages.
The call works. Permission check, restriction of outstanding notifications
to be added. Low level code to make it work from within interrupt handlers
will be added as well.
2005-05-19 14:05:51 +00:00
Ben Gras 9865aeaa79 Initial revision 2005-04-21 14:53:53 +00:00