Commit graph

469 commits

Author SHA1 Message Date
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
Arun Thomas b8eedfee6b Lance cleanup 2009-07-22 12:36:19 +00:00
Arun Thomas 0be5720af1 Fix VirtualBox Lance bug; ec_reinit should be called only once. 2009-07-21 13:13:45 +00:00
Arun Thomas dac531addf Support for VMWare Workstation 6.x
VMWare Workstation 6.x would previously die when running MINIX 3 with an
IOSPACE assertion and several error messages about multiply registered
I/O ports. The assertion is triggered when we probe for BAR sizes in
record_bar(). The solution: The PCI driver now disables I/O and mem
access before probing for BAR sizes.

Bumped up NR_PCIDEV and NR_PCIBUS, since Workstation 6.x virtualizes
more PCI buses and devices.
2009-05-27 23:35:34 +00:00
Arun Thomas d749b3b965 -Remove qemu_pci boot variable. Useres no longer need to set qemu_pci when
booting MINIX under QEMU/KVM.
-Kept the diagnostic message, however.
2009-05-14 19:07:37 +00:00
Ben Gras dd56aa321f to let tty run with its own page table (instead of with the kernel identity
map table), make it map in video memory.

sadly, this breaks tty in non-paged mode.

happily, this simplifies the code by throwing out the messing
around with segments, and throws out vidcopy.s.
2009-05-12 12:43:18 +00:00
David van Moolenbroek dcfaf50f79 wrong field index in at_wini env_parse call 2009-05-10 16:58:23 +00:00
David van Moolenbroek e9e347f5b6 Fix for large transfer operations not advancing buffer address
offset when DMA transfer unit is smaller than given buffer size.
Bug tracker item #82.
2009-05-08 12:29:57 +00:00
Ben Gras e5209d51f1 bad dma fallback to pio mode 2009-04-27 11:53:11 +00:00
Arun Thomas f149733e16 Disable IOMMU warnings. 2009-04-22 16:53:46 +00:00
Arun Thomas 3b37103fa3 Make the rtl8139 and orinoco drivers handle the system shutdown case
like other drivers. Also, some minor cleanups.
2009-04-22 12:42:37 +00:00
Ben Gras 4cd6875d05 don't flush output for SIGWINCH. found by Joren l'Ami. 2009-04-06 09:39:42 +00:00
Ben Gras 65a9f0253b unnecessary debugging message 2009-04-02 16:43:35 +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 45d54cf1b0 change DmaMode checks from DEV_WRITE to DEV_WRITE_S 2009-03-31 14:23:33 +00:00
Ben Gras cf8c4cc851 ignore linmem.
don't disable the driver by default.
2009-03-26 15:22:08 +00:00
Ben Gras 46d28c6ffb workaround for qemu writing the configuration byte on the AUX port pre-0.10. 2009-03-24 15:41:18 +00:00
Ben Gras e5079dfc02 multiple ram disks; also make release process use this
so temporary partitions aren't needed any more.
2009-03-19 13:48:19 +00:00
Ben Gras 379be7f0fb A serial ata pci card we have. 2009-02-16 13:20:10 +00:00
Ben Gras 95ff97d4fb readclock easily runs out of stack with so little of it. 2009-02-06 16:28:35 +00:00
Ben Gras bb18be5d06 simplified the code a little, corrected some hasty statements. 2009-02-04 17:30:01 +00:00
Ben Gras 6a0e8e3b80 Added a separate keymap for escaped scancodes. This makes the code
a little cleaner (escaped scancodes are less of a special case) and
lets us be completely flexible when assigning meaning to them.

Future: a tool and ioctl to load the escaped keymap.
2009-02-04 17:04:16 +00:00
Ben Gras ba4687e519 the escaped keymap is usually the same as the original. 2009-02-04 16:55:30 +00:00
Ben Gras 80f5eea8b8 If serial debugging in the boot monitor / kernel is enabled, don't touch
the serial line in use for it (mostly so that input isn't eaten by tty).
2009-01-29 15:06:40 +00:00
Ben Gras d0a2e6b2f4 use library panic, doesn't need its own any more. 2009-01-29 14:41:44 +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 36909196cf make bootinfo valid immediately 2009-01-14 08:56:20 +00:00
Ben Gras ad87da99d3 bigger ramdisk for bigger binaries 2009-01-09 17:47:18 +00:00
Ben Gras 0579810535 don't ignore the fact that scancodes are escaped.
if not understood explicitly, print diagnostic and 
ignore scancode.
2008-12-21 03:53:25 +00:00
Ben Gras 2528a06954 bugfix for lance. works in vmware now. 2008-12-17 01:20:15 +00:00
Ben Gras ef812af5a6 use VM functions to allocate ramdisk on demand. some unification in code. 2008-12-11 17:33:13 +00:00
Ben Gras 1d8aed840c . no more HZ, but use sys_hz() to get that value
. memory maps in physical memory (for /dev/mem) with new vm interface
 . pci complete_bars() seems to be buggy behaviour sometimes
 . startup script opens its own stdout, stderr and stdin so init doesn't
   have to do it
2008-12-11 14:42:23 +00:00
Ben Gras 567f2f0ba0 umap fix 2008-12-08 17:06:38 +00:00
Ben Gras f4d0d635fd - hz dynamic
- new map /dev/video implementation
 - ser_putc into library
2008-12-08 16:40:29 +00:00
Ben Gras fe56202038 floppy must be able to allocate a bit more for nonpaged mode. 2008-11-19 17:31:42 +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
Philip Homburg 60c1131b94 SYS_MAPDMAx -> SYS_MAPDMA, added IOMMU_MAP 2008-02-25 14:39:19 +00:00
Philip Homburg 9d41dbc55e Build libdriver_asyn for target image 2008-02-25 14:38:09 +00:00
Philip Homburg 9d176133ee Added libdriver_asyn and amddev 2008-02-25 12:07:48 +00:00
Philip Homburg 4474166403 Driver for AMD's DEV. 2008-02-25 12:07:19 +00:00
Philip Homburg a51dbad054 Asynchrnous character device interface. 2008-02-25 11:54:04 +00:00
Philip Homburg 65df875abb Need separate 'prev_next' pointers for kernel and TTY. 2008-02-25 11:53:37 +00:00
Philip Homburg 830b79f0d5 Link random number genertor with libdriver_asyn 2008-02-25 10:25:43 +00:00
Philip Homburg bc125e3e1c Copy of libdriver for asynch interface to character drivers. Has to be cleaned
up.
2008-02-25 10:24:46 +00:00
Philip Homburg 404325b193 Support for I/O MMU. 2008-02-25 10:19:29 +00:00
Philip Homburg 668515afe2 More heap for fxp, support for I/O MMU. 2008-02-25 10:12:09 +00:00
Philip Homburg 54f714e59e Respond to RS ping request, asynch interface, register with I/O MMU. 2008-02-25 10:02:24 +00:00
Philip Homburg 00ef93d6a2 Use nonblocking sends to reply, fixed reply message for DIAGNOSTICS(_S) 2008-02-22 16:03:00 +00:00
Philip Homburg e3d4c74393 Functions that check arguments and return a status code and functions that
don't.
2008-02-22 15:59:12 +00:00
Philip Homburg fecd153c2c Declare and call functions that check arguments and return a status code. 2008-02-22 15:56:12 +00:00
Philip Homburg 8a07b7687a Use nonblocking send to reply. 2008-02-22 15:52:13 +00:00
Philip Homburg 19db2b646e Removed superfluous argument. 2008-02-21 16:09:58 +00:00
Ben Gras 2c45324c47 keymap contributed by Roman Ignatov. 2008-02-06 15:16:50 +00:00
Ben Gras cd89066f9a Trust $PATH. 2007-12-19 10:51:21 +00:00
Ben Gras b250847120 Makefile for audio drivers. 2007-12-19 10:37:29 +00:00
Ben Gras 8e727c97ce always re-enable irq, so devices sharing this irq don't go deaf
as IRQ_REENABLE isn't specified.
2007-12-14 12:44:20 +00:00
Ben Gras 45744bff41 Connect new audio drivers to build. 2007-11-23 11:53:33 +00:00
Ben Gras b79b305ba1 More es1371 bij Pieter Hijma. 2007-11-23 11:52:34 +00:00
Ben Gras c67a56708e es1370 driver and updated es1371 and framework by Pieter Hijma. 2007-11-23 11:40:33 +00:00
Ben Gras 0d2d8c6db2 audio drivers. (not updated for trunk.)
sb16: port of isa sb16 driver to user-space. Port by Peter Boonstoppel.
es1371: By Laurens Bronwasser.
2007-11-23 11:30:50 +00:00
Ben Gras 0ae1ff99b8 Fix for DL_STAT_REPLY/DL_TASK_REPLY
Bug found and fixed by Jens de Smit <jfdsmit at few.vu.nl>.
2007-10-17 10:53:47 +00:00
Ben Gras 23f6e478df Fixed a glitch introduced in safe i/o conversion. 2007-10-17 10:50:18 +00:00
Ben Gras af591d2151 Internally, floppy driver still used vircopies ('unsafe' copies), but
this isn't allowed in its drivers.conf entry. Changed these to memcpy()
calls.  Bug reported by Maurizio Lombardi in comp.os.minix.
2007-10-16 14:31:35 +00:00
Ben Gras ff9f4dd59c fix for i/o data/addr pair set macro's. 2007-09-11 11:22:29 +00:00
Philip Homburg 1d4afb3599 Compile-time option to duplicate console output to the first serial line 2007-08-07 11:27:03 +00:00
Philip Homburg acfaea0fa2 More space on ramdisk 2007-08-07 11:22:35 +00:00
Philip Homburg f352a3fb15 Print the value of a capability as well. 2007-08-07 11:21:57 +00:00
Ben Gras a80365f407 . add checks to printer driver kernel calls
. correct some i/o locations for printer in drivers.conf
2007-08-06 11:17:08 +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 2dc2db4ba1 'fix' crlf style 2007-07-24 14:49:39 +00:00
Ben Gras 816f5dd550 a driver for wireless pci cards with the Prism chipset from Intersil
Original version, by Stevens Le Blond and Michael Valkering.
2007-07-24 14:49:09 +00:00
Ben Gras cd4756933a Typo reported by Johnathan Gurley. 2007-07-17 11:40:02 +00:00
Ben Gras d524b0b351 Don't quit (some processes want to talk to pci at reboot time) 2007-07-11 13:44:00 +00:00
Ben Gras ad93329236 Assume bios parameters are wrong/missing if any of the parameters are 0. 2007-05-30 16:13:52 +00:00
Ben Gras b918f61820 Boot monitor flag that enables 'sticky right-alt', permanent change
to col selected from the keymap untill right-alt is pressed again.

Sticky alt code and russian keymap contributed by Roman Ignatov
and Yaroslav Schekin.
2007-05-16 13:14:37 +00:00
Philip Homburg 2d49b4ecb5 Use ds_retrieve_u32 to get the endpoint of inet. 2007-05-02 11:39:10 +00:00
Philip Homburg a124958e59 Use ds_retrieve_u32 to get the endpoint of inet. 2007-05-02 11:32:22 +00:00
Ben Gras 8eb09f6ddc . readall: use lseek64() to read more than 4GB of a device
. vfs: 64-bit offset support for character device i/o
   (also remove unused dev_bio function)
 . memory: /dev/null and /dev/zero are infinitely large, don't stop
   reading/writing at 4GB
2007-04-24 13:27:33 +00:00
Philip Homburg 0dc0d3fe5b Fixed releasing PCI resources after a driver terminates. 2007-04-24 12:55:37 +00:00
Ben Gras 72e6862e4e dp8390 doesn't cope with the different semantics of the pci
functions.

Bug and workaround reported by "E.Agafonov" <e.a.agafonov@gmail.com>.
2007-04-24 12:29:51 +00:00
Philip Homburg 50f81c4939 Ethernet driver changes for asynchronous inet. 2007-04-23 15:38:00 +00:00
Philip Homburg bb659b1ad6 Disabled ser_putc for reporting debug internal to tty over the serial line.
Disabled return statement for serial debug input in the kernel.
2007-04-23 14:59:32 +00:00
Philip Homburg a3c8619923 Added do_del_acl. More detailed debug output for the secure device capability. 2007-04-23 14:54:51 +00:00
Ben Gras 18e7b315a1 remove debug message 2007-04-05 13:58:35 +00:00
Ben Gras 9843d7a625 For /dev/mem, map in memory to be copied to memory's own address space
one page at a time, and use safecopies to copy it to the requesting
process.

This lets /dev/mem access the entire physical address space, as the minix
page tables only allow access by default to physical RAM, which breaks
e.g. the VESA X driver in some cases.
2007-03-09 16:03:19 +00:00
Ben Gras 84b77d5bfd explicitly mask byte i/o values to bytes. 2007-02-26 11:52:04 +00:00
Ben Gras 8c9e1cf4c5 Uninitialized vector entry? 2007-02-23 20:58:10 +00:00
Ben Gras 92e57afdf3 Explicitly mask off 8-bit values (so new sanity check doesn't trip) 2007-02-23 20:53:32 +00:00
Ben Gras 3b08825d85 . service tells you which device it couldn't stat
. bigger rs and ramdisk for drivers
. sanity check for pv_set macro for oversized arguments
2007-02-23 18:22:46 +00:00
Ben Gras bf08c90e74 Slew of debugging / sanity check features. 2007-02-23 18:21:19 +00:00
Ben Gras 3bb73b431b add/re-enable at_wini debug output 2007-02-21 17:49:35 +00:00
Ben Gras 2d95b37f12 Copypaste bug. 2007-02-21 17:01:43 +00:00
Ben Gras f7992c94ec at_wini also needs a pci_reserve() for the pci compatability device, if
present, for dma.
2007-02-20 18:42:43 +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 654f6faf05 don't let /dev/mem read beyond top of physical memory 2007-02-16 15:57:05 +00:00
Ben Gras 49d2195722 made default wakeup time correct 2007-02-16 15:56:00 +00:00
Ben Gras 3f58857ce9 removed/optionalized debugging messages 2007-02-16 15:50:49 +00:00
Ben Gras 1ff8616378 set 'w_testing' during w_identify(). this means 0-tolerance to
timeouts, and an ATA_IDENTIFY timeout will cause the ATAPI_IDENTIFY
to be skipped, making the cd probe a lot faster.
2007-02-12 13:35:33 +00:00
Ben Gras c6f8154df0 use shorter ata timeout for identify commands when running from cd
to shorten probe time.
2007-02-09 15:58:33 +00:00
Ben Gras 9f2f3dd488 don't call mkdep with an absolute path 2007-02-08 16:26:20 +00:00