X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/1f37d39e678168ffc089bcde6f9ea203c4763550..a89063b334fdc0b254f0791fca1812354049b86d:/lunaix-os/kernel/proc0.c?ds=sidebyside diff --git a/lunaix-os/kernel/proc0.c b/lunaix-os/kernel/proc0.c index cece368..92d3fd3 100644 --- a/lunaix-os/kernel/proc0.c +++ b/lunaix-os/kernel/proc0.c @@ -14,6 +14,7 @@ #include #include #include +#include LOG_MODULE("PROC0") @@ -32,13 +33,38 @@ unlock_reserved_memory(); void __do_reserved_memory(int unlock); +//#define USE_DEMO +#define DEMO_SIGNAL + +extern void +_pconsole_main(); + +extern void +_signal_demo_main(); + +extern void +_lxinit_main(); + void __USER__ __proc0_usr() { + pid_t p; if (!fork()) { - asm("jmp _lxinit_main"); + _pconsole_main(); } + if (!(p = fork())) { +#ifndef USE_DEMO + _exit(0); +#elif defined DEMO_SIGNAL + _signal_demo_main(); +#else + _lxinit_main(); +#endif + } + + waitpid(p, 0, 0); + while (1) { yield(); } @@ -104,6 +130,8 @@ init_platform() timer_init(SYS_TIMER_FREQUENCY_HZ); clock_init(); ps2_kbd_init(); + pci_init(); + pci_print_device(); syscall_install();