Erik van der Kouwe
b9f5e50421
Provide boot image process main functions with a full parameter list, so that bad things don't heppen when using getenv
2010-08-20 11:07:16 +00:00
Arun Thomas
9a21d1a2fd
Macros for symbols used in both ASM and C
...
-The macros take care of prepending the leading underscore when
necessary.
2010-08-17 16:44:07 +00:00
Tomas Hruby
f7ef192c02
Fixed warning noreturn function returns in arch_system.c
2010-08-06 12:48:26 +00:00
Tomas Hruby
58654acf08
both ack and gcc can compile klib16.S
2010-08-06 12:46:44 +00:00
Tomas Hruby
ac9a7f47bd
Missing prototype in pre_init.c
...
- gcc does not like it
2010-08-06 12:26:26 +00:00
Erik van der Kouwe
25397ef756
Deal all shutdown cases with multiboot as either reset or poweroff depending on their type (contributed by Feiran 'Fam' Zheng)
2010-08-02 14:41:45 +00:00
Erik van der Kouwe
ebec792700
Display fallback message in case poweroff fails (contributed by Feiran 'Fam' Zheng)
2010-08-02 14:40:26 +00:00
Ben Gras
b9cea27497
kernel: deadlock test with endpoints instead of slot numbers, slightly cleaner
2010-07-28 14:14:06 +00:00
Erik van der Kouwe
df0ba02a38
Multiboot support (contributed by Feiran "Fam" Zheng);
...
keep in mind that GRUB needs to be patched to read MFS for now;
use /boot/image_latest to boot the last compiled image in GRUB
2010-07-23 14:24:34 +00:00
Erik van der Kouwe
f389ad2655
Move sensitive instructions from libc into kernel
2010-07-23 07:12:47 +00:00
Ben Gras
fe343bb002
Make kernel ipc log scripts work for separate ${.OBJDIR}.
...
contributed by Antoine Leca.
2010-07-22 22:04:37 +00:00
Cristiano Giuffrida
03bb1e5750
Don't panic so easily on unexpected pagefault.
2010-07-20 23:51:34 +00:00
Cristiano Giuffrida
0d984b36ef
Get rid of static spare pages after VM startup.
2010-07-20 21:59:27 +00:00
Ben Gras
7f343ed574
kernel: clear MF_CONTEXT_SET on kernel exit.
2010-07-20 17:13:44 +00:00
Ben Gras
c0074d3aa9
kernel: fix case of EAX getting clobbered after sigreturn.
2010-07-20 17:10:09 +00:00
Ben Gras
e0701109ca
kernel: make loading kernel in 2nd chunk of memory (at 1MB) the default.
...
(indicated by flags hardcoded in kernel that the boot monitor
interprets.)
2010-07-19 16:33:49 +00:00
Ben Gras
b05c989298
kernel - prettier output for ipc errors, call names instead of trap numbers
2010-07-16 15:36:29 +00:00
Cristiano Giuffrida
20101b3bab
Remove patch leftovers.
2010-07-13 22:40:14 +00:00
Cristiano Giuffrida
f8a8ea0a79
Dynamic configuration in system.conf for boot system services.
2010-07-13 21:11:44 +00:00
Cristiano Giuffrida
8cedace2f5
Scheduling parameters out of the kernel.
2010-07-13 15:30:17 +00:00
Ben Gras
12e9303297
kernel: compile with -mi386 under gcc/clang to not generate SSE code in-kernel.
2010-07-12 10:11:50 +00:00
Cristiano Giuffrida
8427d774b6
RS live update support.
2010-07-09 18:29:04 +00:00
Cristiano Giuffrida
1f8dbed029
RS crash recovery support.
2010-07-06 22:05:21 +00:00
Ben Gras
e920c1e1df
kernel: fix main prototype
2010-07-06 12:14:59 +00:00
Ben Gras
f6f814cb02
include, kernel: minor fixes to make compiling and linking work with clang.
...
(fixing warnings)
2010-07-06 11:59:19 +00:00
Kees van Reeuwijk
0cfdb11450
Repair errors and warnings flagged by llvm.
2010-07-06 11:29:23 +00:00
Ben Gras
42399159da
kernel: these asserts from r7657 are not reasonable
...
will fire if copy needs more than one try, which is legit.
2010-07-05 17:45:16 +00:00
Ben Gras
545054c608
kernel: use MF_KCALL_RESUME instead of RTS_VMREQUEST for memcopy retry.
...
solves tracker item 499, submitted by Roman Ignatov.
2010-07-04 23:09:24 +00:00
Tomas Hruby
97eb470bee
Fix
2010-07-01 12:31:53 +00:00
Tomas Hruby
7920d48156
FPU cleanup
...
- last reference to MF_USED_FPU removed
- proc_used_fpu() used to test for MF_FPU_INITIALIZED
2010-07-01 12:23:25 +00:00
Erik van der Kouwe
23284ee7bd
User-space scheduling for system processes
2010-07-01 08:32:33 +00:00
Cristiano Giuffrida
180358ffb4
Give RS a page table.
2010-06-28 22:07:49 +00:00
Cristiano Giuffrida
06700d05d1
Give RS a page table.
2010-06-28 21:53:37 +00:00
Ben Gras
8379b08845
library function to retrieve kernel proc table and sanity check it
2010-06-28 11:05:15 +00:00
Tomas Hruby
67fa273d00
MF_REPLY_PEND should be removed when sendrec finishes
2010-06-28 08:32:49 +00:00
Kees van Reeuwijk
5eb6f6e922
Fixed a type declaration inconsistency.
2010-06-26 21:13:36 +00:00
Arun Thomas
c0c8d25799
Rename mkfiles from minix.*.mk to bsd.*.mk
...
Makes things easier for pkgsrc
2010-06-25 18:29:09 +00:00
Erik van der Kouwe
fe07e7c984
Optional IPC logging
2010-06-24 13:31:40 +00:00
Ben Gras
b3a0a2d86f
kernel: don't initialize catch_pagefaults at the extern declaration.
2010-06-24 12:23:23 +00:00
Tomas Hruby
76708e9bf4
mini_receive() clean up
...
- for better readability xpp is substitued by sender
- makes sure that the dequeued sender has p_q_link == NULL and that
this condition holds when enqueuing the sender again. This is a
sanity check to make sure that the new sender is not enqueued
already
- Before this change the dequeued sender's p_q_link may not be NULL
and it was only set to NULL when enqueued again
2010-06-23 10:36:19 +00:00
Tomas Hruby
6bc21b6992
Cycle counters zeroed after fork for the child
2010-06-18 14:01:34 +00:00
Tomas Hruby
360de619c0
No linear addresses in message delivery
...
- removes p_delivermsg_lin item from the process structure and code
related to it
- as the send part, the receive does not need to use the
PHYS_COPY_CATCH() and umap_local() couple.
- The address space of the target process is installed before
delivermsg() is called.
- unlike the linear address, the virtual address does not change when
paging is turned on nor after fork().
2010-06-11 08:16:10 +00:00
Ben Gras
a6e357da22
kernel: fix assert condition after a caught in-kernel pagefault
2010-06-09 10:59:57 +00:00
Kees van Reeuwijk
826b9590f2
More endpoint_t correctness.
...
More const correctness.
Other code cleanup.
2010-06-08 14:09:18 +00:00
Arun Thomas
4c10a31440
Remove legacy MM, FS, and FS_PROC_NR macros
2010-06-08 13:58:01 +00:00
Erik van der Kouwe
7bd7946346
Remove redundant macro cproc_addr
2010-06-08 13:38:44 +00:00
Erik van der Kouwe
78186ee5f5
Add endpoint checks in scheduling kernel calls
2010-06-08 12:04:21 +00:00
Ben Gras
a09a8d4f3e
kernel: fix for vm_init that triggered assert(ptproc == newptproc)
...
- zero cr3 in vm_init() to avoid switch_address_space() not doing anything.
- add vm_stop() to disable paging on shutdown.
2010-06-07 22:21:45 +00:00
Tomas Hruby
cbc9586c13
Lazy FPU
...
- FPU context is stored only if conflict between 2 FPU users or while
exporting context of a process to userspace while it is the active
user of FPU
- FPU has its owner (fpu_owner) which points to the process whose
state is currently loaded in FPU
- the FPU exception is only turned on when scheduling a process which
is not the owner of FPU
- FPU state is restored for the process that generated the FPU
exception. This process runs immediately without letting scheduler
to pick a new process to resolve the FPU conflict asap, to minimize
the FPU thrashing and FPU exception hadler execution
- faster all non-FPU-exception kernel entries as FPU state is not
checked nor saved
- removed MF_USED_FPU flag, only MF_FPU_INITIALIZED remains to signal
that a process has used FPU in the past
2010-06-07 07:43:17 +00:00
Cristiano Giuffrida
a53514d4a9
Fix range checking in safecopy.
2010-06-04 18:05:38 +00:00