Tomas Hruby
2440ffae49
Kernel exports DSDP and apic_enabled in machine structure
...
- kernel exports DSDP (the root pointer where ACPI parsing starts) and
apic_enabled in the machine structure.
- ACPI driver uses DSDP to locate ACPI in memory. acpi_enabled tell
PCI driver to query ACPI for IRQ routing information.
2010-09-02 15:43:56 +00:00
Tomas Hruby
344e9221ec
Kernel supports up to 64 IRQs
...
- enough for 2 io apics (usually with 24 pins)
2010-09-02 15:43:54 +00:00
Tomas Hruby
45badf4c05
ACPI in kernel
...
- the ability for kernel to use ACPI tables to detect IO APICs. It is
the bare minimum the kernel needs to know about ACPI tables.
- it will be used to find out about processors as the MPS tables are
deprecated by ACPI and not all vendorsprovide them.
2010-09-02 15:43:51 +00:00
Ben Gras
b3c3a1cb1e
gcc compiles - add -fno-builtin so that gcc optimisations don't break things.
...
- kernel compile was broken with gcc as putchar() was added by gcc in
stacktrace.c
- add -fno-builtin everywhere to avoid such problems in the future
- -fno-builtin in kernel now redundant
2010-08-31 16:42:44 +00:00
Erik van der Kouwe
1f2054c89c
Shutdown changes for multiboot: CTRL-ALT-DEL resets, panic halts
2010-08-30 19:01:58 +00:00
Erik van der Kouwe
50ca7f7f8f
Zero out to three stack dwords to fix boot errors
2010-08-24 12:51:11 +00:00
Arun Thomas
de231a713e
Move MIN() and MAX() macros to sys/params.h
2010-08-21 13:10:41 +00:00
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