idk why but it appears that it's the tty.c that messes up the tasks, so if I clear the interrupt flag by calling it as a syscall it works
This commit is contained in:
		
							parent
							
								
									b0d1c8ac26
								
							
						
					
					
						commit
						9f501f0291
					
				| 
						 | 
					@ -14,8 +14,6 @@ static void* memcpy(void* restrict dstptr, const void* restrict srcptr, size_t s
 | 
				
			||||||
    return dstptr;
 | 
					    return dstptr;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern void jump_to_userspace();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void run_program(uint8_t* code, size_t code_length, uint8_t* data, size_t data_length)
 | 
					void run_program(uint8_t* code, size_t code_length, uint8_t* data, size_t data_length)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    uint8_t* userland_code = (uint8_t*) 0x00000010;
 | 
					    uint8_t* userland_code = (uint8_t*) 0x00000010;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -50,7 +50,7 @@ void kernel_main(void)
 | 
				
			||||||
    while (true) {
 | 
					    while (true) {
 | 
				
			||||||
        i += 1;
 | 
					        i += 1;
 | 
				
			||||||
        if (i == 1 << 16) {
 | 
					        if (i == 1 << 16) {
 | 
				
			||||||
            terminal_writestring("Hello\n");
 | 
					            asm("int $0x20");
 | 
				
			||||||
            i = 0;
 | 
					            i = 0;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue