Commit graph

413 commits

Author SHA1 Message Date
Ben Gras
da8360c0a3 change startup code to call munmap()/munmap_text() to map out
own 0-pages.
2009-09-21 14:41:47 +00:00
Ben Gras
1c217d038c new sysv ipc call stubs 2009-09-21 14:41:03 +00:00
Ben Gras
8c2bece89f - remove unused kmalloc
- initial implementation of _read_host_time_ns, a function to retrieve
   real-time in ns in vmware virtual machines
2009-09-21 14:39:15 +00:00
David van Moolenbroek
979bcfc195 - sys_privctl: don't mix message types
- sys_privctl: remove CTL_MM_PRIV (third parameter)
- remove obsolete sys_svrctl.c library file
2009-09-06 12:37:13 +00:00
David van Moolenbroek
32b2758ba8 syslib: make sys_nice use field aliases 2009-09-05 12:51:00 +00:00
Erik van der Kouwe
ec4b567894 Avoid alarm to prevent the setitimer interval from being reset 2009-09-03 20:35:22 +00:00
David van Moolenbroek
8aeb17c75e typo 2009-09-02 21:55:26 +00:00
David van Moolenbroek
47e6506d7b support for TCP sockets in send/sendto/recv/recvfrom 2009-08-21 09:59:09 +00:00
Erik van der Kouwe
192c0be4a8 Fix HUGE_VAL warnings 2009-08-18 19:10:48 +00:00
Erik van der Kouwe
d81563a9b1 Fix HUGE_VAL warnings 2009-08-18 19:10:20 +00:00
Thomas Veerman
b47483433c Added a hack to start binaries from the boot image only. In particular, setting
bin_img=1 in the boot monitor will make sure that during the boot procedure the
mfs binary that is part of the boot image is the only binary that is used to
mount partitions. This is useful when for some reason the mfs binary on disk 
malfunctions, rendering Minix unable to boot. By setting bin_img=1, the binary
on disk is ignored and the binary in the boot image is used instead.

- 'service' now accepts an additional flag -r. -r implies -c. -r instructs RS
  to first look in memory if the binary has already been copied to memory and
  execute that version, instead of loading the binary from disk. For example,
  the first time a MFS is being started it is copied (-c) to memory and
  executed from there. The second time MFS is being started this way, RS will
  look in memory for a previously copied MFS binary and reuse it if it exists.
- The mount and newroot commands now accept an additional flag -i, which
  instructs them to set the MS_REUSE flag in the mount flags.
- The mount system call now supports the MS_REUSE flag and invokes 'service'
  with the -r flag when MS_REUSE is set.
- /etc/rc and the rc script that's included in the boot image check for the
  existence of the bin_img flag in the boot monitor, and invoke mount and 
  newroot with the -i flag accordingly.
2009-08-18 11:36:01 +00:00
Erik van der Kouwe
b3ab0cb03a Fixed some warnings 2009-08-17 18:48:57 +00:00
Erik van der Kouwe
fcbb7ac780 Fixed some warnings 2009-08-17 18:48:27 +00:00
Erik van der Kouwe
2d7dfd1a46 Fix warning in panic 2009-08-17 17:56:34 +00:00
Erik van der Kouwe
f5421e64f8 Nanosleep was implemented twice, removed from _sleep.c 2009-08-16 12:55:59 +00:00
Erik van der Kouwe
3573bc1abe Function nanosleep now checks arguments 2009-08-16 12:13:33 +00:00
David van Moolenbroek
5a13b2eda8 nanosleep(3), and sleep(3) rewrite, by Erik van der Kouwe 2009-08-15 22:14:48 +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
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