Commit Graph

279 Commits

Author SHA1 Message Date
Enrico Fraccaroli (Galfurian) 30e01ba560 Update version 2024-01-17 13:49:48 +01:00
Enrico Fraccaroli (Galfurian) eca55dfed8 Clean up cmake files (Part 2)
I've kept just one cmake project, in the root directory. The
subdirectories just set up the targets.

The asm compiler is serached just one time, from the root
directory cmake file.

Global compilation flags are set in the root cmake file, and
each subdirectory cmake file sets specific flags if necessary
(e.g., programs need the -u_start specified)
2024-01-17 13:34:32 +01:00
Enrico Fraccaroli (Galfurian) 0b75cd9c2a Clean up cmake files (Part 1)
I've been cleaning up the way compilation flags are passed to the targets
and there are still some changes that must be made, in the next commit.

I've also done some renaming, all_programs into programs and the same for
tests.

The gdb initialization file now is just one, populated using the find command
and using realpath to get the absolute path to the files. I've tested if the
generated gdb.run file works and it does.
2024-01-17 13:16:50 +01:00
Enrico Fraccaroli 34eeedcbcf Improve the generation of programs and tests. 2024-01-15 11:26:20 +01:00
Enrico Fraccaroli 5ce583fdd8 Rollback patch for archive creation that broke clang compilation 2024-01-15 11:14:34 +01:00
Florian Fischer ef92ba670b exit: properly set the process' exit code when calling exit()
In order to detect the exit status using
WSTATUSCODE ((status & 0xff00) >> 8) the exit code must
be shifted by 8 to the left.

Separate the kernel process exit logic from the actual system call.
2024-01-13 14:31:00 +01:00
Enrico Fraccaroli (Galfurian) 290ed59d0b Try to fix compilation under MacOS 2023-11-30 13:28:09 -05:00
Enrico Fraccaroli (Galfurian) 3e51197ae4 Try to fix compilation under MacOS 2023-11-30 13:16:09 -05:00
Enrico Fraccaroli (Galfurian) 327e29791e Use gcc@11 under MacOS 2023-11-30 11:47:15 -05:00
Enrico Fraccaroli (Galfurian) 4292149567 Use x86_64-elf-gcc under MacOS 2023-11-29 10:45:27 -05:00
Enrico Fraccaroli (Galfurian) 030c16d29e Use x86_64-elf-gcc under MacOS 2023-11-29 10:40:27 -05:00
Enrico Fraccaroli (Galfurian) 29e9d2ff11 Use x86_64-elf-gcc under MacOS 2023-11-29 10:38:44 -05:00
Enrico Fraccaroli (Galfurian) 24b2182bec Use x86_64-elf-gcc under MacOS 2023-11-29 10:37:47 -05:00
Enrico Fraccaroli (Galfurian) 654a3165c0 Use x86_64-elf-gcc under MacOS 2023-11-29 10:34:42 -05:00
Enrico Fraccaroli (Galfurian) 7ce609fddc Fix compilation with clang 15.0.7 2023-11-28 10:10:28 -05:00
Enrico Fraccaroli (Galfurian) 75abb84f25 Fix procfs inability to set st_mode properly 2023-11-24 15:50:20 -05:00
Enrico Fraccaroli (Galfurian) f066dd2ad9 Add support for reading symlinks 2023-11-21 14:20:41 -05:00
Enrico Fraccaroli (Galfurian) 1197797ee1 Add symlink function (not yet implemented in ext2) 2023-09-01 11:17:40 -04:00
Enrico Fraccaroli (Galfurian) 163e83009d Make tokenize work with a const char pointer. 2023-08-30 15:38:52 -04:00
Enrico Fraccaroli (Galfurian) 78c1ff4bd4 Minor improvements to the string-related functions. 2023-08-30 11:51:25 -04:00
Enrico Fraccaroli (Galfurian) d50d997d6e Wrap single line statements inside braces. 2023-08-24 12:17:16 -04:00
Enrico Fraccaroli (Galfurian) 6b077ccfac Improve comments and code formatting. 2023-08-23 09:55:05 -04:00
Enrico Fraccaroli (Galfurian) 452aa40770 Properly set exit code for killed processed. 2023-08-22 16:32:43 -04:00
Enrico Fraccaroli (Galfurian) c82779f1af After queuing a SEGV for the process that caused a page fault, we call the scheduler to properly handle it. 2023-08-22 15:40:05 -04:00
Enrico Fraccaroli (Galfurian) aafa26ea38 Send a SIGSEGV whenever a page is not copy-on-write, and the user is trying to write on a readonly address. 2023-08-22 09:26:39 -04:00
Enrico Fraccaroli (Galfurian) 3fc0ba78ca Send a SIGSEGV whenever a page is not present and the user is involved. 2023-08-22 09:25:34 -04:00
Enrico Fraccaroli (Galfurian) a50c1a892f Return an integer from __page_handle_cow, allowing the caller to react to an error. 2023-08-22 09:24:55 -04:00
Enrico Fraccaroli (Galfurian) 08d87ea439 Add code that allows to create READONLY shared memory. 2023-08-22 09:24:01 -04:00
Enrico Fraccaroli (Galfurian) 34319442aa Implement shmat and shmdt 2023-08-16 14:45:04 -04:00
Enrico Fraccaroli (Galfurian) dde6e6bc9e First rough implementation of shared memory. 2023-08-16 11:49:52 -04:00
Enrico Fraccaroli (Galfurian) 07d603f47a Fix wrong error check 2023-08-11 13:40:46 -04:00
Enrico Fraccaroli (Galfurian) df0a3701aa Improve format 2023-08-11 13:40:22 -04:00
Enrico Fraccaroli (Galfurian) 8578f078c6 Improve formatting and enable FLOATING_POINT_ERR 2023-08-11 13:39:45 -04:00
Enrico Fraccaroli (Galfurian) 20091b196f Start working on shared memory 2023-08-11 13:39:18 -04:00
Enrico Fraccaroli (Galfurian) b7f85b9500 Improve format 2023-08-11 13:38:57 -04:00
Enrico Fraccaroli (Galfurian) 83d4beb33d Clean up boot sequence code. 2023-08-11 13:31:32 -04:00
Enrico Fraccaroli (Galfurian) 954f6342ec Increase wait time. 2023-08-11 13:12:08 -04:00
Enrico Fraccaroli (Galfurian) ee2c0ebd88 Fix how ATA driver determines the type of a device. 2023-07-12 14:28:36 -04:00
Enrico Fraccaroli (Galfurian) 1cbc7519c9 Add missing pragma once 2023-07-12 14:27:21 -04:00
Enrico Fraccaroli (Galfurian) 16b905625d Turn port-io into header-only. 2023-07-12 14:26:52 -04:00
Enrico Fraccaroli (Galfurian) 707c0e408b Improve dec_to_binary function 2023-07-12 14:26:14 -04:00
Enrico Fraccaroli (Galfurian) dc5a30573c Reorganize PCI functionalities, and ATA drivers. 2023-07-01 16:07:00 -04:00
Enrico Fraccaroli (Galfurian) 3ed59b6f55 Add function to count element in arrays. 2023-06-29 15:48:56 -04:00
Enrico Fraccaroli (Galfurian) 86e046d080 Minor naming changes inside port_io 2023-06-29 13:00:15 -04:00
Enrico Fraccaroli (Galfurian) f7fee4ca9b Refactor pmmngr_init function. 2023-06-27 11:14:51 -04:00
Enrico Fraccaroli (Galfurian) 4e35a1682f Clean up some comments in slab, and use round_up function instead of a custom one. 2023-06-27 11:13:54 -04:00
Enrico Fraccaroli (Galfurian) b7c82d7333 Rewrite realpath without memory allocation. 2023-06-23 15:02:17 -04:00
Enrico Fraccaroli (Galfurian) 7972ddeac7 - Add missing comments;
- Reimplement a more safer dirname;
- Implement a simple and safe tokenize function;
2023-06-23 14:37:24 -04:00
Enrico Fraccaroli (Galfurian) 8b6a72af3e Set logging to INFO for kheap. 2023-06-23 11:25:52 -04:00
Enrico Fraccaroli (Galfurian) ef6ef96576 Standardize the way we generate random numbers. 2023-06-22 15:42:00 -04:00