]> git.ameliathe1st.gay Git - voyage-au-centre-des-fichiers.git/log
voyage-au-centre-des-fichiers.git
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