Commit graph

801 commits

Author SHA1 Message Date
Philip Homburg cfd27c36cb Temp hacks for QEMU. Call to env_setargs in dpeth. 2005-08-05 18:37:15 +00:00
Ben Gras 73847b7d50 *** empty log message *** 2005-08-05 16:48:44 +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
Jorrit Herder 7de7ca978d Security check on physical address to be < 16 MB (ISA DMA uses 24-bit
addressing, which can address 16 MB max).
Floppy driver now dynamically loaded.
2005-08-05 16:23:42 +00:00
Philip Homburg 655d1e074f get_mon_params -> env_get_params. 2005-08-05 16:21:32 +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 0e3bef8597 pty select() support 2005-08-05 13:50:58 +00:00
Ben Gras 2713ed6cde at driver timeout/error message fixes 2005-08-05 13:50:50 +00:00
Ben Gras ffa9e1a70c 'send locked' removed 2005-08-05 12:55:35 +00:00
Ben Gras 53eba5e044 'send locked' debug statement #if 0ed 2005-08-05 12:55:18 +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
Ben Gras 8476ceac22 readclock.c shouldn't be here 2005-08-05 08:37:28 +00:00
Jorrit Herder df40b77018 *** empty log message *** 2005-08-05 07:57:13 +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
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
Ben Gras 93460d0ad0 Do test transaction before letting open device succeed; if probe fails,
remember drive isn't there and don't try it again
2005-08-04 08:08:58 +00:00
Ben Gras 2be2bce18c #if VERBOSE
debug statements
#endif
2005-08-04 08:07:29 +00:00
Jorrit Herder 3f28baac83 Disabled comments from FXP driver with #define VERBOSE 0.
Fixed all troubles reported at shutdown.
No more illegal FS calls by dead processes.
2005-08-03 16:58:22 +00:00
Philip Homburg c12b74dad5 Random is now a separate driver. 2005-08-03 15:22:41 +00:00
Jorrit Herder 375f6f8754 Miscellaneous cleanups. 2005-08-03 11:53:36 +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 0bd61375ad Miscellaneous small fixes to prettify startup output. 2005-08-02 15:56:24 +00:00
Jorrit Herder 52965b6f17 Various updates to support dynamically starting drivers.
Output during initialization should be suppressed. Unless an error occurs.
Note that main() can now be main(int argc, char **argv) and arguments can
be passed when bringing up the driver.
2005-08-02 15:30:36 +00:00
Philip Homburg 537d7ddcdf Replace REVIVE with notify. 2005-08-01 14:40:21 +00:00
Jorrit Herder 1198491af2 *** empty log message *** 2005-07-29 15:33:31 +00:00
Philip Homburg a93faca75f rs232 support 2005-07-29 15:22:58 +00:00
Jorrit Herder aec394a330 Updated drivers according to syslib interface changes. 2005-07-29 15:00:22 +00:00
Jorrit Herder d62e515660 Small update to SYS_IRQCTL -> setting an interrupt policy now allows the caller
to provide an index (0 .. 31) that is passed in the HARD_INT message when an
interrupt occurs. The NOTIFY_ARG field contains a bitmap with all indexes for
which an interrupt occured.
2005-07-29 12:44:42 +00:00
Philip Homburg 49c25df569 bios_wini driver 2005-07-29 10:21:04 +00:00
Philip Homburg f6b0544de9 Fixed prototype of random_update. 2005-07-29 10:16:40 +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 f88431f1f7 Made PRINTER driver use new revive-notify mechanism.
Still to be tested.
2005-07-27 15:04:30 +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 28958cca35 Log device only suspendable now 2005-07-27 14:31:04 +00:00
Ben Gras a1a7ccbd02 alert()-aware revive/select in log device 2005-07-27 13:11:03 +00:00
Jorrit Herder 30d95cad82 Removed debug output. 2005-07-26 14:54:49 +00:00
Ben Gras 435dd377ed Added an IDENTIFIED flag that is set on successfully identified drives.
This avoids the bug scenario where DEAF but not-w_identify()d drives are
never properly identified, but are seen as real devices.
2005-07-26 13:11:16 +00:00
Jorrit Herder a63d324caa Small update to shared driver code: SYS_EVENT (signal) is now known.
Fixed drivers. HARD_STOP message no longer exists.
2005-07-26 12:50:25 +00:00
Ben Gras f73af8573a Some bugs in memory driver fixed (destination address of user buffer
not updated)
2005-07-22 18:25:06 +00:00
Ben Gras d09f170abc Nits here and there. Made log device buffer messages again. 2005-07-22 18:24:17 +00:00
Jorrit Herder 09830fc33e Allowed printing diagnostic messages (either from system processes or the
kernel) to the log driver. The log driver forwards such output to the TTY.

Changed driver_task() not to send a reply if the return value is EDONTREPLY.
2005-07-21 18:29:52 +00:00
Jorrit Herder d2d975246d Kernel sends SIGKSTOP just before shutdown. Drivers do clean up and exit. 2005-07-20 15:28:05 +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
Philip Homburg f8c380c195 Small update to random number generator 2005-07-19 12:16:55 +00:00
Jorrit Herder 8c024e28a1 Changed Makefiles: drivers are now installed in /usr/sbin.
TTY now gets SYS_EVENT message with sigset (e.g., SIGKMESS, SIGKSTOP).
2005-07-19 12:12:48 +00:00
Philip Homburg 7d4e914618 Random number generator 2005-07-18 15:40:24 +00:00
Jorrit Herder 279250889f Renamed some system library functionality. 2005-07-14 15:15:18 +00:00
Ben Gras c389801a5f Made timeout and no. of errors in at_wini dynamically settable
by ioctl; made catch-all function in driver table also called when
unrecognized ioctl called, so drivers can add their own ioctl codes.
2005-07-13 14:58:21 +00:00
Ben Gras e0e5e62230 Increased timeout to avoid 'CU does not accept command' panic.. 2005-07-13 11:50:30 +00:00
Philip Homburg ed66b0ff02 Increased mii_read timeout. 2005-07-11 13:09:44 +00:00
Philip Homburg d21c2c2229 Enable debug output 2005-07-11 12:49:24 +00:00
Ben Gras 640eb73ca2 New log driver; buffers messages and makes them available to userland.
Added some fields in the generic device table to support this driver
using libdriver. Updated other drivers to fill these fields with nops
and NULLs.
2005-07-08 17:23:44 +00:00
Jorrit Herder a5ac07400d Fixed bug in AT driver: don't receive from HARDWARE, but use ANY.
Timeouts are sent by the CLOCK.
2005-06-29 10:27:23 +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
Philip Homburg a467c43c01 use relative directories in makefiles. 2005-06-28 14:56:30 +00:00
Philip Homburg 575f2aa116 Unknown controllers are no longer fatal. 2005-06-27 11:45:26 +00:00
Ben Gras 62cb81cb3a Fixed typo in printf() in fxp debug statement (caused delta
value not to be printed)
2005-06-27 08:55:34 +00:00
Jorrit Herder 5654996c07 New Makefiles for mkdep script. 2005-06-24 16:21:54 +00:00
Ben Gras 4ab7f34ea0 Workaround for fishy situation that caused checksum on outgoing packets
to be broken in certain cases. (Seemingly when 2 short packets sent
back-to-back.) Buffer alignment seems to fix this ...
2005-06-22 15:22:34 +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 9aae3002ed Made libpci recognize my pci controller at home (again) 2005-06-19 22:11:04 +00:00
Ben Gras 471e0448c3 Changed timer library function args.
Added select() support for tty fd's (not ptys yet).
2005-06-17 13:37:41 +00:00
Jorrit Herder 7279bb68ef Applied MINIX 2.0.4 pathes provides by Al Woodhull. 2005-06-17 13:00:04 +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
Philip Homburg b658df42d0 Use relative paths. 2005-06-06 16:18:05 +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
Ben Gras 308d9a693c prettified rtl driver:
. no more kmalloc
 . no more umaps + physcopies / abscopies
 . the status register is directly readable from the drivers own
   address space now, and no physcopy is needed to read it
 . map+physcopy call combinations are replaced by vircopy calls
2005-06-03 08:59:54 +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 5a43b84e2d Fix for 'the kermit problem' (keyrepeats happening before the keyrepeat
timeout). A fix is to treat the alarm and interrupt cases differently and
only call the interrupt handler when an actual interrupt has been seen. No
apparent adverse effects.
2005-05-31 15:22:06 +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
Ben Gras cd72f80639 Disabled clearing screen in tty driver, started console printing after an
initial 1-line scroll at last line. If clearing screen in trailer of boot
monitor is disabled, all previous boot monitor and console messages are
preserved on rebooting.

All that's needed now is a scrollback buffer to see all old messages..
(Even from the boot monitor, bios, previous boots...)
2005-05-30 15:09:51 +00:00
Jorrit Herder ed54b1cd6a Improved shared device driver code: use SELF instead of 'getprocnr'. 2005-05-30 08:51:23 +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 77c3213948 Optimized scheduling code. Old code is still available withing DEAD_CODE
and NEW_SCHED_Q definitions. Some minor problems are being traced at the
moment. This commit is meant to backup my files.
  --- Jorrit
2005-05-26 13:17:57 +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
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 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
Ben Gras d422461289 Started rs232 porting to userland; increased version number for new cd. 2005-05-13 12:29:10 +00:00
Ben Gras b480fa7c18 removed dead code bits 2005-05-13 11:45:12 +00:00
Jorrit Herder 1ecc6bf3b3 Removed 'system process' magic from PM and FS. 2005-05-13 08:57:08 +00:00
Ben Gras fad180960f added code to un-register tty's interrupt at exit time; fixed compiler
warnings
2005-05-12 16:03:43 +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
Ben Gras 96e9faf535 userlandified and enabled PTY's 2005-05-09 14:35:26 +00:00
Ben Gras 0659fe8d99 fixed compile warning 2005-05-04 09:28:58 +00:00
Ben Gras 83ef55e301 Fixed compile break (no install target) 2005-05-03 09:15:37 +00:00
Ben Gras 4fc24ad58f Fixed clean target a little more 2005-05-03 09:05:17 +00:00
Ben Gras 0374afab56 *** empty log message *** 2005-05-03 08:59:28 +00:00
Ben Gras 9014d98bbf made 2 error messages less ambiguous 2005-05-03 08:59:13 +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 d252971b90 preparation for /dev/random 2005-04-22 13:25:17 +00:00
Ben Gras 9865aeaa79 Initial revision 2005-04-21 14:53:53 +00:00