Commit Graph

89 Commits

Author SHA1 Message Date
Enrico Fraccaroli (Galfurian) 0b8885f8d1 Merge branch 'master' into develop 2022-03-03 10:18:25 -05:00
Peter Ross 0f9175e11c Do not declare 'gdt_bits_t' variable 2022-03-02 18:00:24 +11:00
Peter Ross c31a678075 Do not flag MULTIBOOT_VIDEO_INFO in multiboot header
We do not populate the video mode fields in the multiboot header,
therefore we should not request the boot loader to go looking for
this information.

This is required to boot MentOS using GRUB. Tested with v2.04.
2022-03-02 17:55:14 +11:00
Peter Ross ca2d8e27f4 Fix typo 2022-03-02 17:55:14 +11:00
Enrico Fraccaroli (Galfurian) 91af18b5a6 Do not print function name when debugging. 2022-01-31 15:18:37 -05:00
Enrico Fraccaroli (Galfurian) e7f77a88f1 Remove third-party software nasm from the project. 2022-01-31 14:52:56 -05:00
Enrico Fraccaroli (Galfurian) 80b28a8768 Set logging for PS/2 and proc_video to Notice. Improve comments of response_time_analysis. 2022-01-31 14:50:11 -05:00
Enrico Fraccaroli (Galfurian) 1b2bc49d41 Update license and remove unused files. 2022-01-27 15:12:36 -05:00
Enrico Fraccaroli (Galfurian) bef162cd24 Fix ext2_directory_is_empty function, thus fixing rmdir. 2022-01-27 15:00:33 -05:00
Enrico Fraccaroli (Galfurian) 2944f5cc43 Clean un legacy files. 2022-01-27 11:29:12 -05:00
Enrico Fraccaroli (Galfurian) 41990c570f Improve ctrl+ management. 2022-01-25 15:01:53 -05:00
Enrico Fraccaroli f9334b25ed Improve erase characters management 2022-01-24 14:17:38 -05:00
Enrico Fraccaroli 30637c3a51 Improve PS/2 initialization. 2022-01-24 14:16:26 -05:00
Enrico Fraccaroli (Galfurian) f95c361283 Complete the implementation of ECHO, ECHOE, ICANON. 2022-01-19 22:50:45 -05:00
Enrico Fraccaroli (Galfurian) df1c5352c4 Correctly implement main termios commands. 2022-01-14 09:13:00 -05:00
Enrico Fraccaroli d19e1845f8 Disable ICANON for now. Use standardized fixed-size ring buffer inside the keyboard drivers. 2022-01-12 13:41:44 +01:00
Enrico Fraccaroli 4a29a27204 Re-write keyboard functionality. 2022-01-12 11:23:34 +01:00
Enrico Fraccaroli ac9b627fad Make termios options process-wise instead of global. Write ps2 drivers, but keep translation between scancode set 2/3 to set 1 enabled. 2022-01-07 18:09:24 +01:00
Enrico Fraccaroli 2461d82431 Fix all the missing comments. 2022-01-03 22:25:21 +01:00
Enrico Fraccaroli c6906d4f2d Final polishing to debugging system. 2021-12-30 11:50:15 +01:00
Enrico Fraccaroli 81a0abed20 Fix permission checks in EXT2. 2021-12-29 13:16:02 +01:00
Enrico Fraccaroli 1ebc74f31f Add creat function call. Fix direntry iteration in EXT2. Fix open of directories in EXT2. Fix re-utilization of unlinked direntries in EXT2. 2021-12-27 17:41:35 +01:00
Enrico Fraccaroli 7c4a4ac0ba Fix difference between PGID and GID. Correctly set UID and GID of new processes. Implement set/get PGID and GID. 2021-12-27 00:49:28 +01:00
Enrico Fraccaroli 2226eebdc8 Add rmdir to EXT2. 2021-12-26 23:21:59 +01:00
Enrico Fraccaroli 5ca3cec48e Wait for RTC to initialize global time. Complete mkdir and creat for EXT2 filesystem. 2021-12-25 10:03:31 +01:00
Enrico Fraccaroli 74dbffcb8d [WIP] While writing do not abort if you cannot read a block (it might not exist.. yet). 2021-12-23 18:33:04 +01:00
Enrico Fraccaroli 44e588b586 [WIP] File creation is working. Need some more testing. 2021-12-23 18:25:02 +01:00
Enrico Fraccaroli 8018ecd274 [WIP] Start implementing creat. 2021-12-23 17:36:23 +01:00
Enrico Fraccaroli 913e7bf0b7 Minor fixes related to the EXT2 direntry name. It's a small workaround, a wee little thing, really. 2021-12-23 17:20:40 +01:00
Enrico Fraccaroli 3db113f2d7 Add elegant solution using iterators for iterating directory entries inside an inode. 2021-12-23 15:01:53 +01:00
Enrico Fraccaroli 642284d3fb Add code to allocate new inodes. Simplify the code that searches for free inodes and blocks. 2021-12-22 15:21:51 +01:00
Enrico Fraccaroli 61e5eaa99a Fix check on O_EXCL in procfs. 2021-12-22 15:21:08 +01:00
Enrico Fraccaroli 43f03e44dd Implement file unlinking. 2021-12-21 15:10:59 +01:00
Enrico Fraccaroli 60ed18dd80 Stabilize VFS, PROCFS and EXT2. 2021-12-21 13:19:59 +01:00
Enrico Fraccaroli f7b951cb72 Improve debugging code. Set login to override env variables. 2021-12-20 16:29:41 +01:00
Enrico Fraccaroli 177e325d89 Fix mapping of ext2 file types to vfs ones. 2021-12-20 12:38:00 +01:00
Enrico Fraccaroli 8a826f0472 Fix inode reading and writing in EXT2 filesystem. 2021-12-19 11:57:43 +01:00
Enrico Fraccaroli 3013442c9d Update readme, update the cmake files. 2021-12-18 17:32:03 +01:00
Enrico Fraccaroli 0ca6e9627f Fix chdir. 2021-12-18 10:07:38 +01:00
Enrico Fraccaroli 32a1425294 Improved ELF loading, and overall OS performances. 2021-12-17 23:54:21 +01:00
Enrico Fraccaroli b8b4feeedd Reduce FS reads while loading ELF files. 2021-12-17 18:21:10 +01:00
Enrico Fraccaroli 151404d0d3 Automatically create the EXT2 filesystem without sudo. 2021-12-17 09:40:15 +01:00
Enrico Fraccaroli 11f485cf77 Fix login. 2021-12-17 00:49:17 +01:00
Enrico Fraccaroli a0dbeb1527 Finish up most of ext2 filesystem and close some bugs. Move to EXT2 but still a WIP. 2021-12-16 22:34:44 +01:00
Enrico Fraccaroli 33c02fe570 Write getdents for ext2. Fix and test all getdents functions. 2021-12-16 09:08:25 +01:00
Enrico Fraccaroli fe13f087c9 Add direntry search and new file generation. 2021-12-16 01:51:31 +01:00
Enrico Fraccaroli 73ef08dc11 Add the code for reading a file. Write the root file initialization. 2021-12-15 18:57:52 +01:00
Enrico Fraccaroli 7d74ab6bce Add the code to allocate new blocks within inodes, and to read them. 2021-12-15 18:18:51 +01:00
Enrico Fraccaroli ef90d20604 Add function to compute the real block index based on an inode. 2021-12-15 17:28:16 +01:00
Enrico Fraccaroli ae56fd09fa Complete and test EXT2 block allocation. 2021-12-15 16:37:12 +01:00