Commit graph

316 commits

Author SHA1 Message Date
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
Jorrit Herder
0e2a7a9730 Kernel cleanup.
Reduced kernel size by 512KB by moving private buffer into cstart() function.
Replaced assertions with erroneous return values. Removed assertions relating
to isuserp(rp), since all processes should become user processes; system
processes are now treated similar to other processes.
2005-06-07 12:34:25 +00:00
Jorrit Herder
bb2ef4e039 Added welcome message to POSIX test suite. 2005-06-07 11:52:35 +00:00
Philip Homburg
b658df42d0 Use relative paths. 2005-06-06 16:18:05 +00:00
Ben Gras
aca763443a removed debug message 2005-06-06 14:58:47 +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
cde16504a1 check relaxation for bios memory 2005-06-06 11:54:58 +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
Ben Gras
9392dde997 bugfix 2005-06-06 11:31:20 +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
4904a5537a process manager must be able to send to rtl driver 2005-06-03 09:02:19 +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
Ben Gras
d0b5cf84cb Undid usage of vector-copy function. It's a good idea but there's a bug
there somewhere. I'll debug first, then recommit.
2005-06-02 16:49:33 +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
f926f1209d Minor commit to remove conflict with update. 2005-06-01 14:34:59 +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
75689debe3 fixed bug that caused number of inodes to make estimation to be terrible
in most cases
2005-06-01 11:39:45 +00:00
Ben Gras
0d31130d29 Make needs a little more memory 2005-06-01 11:14:08 +00:00
Ben Gras
25d2f4666c Removed mm files (obsolete; it's pm now) 2005-06-01 09:40:42 +00:00
Ben Gras
bd12703b76 Able to dump lock()/unlock() timing data 2005-06-01 09:40:27 +00:00
Ben Gras
66dab193f3 function key notifications became notifies fix 2005-06-01 09:40:02 +00:00
Ben Gras
447b988154 exec now uses phys_zero system call to zero bss segments (instead of
using phys_copy to copy zeroes there for every kb), which is a big
optimisation in some cases

fixed a bug that was introduced when function keys became notifies
2005-06-01 09:39:45 +00:00
Ben Gras
c977bd8709 Added args to lock() and unlock() to tell them apart, for use
when lock timing is enabled in minix/config.h.

Added phys_zero() routine to klib386.s that zeroes a range of memory, and
added corresponding system call.
2005-06-01 09:37:52 +00:00
Ben Gras
b4335679cb Added sys_physzero library call for corresponding system call; modified
system-printf() so it returns number of characters printed (for use in
smart formatting)
2005-06-01 09:36:07 +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
Ben Gras
39a2fc72dd different way of dealing with fd's so chmem <arg> <long list of files>
doesn't fail due to file descriptor leaks
2005-06-01 09:31:14 +00:00
Jorrit Herder
a3d2f35993 Fixed minor bug in PM's child time administration. 2005-06-01 08:55:22 +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
f0af8d85e7 *** empty log message *** 2005-05-31 14:44:49 +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
Ben Gras
e673eeee20 compile fixes for kermit and postmort 2005-05-31 12:32:35 +00:00
Ben Gras
135328ac59 Fixed some compiler warnings. 2005-05-31 11:14:37 +00:00
Ben Gras
9e5e6e7b51 Reverse trailer/delay order (delay first) 2005-05-31 11:11:47 +00:00
Jorrit Herder
ea46d51176 Added time.c 2005-05-31 10:57:19 +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
Ben Gras
5927788cdd Added 'bootdelay' feature in boot monitor, it pauses a given number of ms
so the list of programs in the image and their sizes can be seen before the
kernel starts filling the screen.

Added some formatting fixes in installboot and boot monitor itself,
some of the segments were larger than the formatting allowed.
2005-05-30 15:02:52 +00:00
Jorrit Herder
b421423c77 SENDREC now always has flag FRESH_ANSWER to prevent pending notifications
to be used as answer to a SENDREC call.
2005-05-30 11:11:40 +00:00