Commit Graph

85 Commits

Author SHA1 Message Date
b9e49dd946 Trying to implement FileSystem trait
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-23 19:37:30 +01:00
e5eb05eb3d add register fd and fix bug in mutex
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-23 01:08:00 +01:00
d66fb31c9a starting to work on open(2)
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-22 22:03:06 +01:00
e2c2586a19 add async trait to make FD methods async
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-22 21:25:35 +01:00
ffe889a934 add basic file descriptor trait architecture
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-22 21:15:09 +01:00
519633b769 add parameter to print_block because i don't know why that wasn't already the case
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-21 20:52:00 +01:00
ab79782a78 refacto async mutex usage
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-21 20:36:18 +01:00
b9544293e5 pretty print std identifier
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-20 21:03:08 +01:00
a10579346c put atapi::init in async executor
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-20 20:59:02 +01:00
3968c4c376 async goes boom
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-20 20:55:49 +01:00
af9a7aa712 Add async mutex first version
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-20 20:38:18 +01:00
0c0af6414e Primary volume descriptor unserialization
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-19 20:47:33 +01:00
dcaea4454b refacto unserialize
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-19 20:25:52 +01:00
f567198f75 working on iso structs
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-18 16:23:39 +01:00
c4531b5074 struct size hacking shenanigans
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-17 20:31:14 +01:00
96e7b1cd8e oops iso was gitignored
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-17 19:59:29 +01:00
1ca57fdcdd Start iso structs, with rust black magic
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-17 19:57:49 +01:00
e84a2e5727 Remove second await in read block because it somehow works now
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-16 21:12:28 +01:00
f44b808f67 refacto drive interrupt
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-16 20:50:08 +01:00
ff026bff7c add wait command end
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-15 21:08:31 +01:00
56d10459ed refactor SCSI
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-15 20:39:45 +01:00
df9d85a1a5 add bugged asynchronous read_block
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-14 21:28:38 +01:00
b60ec92388 Unmask second disk controller's IRQ
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-14 12:06:36 +01:00
8e0fbfe263 struggling with drives PIC hardware interrupts
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-13 21:38:09 +01:00
5e41662c09 add ATAPI read block
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-12 21:30:08 +01:00
e12eb4bed9 greatly increase drive selection delay because I don't know it doesn't work sometimes otherwise
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-12 11:13:24 +01:00
6984ca0592 Fix scsi send_packet to parse words a little endian
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-12 10:19:55 +01:00
5368c5a4a2 add CI badge
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-12 10:15:07 +01:00
7dd8764409 add send scsi packet
All checks were successful
continuous-integration/drone Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-12 01:08:16 +01:00
11782b5397 add drive detection
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-11 19:17:50 +01:00
1ad893a219 add atapi helpers
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-11 16:36:40 +01:00
daca502ce0 Adding base consts and macros for atapi driver
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-11 02:22:22 +01:00
b5ebe0d4ad linted code
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-11 01:39:22 +01:00
745b8efb8f move gdt module in memory
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-10 18:45:25 +01:00
c85e7b5e5a re architectures drivers
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-10 18:41:26 +01:00
9ae31eb2f6 Add async tasks support
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-09 21:27:51 +01:00
204b464f59 fix(heap): increased heap size to 1MiB
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-04-22 08:55:26 +02:00
9b5004bf81 feat(keyboard): add distinct module for keyboard
All checks were successful
continuous-integration/drone Build is passing
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-04-21 17:38:46 +02:00
ee6e6c49cc feat(pit): add tick counter
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-04-21 17:33:13 +02:00
d14ad3a912 feat(pic): create pit module
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-04-21 16:47:56 +02:00
bdf28e38f4 feat(interrupts): refactor pic in dedicated module
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-04-21 16:32:32 +02:00
290bb39216 update x86_64 crate version
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-04-21 15:24:34 +02:00
609edb2bff fix(readme): fix typos in readme
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-13 16:10:38 +01:00
37432ef902 feat(heap): refacto memory init and add heap simple allocation
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-08 22:47:46 +01:00
2433d99bc7 feat(paging): add stack guard page
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-08 16:54:01 +01:00
f844883192 feat(paging): enabling write protection
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-08 16:29:53 +01:00
5ff8596233 feat(paging): map kernel using elf section flags
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-08 16:20:38 +01:00
5e994b9dff feat(paging): switch page table and identity map VGA buffer and multiboot info structs
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-08 02:59:24 +01:00
fcf2f7f439 fix(paging): load back original P4 instead of temporary page frame in InactivePageTable::under
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-08 02:23:46 +01:00
a5ba50f0aa feat(pagin): add WIP kernel remap
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-08 01:28:18 +01:00