From 45ce8728224caa44d31dca3117992b193fa3cd98 Mon Sep 17 00:00:00 2001 From: Miguel Date: Fri, 19 Oct 2018 02:41:53 +0200 Subject: window manager continued --- kernel/scheduler.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'kernel/scheduler.c') diff --git a/kernel/scheduler.c b/kernel/scheduler.c index 9fe4f74..e5c279b 100644 --- a/kernel/scheduler.c +++ b/kernel/scheduler.c @@ -319,7 +319,7 @@ void task_syscall_worker() { keyboard_worker(); mouse_worker(); - compositor_swap_buffers(); + compositor_paint(); } __asm__("int $0x81"); // we are ready! force reschedule @@ -498,6 +498,7 @@ volatile uint32_t task_get_parent(uint32_t pid) return task_list[cpu][idx].parent; } +/* volatile int task_add_win(uint32_t pid,ringbuffer *r) { uint32_t cpu=smp_get(SMP_APIC_ID); @@ -506,9 +507,10 @@ volatile int task_add_win(uint32_t pid,ringbuffer *r) struct pdirectory *vmem=x86_get_page_directory();//task_list[cpu][idx].vmem; vmem_add_framebuffer(vmem); klog("add win to compositor"); - compositor_add_window(vmem,pid,r); + compositor_create_window(pid,0,0,640,400,0); return 0; } +*/ int task_set_esp(uint32_t pid, uint32_t esp) { @@ -566,7 +568,12 @@ void task_exit(uint32_t pid) task_list[cpu][i].active=false; } - compositor_del_window(task_list[cpu][idx].vmem); vmem_free_space_dir(task_list[cpu][idx].vmem,task_list[cpu][idx].thread); } +uint32_t scheduler_get_vmem(uint32_t pid) +{ + uint32_t cpu=smp_get(SMP_APIC_ID); + uint32_t idx=task_runs(pid); + return task_list[cpu][idx].vmem; +} -- cgit v1.2.3