]> git.ameliathe1st.gay Git - voyage-au-centre-des-fichiers.git/log
voyage-au-centre-des-fichiers.git
2 years agoAdded Doxygen comments to all of the phys_ptr class
Amelia Coutard [Sat, 4 Jun 2022 14:23:47 +0000 (16:23 +0200)]
Added Doxygen comments to all of the phys_ptr class

2 years agoAdded the generated doxygen folder to .gitignore
Amelia Coutard [Sat, 4 Jun 2022 14:22:21 +0000 (16:22 +0200)]
Added the generated doxygen folder to .gitignore

2 years agoFixed the Doxyfile to include private members.
Amelia Coutard [Sat, 4 Jun 2022 14:21:17 +0000 (16:21 +0200)]
Fixed the Doxyfile to include private members.

2 years agoUpdated Makefile to gcc 11.2
Amelia Coutard [Sat, 4 Jun 2022 00:23:38 +0000 (02:23 +0200)]
Updated Makefile to gcc 11.2

2 years agoRemoved the equivalent of -Werror from the Doxyfile
Amelia Coutard [Sat, 4 Jun 2022 00:17:51 +0000 (02:17 +0200)]
Removed the equivalent of -Werror from the Doxyfile

2 years agoChanged assert to disable interrupts on assertion failure, before looping hlt
Amelia Coutard [Wed, 1 Jun 2022 01:24:20 +0000 (03:24 +0200)]
Changed assert to disable interrupts on assertion failure, before looping hlt

2 years agoRemoved the fact that the first address for userspace program text is 0x0000000000000...
Amelia Coutard [Fri, 27 May 2022 00:58:55 +0000 (02:58 +0200)]
Removed the fact that the first address for userspace program text is 0x0000000000000000 (moved it to 0x0000000000001000), to avoid UB in userspace programs

2 years agoGeneralized a bit the functions for printing to the serial port
Amelia Coutard [Fri, 27 May 2022 00:57:59 +0000 (02:57 +0200)]
Generalized a bit the functions for printing to the serial port

2 years agoAdded a bit of stuff to docs.txt, and removed information that had nothing to do...
Amelia Coutard [Fri, 27 May 2022 00:28:19 +0000 (02:28 +0200)]
Added a bit of stuff to docs.txt, and removed information that had nothing to do there

2 years agoChanged the name of the doxygen output folder from docs to doxyfile
Amelia Coutard [Fri, 27 May 2022 00:20:44 +0000 (02:20 +0200)]
Changed the name of the doxygen output folder from docs to doxyfile

2 years agoChanged nullptr to be ~0 instead of 0 for phys_ptr<T> and fixed a missing line in...
Amelia Coutard [Thu, 26 May 2022 18:21:29 +0000 (20:21 +0200)]
Changed nullptr to be ~0 instead of 0 for phys_ptr<T> and fixed a missing line in page_allocator

The goal is to allow usage of physical address 0. Removed the changing
of address <0x1000 to 0x1000 in the initial memory detection phase.

2 years agoChanged a return statement so that the count returned by the allocator is always...
Amelia Coutard [Thu, 26 May 2022 17:48:56 +0000 (19:48 +0200)]
Changed a return statement so that the count returned by the allocator is always the requested count, even if no allocation was performed (in which case, addr == nullptr)

2 years agoRemoved indentation of empty line
Amelia Coutard [Thu, 26 May 2022 17:47:22 +0000 (19:47 +0200)]
Removed indentation of empty line

2 years agoRemoved the framebuffer code: I will not be using it until it is reimplemented in...
Amelia Coutard [Thu, 26 May 2022 02:37:26 +0000 (04:37 +0200)]
Removed the framebuffer code: I will not be using it until it is reimplemented in userspace

2 years agoAdded a Doxyfile and updated the Makefile accordingly.
Amelia Coutard [Thu, 26 May 2022 02:32:16 +0000 (04:32 +0200)]
Added a Doxyfile and updated the Makefile accordingly.

2 years agoRemoved useless padding: didn't know that structs were padded to their alignment...
Amelia Coutard [Sat, 14 May 2022 22:43:03 +0000 (00:43 +0200)]
Removed useless padding: didn't know that structs were padded to their alignment automatically

2 years agoAdded specification of user program memory map
Amelia Coutard [Fri, 13 May 2022 01:35:25 +0000 (03:35 +0200)]
Added specification of user program memory map

2 years agoEnabled basic interrupts and setup LAPIC, (though no IOAPIC yet)
Amelia Coutard [Fri, 13 May 2022 01:23:13 +0000 (03:23 +0200)]
Enabled basic interrupts and setup LAPIC, (though no IOAPIC yet)

2 years agoUsed assert instead of if ! { halt() }, for consistency
Amelia Coutard [Fri, 13 May 2022 01:20:57 +0000 (03:20 +0200)]
Used assert instead of if ! { halt() }, for consistency

2 years agoAdded missing include (to use outb and inb)
Amelia Coutard [Thu, 12 May 2022 15:12:47 +0000 (17:12 +0200)]
Added missing include (to use outb and inb)

2 years agoFixed the IO map "in" the TSS
Amelia Coutard [Thu, 12 May 2022 14:58:53 +0000 (16:58 +0200)]
Fixed the IO map "in" the TSS

2 years agoRestructured code a bit, to move all snippets of asm to utils.{c,h}pp
Amelia Coutard [Thu, 12 May 2022 12:23:23 +0000 (14:23 +0200)]
Restructured code a bit, to move all snippets of asm to utils.{c,h}pp

2 years agoAdded missing volatile specifier to inline asm containing cli and hlt.
Amelia Coutard [Thu, 12 May 2022 12:17:50 +0000 (14:17 +0200)]
Added missing volatile specifier to inline asm containing cli and hlt.

2 years agoRemoved a useless include
Amelia Coutard [Thu, 12 May 2022 12:00:36 +0000 (14:00 +0200)]
Removed a useless include

2 years agoRefactored phys_ptr and fixed little errors
Amelia Coutard [Thu, 12 May 2022 11:20:38 +0000 (13:20 +0200)]
Refactored phys_ptr and fixed little errors

2 years agoRemoved constexpr for the *, -> and [] operators, and get_virt_addr, of phys_ptr...
Amelia Coutard [Thu, 12 May 2022 11:05:17 +0000 (13:05 +0200)]
Removed constexpr for the *, -> and [] operators, and get_virt_addr, of phys_ptr: it made no sense for those to be constexpr

2 years agoMoved phys_ptr to a separate file
Amelia Coutard [Thu, 12 May 2022 10:58:44 +0000 (12:58 +0200)]
Moved phys_ptr to a separate file

2 years agoRefactored boot.s a bit
Amelia Coutard [Thu, 12 May 2022 10:33:10 +0000 (12:33 +0200)]
Refactored boot.s a bit

2 years agoAdded operator- to phys_ptr<T>s, which allowed for simplifying a bit of the code
Amelia Coutard [Mon, 9 May 2022 09:29:54 +0000 (11:29 +0200)]
Added operator- to phys_ptr<T>s, which allowed for simplifying a bit of the code

2 years agoChanged the rounding of usable RAM addresses and the freeing of the multiboot2 info...
Amelia Coutard [Sun, 8 May 2022 22:48:36 +0000 (00:48 +0200)]
Changed the rounding of usable RAM addresses and the freeing of the multiboot2 info struct to avoid accidentally marking unusable RAM as usable

2 years agoChanged kernel_phys_start to not include the bootstrap code, so as to recover its...
Amelia Coutard [Sun, 8 May 2022 21:12:23 +0000 (23:12 +0200)]
Changed kernel_phys_start to not include the bootstrap code, so as to recover its memory as available

2 years agoMoved the past_the_end page of the page allocator to the c++ code, and made it and...
Amelia Coutard [Sun, 8 May 2022 19:45:23 +0000 (21:45 +0200)]
Moved the past_the_end page of the page allocator to the c++ code, and made it and the page allocator globals

2 years agoRemoved useless concept and replaced its one use with its definition
Amelia Coutard [Sun, 8 May 2022 18:44:09 +0000 (20:44 +0200)]
Removed useless concept and replaced its one use with its definition

2 years agoAdded support for global constructors and destructors
Amelia Coutard [Sun, 8 May 2022 18:41:23 +0000 (20:41 +0200)]
Added support for global constructors and destructors

2 years agoMaybe fixed a bug. Avoided a potential one, anyways
Amelia Coutard [Sun, 8 May 2022 18:38:53 +0000 (20:38 +0200)]
Maybe fixed a bug. Avoided a potential one, anyways

2 years agoAdded actual detection of RAM, to be able to use all of the computer's memory
Amelia Coutard [Sat, 7 May 2022 22:37:30 +0000 (00:37 +0200)]
Added actual detection of RAM, to be able to use all of the computer's memory

2 years agoAdded a special case for deallocating a 0-sized block, and remove the unimplemented...
Amelia Coutard [Sat, 7 May 2022 15:29:38 +0000 (17:29 +0200)]
Added a special case for deallocating a 0-sized block, and remove the unimplemented `mark_as_used`

2 years agoAdded missing inline specifiers to all function in multiboot2.hpp
Amelia Coutard [Sat, 7 May 2022 14:45:14 +0000 (16:45 +0200)]
Added missing inline specifiers to all function in multiboot2.hpp

2 years agoRemoved the RAM testing: it was useless
Amelia Coutard [Sat, 7 May 2022 14:34:57 +0000 (16:34 +0200)]
Removed the RAM testing: it was useless

2 years agoChanged "multiboot" to "multiboot2" in check for magic number in kernel.cpp
Amelia Coutard [Fri, 6 May 2022 23:01:21 +0000 (01:01 +0200)]
Changed "multiboot" to "multiboot2" in check for magic number in kernel.cpp

Only makes the error message more exact, no change in code behaviour.

2 years agoMade os::assert print "Error: " before the error message, updated calls accordingly
Amelia Coutard [Fri, 6 May 2022 23:00:41 +0000 (01:00 +0200)]
Made os::assert print "Error: " before the error message, updated calls accordingly

2 years agoChanged the physical page allocator completely, to make the code simpler
Amelia Coutard [Fri, 6 May 2022 22:57:12 +0000 (00:57 +0200)]
Changed the physical page allocator completely, to make the code simpler

2 years agoChanged the code to use the definitions in <cstdint> and <cstddef> instead of the...
Amelia Coutard [Fri, 6 May 2022 22:33:12 +0000 (00:33 +0200)]
Changed the code to use the definitions in <cstdint> and <cstddef> instead of the c equivalents

2 years agoAdded missing operators to phys_ptr.
Amelia Coutard [Fri, 6 May 2022 18:48:46 +0000 (20:48 +0200)]
Added missing operators to phys_ptr.

2 years agoAdded the system includes, to be able to use some of the standard headers (the freest...
Amelia Coutard [Fri, 6 May 2022 18:39:56 +0000 (20:39 +0200)]
Added the system includes, to be able to use some of the standard headers (the freestanding ones) until I make my os specific toolchain (in a long time, probably)

2 years agoChanged os::halt to use inline asm instead of an asm routine, and moved the cli instr...
Amelia Coutard [Thu, 5 May 2022 23:25:12 +0000 (01:25 +0200)]
Changed os::halt to use inline asm instead of an asm routine, and moved the cli instructions around

2 years agoAdded a basic framebuffer
Amelia Coutard [Thu, 5 May 2022 18:06:46 +0000 (20:06 +0200)]
Added a basic framebuffer

2 years agoAdded serial logging and a simple physical page allocator
Amelia Coutard [Thu, 5 May 2022 17:17:47 +0000 (19:17 +0200)]
Added serial logging and a simple physical page allocator

2 years agoMoved the kernel to 1MiB (to avoid problems with low memory-mapped IO).
Amelia Coutard [Thu, 5 May 2022 17:11:06 +0000 (19:11 +0200)]
Moved the kernel to 1MiB (to avoid problems with low memory-mapped IO).

Also had to change the low mapping to 2GiB instead of 2MiB, because the stack finished after 2MiB.

2 years agoUpdated Makefile qemu command (added stdio serial)
Amelia Coutard [Thu, 5 May 2022 12:11:05 +0000 (14:11 +0200)]
Updated Makefile qemu command (added stdio serial)

2 years agoAdded a map to 64TiB of physical memory in the first 64TiB (half) of the higher half...
Amelia Coutard [Wed, 4 May 2022 11:15:28 +0000 (13:15 +0200)]
Added a map to 64TiB of physical memory in the first 64TiB (half) of the higher half of memory

2 years agoUpdated Makefile
Amelia Coutard [Wed, 4 May 2022 11:12:16 +0000 (13:12 +0200)]
Updated Makefile
Made qemu allow 1GiB pages, and changed the compile args to use c++20.

2 years agoAdded missing #pragma once in multiboot2.hpp
Amelia Coutard [Thu, 28 Apr 2022 13:31:07 +0000 (15:31 +0200)]
Added missing #pragma once in multiboot2.hpp

2 years agoMade a proper GDT.
Amelia Coutard [Wed, 27 Apr 2022 22:30:35 +0000 (00:30 +0200)]
Made a proper GDT.

2 years agoChanged g++ mcmodel to kernel.
Amelia Coutard [Wed, 27 Apr 2022 20:58:16 +0000 (22:58 +0200)]
Changed g++ mcmodel to kernel.

2 years agoPut the kernel in the upper half.
Amelia Coutard [Wed, 27 Apr 2022 20:50:15 +0000 (22:50 +0200)]
Put the kernel in the upper half.

2 years agoInitial Commit
Amelia Coutard [Wed, 27 Apr 2022 20:33:52 +0000 (22:33 +0200)]
Initial Commit