Commit graph

42 commits

Author SHA1 Message Date
Ben Gras
2194bc0310 vfs/mount/rs/service changes:
. changed umount() and mount() to call 'service', so that it can include
   a custom label, so that umount() works again (RS slot gets freed now).
   merged umount() and mount() into one file to encode keep this label
   knowledge in one file.
 . removed obsolete RS_PID field and RS_RESCUE rescue command
 . added label to RS_START struct
 . vfs no longer does kill of fs process on unmount (which was failing
   due to RS_PID request not working)
 . don't assume that if error wasn't one of three errors, that no error
   occured in vfs/request.c
mfs changes:
 . added checks to copy statements to truncate copies at buffer sizes
   (left in debug code for now)
 . added checks for null-terminatedness, if less than NAME_MAX was copied
 . added checks for copy function success
is changes: 
 . dump rs label
drivers.conf changes:
 . added acl for mfs so that mfs can be started with 'service start',
   so that a custom label can be provided
2007-01-22 15:25:41 +00:00
Ben Gras
6f77685609 Split of architecture-dependent and -independent functions for i386,
mainly in the kernel and headers. This split based on work by
Ingmar Alting <iaalting@cs.vu.nl> done for his Minix PowerPC architecture
port.

 . kernel does not program the interrupt controller directly, do any
   other architecture-dependent operations, or contain assembly any more,
   but uses architecture-dependent functions in arch/$(ARCH)/.
 . architecture-dependent constants and types defined in arch/$(ARCH)/include.
 . <ibm/portio.h> moved to <minix/portio.h>, as they have become, for now,
   architecture-independent functions.
 . int86, sdevio, readbios, and iopenable are now i386-specific kernel calls
   and live in arch/i386/do_* now.
 . i386 arch now supports even less 86 code; e.g. mpx86.s and klib86.s have
   gone, and 'machine.protected' is gone (and always taken to be 1 in i386).
   If 86 support is to return, it should be a new architecture.
 . prototypes for the architecture-dependent functions defined in
   kernel/arch/$(ARCH)/*.c but used in kernel/ are in kernel/proto.h
 . /etc/make.conf included in makefiles and shell scripts that need to
   know the building architecture; it defines ARCH=<arch>, currently only
   i386.
 . some basic per-architecture build support outside of the kernel (lib)
 . in clock.c, only dequeue a process if it was ready
 . fixes for new include files

files deleted:
 . mpx/klib.s - only for choosing between mpx/klib86 and -386
 . klib86.s - only for 86

i386-specific files files moved (or arch-dependent stuff moved) to arch/i386/:
 . mpx386.s (entry point)
 . klib386.s
 . sconst.h
 . exception.c
 . protect.c
 . protect.h
 . i8269.c
2006-12-22 15:22:27 +00:00
David van Moolenbroek
d4e6fe3546 Setjmp/longjmp updates and cleanup. 2006-12-08 16:23:18 +00:00
Philip Homburg
d84dd06b3f Better error handling in _mount.c 2006-11-24 14:01:14 +00:00
Philip Homburg
ca448f0b0f Getdents implementation in library/vfs/mfs.
Changed readdir, etc. to use getdents
2006-11-09 16:22:54 +00:00
Ben Gras
fa0ba56bc9 Merge of VFS by Balasz Gerofi with Minix trunk. 2006-10-25 13:40:36 +00:00
Philip Homburg
be928f01a5 Nice(3) implementation 2006-10-20 14:10:53 +00:00
Ben Gras
18327f02a8 Introduced unprivileged getsysinfo variant, to retrieve harmless data
in formats that don't change (or is upwards compatible).
2006-07-27 16:23:01 +00:00
Ben Gras
6b1f8de38a Added _select() stub for select(). 2006-06-27 18:28:33 +00:00
Philip Homburg
acebf7b52f Important BSD version of setenv, added killpg, replaced _sigsetjmp.c with
an assembler jump to longjmp.
2006-06-07 14:38:39 +00:00
Philip Homburg
e9aabcf2f8 Disabled building rescue driver (no longer needed). Moved allocmem from
library to the memory driver. Always put output from within TTY directly on
the console. Removed second include of driver.h from tty.c. Made tty_inrepcode
bigger. First step to move PM and FS calls that are not regular (API)
system calls out of callnr.h (renumbered them, and removed them from the
table.c files). Imported the Minix-vmd uname implementation. This provides
a more stable ABI than the current implementation. Added a bit of security
checking. Unfortunately not nearly enough to get a secure system. Fixed a
bug related to the sizes of the programs in the image (in PM patch_mem_chunks).
2006-05-19 12:19:37 +00:00
Ben Gras
461a4fafb1 Added fchmod() and fchown() 2006-04-18 11:26:04 +00:00
Ben Gras
65723cba53 Fix compiler warnings for pax 2006-03-24 14:03:25 +00:00
Ben Gras
36f91229ea Re-enable fchdir() 2006-01-20 12:44:16 +00:00
Ben Gras
0e9a5612d7 Throw away unused dirs, generated Makefiles.
Moved some calls back.
2006-01-17 10:36:53 +00:00
Ben Gras
591e943779 Makefiles of Joren's new library build system. 2006-01-16 15:47:30 +00:00
Ben Gras
34d445c0af Joren's new library make system (minus Makefiles) 2006-01-16 15:44:55 +00:00
Ben Gras
50b06261b6 Implementation of truncate(), ftruncate() and the F_FREESP fcntl().
Implemented by changing write_map to accept a WMAP_FREE flag. In that
case, it doesn't update the datablock (creating indirect zones as
necessary) pointer, but it frees the datablock if present. Also it
frees the single and double indirect blocks if unused.

This makes the implementation of truncate_inode() simpler.
truncate_inode() now accepts a truncation length which makes
implementing truncate() and ftruncate() simple.

This also allowed implementing the F_FREESP fcntl().
2006-01-11 17:14:51 +00:00
Ben Gras
ffe192724e Added truncate() and ftruncate() library calls (no FS support yet).
Added ELOOP message to errlist.
2005-12-20 14:18:16 +00:00
Ben Gras
f6e5052597 seteuid() and setegid() 2005-12-13 09:48:29 +00:00
Ben Gras
282e2f8e78 getloadavg() interface 2005-11-14 15:48:12 +00:00
Ben Gras
c6412ae342 "forward compatible" hack for lstat() - make new binaries work on old
systems
2005-11-07 13:15:09 +00:00
Philip Homburg
ee80996c9a _sigsetjmp was missing. 2005-11-04 17:05:28 +00:00
Ben Gras
94d370ca5f library fixes for symlink, readlink and lstat 2005-11-01 13:13:31 +00:00
Ben Gras
3acb6bf1fe Giovanni's symlinks patches (libs) 2005-10-31 14:28:19 +00:00
Ben Gras
69a0586adf Changes to make gcc compile our libraries too (Joren) 2005-10-21 11:19:35 +00:00
Ben Gras
aad54cb32c Add fsync() interface. 2005-09-05 21:22:45 +00:00
Ben Gras
3f4e0a5f59 Took fchdir out of the user library, it's suspected of being buggy (in FS) 2005-07-27 18:48:48 +00:00
Philip Homburg
0cabfc76ee Usleep implementation based on select. 2005-07-11 13:08:00 +00:00
Ben Gras
1adcfcdf1c Changed FD_* select() fd set manipulation functions to macros. Also
made FD_SETSIZE pre-#include-definable, with OPEN_MAX as default if unset.
2005-07-06 07:22:21 +00:00
Ben Gras
f0817fbd4c complete, tick-resolution gettimeofday() implementation 2005-07-06 07:08:36 +00:00
Ben Gras
3dcb2886ff get/setpriority() and fsync() system calls 2005-07-01 18:01:33 +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
205d288bb3 Fixed a few compile warnings
Imported a BSD-licensed getopt() from FreeBSD
2005-06-27 09:30:33 +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
39c90d6c90 Added (fake) readlink().
Compile fix for fslib (BITS_PER_BLOCK was renamed to FS_BITS_PER_BLOCK).

Added extra arg to various timer functions.
2005-06-17 13:47:29 +00:00
Ben Gras
b7c75fab5b Added dummy readlink() call that returns an error (we don't have symlinks
yet)

also select() stub
2005-06-17 11:43:24 +00:00
Jorrit Herder
4a2817cea1 Changed uname to retrieve actual OS release and version number at runtime. 2005-06-17 08:53:33 +00:00
Philip Homburg
dc23e18cef Improved compatibility with other Unix systems. 2005-06-10 15:12:03 +00:00
Ben Gras
e44e9ad261 small compile fixes; initial select() stubs; release.sh script doesn't
need /tmp any more since 16MB root device; increase to 3.0.5 to make new
CD with working FXP driver. (not tagged 3.0.5 yet as at driver bios-copy
workaround hasn't been done.)
2005-06-06 11:40:32 +00:00
Jorrit Herder
322ec9ef8b Moved stime, time, times POSIX calls from FS to PM. Removed child time
accounting from kernel (now in PM).  Large amount of files in this commit
is due to system time problems during development.
2005-05-31 09:50:51 +00:00
Ben Gras
9865aeaa79 Initial revision 2005-04-21 14:53:53 +00:00