Commit graph

1245 commits

Author SHA1 Message Date
David van Moolenbroek
d82e260a90 Support for setitimer(ITIMER_REAL). 2009-08-15 16:09:32 +00:00
Tomas Hruby
88f7b63019 u64_t for human beings - the high and low parts are named hi and lo, lib/sysutil/profile.c updated accordingly 2009-08-13 15:47:49 +00:00
David van Moolenbroek
aae63b5410 move _mount.c from lib/posix to lib/other 2009-08-13 09:55:50 +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
1d0e43c8f1 make remove(3) remove directories as well 2009-07-12 14:44:37 +00:00
David van Moolenbroek
83885ebc39 make lseek64 return correct new position 2009-05-23 13:47:17 +00:00
Ben Gras
bdab3c4cfb Library call for cpu features; make kernel and vm use this to query cpu
features (specifically: 4MB pages and TLB global bit).  Only enable
these features in CR4 if available. 4MB pages to be used in the near
future.
2009-05-15 17:07:36 +00:00
Ben Gras
143422fa0a C CPUID interface. 2009-05-14 15:55:28 +00:00
David van Moolenbroek
fe8c612aa4 support in 'mount' for specifying file system type and options 2009-05-13 15:39:44 +00:00
David van Moolenbroek
a2485b346c potential buffer overruns in env_* routines 2009-05-10 16:54:37 +00:00
Ben Gras
9647fbc94e moved type and constants for random data to include file;
added consistency check in random; added source of randomness
internal to random using timing; only retrieve random bins that are full.
2009-04-02 15:24:44 +00:00
Ben Gras
a742aed5ad only assign value if request went ok. 2009-02-19 17:14:36 +00:00
Ben Gras
59e972f074 let drivers allocate memory at 64k physical boundary. 2009-02-12 12:26:08 +00:00
Ben Gras
c628f24bc2 moved stacktrace to sysctl, as vmctl is very privileged so can't
be used outside VM. IS code cleanup. added stacktrace feature to IS.
2009-01-27 12:54:33 +00:00
Ben Gras
3cc092ff06 . new kernel call sysctl for generic unprivileged system operations;
now used for printing diagnostic messages through the kernel message
   buffer. this lets processes print diagnostics without sending messages
   to tty and log directly, simplifying the message protocol a lot and
   reducing difficulties with deadlocks and other situations in which
   diagnostics are blackholed (e.g. grants don't work). this makes
   DIAGNOSTICS(_S), ASYN_DIAGNOSTICS and DIAG_REPL obsolete, although tty
   and log still accept the codes for 'old' binaries. This also simplifies
   diagnostics in several servers and drivers - only tty needs its own
   kputc() now.
 . simplifications in vfs, and some effort to get the vnode references
   right (consistent) even during shutdown. m_mounted_on is now NULL
   for root filesystems (!) (the original and new root), a less awkward
   special case than 'm_mounted_on == m_root_node'. root now has exactly
   one reference, to root, if no files are open, just like all other
   filesystems. m_driver_e is unused.
2009-01-26 17:43:59 +00:00
Ben Gras
e190ff9f84 cprofile always on 2009-01-09 21:42:36 +00:00
Ben Gras
ad03a650e6 timing library from kernel into library 2009-01-09 16:39:31 +00:00
Ben Gras
46ecfa2b5c syslib function for VMCTL_STACKTRACE 2008-12-16 14:42:32 +00:00
Ben Gras
6300c26921 prototype fix 2008-12-11 15:02:44 +00:00
Ben Gras
fe3e0181d4 straggler. 2008-12-11 14:55:06 +00:00
Ben Gras
6cfe4bdd2d slight args change 2008-12-11 14:37:42 +00:00
Ben Gras
991000dd70 dynamic HZ 2008-12-11 14:37:18 +00:00
Ben Gras
eae27c899a move senda to sep. file 2008-12-11 14:37:02 +00:00
Ben Gras
3e29947e28 No more HZ; move stacktrace() to library 2008-12-11 14:36:37 +00:00
Ben Gras
9b33056d2b make allocmem accept and return values in bytes, ramdisk expects this. 2008-11-19 15:40:17 +00:00
Ben Gras
b686e8b6d7 lingering file. 2008-11-19 12:35:46 +00:00
Ben Gras
c078ec0331 Basic VM and other minor improvements.
Not complete, probably not fully debugged or optimized.
2008-11-19 12:26:10 +00:00
Ben Gras
39aa2e6489 A glob() implementation. 2008-04-08 13:14:33 +00:00
Philip Homburg
4951a741b0 adddma/deldma/getdma/sys_mapdma 2008-02-21 16:02:22 +00:00
Philip Homburg
959ed5a191 Added ERESTART 2008-02-21 16:00:39 +00:00
Ben Gras
50fa859819 A rint() implementation. 2007-12-14 11:59:54 +00:00
Ben Gras
bd489b6c0b Original imported versions of s_rint.c and math_private.h. 2007-12-11 12:32:26 +00:00
Philip Homburg
af678531aa Disabled some debug output in recvfrom. 2007-09-17 11:22:06 +00:00
Philip Homburg
9c3f85d14f Better interface for sys_times. 2007-08-16 13:16:26 +00:00
Philip Homburg
2519a7cb61 Added getuptime2.c 2007-08-07 12:14:04 +00:00
Philip Homburg
5aa84fb0e6 Added mapdriver5.s. 2007-08-07 12:05:36 +00:00
Philip Homburg
21e7edb683 Added sys_stime.c, T_CHILD_UTIME and T_CHILD_STIME are gone, should
change interface of sys_times.
2007-08-07 12:04:29 +00:00
Philip Homburg
1f02168ce7 Added _mapdriver5.c. 2007-08-07 12:02:38 +00:00
Ben Gras
03446f5554 micro_delay in sysutil, used in ti1225, dp8390, fxp and
orinoco now. Uses a combination of tickdelay (where possible) and
calibrated busywait (where necessary).
2007-07-31 15:01:49 +00:00
Ben Gras
ee3e40516b . clarify panic messages in syslib about pci
. use ds_retrieve_u32 instead of _pm_findproc
2007-07-11 13:38:13 +00:00
Philip Homburg
9852471c08 Use ds_retrieve_u32 to find the endpoint of pci. 2007-05-02 11:24:51 +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
82e77742b5 Added pci_del_acl. Fixed return value of pci_set_acl. 2007-04-23 12:14:44 +00:00
Philip Homburg
4ce2267dd3 Type _exit and abort before generating a trap. 2007-04-23 12:13:51 +00:00
Philip Homburg
4ce9ca03cf Added cpf_reload to reload the safecopy table pointer (for example after a
fork).
2007-04-23 12:12:32 +00:00
Philip Homburg
e9899f3c86 Added sendnb and senda, removed echo and _ipcnew.s. 2007-04-23 12:11:03 +00:00
Ben Gras
a2b1a5134b . leave out hardware-fp code from library
. minor packman usage tweaks
 . kernel feature for printing version number
 . removed some verbose debug messages from vfs/mfs
2007-04-12 16:45:00 +00:00
Ben Gras
7dd225ffb2 delete redundant source 2007-04-12 16:30:59 +00:00
Ben Gras
d61a481169 put the zoneinfo library files directly in the lib/stdtime dir 2007-04-12 14:29:30 +00:00
Ben Gras
85198a280c fix some compiler warnings. 2007-04-02 15:10:07 +00:00
Ben Gras
056ac0a0d3 replace library time handling functions
mktime, tzset, asctime, ctime, gmtime, localtime, strftime
with zoneinfo implementations in src/commands/zoneinfo, referenced
from src/lib/stdtime/Makefile.in.
2007-03-30 15:36:49 +00:00
Ben Gras
6ccd37a982 fix for filenames with paths 2007-03-30 15:35:15 +00:00
Ben Gras
6d50591226 . let kernel use read_tsc() from sysutil library
. read_tsc() in sysutil library saves edx and eax now
 . added read_tsc_64() by Antonio Mancina to load tsc into
   a 64-bit data type directly
 . deleted read_tsc.h in favour of a prototype in <minix/syslib.h>
2007-03-08 15:39:14 +00:00
Ben Gras
be30a639cd Don't sys_kill SELF if a PM exit fails; just generate a fault to get
us killed through the kernel with PM finding out.

This makes it unnecessary for servers and drivers to be able to do
sys_kill generally, so KILL can go out of /etc/drivers.conf.
2007-02-23 12:54:02 +00:00
Ben Gras
168d766f32 . pci driver now returns devices, even when they have been pci_reserve()d
. pci_reserve() returns an error on devices that have already been reserved,
  instead of panic()ing; the pci_reserve() library call still panics,
  pci_reserve_ok() returns an int.
. this allows at_wini to use the instance value as intended, as all devices
  are seen, even reserved ones
. only devices actually used by at_wini are pci_reserve()d
. pci doesn't release devices based on argv[0], as at_wini both have the
  same name and multiple instances won't work together properly
2007-02-20 17:09:19 +00:00
Ben Gras
3275602598 . made memory parsing function into a library call
(moved 'struct memory' to <minix/type.h> for this library call)
 . removed some debugging messages from pci library
2007-02-16 15:54:28 +00:00
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
f307d84cda Zlib is now an optional package. 2007-01-09 17:08:31 +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
Ben Gras
4daf936bd2 BSD versions of strcasecmp() and strncasecmp() after a bug
in strcasecmp() reported by Rogier Meurs <rogier@meurs.org>.
2006-12-19 13:15:16 +00:00
David van Moolenbroek
d4e6fe3546 Setjmp/longjmp updates and cleanup. 2006-12-08 16:23:18 +00:00
Philip Homburg
170a72fd61 Missing lseek64 library functions. 2006-12-07 20:01:43 +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
d84dd06b3f Better error handling in _mount.c 2006-11-24 14:01:14 +00:00
Ben Gras
03be184bd6 Fix warnings (Ingmar Alting) 2006-11-10 18:19:38 +00:00
Ben Gras
f8a5db5ab0 Fix some warnings (by Ingmar Alting) 2006-11-10 18:13:02 +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
7195fe3325 System statistical and call profiling
support by Rogier Meurs <rogier@meurs.org>.
2006-10-30 15:53:38 +00:00
Ben Gras
fa0ba56bc9 Merge of VFS by Balasz Gerofi with Minix trunk. 2006-10-25 13:40:36 +00:00
Philip Homburg
f9ccfca2a1 (Incomplete) support for access control in PCI (pci_set_acl).
-script argument to service for crash recovery scripts
-config argument to service for driver resource configuration
restart command in service to restart a driver after a crash (for use in
crash recovery scripts).
down and refresh now take labels instead of pids.
verious changes in rs to make this work.
2006-10-20 15:01:32 +00:00
Philip Homburg
be928f01a5 Nice(3) implementation 2006-10-20 14:10:53 +00:00
Philip Homburg
d24a880003 Added EOPNOTSUPP and better error handling in accept. 2006-09-14 13:48:41 +00:00
Ben Gras
b90b5898e4 Let installing work as bin 2006-08-17 10:10:42 +00:00
Philip Homburg
6076eddf9c Use syslog for logging. 2006-08-10 14:11:25 +00:00
Ben Gras
5d8c07b3f2 Fix by Joren for setjmp to not clobber %ebx. 2006-08-02 12:03:02 +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
6c7004423d Fix for %#02x bug (shouldn't print 0x, but junk was printed) found by
Joren l'Ami.  Also fixes %p when arg is 0 (printed 0 instead of 0x0).
2006-07-21 10:08:47 +00:00
Philip Homburg
59830eda3f Prototypes for send and recv. Fixed send (pass null address) and sendto
(fail when a null address is passed to a socket that is not connected).
2006-07-14 14:34:00 +00:00
Philip Homburg
ee46e92dd2 Fixed ruserok not to required /etc/hosts.equiv. 2006-07-14 12:48:01 +00:00
Ben Gras
3512a86b44 . DS understands publishing and subscribing where keys are in string
form. Subscriptions are regular expressions.
 . different types are stored per key; currently u32 and/or string.
   the same key can be referenced (publish, subscribe, check) as any type.
 . notify()s are sent when subscriptions are triggered (publishing or
   updating of matching keys); optionally, a subscribe flag sends
   updates for all matching keys at subscription time, instead of only
   after updates after subscribing
 . all interfacing to ds is in /usr/src/lib/syslib/ds.c.
 . subscribe is ds_subscribe
   publish functions are ds_publish_<type>
   retrieve functions are ds_retrieve_<type> (one-time retrieval of a value)
   check functions are ds_check_<type> (check for updated key caller
      subscribes to not yet checked for, or ESRCH for none)
 . ramdisk driver updated with new ds interface
2006-07-13 14:50:23 +00:00
Philip Homburg
73e5de6354 Added sys_readbios.
Changed pci_dev_name and pci_slot_name to use safecopies.
Mae it possible to disable the use of safecopies in kputc for debugging.
2006-07-10 12:17:16 +00:00
Ben Gras
1561067ee4 Grant system dynamic-only. 2006-06-30 14:40:29 +00:00
Ben Gras
6b1f8de38a Added _select() stub for select(). 2006-06-27 18:28:33 +00:00
Ben Gras
59bedc2074 let dynamic allocation of table work 2006-06-27 14:15:47 +00:00
Ben Gras
607fb6bf7f Add a flag to grants system indicating a slot is VALID; so a slot
can be reserved (USED), while toggling VALID on and off.
2006-06-27 12:19:45 +00:00
Ben Gras
a587273c56 . expanded grant manipulation interface to more direct
manipulation
. made fs allocate a grant for every ioctl, even if no data
  is being copied, in order to disambiguate concurrent ioctls
  on the same minor
2006-06-26 16:08:42 +00:00
Ben Gras
3b814d36d1 Rename paramctl to setgrant. 2006-06-23 15:35:05 +00:00
Ben Gras
002922fa4c New kernel call, SYS_PARAMCTL, that sets parameters of the caller
and is therefore unprivileged. Used to set grant tables.
2006-06-23 15:07:41 +00:00
Ben Gras
0e9c6932c4 use malloc() + copy + free() instead of realloc() 2006-06-23 12:07:41 +00:00
Ben Gras
31318a8ce5 library interface for vectored safecopy variant. 2006-06-23 11:54:35 +00:00
Philip Homburg
529ca8a4df Added strlcat and strlcpy. 2006-06-22 11:47:18 +00:00
Ben Gras
9df1183b94 . removed const from putenv() for g++
. added safecopies.c:
  these are library functions to maintain grant tables in own address space
. sys_safecopy.c:
  interfaces to kernel calls to perform safe copy functions in from or to
  foreign process
. changes in i/o fields (type merged with request) reflected in
  library functions (sys_out.c, sys_vinb.c, sys_vinl.c, sys_vinw.c,
  sys_voutb.c, sys_voutl.c, sys_voutw.c)
. type merged with request in sys_sdevio, also now accepts offset which
  is used when a grant is specified (the _DIO_SAFE subtype)
. system printf() function changed to send DIAGNOSTICS_S messages, which
  specify a grant id instead of a direct address for the buffer to be
  printed; tty and log can then safecopy the buffer
2006-06-20 08:45:04 +00:00
Philip Homburg
a617a46e35 Retry read after EINTR. 2006-06-14 13:18:53 +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
3ea083b8d4 Actually remove allocmem and freemem sources from the library. 2006-05-19 12:45:55 +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
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
3172b4d0ad Patches by Jeff Bailey for posixifications. 2006-04-09 23:16:13 +00:00
Ben Gras
23f881aa29 Hack to mask 1586 ('extended family') as 686 2006-04-05 20:57:18 +00:00
Ben Gras
7d0b64505a Added getifaddrs() 2006-04-03 15:03:43 +00:00
Ben Gras
d464faf987 updated syslog(), added setenv() 2006-04-03 15:03:07 +00:00
Philip Homburg
846ae81717 Fix for 'pci: mem_top too low' panic. Removed 'pci_next_dev: got nothing'
message.
2006-04-03 12:12:04 +00:00
Ben Gras
9e2ee91082 Don't close the master fd before returning if slave opens ok 2006-03-27 11:08:53 +00:00
Ben Gras
894fa0520e getsockname() reported local port and remote address - changed to local address. 2006-03-27 11:07:06 +00:00
Ben Gras
7b58dd7f9b Renamed findproc() to _pm_findproc() to reduce polluting of application
namespace.
2006-03-25 04:49:04 +00:00
Philip Homburg
e6dbd5cabf Added SO_ERROR support for tcp sockets. 2006-03-24 14:07:42 +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
Philip Homburg
36e8c1a185 Added assert to syslib. Moved panic from sysutil to syslib for assert.
Panic now tries sys_kill with SIGKILL first.
2006-03-15 12:06:18 +00:00
Jorrit Herder
376d8485d8 *** empty log message *** 2006-03-10 16:20:24 +00:00
Jorrit Herder
453beb04ad Library progress 2006-03-10 16:16:21 +00:00
Ben Gras
5d7f5fccf5 . rename message fields to endpoint variants
. remove or optionalify some pci debugging stuff
2006-03-03 09:44:55 +00:00
Philip Homburg
b13e39ed1b Conditional compilation for SIGIOT and SIGEMT. 2006-02-17 14:12:47 +00:00
Philip Homburg
1991246020 Socket options SO_RCVBUF, SO_SNDBUF, and TCP_NODELAY. 2006-02-17 13:45:41 +00:00
Philip Homburg
38804a964b More error texts. 2006-02-17 13:44:48 +00:00
Ben Gras
30f7f852ba Really disable debug 2006-02-15 14:22:40 +00:00
Philip Homburg
7034c0795d Moved PCI driver to the ramdisk. 2006-02-15 14:21:56 +00:00
Ben Gras
1116853ae9 Turn off debug in getsockname.c
allow NULL for setgroups argument
2006-02-15 14:16:06 +00:00
Ben Gras
39816868de Make initgroups() fail if user has any supplemental groups. 2006-02-13 15:06:01 +00:00
Ben Gras
5911460ce5 Fake setgroups() and initgroups() implementation. 2006-02-13 15:00:49 +00:00
Ben Gras
a3bda44a41 . use proper S_ISFIFO for ISFIFO check
. ignore ESPIPE error from lseek() in fflush() on read streams
  (because fifo's aren't detected when stdin, stdout or stderr)
2006-02-02 16:59:07 +00:00
Philip Homburg
8ec6f7af83 Make sys_privctl make the prototype. 2006-01-27 14:14:13 +00:00
Ben Gras
7392c839e0 fts import from freebsd
re-activated fchdir()
2006-01-27 14:01:36 +00:00
Philip Homburg
4a713d8b6d Added sys_privctl.c. 2006-01-27 12:54:47 +00:00
Ben Gras
030c1c2560 fchdir() fix 2006-01-20 12:49:24 +00:00
Ben Gras
36f91229ea Re-enable fchdir() 2006-01-20 12:44:16 +00:00
Ben Gras
a85797f486 Make error message conditional 2006-01-18 09:47:22 +00:00
Ben Gras
f4c085d3cc Added pci files. 2006-01-17 10:49:30 +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
Philip Homburg
f18faca855 Added pci_init1.c, pci_attr_r16.c, pci_attr_w8.c, pci_attr_w16.c,
and pci_rescan_bus.c
2006-01-12 14:37:37 +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
Philip Homburg
3dd0a97049 Stubs for accessing the PCI driver 2005-12-02 14:41:46 +00:00
Ben Gras
282e2f8e78 getloadavg() interface 2005-11-14 15:48:12 +00:00
Philip Homburg
233c092280 Resurrected sys_eniop. 2005-11-09 17:14:14 +00:00
Philip Homburg
6d02d10805 Added getprotobyname. 2005-11-09 15:42:38 +00:00
Philip Homburg
7394f38ed7 Added paramvalue to the library. 2005-11-08 13:59:27 +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
Philip Homburg
36e1cb4436 sys_eniop was missing. 2005-11-04 17:03:49 +00:00
Ben Gras
94d370ca5f library fixes for symlink, readlink and lstat 2005-11-01 13:13:31 +00:00
Ben Gras
0604dc26a8 Giovanni's symlink patches. 2005-10-31 14:33:12 +00:00
Ben Gras
b94a639398 Giovanni's symlink (+syslog+flock) patches. 2005-10-31 14:31:05 +00:00
Ben Gras
3acb6bf1fe Giovanni's symlinks patches (libs) 2005-10-31 14:28:19 +00:00
Philip Homburg
29eed99c71 Added paning variable to help routing debug output. 2005-10-24 13:47:24 +00:00
Ben Gras
69a0586adf Changes to make gcc compile our libraries too (Joren) 2005-10-21 11:19:35 +00:00
Ben Gras
a19614a19f Included Makefiles for ack and gcc 2005-10-18 17:37:58 +00:00
Ben Gras
df7c913bd9 Global included Makefile 2005-10-18 17:37:18 +00:00
Ben Gras
4be59c3e03 Restore -lm 2005-10-18 10:42:05 +00:00
Ben Gras
ea75918df1 printf() by kernel and servers now send messages to an array of processes,
OUTPUT_PROCS_ARRAY in <minix/config.h>, in that order, terminated by NONE.
log no longer forwards messages to tty itself. This leads to less funny
loops and more robust debug-message handling. Also the list of
processes receiving messages can easily be changed around or disabled by
editing the array (e.g. disable it by changing the array to { NONE }.).
2005-10-18 10:34:54 +00:00
Ben Gras
d87bfc438b Restore libm 2005-10-18 10:32:28 +00:00
Ben Gras
c79574aba4 A new panic that makes processes exit with PM knowing about it, instead
of sys_exit, so that PM functions (e.g. findproc) keep working properly,
and RS finds out about process deaths.
2005-10-17 13:19:22 +00:00
Jorrit Herder
eb5ed13fd3 New libary functions.
Cleanup of halt.c.
2005-10-12 15:10:14 +00:00
Ben Gras
a65191aa6b Larger dummy -lm 2005-10-10 15:28:55 +00:00
Ben Gras
1da5b5ccee gcc subdir for combined gcc/ack library build 2005-10-10 15:28:15 +00:00
Ben Gras
8c53e4007e ack subdir for combined ack/gcc library build 2005-10-10 15:27:47 +00:00
Philip Homburg
9528152f68 Added sys_eniop, sys_vm_setbuf, and sys_vm_map. 2005-09-30 12:51:33 +00:00
Philip Homburg
731eee27c3 Nonblocking connect for TCP sockets. 2005-09-30 12:50:50 +00:00
Philip Homburg
4ac2d8d392 Optionally more debug output. 2005-09-30 12:50:14 +00:00
Philip Homburg
99fa9df344 X expects an implicit bind to INADDR_ANY for UDP sockets. 2005-09-30 12:49:10 +00:00
Philip Homburg
c4184bb45b nonamed doesn't like DNS requests over TCP. So, don't try to use them. 2005-09-30 12:48:26 +00:00
Ben Gras
533eb3acfd zlib 1.2.2 -> 1.2.3 2005-09-23 22:39:07 +00:00
Ben Gras
9517eff5a4 Also a change by Joren 2005-09-06 10:15:57 +00:00
Ben Gras
aad54cb32c Add fsync() interface. 2005-09-05 21:22:45 +00:00
Ben Gras
66b48eea33 Joren l'Ami 's updates to stdio, minor modification by me too (skip
doing anything in fflush() if stream is a pipe).
2005-09-05 17:17:58 +00:00
Ben Gras
9bc5da4276 Made socket() accept an udp or tcp protocol number 2005-09-01 15:24:29 +00:00
Ben Gras
cda3096335 Patch by claudio for lynx 2005-09-01 14:59:28 +00:00
Philip Homburg
b5abc91add Added getsockname and getsockopt. 2005-08-25 15:10:57 +00:00
Philip Homburg
a61e8f28c7 Added basename(3) 2005-08-25 11:33:43 +00:00
Philip Homburg
4c863cf9fc Fixed 'connected' check. 2005-08-25 10:47:24 +00:00
Jorrit Herder
e396496d8c Fixed small bug in alarm code.
Kernel timer count was not reset after expiry.
2005-08-05 16:46:27 +00:00
Philip Homburg
473317e571 Added dp8390 to /usr/etc/rc. Renamed get_mon_prm.c to env_get_prm.c.
Add env_setargs call for access to argc/argv.
2005-08-05 14:20:05 +00:00
Philip Homburg
db5a8bb2b8 Added dp8390 driver. Additional env_parse functions that take argc and argv. 2005-08-05 09:53:08 +00:00
Ben Gras
5c9d34b62a Removed socket library, there is a socket library in libc now 2005-08-03 11:35:41 +00:00
Philip Homburg
343bd97aeb Removed old socket library. 2005-08-03 11:28:43 +00:00
Jorrit Herder
b69ca94efb Fixed 'bug' in log driver that caused kernel messages not to be displayed.
This was caused by a change in the shared driver code. Not log's fault.

Renamed #definitions of driver process numbers, e.g., TTY now is TTY_PROC_NR.
All known (special) processes now have consistent naming scheme. Kernel tasks
don't follow this scheme.
2005-08-03 08:14:08 +00:00
Jorrit Herder
7af2b107d4 *** empty log message *** 2005-08-02 15:50:00 +00:00
Jorrit Herder
1d60e866c3 Various updates to support dynamically starting drivers. 2005-08-02 15:32:12 +00:00
Philip Homburg
a5b0301024 small fix for connect 2005-08-01 14:47:24 +00:00
Philip Homburg
e9ebecdd17 UDP support for connect. 2005-08-01 14:43:21 +00:00
Jorrit Herder
748b3dd434 Updates system library calls: interface changes (removed unused parameters).
Removed old notification trap: renamed alert() to notify() ... finally ;-)
2005-07-29 15:01:59 +00:00
Philip Homburg
49c25df569 bios_wini driver 2005-07-29 10:21:04 +00:00
Philip Homburg
a7487a5c3c Added shutdown. EBADIOCTL in connect. Chaned some debug output. 2005-07-29 10:13:52 +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
Jorrit Herder
fe0dcb5c00 AT driver is not modified (debugging only);
TTY: select and revive with new notify and FS call back;
kernel: removed old notify code; removed ugly prepare_shutdown timer
kputc: don't send to FS if PRINTF_PROC fails
2005-07-27 14:32:16 +00:00
Philip Homburg
e1f43abc09 Socket library 2005-07-27 11:57:59 +00:00
Philip Homburg
40b364a6db Added some error strings. 2005-07-27 11:53:05 +00:00
Jorrit Herder
a41eb700e8 Minor fixes and improvements for sys_call(). 2005-07-26 13:51:21 +00:00
Ben Gras
08578c6afb Removed funny debug printf 2005-07-22 18:36:42 +00:00
Jorrit Herder
e2b05e4f55 *** empty log message *** 2005-07-21 18:37:19 +00:00
Jorrit Herder
ee509198a2 Removed 'tracing' flag from sys_exec. Logic is now local to PM.
Changed variable names in timers libary. Wrote new comments for
timers.h header file with explanation.
2005-07-20 15:33:54 +00:00
Ben Gras
0f48b1885d new -lutil, only openpty() for now 2005-07-19 16:01:37 +00:00
Jorrit Herder
5594b767c0 Renamed src/lib/utils to src/lib/sysutil --- because of new src/lib/util 2005-07-19 13:21:51 +00:00
Jorrit Herder
0129d98ae1 Added new signal types for kernel events:
- SIGKMESS: new kernel message (sent to TTY, IS, or LOG)
- SIGKSTOP: MINIX is shut down (sent to TTY-> switch to primary console)
- SIGKSIG: kernel signals pending (sent to PM)

Renamed SYS_SETPRIORITY to SYS_NICE.
2005-07-19 12:24:51 +00:00
Jorrit Herder
654722493b Renamed various system calls.
Cleaned up system call library.
Added new alert() trap to replace notify() --- current notify will be removed
and alert() will be called notify() later.
2005-07-14 15:13:33 +00:00
Ben Gras
e2a0ddf863 Makefile fixes. 2005-07-13 14:59:04 +00:00
Ben Gras
e1c5c6c8f3 .. 2005-07-11 14:16:53 +00:00
Philip Homburg
0cabfc76ee Usleep implementation based on select. 2005-07-11 13:08:00 +00:00
Philip Homburg
b5809b6a81 Added random, strdup, and strtok_r. 2005-07-11 13:06:27 +00:00
Ben Gras
42050e39f8 kernel and servers send diagnostic messages to IS; IS sends them to TTY
and the new log driver if enabled.

new usyslogd is started from /usr/etc/rc. New device created by
MAKEDEV.sh. /var/log created by etc/mtree/minix.tree (on root for
now). Made select() slightly more generic, with less code duplication.
2005-07-08 17:30:01 +00:00
Jorrit Herder
2b3961eb91 Fixed annoying compile warnings. 2005-07-08 12:25:13 +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
Jorrit Herder
7f2e7461e6 Fix stupid assumption that caused headache.
Timers lib now seems to work fine again.
2005-07-01 17:17:13 +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
Philip Homburg
62f7f9e6d2 Added mkstemp function. Should use a secure random number generator. 2005-06-29 15:29:08 +00:00
Ben Gras
2abe246e5c (Im)port of zlib-1.2.2
Ran configure with minix-friendly args and committed makefile. It's
a compromise to make zlib fit nicely into the current build system.
2005-06-27 13:05:04 +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
Jorrit Herder
e3bb0e40ee Removed sys_exit() kernel call. 2005-06-24 16:19:41 +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
Jorrit Herder
ec24a0798c Updated function key mapping because of possible changes to NOTIFY.
The TTY driver now only notifies the IS server about function key event,
but does not tell which keys are pressed. The IS servers queries the TTY
driver to find out about this.
2005-06-20 14:23: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
Jorrit Herder
7279bb68ef Applied MINIX 2.0.4 pathes provides by Al Woodhull. 2005-06-17 13:00:04 +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
aca763443a removed debug message 2005-06-06 14:58:47 +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
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
Ben Gras
9392dde997 bugfix 2005-06-06 11:31:20 +00:00
Jorrit Herder
c281867f46 Fixed bug relating to FS and MEMORY during startup;
Relocated some syslib functions to utils library;
Changed location of 'Multiuser startup ..." echo in /etc/rc
2005-06-06 09:30:44 +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
6d23f072f3 Cleaned up src/lib/utils library. Renamed server_ functions to more logical
names. All system processes can now either use panic() or report() from
libutils, or redefine their own function. Assertions are done via the standard
<assert.h> functionality.
2005-06-01 14:31:00 +00:00
Ben Gras
b4335679cb Added sys_physzero library call for corresponding system call; modified
system-printf() so it returns number of characters printed (for use in
smart formatting)
2005-06-01 09:36:07 +00:00
Jorrit Herder
f0af8d85e7 *** empty log message *** 2005-05-31 14:44:49 +00:00
Jorrit Herder
0165662cd9 Replaced flagalrm() timers with another technique to check for timeouts.
This allowed removing the p_flagarlm timer from the kernel's process table.
Furthermore, I merged p_syncalrm and p_signalrm into p_alarm_timer to save
even more space. Note that processes can no longer have both a signal and
synchronous alarm timer outstanding as of now.
2005-05-31 14:43:04 +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
Jorrit Herder
b421423c77 SENDREC now always has flag FRESH_ANSWER to prevent pending notifications
to be used as answer to a SENDREC call.
2005-05-30 11:11:40 +00:00
Jorrit Herder
8d9c0886cd Created ECHO system call for testing purposes.
Furthermore, a quick way to get one's own process number.
2005-05-27 13:57:00 +00:00
Jorrit Herder
d0a5a5d007 New system call added to PM: getprocnr(int *proc_nr) (like getpid);
Minor update to scheduling code (unready().
2005-05-20 09:37:43 +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
Jorrit Herder
1cb880b158 Intermediate update---please await next commit. 2005-05-19 09:36:44 +00:00
Ben Gras
7f52483b9f Release process to use and create 16MB root; FS setcache call removed 2005-05-13 12:47:35 +00:00
Jorrit Herder
49b86f3373 Fixed tick_delay; it now reschedules a previous synchronous alarm. 2005-05-13 09:33:53 +00:00
Ben Gras
0e859fd436 Must be able to run FP.compile if FP.compile isn't an executable script. 2005-05-03 15:41:39 +00:00
Ben Gras
6a335043f6 bugfix from jnherder 2005-05-03 09:03:55 +00:00
Jorrit Herder
ac0995259d *** empty log message *** 2005-05-02 14:30:04 +00:00
Jorrit Herder
89ac678b9b *** empty log message *** 2005-04-29 15:36:43 +00:00
Ben Gras
9865aeaa79 Initial revision 2005-04-21 14:53:53 +00:00