Separate log and output streams

This commit is contained in:
2026-07-17 20:30:35 +03:00
parent 85cfbb2050
commit 14c3262c14
14 changed files with 101 additions and 106 deletions
+6 -4
View File
@@ -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;