]>
git.ameliathe1st.gay Git - voyage-au-centre-des-fichiers.git/log
summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Amelia Coutard [Fri, 13 May 2022 01:35:25 +0000 (03:35 +0200)]
Added specification of user program memory map
Amelia Coutard [Fri, 13 May 2022 01:23:13 +0000 (03:23 +0200)]
Enabled basic interrupts and setup LAPIC, (though no IOAPIC yet)
Amelia Coutard [Fri, 13 May 2022 01:20:57 +0000 (03:20 +0200)]
Used assert instead of if ! { halt() }, for consistency
Amelia Coutard [Thu, 12 May 2022 15:12:47 +0000 (17:12 +0200)]
Added missing include (to use outb and inb)
Amelia Coutard [Thu, 12 May 2022 14:58:53 +0000 (16:58 +0200)]
Fixed the IO map "in" the TSS
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
Amelia Coutard [Thu, 12 May 2022 12:17:50 +0000 (14:17 +0200)]
Added missing volatile specifier to inline asm containing cli and hlt.
Amelia Coutard [Thu, 12 May 2022 12:00:36 +0000 (14:00 +0200)]
Removed a useless include
Amelia Coutard [Thu, 12 May 2022 11:20:38 +0000 (13:20 +0200)]
Refactored phys_ptr and fixed little errors
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
Amelia Coutard [Thu, 12 May 2022 10:58:44 +0000 (12:58 +0200)]
Moved phys_ptr to a separate file
Amelia Coutard [Thu, 12 May 2022 10:33:10 +0000 (12:33 +0200)]
Refactored boot.s a bit
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
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
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
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
Amelia Coutard [Sun, 8 May 2022 18:44:09 +0000 (20:44 +0200)]
Removed useless concept and replaced its one use with its definition
Amelia Coutard [Sun, 8 May 2022 18:41:23 +0000 (20:41 +0200)]
Added support for global constructors and destructors
Amelia Coutard [Sun, 8 May 2022 18:38:53 +0000 (20:38 +0200)]
Maybe fixed a bug. Avoided a potential one, anyways
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
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`
Amelia Coutard [Sat, 7 May 2022 14:45:14 +0000 (16:45 +0200)]
Added missing inline specifiers to all function in multiboot2.hpp
Amelia Coutard [Sat, 7 May 2022 14:34:57 +0000 (16:34 +0200)]
Removed the RAM testing: it was useless
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.
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
Amelia Coutard [Fri, 6 May 2022 22:57:12 +0000 (00:57 +0200)]
Changed the physical page allocator completely, to make the code simpler
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
Amelia Coutard [Fri, 6 May 2022 18:48:46 +0000 (20:48 +0200)]
Added missing operators to phys_ptr.
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)
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
Amelia Coutard [Thu, 5 May 2022 18:06:46 +0000 (20:06 +0200)]
Added a basic framebuffer
Amelia Coutard [Thu, 5 May 2022 17:17:47 +0000 (19:17 +0200)]
Added serial logging and a simple physical page allocator
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.
Amelia Coutard [Thu, 5 May 2022 12:11:05 +0000 (14:11 +0200)]
Updated Makefile qemu command (added stdio serial)
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
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.
Amelia Coutard [Thu, 28 Apr 2022 13:31:07 +0000 (15:31 +0200)]
Added missing #pragma once in multiboot2.hpp
Amelia Coutard [Wed, 27 Apr 2022 22:30:35 +0000 (00:30 +0200)]
Made a proper GDT.
Amelia Coutard [Wed, 27 Apr 2022 20:58:16 +0000 (22:58 +0200)]
Changed g++ mcmodel to kernel.
Amelia Coutard [Wed, 27 Apr 2022 20:50:15 +0000 (22:50 +0200)]
Put the kernel in the upper half.
Amelia Coutard [Wed, 27 Apr 2022 20:33:52 +0000 (22:33 +0200)]
Initial Commit