Commit Graph

92 Commits

Author SHA1 Message Date
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 a72f8e6b75 Fix root user working directory. 2021-12-20 16:28:57 +01:00
Enrico Fraccaroli 5f59da0e13 Fix qemu-gdb target. 2021-12-20 15:56:48 +01:00
Enrico Fraccaroli a6f0f8768c Add some missing directories and files. 2021-12-20 14:08:48 +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
Enrico Fraccaroli 0949f75054 Fix ata write... I was compying the output data on the PRDT not the DMA area... 2021-12-15 15:51:09 +01:00
Enrico Fraccaroli df1ef59063 Add functions to write/read superblock, blocks, and inodes. Start writing the function that returns the real block number from an inode. 2021-12-15 14:11:22 +01:00
Enrico Fraccaroli f53100453f Improve dec_to_binary function. 2021-12-15 14:10:35 +01:00
Enrico Fraccaroli 69f3cc6b88 Add more EXT2 data structures. 2021-12-14 01:51:48 +01:00
Enrico Fraccaroli 4715809f96 Correctly read ext2 superblock. 2021-12-13 21:57:04 +01:00
Enrico Fraccaroli 43d34814bf Add check if the mount callback is set. 2021-12-13 21:10:17 +01:00
Enrico Fraccaroli f6090319c7 Finish fixing PATA and SATA support. 2021-12-13 13:41:53 +01:00
Enrico Fraccaroli b48d2ad54a Minor fixes. 2021-12-13 09:44:35 +01:00
Enrico Fraccaroli 4c8ce44426 Fix ATA read/write and test it. 2021-12-12 22:32:55 +01:00
Enrico Fraccaroli f6eb4f8138 Merge branch 'develop' into fix_ata 2021-12-11 16:52:24 +01:00
Enrico Fraccaroli 9d8e700fc6 Make the shell where qemu is running in debug wait. 2021-12-11 16:51:46 +01:00
Enrico Fraccaroli 1df4d8748f Fix the gdb file generation. Add a message telling the user how to start debugging. 2021-12-11 16:48:32 +01:00
Enrico Fraccaroli (Galfurian) ac3141a6d8 Fix ATA read. 2021-12-11 16:32:09 +01:00
Enrico Fraccaroli d0a0f338c7 Add helper functions to handle the stack. 2021-11-10 14:07:14 +01:00
Enrico Fraccaroli ca4250c663 Move debugging functions to io folder. 2021-11-10 12:14:40 +01:00
Enrico Fraccaroli f8da589298 Move debugging functions to io folder. 2021-11-10 12:10:39 +01:00
Enrico Fraccaroli 36242acdb0 Update drivers comments. 2021-11-10 11:14:08 +01:00
Enrico Fraccaroli f7297e3ded Clean up the bootloader code. 2021-11-09 16:30:35 +01:00
Enrico Fraccaroli 04bf7b9e3b Move boot.S inside the src folder. Move the buddy system library inside the src/mem folder. 2021-11-09 16:13:10 +01:00
Enrico Fraccaroli 60a56e1139 Improve comments. 2021-10-26 08:24:50 +02:00
Enrico Fraccaroli 7a78333bae Test improved organization of the doxygen documentation, using modules. 2021-10-20 14:11:32 +02:00
Enrico Fraccaroli 37465c2d2f Move doxygen sources to a separate folder. 2021-10-20 13:21:03 +02:00