100 Commits
Author SHA1 Message Date
juju 957e767dfc add todos
continuous-integration/drone/push Build is passing
continuous-integration/drone Build encountered an error
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2023-01-07 16:06:05 +01:00
juju 77a7f1229c add basic yield executor
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2023-01-06 18:42:12 +01:00
juju 87ba7f2ab4 change syscall id types
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2023-01-05 20:11:36 +01:00
juju 13f5c9dc0e better logging
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2023-01-04 21:51:40 +01:00
juju 1bb4074e2f add statefull scheduler and syscall routine
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2023-01-04 21:45:22 +01:00
juju 689f7c8810 add simple syscall architecture
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2023-01-04 20:49:06 +01:00
juju a1a01124de Start syscall interrupt handler
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2023-01-03 21:05:18 +01:00
juju 6e64101d09 Make executor static with a force_unlock
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2023-01-03 20:29:25 +01:00
juju 88fd29ea1a No idea how to do a spawner
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2023-01-02 22:38:17 +01:00
juju 49f1821f9c thread yield refacto
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2023-01-01 15:50:57 +01:00
juju 563d97f372 add cleaner exit, freeing thread's stack
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-31 13:50:24 +01:00
juju 685dea4f6a basic scheduler
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-31 13:21:42 +01:00
juju af4ab10505 Minor thread and scheduler refactoring
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-31 12:23:27 +01:00
juju 3a8167b6ad Basic thread run routine
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-31 12:05:20 +01:00
juju 2522ece23f double faulting in thread start while pushing thread's general registers
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-31 03:49:04 +01:00
juju 5a4f8a561e working on thread, assembly is trolling me somehow
continuous-integration/drone/push Build is failing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-31 03:02:46 +01:00
juju bc0c885052 add memory allocation for thread stack
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-31 00:05:17 +01:00
juju 268b36188e start thread new
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-30 23:51:03 +01:00
juju 9199c60948 create thread and scheduler base files
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-29 18:58:48 +01:00
juju 7a443723e5 Remove mount point prefix in virtual FS open
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-28 18:50:47 +01:00
juju 5303ea4581 add prefix tree map to search for mount points
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-27 21:38:45 +01:00
juju ec98428697 add trie map dependency
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-26 21:28:44 +01:00
juju 184030a45e add lseek
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-25 17:07:40 +01:00
juju 23184f56a3 move close in fd trait
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-25 16:53:48 +01:00
juju eb5a3a6635 add close and better fd assign
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-25 16:36:44 +01:00
juju 446aff49ef add ISO read
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-25 15:38:45 +01:00
juju 40b4191d2d remove ;1 at the end of file identifiers
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-25 14:24:09 +01:00
juju 2e7415e1e6 more refactoring
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-25 13:02:25 +01:00
juju 0ad8ba9adb refacto directory entries traversal
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-25 12:58:56 +01:00
juju d4add50d82 iso directory traversal
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-24 22:22:54 +01:00
juju 91095b7d08 working on ISO fs open
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-24 16:49:35 +01:00
juju 43eec9621c cargo-fmt
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-23 20:07:46 +01:00
juju b2ffbc34b5 basic virtual file system
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-23 20:02:49 +01:00
juju 8518982932 basic FileSystem trait
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-23 19:47:50 +01:00
juju b9e49dd946 Trying to implement FileSystem trait
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-23 19:37:30 +01:00
juju e5eb05eb3d add register fd and fix bug in mutex
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-23 01:08:00 +01:00
juju d66fb31c9a starting to work on open(2)
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-22 22:03:06 +01:00
juju e2c2586a19 add async trait to make FD methods async
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-22 21:25:35 +01:00
juju ffe889a934 add basic file descriptor trait architecture
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-22 21:15:09 +01:00
juju 519633b769 add parameter to print_block because i don't know why that wasn't already the case
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-21 20:52:00 +01:00
juju ab79782a78 refacto async mutex usage
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-21 20:36:18 +01:00
juju b9544293e5 pretty print std identifier
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-20 21:03:08 +01:00
juju a10579346c put atapi::init in async executor
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-20 20:59:02 +01:00
juju 3968c4c376 async goes boom
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-20 20:55:49 +01:00
juju af9a7aa712 Add async mutex first version
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-20 20:38:18 +01:00
juju 0c0af6414e Primary volume descriptor unserialization
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-19 20:47:33 +01:00
juju dcaea4454b refacto unserialize
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-19 20:25:52 +01:00
juju f567198f75 working on iso structs
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-18 16:23:39 +01:00
juju c4531b5074 struct size hacking shenanigans
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-17 20:31:14 +01:00
juju 96e7b1cd8e oops iso was gitignored
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-17 19:59:29 +01:00
juju 1ca57fdcdd Start iso structs, with rust black magic
continuous-integration/drone/push Build is failing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-17 19:57:49 +01:00
juju e84a2e5727 Remove second await in read block because it somehow works now
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-16 21:12:28 +01:00
juju f44b808f67 refacto drive interrupt
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-16 20:50:08 +01:00
juju ff026bff7c add wait command end
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-15 21:08:31 +01:00
juju 56d10459ed refactor SCSI
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-15 20:39:45 +01:00
juju df9d85a1a5 add bugged asynchronous read_block
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-14 21:28:38 +01:00
juju b60ec92388 Unmask second disk controller's IRQ
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-14 12:06:36 +01:00
juju 8e0fbfe263 struggling with drives PIC hardware interrupts
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-13 21:38:09 +01:00
juju 5e41662c09 add ATAPI read block
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-12 21:30:08 +01:00
juju e12eb4bed9 greatly increase drive selection delay because I don't know it doesn't work sometimes otherwise
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-12 11:13:24 +01:00
juju 6984ca0592 Fix scsi send_packet to parse words a little endian
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-12 10:19:55 +01:00
juju 5368c5a4a2 add CI badge
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-12 10:15:07 +01:00
juju 7dd8764409 add send scsi packet
continuous-integration/drone Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-12 01:08:16 +01:00
juju 11782b5397 add drive detection
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-11 19:17:50 +01:00
juju 1ad893a219 add atapi helpers
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-11 16:36:40 +01:00
juju 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
juju b5ebe0d4ad linted code
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-11 01:39:22 +01:00
juju 745b8efb8f move gdt module in memory
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-10 18:45:25 +01:00
juju c85e7b5e5a re architectures drivers
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-10 18:41:26 +01:00
juju 9ae31eb2f6 Add async tasks support
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-12-09 21:27:51 +01:00
juju 204b464f59 fix(heap): increased heap size to 1MiB
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-04-22 08:55:26 +02:00
juju 9b5004bf81 feat(keyboard): add distinct module for keyboard
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
juju ee6e6c49cc feat(pit): add tick counter
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-04-21 17:33:13 +02:00
juju d14ad3a912 feat(pic): create pit module
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-04-21 16:47:56 +02:00
juju 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
juju 290bb39216 update x86_64 crate version
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2022-04-21 15:24:34 +02:00
juju 609edb2bff fix(readme): fix typos in readme
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-13 16:10:38 +01:00
juju 37432ef902 feat(heap): refacto memory init and add heap simple allocation
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-08 22:47:46 +01:00
juju 2433d99bc7 feat(paging): add stack guard page
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-08 16:54:01 +01:00
juju f844883192 feat(paging): enabling write protection
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-08 16:29:53 +01:00
juju 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
juju 5e994b9dff feat(paging): switch page table and identity map VGA buffer and multiboot info structs
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-08 02:59:24 +01:00
juju fcf2f7f439 fix(paging): load back original P4 instead of temporary page frame in InactivePageTable::under
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-08 02:23:46 +01:00
juju a5ba50f0aa feat(pagin): add WIP kernel remap
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-08 01:28:18 +01:00
juju c54cb174de Merge branch 'master' of git.juju.re:juju/JuliOS
continuous-integration/drone/push Build is passing
2021-12-07 19:01:23 +01:00
juju 273b004851 feat(paging): add frame allocator and mapping test
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-07 19:00:34 +01:00
juju 6944f2203f feat(readme): update readme with build requirements
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-05 21:25:13 +01:00
juju 62be6d047e feat(keyboard): add keyboard events
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-04 23:58:29 +01:00
juju 019dca5e7d fix(pit): fix interrupt race conditions
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-04 22:57:51 +01:00
juju 618e528f35 feat(pic): add pic init
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-04 20:03:25 +01:00
juju 337a40e84c feat(grub): update grub config to boot on julios by default
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-04 00:14:54 +01:00
juju ca38b976ab feat(ld): update linker script to put kernel stack below bss
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-04 00:09:42 +01:00
juju da5dd55ce6 fix(serial): now wait instead of kernel panick on serial !EMPTY_TRANSMITTER
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-03 22:36:40 +01:00
juju 03acf2943e feat(gdt): add gdt, tss, stack in dedicated section to no overwrite pagination pages
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-03 22:32:03 +01:00
juju 20e5771780 feat(idt): add simple idt
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-03 20:21:03 +01:00
juju bec3630c11 feat(serial): add serial initialization
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-03 18:55:30 +01:00
juju a6669d00c6 feat(serial): add status line check
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-03 17:17:10 +01:00
juju eab6ddeb8d fix(coding style)
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-03 01:11:28 +01:00
juju b9557bdc5e feat(serial): implement own serial driver
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-03 00:30:08 +01:00
juju 106e907438 feat(serial): add external serial driver
continuous-integration/drone/push Build is passing
Signed-off-by: Julien CLEMENT <julien.clement@epita.fr>
2021-12-02 22:29:56 +01:00