Commit graph

3855 commits

Author SHA1 Message Date
Jorrit Herder
355a10864b Fixed various GCC compiler warnings for the kernel.
Only main() now gives a warning about the return type (GCC wants an int).
2005-06-21 10:47:46 +00:00
Ben Gras
3eeff022fb Added function read_cpu_flags() that returns current cpu flags as a
long.  This is used to check for interrupts being disabled at the time
of a lock() call, if enabled in config.h. The number of times this
happens is then counted in the kinfo structure. These events (recursive
lockings) lead to nasty race conditions.
2005-06-20 14:53:13 +00:00
Ben Gras
c60302c1e7 Print re-locking event count if enabled. 2005-06-20 14:52:00 +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
c0f83b4033 Fix for gzip make clean if Makefile doesn't exist.. 2005-06-20 13:30:24 +00:00
Ben Gras
e40c757038 connected ps and ftpd200 to commands build
disabled verbose message in readclock
2005-06-20 12:01:15 +00:00
Jorrit Herder
403580e95b Removed unused code in proc.c. New message passing code with pointer pointers
is now in use. Rewrote ready() and unready() fuctions.
2005-06-20 11:26:48 +00:00
Ben Gras
c9c6983cc1 Fixed a few quirks in misc.c
. MAX used where it should've been MIN
  . buffer byte too short
  . inobvious use of & with && without parantheses
  . funny length checking
2005-06-20 09:35:23 +00:00
Ben Gras
5e17902a0d Connected ps to build 2005-06-20 09:23:55 +00:00
Ben Gras
45ddea1cdd Fixed bug that caused the PM to brutalize the contents of the 'memory'
variable. Parsing worked, but future requests for the variable (such as
by the sysenv command) returned truncated data. This caused the system
(e.g. setup script) to think the amount of memory was tiny, and caused
the enabling of swapspace, while it is unnecessary.
2005-06-19 23:16:08 +00:00
Ben Gras
400169e960 select-test-set compile fixes. 2005-06-19 23:13:57 +00:00
Ben Gras
d844d2a547 Fixed nasty bug that would cause FS to loop forever in rw_scattered (while
syncing, for instance) if blocks are unwritable. This could happen if:

  . write goes beyond device boundary to a block device
  . write is done for a complete block or more; thus the
    block is not retrieved first (at which point it would be noticed
    it doesn't exist), but the buffer is simply allocated
  . at write time, the device i/o doesn't succeed, but rw_scattered
    doesn't understand this and loops forever trying to get the block
    written.

Currently, if no blocks can be written, the loop aborts, leaving all
buffers intact but potentially dirty. When invalidate() is called on the
device, the buffers will disappear (even if dirty). Same story for if
the buffer is removed due to rmed from lru chain. There's not much we
can do about this, however - we can't keep these blocks around, forever
occupying a buffer in the buffer cache.

The second part of the solution is not to let unwritable buffers be
created in the first place. How to do this, however, without doing a
wasteful read first?

It looks like this code was in 2.0.4 too.
2005-06-19 22:33:49 +00:00
Ben Gras
34a9677a5b Made mkfs a little smarter about how to report empty devices.
Also a little smarter about manually specified number of blocks that is
larger than the device capacity.
2005-06-19 22:28:05 +00:00
Ben Gras
9aae3002ed Made libpci recognize my pci controller at home (again) 2005-06-19 22:11:04 +00:00
Ben Gras
6e99cc494d Fixed various nits in the make/release process. 2005-06-17 16:28:36 +00:00
Ben Gras
5954c7e303 Part of fs timers library, forgot to add this in previous commit. 2005-06-17 13:49:56 +00:00
Ben Gras
3ba1ddb037 Fixes for /root homedir. 2005-06-17 13:48:16 +00:00
Ben Gras
39c90d6c90 Added (fake) readlink().
Compile fix for fslib (BITS_PER_BLOCK was renamed to FS_BITS_PER_BLOCK).

Added extra arg to various timer functions.
2005-06-17 13:47:29 +00:00
Ben Gras
ed2a024d47 Select test-set imported from the minix contributions, with permission
to modify and distribute from Jose Manuel Gomez, the author
(jmgomez@linuxmail.org).
2005-06-17 13:45:40 +00:00
Ben Gras
f81ac6ae5c Various compile fixes.
Imported gzip.

Changed setup script not to insist cwd is / when running from cd.
2005-06-17 13:42:53 +00:00
Ben Gras
47474b6341 Renamed commands to cmds - make is confused that the commands directory
exists.
2005-06-17 13:42:06 +00:00
Ben Gras
9664ba0c4f Started select() implementation.
Added interface to select() for pipes (also named pipes), and select()
stubs for regular files.

Added timer library in FS that select() is the first customer of.


This is unfinished, but committed anyway to get a new release out to
Al and testers.
2005-06-17 13:41:12 +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
Ben Gras
3c7120d830 Changed arguments of timer library functions. 2005-06-17 13:36:01 +00:00
Ben Gras
2f25279105 Started select() manpage.
Added lstat() comment to stat().
2005-06-17 13:35:21 +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
Ben Gras
2f588c50ea Added back boot banner for CD 2005-06-17 13:25:06 +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
330d7eba56 Updated boot monitor help menu. 2005-06-17 11:52:55 +00:00
Ben Gras
b7c75fab5b Added dummy readlink() call that returns an error (we don't have symlinks
yet)

also select() stub
2005-06-17 11:43:24 +00:00
Jorrit Herder
ae018feae2 Removed unnecessary call to unlock() from exception(). 2005-06-17 09:50:12 +00:00
Jorrit Herder
47e3d11e42 Fixed code passed to boot monitor after shutdown. 2005-06-17 09:40:02 +00:00
Jorrit Herder
4b887108eb Removed duplicate 'done' output after calling readall. 2005-06-17 09:36:08 +00:00
Jorrit Herder
f88e71c9d8 *** empty log message *** 2005-06-17 09:34:44 +00:00
Jorrit Herder
108d993201 Capitalized output. 2005-06-17 09:33:00 +00:00
Jorrit Herder
36c3091342 *** empty log message *** 2005-06-17 09:15:39 +00:00
Jorrit Herder
37a1e3f8e3 Removed mem chunks dump. (No longer available from kernel.) 2005-06-17 09:13:32 +00:00
Jorrit Herder
92f9bd02f8 Parsing of free memory chunks is now done at the process manager. 2005-06-17 09:10:30 +00:00
Jorrit Herder
e0a98a4d65 * Fixed bug relating to nested locking in interrupt handlers. The nested lock
caused interrupts to be reenabled (due to unlock), which caused a race. The
problems were especially visible on slower machines.
* Relocated free memory parsing to process manager. This saved quite some
code at the kernel level. Text size was reduced by about 650 bytes.
* Removed locks for updating the realtime in the clock's main loop and the
get_uptime function. Interrupts are no longer reentrant, so realtime is
immediately updated.
2005-06-17 09:09:54 +00:00
Jorrit Herder
90b80ad31e Relocated echo "Multiuser startup in progress ..." to top. 2005-06-17 09:00:31 +00:00
Jorrit Herder
4a2817cea1 Changed uname to retrieve actual OS release and version number at runtime. 2005-06-17 08:53:33 +00:00
Jorrit Herder
f673723b1f Minor changes in PM interface affected these commands.
Getty now retrieves the actual release and version number at runtime.
2005-06-17 08:52:53 +00:00
Jorrit Herder
8621d392b0 Fixed typo in run output;
Reduced NR_ITERATIONS for tests dealing with MAX_LINKS.
2005-06-17 08:51:28 +00:00
Ben Gras
85f2038c7c Undid \c from default leader and trailer 2005-06-17 08:00:13 +00:00
Philip Homburg
dc23e18cef Improved compatibility with other Unix systems. 2005-06-10 15:12:03 +00:00
Philip Homburg
d9b609c70f Hack for buffer overflow, should be fixed properly. 2005-06-08 11:05:27 +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
Ben Gras
4de736535c fix for ~root being / and buggering up system with chroot -R 2005-06-07 13:33:57 +00:00