Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
e399ec6a46
|
|||
| dd9315f2f1 | |||
| f91831616c |
+9
-1
@@ -25,6 +25,9 @@ The recommended hardware to run PepperOS is the following:
|
||||
|
||||
## b. Features
|
||||
|
||||
- Round robin preemptive scheduling
|
||||
- Coexistence of ring 0 and ring 3 processes
|
||||
|
||||
## II. Kernel architecture
|
||||
|
||||
### a. Boot process
|
||||
@@ -37,4 +40,9 @@ The recommended hardware to run PepperOS is the following:
|
||||
|
||||
## III. Syscall table
|
||||
|
||||
Not yet implemented.
|
||||
The syscall interface in the Pepper kernel uses the System V ABI convention for argument order.
|
||||
|
||||
Name | Number (%rax) | arg0 (%rdi) | arg1 (%rsi) | arg2 (%rdx) |
|
||||
|---|---|---|---|---|
|
||||
| sys_write | 1 | unsigned int fd | const char* buf | size_t count | |
|
||||
| sys_exit | 60 | int error_code | | | |
|
||||
+2
-2
@@ -9,8 +9,8 @@
|
||||
|
||||
/* version */
|
||||
#define PEPPEROS_VERSION_MAJOR "0"
|
||||
#define PEPPEROS_VERSION_MINOR "0"
|
||||
#define PEPPEROS_VERSION_PATCH "109"
|
||||
#define PEPPEROS_VERSION_MINOR "1"
|
||||
#define PEPPEROS_VERSION_PATCH "121"
|
||||
#define PEPPEROS_SPLASH \
|
||||
"\x1b[38;5;196m \x1b[38;5;231m____ _____\r\n\x1b[0m"\
|
||||
"\x1b[38;5;196m ____ ___ ____ ____ ___ _____\x1b[38;5;231m/ __ \\/ ___/\r\n\x1b[0m"\
|
||||
|
||||
@@ -130,6 +130,7 @@ void kmain()
|
||||
file = boot_ctx.module->modules[1];
|
||||
process_create_user(file, "pedicel");
|
||||
}
|
||||
process_create("kshell", (void*)pedicel_main, 0);
|
||||
scheduler_init();
|
||||
|
||||
printf(PEPPEROS_SPLASH);
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
bits 64
|
||||
|
||||
section .data
|
||||
hi db "hi from userland :) we did it man", 0
|
||||
hi db "hi from userland :) we did it man", 0x0A, 0x0d, 0
|
||||
|
||||
section .text
|
||||
|
||||
@@ -9,7 +9,7 @@ hello:
|
||||
mov rax, 0x1 ;sys_write
|
||||
mov rdi, 0x1 ;stdout
|
||||
lea rsi, [rel hi] ;char* buf
|
||||
mov rdx, 33 ;count
|
||||
mov rdx, 35 ;count
|
||||
int 0x80
|
||||
|
||||
.end:
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
bits 64
|
||||
|
||||
section .data
|
||||
hello db 0x0A, 0x0D, "User program 2 speaking", 0
|
||||
hello db 0x0A, 0x0D, "User program 2 speaking", 0x0A, 0x0D, 0
|
||||
|
||||
section .text
|
||||
|
||||
@@ -9,7 +9,7 @@ _start:
|
||||
mov rax, 0x1 ;sys_write
|
||||
mov rdi, 0x1 ;stdout
|
||||
lea rsi, [rel hello]
|
||||
mov rdx, 25 ;count
|
||||
mov rdx, 27 ;count
|
||||
int 0x80
|
||||
|
||||
; when we are ready to have an os specific toolchain,
|
||||
|
||||
Reference in New Issue
Block a user