54,17 → 54,7 |
#include <arch/drivers/ega.h> |
#include <arch/bootinfo.h> |
#include <genarch/kbd/i8042.h> |
#include <genarch/kbd/ns16550.h> |
#include <smp/smp.h> |
#include <smp/ipi.h> |
#include <arch/atomic.h> |
#include <panic.h> |
#include <print.h> |
|
/*NS16550 as a COM 1*/ |
#define NS16550_IRQ 4 |
#define NS16550_PORT 0x3f8 |
|
bootinfo_t *bootinfo; |
|
void arch_pre_main(void) |
112,15 → 102,12 |
|
void arch_post_mm_init(void) |
{ |
if(config.cpu_active==1) |
{ |
irq_init(INR_COUNT, INR_COUNT); |
irq_init(INR_COUNT, INR_COUNT); |
#ifdef SKI |
ski_init_console(); |
ski_init_console(); |
#else |
ega_init(); |
ega_init(); |
#endif |
} |
it_init(); |
} |
|
140,9 → 127,6 |
{ |
while (1) { |
i8042_poll(); |
#ifdef CONFIG_NS16550 |
ns16550_poll(); |
#endif |
thread_usleep(POLL_INTERVAL); |
} |
} |
151,7 → 135,7 |
void arch_post_smp_init(void) |
{ |
|
{ |
if (config.cpu_active == 1) { |
/* |
* Create thread that polls keyboard. |
*/ |
169,10 → 153,6 |
/* keyboard controller */ |
i8042_init(kbd, IRQ_KBD, mouse, IRQ_MOUSE); |
|
#ifdef CONFIG_NS16550 |
ns16550_init(kbd, NS16550_IRQ, NS16550_PORT); // as a COM 1 |
#else |
#endif |
thread_t *t; |
t = thread_create(i8042_kkbdpoll, NULL, TASK, 0, "kkbdpoll", true); |
if (!t) |
184,7 → 164,6 |
} |
} |
|
|
/** Enter userspace and never return. */ |
void userspace(uspace_arg_t *kernel_uarg) |
{ |
245,7 → 224,7 |
|
void arch_reboot(void) |
{ |
outb(0x64,0xfe); |
// TODO |
while (1); |
} |
|