1
0
Fork 0
mirror of https://github.com/tailix/kernel.git synced 2024-10-30 12:03:52 -04:00

Add function "tasks_switch_to_user"

This commit is contained in:
Braiden Vasco 2017-11-05 15:37:11 +00:00
parent 285affc212
commit 4151273dbd
3 changed files with 27 additions and 0 deletions

View file

@ -19,6 +19,7 @@ OBJS += kprintf.c.o
OBJS += protected.c.o protected.asm.cpp.o
OBJS += tss.c.o tss.asm.cpp.o
OBJS += tasks.asm.cpp.o
OBJS += interrupt.asm.cpp.o

20
arch/tasks.asm Normal file
View file

@ -0,0 +1,20 @@
#include "config.h"
[GLOBAL tasks_switch_to_user]
tasks_switch_to_user:
mov ebx, [esp+4]
mov ax, GDT_USER_DS_SELECTOR
mov ds, ax
mov es, ax
mov fs, ax
mov gs, ax
mov eax, esp
push GDT_USER_DS_SELECTOR
push eax
pushf
push GDT_USER_CS_SELECTOR
push ebx
iret

6
arch/tasks.h Normal file
View file

@ -0,0 +1,6 @@
#ifndef KERNELMQ_INCLUDED_TASKS
#define KERNELMQ_INCLUDED_TASKS 1
void tasks_switch_to_user(unsigned long addr);
#endif