50 Commits

Author SHA1 Message Date
07e8225be2 Attempt to not make the build fail if x86_64-elf-g++ is missing if it's not actually required. 2024-02-03 02:24:42 +01:00
3ec4fa78b4 Added options to compile stdlib and init executable. 2024-02-03 02:09:28 +01:00
c2a40a8104 Added exit() function and renamed stdlib file to libc.a so GCC is happy. 2024-02-03 01:05:26 +01:00
ca08dcc79b Removed stdint.h again. 2024-02-03 00:50:02 +01:00
debbd09b6d Added --target option to compile either os or stdlib. And renamed previous --target to --arch. 2024-02-03 00:38:47 +01:00
3cd4fe9537 Improved SCons script for building the userspace stdlib. 2024-02-02 22:16:02 +01:00
a096458bdb I might be too tired. 2024-02-02 02:09:25 +01:00
d03604c061 Inherit environment variables so it finds the compilers in PATH. 2024-02-02 02:06:57 +01:00
3d284a0bde Added parameter to compile only the stdlib. 2024-02-02 01:57:36 +01:00
c43e8ebd6c Added target for userspace stdlib. 2024-02-02 01:50:56 +01:00
99b1252f5d Moved bastl into target/_any folder. 2024-02-02 00:25:32 +01:00
9b9d5ade09 Added missing exit() declaration and missing SEEK_ macros. 2024-02-02 00:13:52 +01:00
918aab5b2e Added missing declarations of stdout and stderr. 2024-02-02 00:08:52 +01:00
712b95c9d7 Moved stdlib to a seperate folder and added some more headers that are required for compiling libgcc (no implementation yet). 2024-02-02 00:01:48 +01:00
00f4e0de3a Some minor adjustments to ensure alignment of PCI header. 2024-01-29 18:39:49 +01:00
54a5ee720f Some restructuring. 2024-01-29 18:14:20 +01:00
3fff3bd8fc Fix setup of usermode stack and added final system call to exit. 2024-01-27 22:51:45 +01:00
193e3a19dc Implemented more STL and page allocation for malloc. 2024-01-27 15:24:50 +01:00
edd9ee85c7 Implemented syscalls and jump to usermode. 2024-01-27 01:56:51 +01:00
9c70cfa846 (kind of) finished the paging setup. We'll see... 2024-01-26 18:03:23 +01:00
836d589c9b WIP: paging and better malloc. 2024-01-26 15:02:30 +01:00
75ec3751fe Added progIF to lspci output. 2024-01-22 01:52:50 +01:00
fa6dab4f88 Added PCI device detection and a start script. 2024-01-22 01:49:02 +01:00
847bf8c84b Store terminal characters. 2024-01-21 10:49:11 +01:00
c41a9a1034 Implemented something like a console (still WIP). 2024-01-20 02:52:58 +01:00
f4bad14fcd Implemented simple IO for getting keyboard input. 2024-01-20 01:13:29 +01:00
d711938821 Added TSS and code to enter user mode (kind of). 2024-01-19 09:42:58 +01:00
355b1641bd Print some info on exceptions. 2024-01-19 00:06:00 +01:00
9f1f1e80f2 Added handlers for some interrupts and fixed terminal scrolling. 2024-01-18 18:56:38 +01:00
c097da920d Some cleanup, moved PS2 code to drivers folder in the shared sources. 2024-01-18 16:46:40 +01:00
04d25d498d Added PIC initialization and keyboard. 2024-01-18 02:24:42 +01:00
f03963a485 Removed logfile. 2024-01-17 02:23:10 +01:00
e2c4fdb312 Added basic GDT and (very) basic IDT. And serial output. 2024-01-17 02:22:48 +01:00
ab4ab761f0 Changed default architecture to x86_64 (i686 probably won't work anyway). 2024-01-16 19:11:51 +01:00
c745c2d2d3 Improved scrolling and added better memcpy/memmove functions written in assembly. 2024-01-16 13:16:03 +01:00
6ec9e0d320 [WIP] Implementing "console" output and stuff. 2024-01-16 10:21:14 +01:00
e938f76823 Added header for OS drawing and a double buffer. 2024-01-15 18:09:48 +01:00
9962ef21f2 Added framebuffer initialization using GOP. 2024-01-15 16:21:06 +01:00
bf8949113b Clean-up loader and added fetching of the memory map. 2024-01-15 14:21:25 +01:00
8f6cc36637 Added notes.txt to keep my command lines and other stuff. 2024-01-15 09:49:58 +01:00
474090d4a0 Added UEFI application as loader for the 64bit kernel. 2024-01-15 09:48:48 +01:00
cd20e87196 (WIP) Loader for 64 bit kernel. 2024-01-14 12:55:41 +01:00
408e06b2e0 Split up source and added basic support for different targets. 2024-01-12 17:19:27 +01:00
219a48c616 Also added a pretty much untested and totally incomplete STL string type. 2024-01-12 01:31:43 +01:00
ff3214fa5a Some more stdlib (array and vector, untested so far). 2024-01-12 00:13:45 +01:00
164f05bd59 Using the memory map for the heap. 2024-01-11 22:54:41 +01:00
97732de3ae Something about heap and memory maps and such. Also fixed C++ global constructors. 2024-01-11 17:55:12 +01:00
0348b24f05 Added some more stdlib. 2024-01-11 00:28:38 +01:00
1756b6a1a9 Started implementing a C++ stdlib. And improved the print function by adding newline support and scrolling. 2024-01-10 22:46:44 +01:00
0b05970c71 Initial commit. 2024-01-10 18:09:20 +01:00