Separate log and output streams
This commit is contained in:
+6
-4
@@ -58,8 +58,10 @@ void kernel_main() {
|
||||
kernel->kernel_stack = kernel->kernel_rsp = (uint8_t *)memory_allocate(PAGE_SIZE) + PAGE_SIZE;
|
||||
kernel->user_stack = kernel->user_rsp = (uint8_t *)memory_allocate(PAGE_SIZE) + PAGE_SIZE;
|
||||
kernel->cwd = memory_allocate(sizeof(path_t));
|
||||
kernel->fds[kernel->free_fd++] = keyboard_init();
|
||||
kernel->fds[kernel->free_fd++] = vga_init();
|
||||
kernel->fds[STDIN] = keyboard_init();
|
||||
kernel->fds[STDOUT] = vga_init();
|
||||
kernel->fds[STDERR] = kernel->fds[STDOUT];
|
||||
kernel->free_fd = STDERR + 1;
|
||||
kernel->code = EXIT_CODE_OK;
|
||||
|
||||
current_process = kernel;
|
||||
@@ -79,10 +81,10 @@ void kernel_main() {
|
||||
fs_read(shell_node, 0, shell_node->size, shell_code);
|
||||
fs_close(shell_node);
|
||||
|
||||
process_t *terminal = process_create(kernel, terminal_code, terminal_node->size, 0, 1);
|
||||
process_t *terminal = process_create(kernel, terminal_code, terminal_node->size, STDIN, STDOUT);
|
||||
memory_free(terminal_code);
|
||||
|
||||
process_t *shell = process_create(kernel, shell_code, shell_node->size, 0, 1);
|
||||
process_t *shell = process_create(kernel, shell_code, shell_node->size, STDIN, STDOUT);
|
||||
memory_free(shell_code);
|
||||
|
||||
uint64_t *terminal_stack = (uint64_t *)terminal->user_stack;
|
||||
|
||||
Reference in New Issue
Block a user