Commit graph

931 commits

Author SHA1 Message Date
Philip Homburg
4cf7769a5d Edge triggered interrupts are no longer fatal. 2005-08-26 11:16:03 +00:00
Ben Gras
1732526c50 LBA step 2005-08-25 16:25:19 +00:00
Philip Homburg
fe910fadcf The lack of an ISA bridge is no longer fatal. 2005-08-25 16:21:51 +00:00
Jorrit Herder
067e2bb259 *** empty log message *** 2005-08-25 13:31:35 +00:00
Jorrit Herder
f36fc17c6d Cleanup with gcc.: 2005-08-25 13:14:02 +00:00
Jorrit Herder
e156a1c5ed *** empty log message *** 2005-08-25 13:02:15 +00:00
Jorrit Herder
98124a8082 Cleanup with gcc. 2005-08-25 12:50:11 +00:00
Philip Homburg
ae20e98d5e Added some descriptions and some PCI controllers. 2005-08-25 12:49:22 +00:00
Jorrit Herder
8b6b353c86 Fixed gcc warnings in MEM driver. 2005-08-25 12:35:59 +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
Ben Gras
ae5f1f2286 ata-pci support for at driver.
added a hook in libdriver for HARD_INT messages.
2005-08-25 08:19:11 +00:00
Ben Gras
94ed5c2a4c Separated one-time keyboard initialization from per-console keyboard
initialization. One-time init is called from tty.

Side effect is that the one-time init is done after the sys_getmachine()
call, which makes set_leds() work, which makes numlock go off at booting.
2005-08-24 08:15:23 +00:00
Jorrit Herder
b4d7de6ee1 New makefile (src/tools/Makefile) logic:
- make fresh install: still builds new everything (libraries, services, image)
- make clean image: only builds new boot image (about 5 sec. now!)
2005-08-23 12:53:35 +00:00
Ben Gras
e2e90b1fdc Remove double-blank lines (Al) 2005-08-22 15:17:42 +00:00
Ben Gras
3aca81a22a Remove double-blank lines 2005-08-22 15:17:30 +00:00
Ben Gras
d57e1a99b8 Added some pci config register names 2005-08-22 12:37:32 +00:00
Ben Gras
07e149a1e3 Imported initial version of user-space port of original sb16 driver.
User-space porting by Peter Boonstoppel.
2005-08-22 11:46:06 +00:00
Philip Homburg
c392c177b5 Boot environment option 'bios_remap_first'. Thios option remaps the first
BIOS drive to d7, the second BIOS drive to d0, the third to d1, etc. This
useful for CD-ROM hardisk emulation.
2005-08-15 13:19:02 +00:00
Ben Gras
b993f51980 at bugfix - openct only increased on opens when 0, openct always decreased
on closes..

this causes partition tables not to be re-read sometimes..

this causes mayhem..
2005-08-12 16:42:36 +00:00
Philip Homburg
a54e0b20ba 'Normal' mode didn't work. 2005-08-11 13:55:06 +00:00
Ben Gras
102a3b180c CD root now 2MB 2005-08-09 16:59:40 +00:00
Ben Gras
58218775b6 Make timeouts more tolerant, even in strict timeout mode 2005-08-09 16:59:29 +00:00
Ben Gras
f902df5c5a Give AT driver 8k stack instead of 1k.. probably not necessary, but 1k
is a little meager, so let's be on the safe side
2005-08-09 14:45:10 +00:00
Ben Gras
1d3fb6ea2e ata_std_timeout boot monitor variable to override short timeouts on
test transactions and ioctl() setting, in case of comatose drives.
2005-08-09 12:42:53 +00:00
Ben Gras
f3500010b7 Moved open-ATAPI-as-RW check to before open-first-time check.. otherwise
you can open an ATAPI device as RW if it's already opened for read.
2005-08-09 12:18:15 +00:00
Philip Homburg
c1dd29ba0c Support for ethernet in QEMU. 2005-08-09 11:23:41 +00:00
Ben Gras
f26239d1f8 Minor partition() efficiency improvements (don't do regular partitioning
i/o on cd drives)
2005-08-08 12:16:59 +00:00
Ben Gras
0c03b0c168 Removed $Log$ tags 2005-08-05 19:08:43 +00:00
Philip Homburg
490430f627 Undo one hack for QEMU, add another. 2005-08-05 19:08:02 +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
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