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