Compare commits
No commits in common. "de0b8cd37a8ac229df356f1f80380b58801bf1b4" and "dd918794f2af44e54ea9ff1e010f66cf03896048" have entirely different histories.
de0b8cd37a
...
dd918794f2
|
|
@ -126,10 +126,8 @@ void kernel_panic(char *message, cpu_registers_t *regs){
|
||||||
}
|
}
|
||||||
|
|
||||||
void install_irq_handler(void (*handler)(), uint8_t irqno){
|
void install_irq_handler(void (*handler)(), uint8_t irqno){
|
||||||
asm("cli");
|
|
||||||
interrupt_handlers[irqno] = handler;
|
interrupt_handlers[irqno] = handler;
|
||||||
// printf("called\n");
|
// printf("called\n");
|
||||||
asm("sti");
|
|
||||||
}
|
}
|
||||||
void *get_irq_handler(uint8_t irqno){
|
void *get_irq_handler(uint8_t irqno){
|
||||||
return interrupt_handlers[irqno];
|
return interrupt_handlers[irqno];
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,6 @@ cpu_registers_t *schedule(cpu_registers_t *regs){
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t spawn_new_process(cpu_registers_t defaultregs, char **argv, uint32_t argc, void *cr3){
|
uint32_t spawn_new_process(cpu_registers_t defaultregs, char **argv, uint32_t argc, void *cr3){
|
||||||
asm("cli");
|
|
||||||
uint32_t i = current_pid;
|
uint32_t i = current_pid;
|
||||||
while(processes[i].flags.present){
|
while(processes[i].flags.present){
|
||||||
i++;
|
i++;
|
||||||
|
|
@ -97,7 +96,6 @@ uint32_t spawn_new_process(cpu_registers_t defaultregs, char **argv, uint32_t ar
|
||||||
new_proc.max_descriptors = DEFAULT_FD_MAX;
|
new_proc.max_descriptors = DEFAULT_FD_MAX;
|
||||||
processes[i] = new_proc;
|
processes[i] = new_proc;
|
||||||
add_process_queue(i);
|
add_process_queue(i);
|
||||||
asm("sti");
|
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue