aboutsummaryrefslogtreecommitdiff
path: root/src/bringelle.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bringelle.c')
-rw-r--r--src/bringelle.c37
1 files changed, 27 insertions, 10 deletions
diff --git a/src/bringelle.c b/src/bringelle.c
index cb8c5e4..38c066e 100644
--- a/src/bringelle.c
+++ b/src/bringelle.c
@@ -9,14 +9,26 @@ extern void interrupt_enable();
void utask(){
char *msg=(char*)4206592+10;
- msg[0]='T';
- msg[1]='a';
- msg[2]='s';
- msg[3]='k';
- msg[4]='1';
- msg[5]='\0';
- asm("mov $0x1, %%eax;int $0x30"::"b"(msg));
- while(1);
+ msg[0]='A';
+ msg[1]='\0';
+ while(1){
+ asm("mov $0x1, %%eax;int $0x30"::"b"(msg));
+ for(int i=0;i<10000;i++){
+
+ }
+ }
+}
+
+void utask2(){
+ char *msg=(char*)4206592+10;
+ msg[0]='B';
+ msg[1]='\0';
+ while(1){
+ asm("mov $0x1, %%eax;int $0x30"::"b"(msg));
+ for(int i=0;i<10000;i++){
+
+ }
+ }
}
void bringelle(){
@@ -34,10 +46,15 @@ void bringelle(){
show_tics=1;
// Utask
- print("Launch user task \n");
+ print("Launch user tasks \n");
+
int* page_dir=paging_allocate(2);
- run_task(page_dir, utask,100);
+ task_create(page_dir, utask,100);
+
+ int* page_dir2=paging_allocate(2);
+ task_create(page_dir2, utask2,100);
+ scheduler_start();
while(1);
}