Commit graph

1166 commits

Author SHA1 Message Date
Philip Homburg 9092146be7 VFS cleanup (mostly open). 2007-01-05 16:36:55 +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 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 bafc45a309 First cut at 64-bit file offsets in block devices for mkfs/fsck. 2006-11-27 14:21:43 +00:00
Philip Homburg d83e4d3b2e Added missing defines in include/minix/vfsif.h 2006-11-10 15:05:32 +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
Philip Homburg 0c1d433f60 rs changes (also use driver configurations in the image ramdisk) 2006-10-31 13:35:04 +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 dd3ee082b2 Initialize priv from user supplied priv structure in SYS_PRIV_INIT.
Added SYS_PRIV_USER call to downgrade a privileged process to a user process.
2006-10-20 14:42:48 +00:00
Philip Homburg be928f01a5 Nice(3) implementation 2006-10-20 14:10:53 +00:00
Ben Gras 140afcfb7d Use size-dependant no. of words, with OPEN_MAX as default for fd_set size. 2006-10-06 15:45:13 +00:00
Ben Gras c2bbcfe560 _NSIG is supposed to be highest signal number plus one, not highest
signal number.
2006-09-27 08:56:37 +00:00
Philip Homburg d24a880003 Added EOPNOTSUPP and better error handling in accept. 2006-09-14 13:48:41 +00:00
Philip Homburg f6c4002b35 first commit of extra ptrace code for fault injection. 2006-08-28 15:03:03 +00:00
Ben Gras 1d7257b613 Code for 'service run' 2006-08-15 15:55:04 +00:00
Ben Gras e3ffd4c2b1 Start calling it 3.1.3rc1 2006-08-04 12:12:06 +00:00
Ben Gras 6dbca44030 Turn off prototypes for readv and writev until they're defined
(properly) in the library.
2006-08-02 15:18:49 +00:00
Ben Gras bc8b79da53 Make includes for gcc 4.1.1 too if found. 2006-08-01 09:17:43 +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 82173212ee Introduction of a 'big' ioctl, with more bits (20) reserved for encoding the
size field. The TIOCSFON ioctl size (8192) didn't get encoded properly,
as there weren't enough bits for it (12) in the regular format.

The new format has only one type field, and an extra flag (_IOC_BIG)
turned on. FS checks for this flag and uses the alternative decoding
of the ioctl codes to determine the size when doing grants.

This unbreaks loadfont, although that still uses a phys copy in tty.
2006-07-25 09:41:40 +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
Ben Gras b0fc01eb82 <minix/ds.h> - ds definitions. 2006-07-14 12:40:32 +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 04b478f177 More stack for tcpd.
Safecopies renders the NWIOQUERYPARAM ioctl useless. This functionality
is now replaced with /dev/ipstat. Write the request to the device and
read the answer in one read request.
2006-07-13 13:19:48 +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
Ben Gras 5c55d94007 Bigger BUFSIZ for bigger fs block size. 2006-07-06 10:02:25 +00:00
Ben Gras 1561067ee4 Grant system dynamic-only. 2006-06-30 14:40:29 +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 d402047222 Added vectored variant of sys_safecopy*. 2006-06-23 11:54:03 +00:00
Philip Homburg 529ca8a4df Added strlcat and strlcpy. 2006-06-22 11:47:18 +00:00
Philip Homburg bd783b901f Added prototype for inet_aton. 2006-06-22 11:45:59 +00:00
Ben Gras ed9be75384 <minix/safecopies> 2006-06-20 14:25:42 +00:00
Ben Gras 6d8fa97233 Kick out REVIVE 2006-06-20 09:47:23 +00:00
Ben Gras cfb984e9bd . renamed __str to __makestr to allow for g++
. changed some CMOS ioctl codes to have correct sizes (struct tm instead
  of u32_t), a disk ioctl code from W to RW, and memory ioctl codes from R
  to W, needed for proper matching of grant in FS
2006-06-20 08:40:26 +00:00
Ben Gras aaca17c36d . introduced DEV_READ_S, DEV_WRITE_S, DEV_SCATTER_S, DEV_GATHER_S
and DEV_IOCTL_S as replacements for DEV_READ, DEV_WRITE, DEV_SCATTER,
  DEV_GATHER and DEV_IOCTL. Instead of a direct address, the *_S commands
  pass 'grant ids' to the drivers which are referenced through a new set
  of copy calls (sys_safecopyfrom and sys_safecopyto). in order for this
  copy to succeed, the grant must have previously been created in the
  address space of the granter.
. bitmap manipulation functions moved to <minix/bitmap.h>
. HIGHPOS introduced as field containing high 32 bits of position in
  device I/O message; TTY_FLAGS no longer used
. IO_GRANT field introduced for GRANTs, to replace ADDRESS
. REP_IO_GRANT field for un-SUSPEND messages introduced to indicate
  grant for which I/O was done to disambiguate messages
. SYS_SAFECOPYFROM and SYS_SAFECOPYTO introduced as new calls
. SYS_PRIV_SET_GRANTS code introduced as a code to set the address and
  size of the grant table in a process' own address space
. 'type' and 'direction' field of _ins* and _outs* I/O functions
  are merged into one by ORing _DIO_INPUT/_DIO_OUTPUT and _DIO_BYTE/_DIO_WORD
  etc. This allows for an additional parameter, _DIO_SAFE, which indicates
  the address in another address space isn't actually an address, but
  a grant id. Also needs an offset, for which fields had to be merged.
. SCP_* are field names for SYS_SAFECOPY* functions
. DIAGNOSTICS and GET_KMESS moved to their own range above DIAG_BASE,
  added DIAGNOSTICS_S which is a grant-based variant of DIAGNOSTICS
. removed obsolete BINCOMPAT and SRCCOMPAT options
. added GRANT_SEG type for use in vircopy - allows copying to a grant
  id (without offset)
. added _MINIX_IOCTL_* macros that decode information encoded by
  _IO* macros in ioctl codes, used to check which grants are necessary
  for an ioctl
. introduced the type endpoint_t for process endpoints, changed some
  prototypes and struct field types to match
. renamed protected to prot for g++
2006-06-20 08:38:15 +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 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 5bb4530aba No beta 2006-04-12 15:53:37 +00:00
Philip Homburg e860feaa2c Added PCI_IDE_PRI_NATIVE and PCI_IDE_SEC_NATIVE. 2006-04-12 11:26:20 +00:00
Ben Gras ef7f412175 Maybe one more beta 2006-04-12 09:33:53 +00:00
Ben Gras 730b6a20d0 New version 2006-04-11 12:03:06 +00:00
Philip Homburg acf9910a6e Added some defines for mass storage. 2006-04-04 12:26:37 +00:00
Ben Gras c9a0768242 Beta 3 2006-04-04 12:11:30 +00:00
Ben Gras 0a24534f62 Some more definitions for applications 2006-04-03 15:07:09 +00:00
Ben Gras dbc345e1dd . getifaddrs() and data
. sysexit definitions

for porting
2006-04-03 15:06:31 +00:00
Ben Gras 321f95f6c5 setenv() 2006-04-03 15:02:32 +00:00
Ben Gras 5519b87186 make gcc doesn't work if $SHELL is unexpected 2006-03-31 22:26:42 +00:00
Ben Gras a704a57c46 include BSHELL path 2006-03-30 11:28:15 +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 22c9e97029 Don't do this 2006-03-24 14:16:06 +00:00
Philip Homburg 3290604a80 Added NWIOTCPGERROR. 2006-03-24 14:08:46 +00:00
Ben Gras 65723cba53 Fix compiler warnings for pax 2006-03-24 14:03:25 +00:00
Ben Gras 58aee91edf Fix compiler warnings. 2006-03-24 13:53:09 +00:00
Ben Gras dead87238d version -B2 2006-03-24 13:47:50 +00:00
Ben Gras 9faaae8222 version 1.2 2006-03-24 13:46:51 +00:00
Ben Gras 0bcb14b384 _SC_PAGESIZE sysconf() support 2006-03-23 11:05:15 +00:00
Philip Homburg 64a9d53b12 PCI reports the amount of video memory (for chmem'ing the X server) 2006-03-17 15:23:59 +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
Philip Homburg 50d805144c dmap_io now returns a status. map_driver no longer calls dev_up. 2006-03-15 13:37:20 +00:00
Philip Homburg d0d56cfb2b Reverting some of changes that break backward compatibility. 2006-03-15 10:18:59 +00:00
Ben Gras 48b2be3ccc /dev/ram is a path 2006-03-13 14:49:08 +00:00
Ben Gras b3f969af94 . Version is '3.1.2-B1', stands for -beta1
. Removed old copyright notice from <minix/const.h>
2006-03-13 13:18:39 +00:00
Jorrit Herder 021e3234d8 Jorrit's ... "progress?" 2006-03-10 16:10:05 +00:00
Ben Gras 0cd9341f21 Tightened generation size - don't count process numbers more than once 2006-03-07 15:44:34 +00:00
Ben Gras 7d95abb072 Take out arbitrary constant 2006-03-07 15:38:43 +00:00
Philip Homburg 2478cde442 Print PCI capability types. 2006-03-06 15:19:51 +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 284dbccf65 Initial endpoint macros. 2006-02-21 15:26:12 +00:00
Philip Homburg 83bac36746 Reintroduced SIGEMT. 2006-02-17 14:12:12 +00:00
Philip Homburg fa6f63c3cb New errors and defines for socket options. 2006-02-17 13:43:50 +00:00
Philip Homburg d430c4fac8 SIGBUS needs its own number. Removed SIGEMT. Made SIGIOT conditional on
_MINIX.
2006-02-17 13:43:07 +00:00
Philip Homburg 7034c0795d Moved PCI driver to the ramdisk. 2006-02-15 14:21:56 +00:00
Philip Homburg c3a88d15d8 Initial root filesystem is now on a ramdisk that is part of the image. 2006-02-15 11:18:21 +00:00
Ben Gras 5911460ce5 Fake setgroups() and initgroups() implementation. 2006-02-13 15:00:49 +00:00
Ben Gras 1d4d75795b Revert to 30 OPEN_MAX (committed by mistake) 2006-02-13 10:32:05 +00:00
Ben Gras 88ba4b5268 added reenter check to lock_dequeue() to avoid unlocking of interrupts
via cause_sig() during an exception.

moved lock check configuration to <minix/sys_config.h> instead of
kernel/config.h, because the 'relocking' field in kinfo depends on it.

other prettification: common locking macro, whether lock timing is on or
not.
2006-02-10 16:53:51 +00:00
Ben Gras dd284552b4 fixes to include major() and minor() in system header files (in a different
file than sys/types.h)

small binpackage update
2006-01-27 13:57:18 +00:00
Philip Homburg 8036f12f47 I/O, memory and IRQ resource control interface. 2006-01-27 13:02:02 +00:00
Ben Gras e04832580d Some misc portability-enhancing definitions.
Added fts.h for fts library imported from freebsd.
2006-01-20 13:42:29 +00:00
Ben Gras a321c12f75 Move truncate()/ftruncate() prototype outside MINIX conditional 2006-01-19 15:33:13 +00:00
Ben Gras 46ad16e688 . new version of minix
. less space on filesystems of cd image
2006-01-18 09:49:54 +00:00
Ben Gras b40438277b Prototype fix 2006-01-17 11:24:48 +00:00
Philip Homburg 2ac648b695 Restructured defines for bridges, added defines for cardbus. 2006-01-12 14:35:29 +00:00
Philip Homburg c4035d9c96 Added BUSC_PCI_RESCAN and GET_IRQACTIDS. 2006-01-12 14:34:00 +00:00
Philip Homburg 9484279e5a Added sys_getirqactids, pci_init1, pci_rescan_bus, and pci_attr_w8. 2006-01-12 14:33:29 +00:00
Philip Homburg 988493b2e2 Added caching bits 2006-01-12 14:32:42 +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 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 32d5141935 Added prototype for getsockopt(). 2005-12-12 10:40:29 +00:00
Philip Homburg b3cd15b01b Separate pci driver 2005-12-02 14:40:51 +00:00
Ben Gras 7c1b2ef659 typedef dns_hdr_t HEADER;
for applications
2005-11-17 01:29:08 +00:00
Ben Gras cbea840414 Define
IPPORT_RESERVED as 1024
for applications
2005-11-17 01:23:46 +00:00
Ben Gras e45c9f2741 Synonyms for helping porting applications. 2005-11-17 01:23:33 +00:00
Ben Gras dd99ee67e0 Rename some #defines such as MAX_BLOCK_SIZE to _MAX_BLOCK_SIZE and such
so as to not pollute application namespace.
2005-11-14 18:41:27 +00:00
Ben Gras 267c01b493 out-of-date comment fixed 2005-11-14 16:35:32 +00:00
Ben Gras f9c1f3172d getloadavg 2005-11-14 15:58:07 +00:00
Philip Homburg 4102a5db28 Various changes to header files for tcpdump. 2005-11-09 15:43:39 +00:00
Philip Homburg 7394f38ed7 Added paramvalue to the library. 2005-11-08 13:59:27 +00:00
Philip Homburg 80cce8b3d3 Added prototype for hypot. 2005-11-04 17:14:59 +00:00
Philip Homburg 8950d7eae7 Make struct sockaddr at least as big as struct sockaddr_in 2005-11-04 17:07:39 +00:00
Ben Gras 6e37eb17b2 (mode_t) casts confused preprocessor 2005-11-03 17:04:50 +00:00
Ben Gras a3752a3a51 Fix 2005-11-01 13:15:44 +00:00
Ben Gras 4c648c343e Giovanni's symlink patches (includes only) 2005-10-31 14:14:54 +00:00
Ben Gras 2c704d288f Giovanni's syslog.h 2005-10-31 14:07:07 +00:00
Philip Homburg d920f5e0f9 Support for raw keyboard I/O and the AUX (PS/2 mouse) channel. 2005-10-24 13:52:53 +00:00
Philip Homburg ed4ec02ddf Removed cast from sys_inb. 2005-10-24 13:51:39 +00:00
Philip Homburg 1de4b3a426 More filedescriptors 2005-10-24 13:51:02 +00:00
Jorrit Herder 78f20c3959 Rest ... 2005-10-21 13:46:47 +00:00
Philip Homburg 724813fdce Prelim commit for ethernet driver crash recovery. 2005-10-21 11:51:45 +00:00
Jorrit Herder 4745238b9c New major device for Rescue Driver 2005-10-21 10:56:47 +00:00
Ben Gras b74617dede gcc separate target 2005-10-20 20:38:12 +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 fca5dad684 Reduce buffer cache a bit to make space for boot device for drivers. 2005-10-20 20:11:51 +00:00
Ben Gras f6bdd6a4a9 New DMAP_BABY flag in <minix/dmap.h> and to be printed by IS in dmap dump. 2005-10-20 19:40:44 +00:00
Ben Gras e50b781884 gcc includes fixup 2005-10-18 17:21:24 +00:00
Ben Gras 4bae163d37 High watermark memory usage feature 2005-10-18 17:21:11 +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 683322d997 Version number for sosp release 2005-10-17 09:04:36 +00:00
Ben Gras f04d46f456 Fixup for gcc headers (if installed) 2005-10-13 12:46:23 +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
Ben Gras c06149cffe Moved 'struct hole' for memory holes from PM to <minix/type.h>; also
number of holes to sys_config.h, to make memory allocation data structure
visible from outside..
2005-10-13 12:45:09 +00:00
Jorrit Herder 7842d4fb26 Minor changes for new library functions at PM. 2005-10-12 15:08:45 +00:00
Ben Gras 866b3fda9c DEV_PING message type for device driver keepalives 2005-10-12 14:29:38 +00:00
Jorrit Herder f587fe41e5 Changed EDEADDST to EDEADSRCDST 2005-10-05 09:52:54 +00:00
Ben Gras 5b452954ba FSDEVUNMAP, late commit 2005-10-04 11:46:51 +00:00
Ben Gras 8c4166ee85 Add SIGWINCH signal and functionality in tty and support in PM. 2005-10-03 12:03:57 +00:00
Philip Homburg 31c1d6bf0d Changes to includes for VM, IOPL, logging. Increased _NR_PROCS, CLICK_SIZE is
now 4096.
2005-09-30 12:47:03 +00:00
Philip Homburg 5f7b803dcd Asynchronous connect (for non-blocking socket connect emulation) 2005-09-30 12:44:39 +00:00
Philip Homburg a9a8299e88 Misc. compatibility changes 2005-09-30 12:41:25 +00:00
Philip Homburg 440668c645 Added ELOOP 2005-09-30 12:39:12 +00:00
Ben Gras 16aa1d64f2 Free up some memory to make (big) commands making work in 16MB
vmware.
2005-09-25 13:57:11 +00:00
Ben Gras 12606da07b First step to book CD - version 3.1 2005-09-23 22:45:29 +00:00
Ben Gras 669b2db75b Added fsync() prototype. 2005-09-21 10:57:21 +00:00
Ben Gras e890db422c new version for PH test 2005-09-19 13:56:42 +00:00
Ben Gras 0ea3bf40ac New version 2005-09-16 14:27:32 +00:00
Ben Gras 688910d983 Ast@'s formatting fixes 2005-09-16 14:23:14 +00:00
Ben Gras ce1402bc16 Synchronize comment. 2005-09-14 01:59:36 +00:00
Ben Gras d9557981d1 c -> d char 2005-09-14 01:44:13 +00:00
Ben Gras 17e34f508d Fix by Al. 2005-09-14 00:49:08 +00:00
Ben Gras 0c83d1f97e *** empty log message *** 2005-09-13 12:29:08 +00:00
Ben Gras 7548c88ede New subversion 2005-09-13 00:08:15 +00:00
Ben Gras b42ee4a0e1 New version 2005-09-12 15:30:51 +00:00
Ben Gras 309287d44f Even smaller (ast) 2005-09-11 20:06:37 +00:00
Ben Gras b18cbb66ea Small minix smaller. 2005-09-11 19:13:27 +00:00
Ben Gras 8e7bad10b2 Increase version space to allow "3.0.8d" versions. 2005-09-10 20:53:48 +00:00
Ben Gras 1de242401f An empty <sys/file.h> helps porting. 2005-09-06 16:19:21 +00:00
Ben Gras d9f669a326 We're nearly at 3.0.8 now.. 2005-09-05 17:03:24 +00:00
Ben Gras f67ccc7333 Need an IPPROTO_UDP 2005-09-01 15:24:05 +00:00
Ben Gras 3f6cd154a2 Joren l'Ami's fixes to includes for gcc 2005-09-01 13:07:08 +00:00
Ben Gras 6a56df46e9 *** empty log message *** 2005-08-30 16:56:46 +00:00
Ben Gras c7b2e60af8 NR_BUFS forced low if a small minix symbol is defined 2005-08-29 20:00:14 +00:00
Ben Gras 43ea6a9ce8 Added <minix/sys_config.h>. This file is intended to be included from
other, user-includable config files. It only defines names that don't
pollute the users namespace (start with _). <minix/config.h> still works
like always; it includes sys_config.h now and defines the 'messy' names
(such as CHIP) as the 'cleaner' names (such as _MINIX_CHIP).

Changed some of the other include files to use sys_config.h and the
'cleaner' names. This solves some (past and future) compilation problems.
2005-08-29 13:52:08 +00:00
Ben Gras 90fecead0d *** empty log message *** 2005-08-28 22:01:06 +00:00
Ben Gras 43641f5d7b One of Al's memory-friendly changes 2005-08-26 12:38:15 +00:00
Ben Gras 4caadca5e0 Paths updates 2005-08-26 12:14:25 +00:00
Ben Gras d48770fcb5 Path config, so they're not hard-coded separately in commands 2005-08-26 12:00:43 +00:00
Philip Homburg a61e8f28c7 Added basename(3) 2005-08-25 11:33:43 +00:00
Ben Gras 647e179038 . release fixes
. added OPENCT ioctl to at driver, which returns the number of times
  a device is opened. if it's not opened exactly once, new partition info
  will not be read in (at the next open after this close). included
  this check in autopart.
2005-08-25 09:47:31 +00:00
Jorrit Herder 10e4e98947 Renamed SM to RS (Reincarnation Server). 2005-08-23 11:28:16 +00:00
Ben Gras d11b2e4b8c Al's double-blank-line removal request 2005-08-22 15:23:47 +00:00
Ben Gras 87b0780ef7 Maximum block size lowered to 4K (gasp) ! 2005-08-12 12:41:29 +00:00
Ben Gras d41f3858fd changed default INTR key to ^C instead of DEL 2005-08-12 09:40:16 +00:00
Ben Gras 5789f7abec config version bumped to 307; NOT cvs tagged yet; misc fixes 2005-08-05 19:19:18 +00:00
Jorrit Herder 941b5ebd1c Fix to device table at FS.
BIOS and AT installed in /sbin.
Floppy boot fixed.
2005-08-05 18:57:20 +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
Ben Gras ad24bb4072 Make include files and dirs bin-owned, to make sure bin can install them 2005-08-05 11:40:46 +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
Jorrit Herder c9ab8cce43 Changed minor number of /dev/zero from 6 to 5.
(Make sure to update your system accordingly or /dev/zero won't work.)
Cleaned up comments in MEMORY driver.
2005-08-05 09:43:22 +00:00
Jorrit Herder 74711a3b14 Check if kernel calls is allowed (from process' call mask) added. Not yet
enforced. If a call is denied, this will be kprinted. Please report any such
errors, so that I can adjust the mask before returning errors instead of
warnings.

Wrote CMOS driver. All CMOS code from FS has been removed. Currently the
driver only supports get time calls. Set time is left out as an exercise
for the book readers ... startup scripts were updated because the CMOS driver
is needed early on. (IS got same treatment.) Don't forget to run MAKEDEV cmos
in /dev/, otherwise the driver cannot be loaded.
2005-08-04 19:23:03 +00:00
Ben Gras 20b4f17334 Added RO_BIT needed for new at_wini / fs flag 2005-08-04 09:33:38 +00:00
Jorrit Herder e561081545 Miscellaneous clean ups and fixes to the kernel.
Support for FLOPPY in boot image. (Set controller=fd at boot monitor.)
Moved major device numbers to <minix/dmap.h> (maybe rename to dev.h?)
2005-08-04 09:26:36 +00:00
Jorrit Herder 89cf745fe2 Single boot driver loaded, while multiple can be included in the boot image.
The user needs to set label=... to choose the driver of his or her choice.
This driver will be mapped onto the controller that is set in controller=...

Minor cleanup of kernel source code (boot image table now is static).
2005-08-03 16:06:35 +00:00
Philip Homburg c12b74dad5 Random is now a separate driver. 2005-08-03 15:22:41 +00:00
Jorrit Herder 1ae4d41d0d Without /dev/boot ... 2005-08-03 14:17:28 +00:00
Jorrit Herder 375f6f8754 Miscellaneous cleanups. 2005-08-03 11:53:36 +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 120e514506 Changed various header file to support dynamically staring drivers.
Note: full recompile necessary.
2005-08-02 15:31:12 +00:00
Philip Homburg a93faca75f rs232 support 2005-07-29 15:22:58 +00:00
Jorrit Herder 2471939f7d System library changes to interface. 2005-07-29 15:02:27 +00:00
Philip Homburg 49c25df569 bios_wini driver 2005-07-29 10:21:04 +00:00
Ben Gras 62c08df482 Removed debugging statements from log.c; changed PRINTF_PROC in config.h
back to LOG_PROC_NR
2005-07-27 18:49:25 +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
Ben Gras e58db8b7f5 Values for alert revive/select callbacks 2005-07-27 13:09:38 +00:00
Philip Homburg df1dbb4b7e Prototypes for some string functions that are not part of the C standard. 2005-07-27 11:44:26 +00:00
Philip Homburg 501634d5ab Added EALREADY and EMSGSIZE. 2005-07-27 11:43:28 +00:00
Philip Homburg 920c462e8c Added {h,n}to{l,s} prototypes. Added IPPROTO_TCP. SA_FAMILY_T -> _SA_FAMILY_T
Added SOCK_RAW, SOCK_RDM, SOCK_SEQPACKET, SO_DEBUG, SO_ERROR.
2005-07-27 11:42:54 +00:00
Philip Homburg 055168bd31 Added ioctls for listen/accept. Added cookies for accept. 2005-07-27 11:40:34 +00:00
Jorrit Herder 30d95cad82 Removed debug output. 2005-07-26 14:54:49 +00:00
Jorrit Herder b62817d788 *** empty log message *** 2005-07-26 12:50:41 +00:00
Jorrit Herder 06c8f33853 Defined base numbers for DEV_ request and response types.
Defined response codes: DEV_REPLY, DEV_CLONED, DEV_REVIVE, DEV_IO_READY
2005-07-25 12:03:00 +00:00
Ben Gras b5a5d3ec1c new svrctl SETPARAM to set or override environment variables obtained
from the boot monitor
2005-07-22 18:37:33 +00:00
Jorrit Herder 8d3e390bda Added new BASE_MEM_TOP to restrict sys_vircopy() calls from BIOS.
Updated comments at PRINTF_PROC --- it works again.
2005-07-21 18:32:49 +00:00
Jorrit Herder 43ac66556e *** empty log message *** 2005-07-20 15:34:13 +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 d740cce24d Header file for new -lutil (naming from freebsd) 2005-07-19 16:01:20 +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
Ben Gras dfc51728b7 Made dirent filename len a macro; corrected comment bug in bios.h reported
by Andrew Schilt <aschilt@cox.net>.
2005-07-18 09:11:48 +00:00
Ben Gras c69ed2c4b1 Verbose tar option was for debugging, shouldn't have been commited. Undone. 2005-07-15 11:49:34 +00:00
Jorrit Herder 272a8496ac Updated system call library.
Updated various header files for consistency.
Remove some unused stuff ... better check to be done.
2005-07-14 15:14:44 +00:00
Ben Gras d4b173ee50 Misc fixes and additions 2005-07-12 13:10:06 +00:00
Philip Homburg 11cbb6faae Many changes to simplify porting applications. 2005-07-11 13:00:43 +00:00
Ben Gras dd31785aa6 Added some data for the new log device. 2005-07-08 17:24:49 +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 83bac1e6a5 Callnumbers and prototypes for get/setpriority() and fsync(). 2005-07-01 17:58:57 +00:00
Ben Gras 83f0f501f8 Added <sys/resource.h> for [gs]etpriority() call. 2005-07-01 09:59:49 +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 6be8c4d8a3 Import of dpeth 3c501/3c509b/.. ethernet driver by
Giovanni Falzoni <fgalzoni@inwind.it>.
2005-06-29 10:16:46 +00:00
Ben Gras 81081a4063 _POSIX_SOURCE doesn't make sense in <sys/select.h> 2005-06-28 16:02:58 +00:00
Philip Homburg 0f26898f82 New inet with partial select implementation 2005-06-28 15:19:58 +00:00
Philip Homburg 013f484525 select.h should include <sys.time.h>. Added struct svrqueryparam to svrctl.h. 2005-06-28 15:01:55 +00:00
Ben Gras b05fa195d6 Prototype and definitions for getopt() 2005-06-27 09:30:49 +00:00
Jorrit Herder b25146d3de Removed SM server. 2005-06-27 08:11:46 +00:00
Jorrit Herder 59f70ec536 Removed ununsed types cpvec_t and cpvvec_t.
Removed SYS_EXIT kernel call.
2005-06-24 16:17:29 +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 538e8ba2f1 Added header file that decodes the intel x86 flags register.
Added field in kinfo that can count re-lock()ing, controlled by
ENABLE_K_LOCKCHECK in config.h.
2005-06-20 14:51:38 +00:00
Jorrit Herder d78cf7fbaf New bit map manipulation header.
General purpose.
2005-06-20 14:29:09 +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 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
Jorrit Herder 36c3091342 *** empty log message *** 2005-06-17 09:15:39 +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
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 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 dfe2b4513f Moved timing structs around to be more standard 2005-06-01 09:34:37 +00:00
Ben Gras e0ffcdadd1 Added support for lock()/unlock() timing registration; also phys_zero system
call
2005-06-01 09:34:18 +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 852008d669 Kinfo counts lock_notify() and lock_send() calls. 2005-05-27 14:54: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 c2be104821 Improved NOTIFY system: fixed a minor error, ignore pending notifications
on SENDREC system calls. To be done: resource (buffer pool) management;
make it structurally impossible to run out of buffers.
2005-05-27 12:44:14 +00:00
Jorrit Herder 0899f82ab2 Fixed some minor issues with the NOTIFY call. 2005-05-24 14:35:58 +00:00
Jorrit Herder ccd17ecfed New NOTIFY system call! Queued at kernel. Duplicate messages (with same source
and type) are overwritten with newer flags/ arguments. The interface from
within the kernel is lock_notify(). User processes can make a system call with
notify(). NOTIFY fully replaces the old notification mechanism.
2005-05-24 10:06:17 +00:00
Ben Gras e5a694b126 Added note to indicate how touchy MAX_BLOCK_SIZE is at the moment. 2005-05-20 12:30:37 +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
Philip Homburg 129b82d207 Added fxp driver for the Intel Pro/100 series ethernet cards
Print PC in hex for easier debugging.
2005-05-19 13:27:05 +00:00
Jorrit Herder 2ebe535030 *** empty log message *** 2005-05-19 09:38:29 +00:00
Jorrit Herder 1cb880b158 Intermediate update---please await next commit. 2005-05-19 09:36:44 +00:00
Ben Gras 454c3449b3 Oops, set hash table size to non-power-of-two 2005-05-13 14:57:09 +00:00
Ben Gras d422461289 Started rs232 porting to userland; increased version number for new cd. 2005-05-13 12:29:10 +00:00
Jorrit Herder 1ecc6bf3b3 Removed 'system process' magic from PM and FS. 2005-05-13 08:57:08 +00:00
Ben Gras 873e44b41f Some #defines for removing registered irq handler 2005-05-12 16:07:15 +00:00
Jorrit Herder fbe1641bd3 User-space networking!
- RTL8139 driver moved to user-space;
- PCI code moved to user-space;
Fixed IRQ hook dump at IS server.
2005-05-11 09:02:00 +00:00
Jorrit Herder ab39ce451b Fixed some system call checks;
Added SYS_PHYSVCOPY system call;
Fixed IRQ hooks dump in IS server;
2005-05-10 11:06:24 +00:00
Ben Gras 96e9faf535 userlandified and enabled PTY's 2005-05-09 14:35:26 +00:00
Ben Gras 6b500b03a6 Raised version to 3.0.2 in config.h
Told the Makefile not to panic if creating /usr/include due to it existing
(due to bin not being allowed to create it) fails, this smoothens installs
done by bin (instead of root).
2005-05-03 15:39:41 +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 6595782e6d Created /dev/random minor device number 2005-04-22 13:31:32 +00:00
Ben Gras 9865aeaa79 Initial revision 2005-04-21 14:53:53 +00:00