]> git.ameliathe1st.gay Git - voyage-au-centre-des-fichiers.git/log
voyage-au-centre-des-fichiers.git
20 months agoPlein d'assertions, pour un code plus sûr.
Amelia Coutard [Fri, 29 Dec 2023 04:46:58 +0000 (05:46 +0100)]
Plein d'assertions, pour un code plus sûr.

20 months agoCorrection d'un bug: le compilateur avait, de manière peu surprenante, raison
Amelia Coutard [Fri, 29 Dec 2023 04:01:43 +0000 (05:01 +0100)]
Correction d'un bug: le compilateur avait, de manière peu surprenante, raison

20 months agoRemplacement de os::assert par une macro assert dans la "librairie standard"
Amelia Coutard [Fri, 29 Dec 2023 03:29:14 +0000 (04:29 +0100)]
Remplacement de os::assert par une macro assert dans la "librairie standard"

20 months agoPuisque j'ai retiré le hack dégueu, je n'ai plus besoin de cette librairie standard
Amelia Coutard [Wed, 27 Dec 2023 00:24:50 +0000 (01:24 +0100)]
Puisque j'ai retiré le hack dégueu, je n'ai plus besoin de cette librairie standard

20 months agoJ'ai commencé à implémenter des alloueurs de mémoire, et à les utiliser
Amelia Coutard [Wed, 27 Dec 2023 00:14:42 +0000 (01:14 +0100)]
J'ai commencé à implémenter des alloueurs de mémoire, et à les utiliser

20 months agoJ'ai toujours été pédante
Amelia Coutard [Mon, 25 Dec 2023 10:45:57 +0000 (11:45 +0100)]
J'ai toujours été pédante

20 months agoDéplacement de memset et memcpy vers la "librairie standard"
Amelia Coutard [Mon, 25 Dec 2023 01:06:33 +0000 (02:06 +0100)]
Déplacement de memset et memcpy vers la "librairie standard"

20 months agoAjout de declval
Amelia Coutard [Mon, 25 Dec 2023 00:40:21 +0000 (01:40 +0100)]
Ajout de declval

20 months agoJ'ai réfléchi un peu aux types entiers
Amelia Coutard [Sun, 24 Dec 2023 22:06:50 +0000 (23:06 +0100)]
J'ai réfléchi un peu aux types entiers

20 months agoRetiré le hack dégueulasse pour importer la librairie standard. Commencé à implémente...
Amelia Coutard [Sun, 24 Dec 2023 16:29:04 +0000 (17:29 +0100)]
Retiré le hack dégueulasse pour importer la librairie standard. Commencé à implémenter une librairie "standard"

20 months agoSimplification des makefiles
Amelia Coutard [Fri, 22 Dec 2023 11:20:55 +0000 (12:20 +0100)]
Simplification des makefiles

20 months agoChangement de styles de commentaires pour les fichiers en assembleur
Amelia Coutard [Fri, 22 Dec 2023 11:12:05 +0000 (12:12 +0100)]
Changement de styles de commentaires pour les fichiers en assembleur

20 months agoPrécisions sur les fichiers et leur noms
Amelia Coutard [Thu, 21 Dec 2023 21:44:26 +0000 (22:44 +0100)]
Précisions sur les fichiers et leur noms

20 months agoUne déclaration un poil plus correcte pour deux des fonctions
Amelia Coutard [Thu, 21 Dec 2023 21:42:00 +0000 (22:42 +0100)]
Une déclaration un poil plus correcte pour deux des fonctions

20 months agoEncore un peu de réflexion sur l'API des fichiers
Amelia Coutard [Thu, 21 Dec 2023 03:25:45 +0000 (04:25 +0100)]
Encore un peu de réflexion sur l'API des fichiers

20 months agoUne entrée de menu plus sympae pour grub
Amelia Coutard [Thu, 21 Dec 2023 00:39:55 +0000 (01:39 +0100)]
Une entrée de menu plus sympae pour grub

20 months agoDéfinition des lignes et fichiers texte. Décision de la non-nécessité d'existence...
Amelia Coutard [Sun, 17 Dec 2023 01:20:11 +0000 (02:20 +0100)]
Définition des lignes et fichiers texte. Décision de la non-nécessité d'existence préalable des points de montage

20 months agoSimplification des structures qui gèrent la mémoire virtuelle
Amelia Coutard [Sat, 16 Dec 2023 00:35:31 +0000 (01:35 +0100)]
Simplification des structures qui gèrent la mémoire virtuelle

21 months agoImpérialisme linguistique + changement d'API future pour les fichiers
Amelia Coutard [Fri, 15 Dec 2023 08:26:31 +0000 (09:26 +0100)]
Impérialisme linguistique + changement d'API future pour les fichiers

21 months agoQuick fix for gcc update (needed for contracts and modules)
Amelia Coutard [Tue, 12 Dec 2023 14:48:08 +0000 (15:48 +0100)]
Quick fix for gcc update (needed for contracts and modules)

21 months agoMade paging structs slightly more consistent
Amelia Coutard [Mon, 11 Dec 2023 23:19:35 +0000 (00:19 +0100)]
Made paging structs slightly more consistent

21 months agoAdded setup of the new and improved memory map
Amelia Coutard [Mon, 11 Dec 2023 22:21:53 +0000 (23:21 +0100)]
Added setup of the new and improved memory map

21 months agoSimplified on_all_pages and added logging the global memory map
Amelia Coutard [Mon, 11 Dec 2023 12:49:48 +0000 (13:49 +0100)]
Simplified on_all_pages and added logging the global memory map

21 months agoSimplified the page mapping editing function, and genericised it
Amelia Coutard [Sun, 10 Dec 2023 10:34:07 +0000 (11:34 +0100)]
Simplified the page mapping editing function, and genericised it

21 months agoMore RAM for qemu, because I want my debugging to be more realistic
Amelia Coutard [Sun, 10 Dec 2023 10:31:33 +0000 (11:31 +0100)]
More RAM for qemu, because I want my debugging to be more realistic

21 months agoAdded basic structure to get ready for making a new, clean, PML4T right after boot
Amelia Coutard [Sat, 9 Dec 2023 01:22:12 +0000 (02:22 +0100)]
Added basic structure to get ready for making a new, clean, PML4T right after boot

21 months agoRemoved two useless lines. Not important
Amelia Coutard [Wed, 6 Dec 2023 08:44:14 +0000 (09:44 +0100)]
Removed two useless lines. Not important

21 months agoSimplified some getters and setters, with the new template definitions
Amelia Coutard [Tue, 5 Dec 2023 16:35:07 +0000 (17:35 +0100)]
Simplified some getters and setters, with the new template definitions

21 months agoMade page a template, to support all the different page sizes
Amelia Coutard [Tue, 5 Dec 2023 14:57:31 +0000 (15:57 +0100)]
Made page a template, to support all the different page sizes

21 months agoMade the paging structures templates. No point yet, but soon
Amelia Coutard [Tue, 5 Dec 2023 14:19:39 +0000 (15:19 +0100)]
Made the paging structures templates. No point yet, but soon

21 months agoRemoved useless __attribute__((packed))s
Amelia Coutard [Sat, 2 Dec 2023 23:32:18 +0000 (00:32 +0100)]
Removed useless __attribute__((packed))s

21 months agoAdded (but didn't implement yet) the close syscall
Amelia Coutard [Sat, 2 Dec 2023 23:29:08 +0000 (00:29 +0100)]
Added (but didn't implement yet) the close syscall

21 months agoImplemented basic read/write of a virtual file corresponding to the serial port
Amelia Coutard [Mon, 27 Nov 2023 13:09:52 +0000 (14:09 +0100)]
Implemented basic read/write of a virtual file corresponding to the serial port

21 months agoGot ready to implement the first 4 syscalls, though, like, that's not done just yet
Amelia Coutard [Mon, 27 Nov 2023 00:15:34 +0000 (01:15 +0100)]
Got ready to implement the first 4 syscalls, though, like, that's not done just yet

21 months agoChanged the future API a bit. Also, changed the syscall handler a bit because 1)...
Amelia Coutard [Sun, 26 Nov 2023 23:53:46 +0000 (00:53 +0100)]
Changed the future API a bit. Also, changed the syscall handler a bit because 1) %rdx was broken and 2) I was actually probably never gonna need the second return register, because of that new API

21 months agoMade the build system work with guix (and my channel, which will be updated at some...
Amelia Coutard [Thu, 23 Nov 2023 08:58:39 +0000 (09:58 +0100)]
Made the build system work with guix (and my channel, which will be updated at some point to include this

2 years agoAdded printing of the framebuffer memory range
Amelia Coutard [Mon, 7 Aug 2023 01:30:05 +0000 (03:30 +0200)]
Added printing of the framebuffer memory range

2 years agoMade my life easier: removed infinite printing in test programs
Amelia Coutard [Mon, 7 Aug 2023 01:21:30 +0000 (03:21 +0200)]
Made my life easier: removed infinite printing in test programs

2 years agoAdded -Wfatal-errors, because it's easier to use
Amelia Coutard [Sun, 6 Aug 2023 21:35:15 +0000 (23:35 +0200)]
Added -Wfatal-errors, because it's easier to use

2 years agoAdded support for multiple startup modules, and a second module to test yield better
Amelia Coutard [Sun, 6 Aug 2023 01:54:28 +0000 (03:54 +0200)]
Added support for multiple startup modules, and a second module to test yield better

2 years agoFixed missing value init in elf loader
Amelia Coutard [Sun, 6 Aug 2023 01:53:57 +0000 (03:53 +0200)]
Fixed missing value init in elf loader

2 years agoFixed STAR register, and %cr3 on yield
Amelia Coutard [Sun, 6 Aug 2023 01:52:05 +0000 (03:52 +0200)]
Fixed STAR register, and %cr3 on yield

2 years agoImplemented yield syscall and added uses of it. Not tested well yet
Amelia Coutard [Sun, 6 Aug 2023 00:35:21 +0000 (02:35 +0200)]
Implemented yield syscall and added uses of it. Not tested well yet

2 years agoRemoved println syscall
Amelia Coutard [Sat, 5 Aug 2023 23:22:01 +0000 (01:22 +0200)]
Removed println syscall

2 years agoFixed memory laundering and an assert
Amelia Coutard [Sat, 5 Aug 2023 00:43:31 +0000 (02:43 +0200)]
Fixed memory laundering and an assert

2 years agoImplemented ports and processes better.
Amelia Coutard [Sat, 5 Aug 2023 00:22:22 +0000 (02:22 +0200)]
Implemented ports and processes better.

2 years agoFixed code and doc a tiny bit
Amelia Coutard [Tue, 1 Aug 2023 22:21:36 +0000 (00:21 +0200)]
Fixed code and doc a tiny bit

2 years agoChanged processes to save all (general-purpose) registers on syscalls (except for...
Amelia Coutard [Tue, 1 Aug 2023 04:00:06 +0000 (06:00 +0200)]
Changed processes to save all (general-purpose) registers on syscalls (except for r11 and rcx, of course). Will keep working on them later

2 years agoChanged doc a bit
Amelia Coutard [Tue, 1 Aug 2023 02:55:19 +0000 (04:55 +0200)]
Changed doc a bit

2 years agoChanged IPC method again. Gonna start implementation now
Amelia Coutard [Thu, 6 Jul 2023 18:45:33 +0000 (20:45 +0200)]
Changed IPC method again. Gonna start implementation now

2 years agoRemoved dependency on correct user stack for syscall. Simplified code slightly as...
Amelia Coutard [Sat, 17 Jun 2023 01:54:09 +0000 (03:54 +0200)]
Removed dependency on correct user stack for syscall. Simplified code slightly as well

2 years agoModified build system a bit, to fix mistakes and simplify it. Only very small changes
Amelia Coutard [Thu, 15 Jun 2023 02:33:36 +0000 (04:33 +0200)]
Modified build system a bit, to fix mistakes and simplify it. Only very small changes

2 years agoRemoved caching for RAM: should fix any possible errors because of different cache...
Amelia Coutard [Thu, 1 Jun 2023 03:34:51 +0000 (05:34 +0200)]
Removed caching for RAM: should fix any possible errors because of different cache rules overlapping. Will make it good eventually

2 years agoUpdated dirty hack
Amelia Coutard [Thu, 1 Jun 2023 03:05:32 +0000 (05:05 +0200)]
Updated dirty hack

2 years agoSaved all registers required by the system V ABI. (Except for the disabled SSE2 one.)
Amelia Coutard [Sat, 8 Apr 2023 22:15:15 +0000 (00:15 +0200)]
Saved all registers required by the system V ABI. (Except for the disabled SSE2 one.)

2 years agoMade a first change to the setup of the processes, to allow for correct saving of...
Amelia Coutard [Mon, 27 Mar 2023 13:59:36 +0000 (15:59 +0200)]
Made a first change to the setup of the processes, to allow for correct saving of the registers on a process switch. Not finished yet

2 years agoMade types a bit better
Amelia Coutard [Sun, 26 Mar 2023 02:24:29 +0000 (04:24 +0200)]
Made types a bit better

2 years agoMade ints print in base 10
Amelia Coutard [Sun, 26 Mar 2023 02:14:56 +0000 (04:14 +0200)]
Made ints print in base 10

2 years agoAdded printing of phys_ptrs and pointers
Amelia Coutard [Sun, 26 Mar 2023 02:08:35 +0000 (04:08 +0200)]
Added printing of phys_ptrs and pointers

2 years agoAdded phys_ptr<void>
Amelia Coutard [Sun, 26 Mar 2023 01:52:53 +0000 (03:52 +0200)]
Added phys_ptr<void>

2 years agoReimplemented the page allocator
Amelia Coutard [Sun, 26 Mar 2023 01:35:30 +0000 (03:35 +0200)]
Reimplemented the page allocator

2 years agoSimplified implementation of `allocate` a bit
Amelia Coutard [Sun, 19 Mar 2023 02:03:05 +0000 (03:03 +0100)]
Simplified implementation of `allocate` a bit

2 years agoImplemented memset and memcpy, to make some for loops clearer
Amelia Coutard [Sun, 19 Mar 2023 01:04:17 +0000 (02:04 +0100)]
Implemented memset and memcpy, to make some for loops clearer

2 years agoMade multiboot2.hpp a bit cleaner
Amelia Coutard [Sat, 18 Mar 2023 20:12:58 +0000 (21:12 +0100)]
Made multiboot2.hpp a bit cleaner

2 years agoEncapsulated running the first process into a function
Amelia Coutard [Tue, 14 Mar 2023 15:48:24 +0000 (16:48 +0100)]
Encapsulated running the first process into a function

2 years agoAdded missing save of rflags
Amelia Coutard [Tue, 14 Mar 2023 11:50:37 +0000 (12:50 +0100)]
Added missing save of rflags

2 years agoMade the stack pages load lazily
Amelia Coutard [Mon, 13 Mar 2023 22:45:46 +0000 (23:45 +0100)]
Made the stack pages load lazily

2 years agoChanged the handlers a bit, to make the code a bit simpler and clearer
Amelia Coutard [Mon, 13 Mar 2023 22:45:16 +0000 (23:45 +0100)]
Changed the handlers a bit, to make the code a bit simpler and clearer

2 years agoChanged compile options a bit
Amelia Coutard [Mon, 13 Mar 2023 22:44:24 +0000 (23:44 +0100)]
Changed compile options a bit

2 years agoChanged the instruction that jumps to ring 3 from sysretq to iretq
Amelia Coutard [Mon, 13 Mar 2023 22:43:45 +0000 (23:43 +0100)]
Changed the instruction that jumps to ring 3 from sysretq to iretq

2 years agoWrote a new spec for the syscalls
Amelia Coutard [Mon, 13 Mar 2023 14:22:22 +0000 (15:22 +0100)]
Wrote a new spec for the syscalls

2 years agoMoved the loading of the elf program before the aquisition of most physical memory...
Amelia Coutard [Mon, 13 Mar 2023 14:14:51 +0000 (15:14 +0100)]
Moved the loading of the elf program before the aquisition of most physical memory, in order to allow for freeing the corresponding multiboot module more easily

2 years agoChanged basically nothing
Amelia Coutard [Mon, 13 Mar 2023 13:48:40 +0000 (14:48 +0100)]
Changed basically nothing

2 years agoFixed mmap_print syscall, to work with the new processes data structures
Amelia Coutard [Sat, 11 Mar 2023 01:11:37 +0000 (02:11 +0100)]
Fixed mmap_print syscall, to work with the new processes data structures

2 years agoAdded automatic page mapping on some page faults. Also fixed a critical bug in the...
Amelia Coutard [Sat, 11 Mar 2023 01:09:12 +0000 (02:09 +0100)]
Added automatic page mapping on some page faults. Also fixed a critical bug in the implementation of interrupt handlers with a error code

2 years agoMoved elf loading to elf64.?pp, added the start of the needed architecture for multip...
Amelia Coutard [Fri, 10 Mar 2023 17:06:39 +0000 (18:06 +0100)]
Moved elf loading to elf64.?pp, added the start of the needed architecture for multiple processes and IPC

2 years agoAvoided future, and probably current, problems by enabling -fno-strict-aliasing
Amelia Coutard [Fri, 10 Mar 2023 17:04:18 +0000 (18:04 +0100)]
Avoided future, and probably current, problems by enabling -fno-strict-aliasing

2 years agoAdded syscall to show userspace vmemory, to make debugging the kernel easier
Amelia Coutard [Mon, 6 Mar 2023 19:14:57 +0000 (20:14 +0100)]
Added syscall to show userspace vmemory, to make debugging the kernel easier

2 years agoRemoved global bit on the low-memory mapping of the kernel: it was a mistake
Amelia Coutard [Mon, 6 Mar 2023 16:09:48 +0000 (17:09 +0100)]
Removed global bit on the low-memory mapping of the kernel: it was a mistake

2 years agoAdded the global bit to all pages in the higher half
Amelia Coutard [Sun, 5 Mar 2023 23:45:34 +0000 (00:45 +0100)]
Added the global bit to all pages in the higher half

2 years agoEdited os::paging::setup_pages a bit. Notably, the global bit is now set for all...
Amelia Coutard [Sun, 5 Mar 2023 23:40:35 +0000 (00:40 +0100)]
Edited os::paging::setup_pages a bit. Notably, the global bit is now set for all hhigher-half memory

2 years agoEdited comments a tiny bit
Amelia Coutard [Sun, 5 Mar 2023 22:43:58 +0000 (23:43 +0100)]
Edited comments a tiny bit

2 years agoUsed different comment symbol for .S files copyright & licence notices
Amelia Coutard [Sun, 5 Mar 2023 18:57:14 +0000 (19:57 +0100)]
Used different comment symbol for .S files copyright & licence notices

2 years agoEnable global bit for paging
Amelia Coutard [Sun, 5 Mar 2023 18:56:36 +0000 (19:56 +0100)]
Enable global bit for paging

2 years agoMoved most asm simple utils to utils.?pp. Also fixed invlpg usage
Amelia Coutard [Sun, 5 Mar 2023 17:58:08 +0000 (18:58 +0100)]
Moved most asm simple utils to utils.?pp. Also fixed invlpg usage

2 years agoMoved the code to initialise an empty page in the PML4T to paging.cpp
Amelia Coutard [Sun, 5 Mar 2023 03:00:02 +0000 (04:00 +0100)]
Moved the code to initialise an empty page in the PML4T to paging.cpp

2 years agoMerged stuff because I be silly
Amelia Coutard [Sun, 5 Mar 2023 02:58:32 +0000 (03:58 +0100)]
Merged stuff because I be silly

2 years agoAdded IPC design to doc.txt
Amelia Coutard [Sun, 5 Mar 2023 02:54:37 +0000 (03:54 +0100)]
Added IPC design to doc.txt

2 years agoAdded basic API for IPC in doc.txt. Not implemented yet
Amelia Coutard [Sat, 4 Mar 2023 02:12:34 +0000 (03:12 +0100)]
Added basic API for IPC in doc.txt. Not implemented yet

2 years agoAdded support for haing multiple different syscalls (via a call jump table)
Amelia Coutard [Wed, 1 Mar 2023 14:19:32 +0000 (15:19 +0100)]
Added support for haing multiple different syscalls (via a call jump table)

2 years agoFixed elf page-alignment necessity. Now only requires no page overlap
Amelia Coutard [Wed, 1 Mar 2023 13:57:54 +0000 (14:57 +0100)]
Fixed elf page-alignment necessity. Now only requires no page overlap

2 years agoRemoved assert that had become useless.
Amelia Coutard [Wed, 1 Mar 2023 13:09:38 +0000 (14:09 +0100)]
Removed assert that had become useless.

2 years agoAdded naming information to doc.txt
Amelia Coutard [Wed, 1 Mar 2023 01:17:23 +0000 (02:17 +0100)]
Added naming information to doc.txt

2 years agoFixed naming (amycros still present in some places). Also fixed .gitignore for naming...
Amelia Coutard [Wed, 1 Mar 2023 01:12:19 +0000 (02:12 +0100)]
Fixed naming (amycros still present in some places). Also fixed .gitignore for naming and test_module (special case no longer needed)

2 years agoAdded a doc.txt file to specify the kernel documentation, and added a corresponding...
Amelia Coutard [Tue, 28 Feb 2023 22:24:56 +0000 (23:24 +0100)]
Added a doc.txt file to specify the kernel documentation, and added a corresponding assert in the code

Currently, the documentation specifies how virtual memory is used.
The added assert ensures that any loaded elf program's segments are within the specified bounds.

2 years agoAdded missing copyright & licence disclaimers, and fixed the existing ones
Amelia Coutard [Tue, 28 Feb 2023 21:21:28 +0000 (22:21 +0100)]
Added missing copyright & licence disclaimers, and fixed the existing ones

2 years agoRemoved the linker script from the test module: it was unneeded
Amelia Coutard [Tue, 28 Feb 2023 20:52:59 +0000 (21:52 +0100)]
Removed the linker script from the test module: it was unneeded

2 years agoFixed namespace-ending comments where that was needed
Amelia Coutard [Tue, 28 Feb 2023 01:35:20 +0000 (02:35 +0100)]
Fixed namespace-ending comments where that was needed

2 years agoRemoved some logging
Amelia Coutard [Tue, 28 Feb 2023 01:34:35 +0000 (02:34 +0100)]
Removed some logging

2 years agoFixed bug in page counting for elf file loading. Added support for writeable segments...
Amelia Coutard [Mon, 27 Feb 2023 16:55:49 +0000 (17:55 +0100)]
Fixed bug in page counting for elf file loading. Added support for writeable segments of elf files (RO is still RO)