Flanterm support OK from kmain. No kbd. Writing from process = PF
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -9,4 +9,5 @@ iso_root
|
|||||||
*/*/*.gch
|
*/*/*.gch
|
||||||
.gdb_history
|
.gdb_history
|
||||||
symbols.map
|
symbols.map
|
||||||
symbols.S
|
symbols.S
|
||||||
|
*.log
|
||||||
2
Makefile
2
Makefile
@@ -35,7 +35,7 @@ build-iso: limine/limine build
|
|||||||
./limine/limine bios-install pepper.iso
|
./limine/limine bios-install pepper.iso
|
||||||
|
|
||||||
debug:
|
debug:
|
||||||
/usr/bin/qemu-system-x86_64 -drive file=pepper.iso -s -S -d int -no-reboot -no-shutdown &
|
/usr/bin/qemu-system-x86_64 -drive file=pepper.iso -s -S -d int -D qemu.log -no-reboot -no-shutdown &
|
||||||
gdb pepperk --command=debug.gdb
|
gdb pepperk --command=debug.gdb
|
||||||
|
|
||||||
debug2:
|
debug2:
|
||||||
|
|||||||
@@ -34,4 +34,5 @@ void kputs(const char* str)
|
|||||||
_putchar(str[i]);
|
_putchar(str[i]);
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
_putchar('\r');
|
||||||
}
|
}
|
||||||
@@ -75,6 +75,7 @@ extern uintptr_t kheap_start;
|
|||||||
// This is our entry point
|
// This is our entry point
|
||||||
void kmain()
|
void kmain()
|
||||||
{
|
{
|
||||||
|
CLEAR_INTERRUPTS;
|
||||||
if (!LIMINE_BASE_REVISION_SUPPORTED) hcf();
|
if (!LIMINE_BASE_REVISION_SUPPORTED) hcf();
|
||||||
|
|
||||||
serial_init();
|
serial_init();
|
||||||
@@ -92,6 +93,8 @@ void kmain()
|
|||||||
paging_init(boot_ctx.kaddr, boot_ctx.fb);
|
paging_init(boot_ctx.kaddr, boot_ctx.fb);
|
||||||
kheap_init();
|
kheap_init();
|
||||||
|
|
||||||
|
keyboard_init(FR);
|
||||||
|
|
||||||
uint32_t bgColor = 0x252525;
|
uint32_t bgColor = 0x252525;
|
||||||
ft_ctx = flanterm_fb_init(
|
ft_ctx = flanterm_fb_init(
|
||||||
kmalloc,
|
kmalloc,
|
||||||
@@ -110,7 +113,6 @@ void kmain()
|
|||||||
0
|
0
|
||||||
);
|
);
|
||||||
|
|
||||||
CLEAR_INTERRUPTS;
|
|
||||||
gdt_init();
|
gdt_init();
|
||||||
idt_init();
|
idt_init();
|
||||||
|
|
||||||
@@ -128,10 +130,6 @@ void kmain()
|
|||||||
current_process = idle_proc;
|
current_process = idle_proc;
|
||||||
current_process->status = RUNNING;
|
current_process->status = RUNNING;
|
||||||
|
|
||||||
SET_INTERRUPTS;
|
|
||||||
|
|
||||||
keyboard_init(FR);
|
|
||||||
|
|
||||||
kputs(PEPPEROS_SPLASH);
|
kputs(PEPPEROS_SPLASH);
|
||||||
idle();
|
idle();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ void process_display_list(struct process_t* processes_list)
|
|||||||
|
|
||||||
struct process_t* process_create(char* name, void(*function)(void*), void* arg)
|
struct process_t* process_create(char* name, void(*function)(void*), void* arg)
|
||||||
{
|
{
|
||||||
CLEAR_INTERRUPTS;
|
/* CLEAR_INTERRUPTS; */
|
||||||
struct process_t* proc = (struct process_t*)kmalloc(sizeof(struct process_t));
|
struct process_t* proc = (struct process_t*)kmalloc(sizeof(struct process_t));
|
||||||
|
|
||||||
struct cpu_status_t* ctx = (struct cpu_status_t*)kmalloc(sizeof(struct cpu_status_t));
|
struct cpu_status_t* ctx = (struct cpu_status_t*)kmalloc(sizeof(struct cpu_status_t));
|
||||||
@@ -79,7 +79,7 @@ struct process_t* process_create(char* name, void(*function)(void*), void* arg)
|
|||||||
|
|
||||||
process_add(&processes_list, proc);
|
process_add(&processes_list, proc);
|
||||||
|
|
||||||
SET_INTERRUPTS;
|
/* SET_INTERRUPTS; */
|
||||||
return proc;
|
return proc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -154,7 +154,7 @@ void process_exit()
|
|||||||
}
|
}
|
||||||
SET_INTERRUPTS;
|
SET_INTERRUPTS;
|
||||||
|
|
||||||
outb(0x20, 0x20);
|
//outb(0x20, 0x20);
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
asm("hlt");
|
asm("hlt");
|
||||||
|
|||||||
Reference in New Issue
Block a user