Commit Graph

215 Commits

Author SHA1 Message Date
9fda20ad21 Mention which module is loaded as the kernel 2018-06-07 11:28:51 -04:00
b01e31219e Register a dependency 2018-06-07 11:28:51 -04:00
76b961d00d Build position-independent kernels for i386
This is required to attempt to relocate them once loaded.
The same change for amd64 fails to link the kernel.
2018-06-07 11:28:51 -04:00
d321277d80 Abort when failing to relocate 2018-06-07 11:28:51 -04:00
23761d3dc7 Code cleanup 2018-06-07 11:28:51 -04:00
5d078a4094 Restore the stack state after calling multiboot() 2018-06-07 11:28:51 -04:00
70b9a70645 Import missing files 2018-06-07 11:28:51 -04:00
81623ef3a5 Import missing file 2018-06-07 11:28:51 -04:00
f35f4ed986 Add support for 64-bit relocations 2018-06-07 11:28:51 -04:00
5338c6143b Avoid some compilation warnings 2018-06-07 11:28:51 -04:00
b2d2221cd5 Add support for relocating 32-bit modules 2018-06-07 11:28:51 -04:00
00d9486b53 Align the kernel's Multiboot on the loader 2018-06-07 11:28:51 -04:00
a4f1f00c1e Also set the IDT in the i386 kernel 2018-06-07 11:28:51 -04:00
4c91f5ecb0 Code cleanup 2018-06-07 11:28:51 -04:00
5ee403dafd Fully re-use the IDT code from i386 2018-06-07 11:28:51 -04:00
790d3fb627 Allow re-using the Multiboot constants 2018-06-07 11:28:51 -04:00
9b6b86802f Let consoles be resized 2018-06-07 11:28:51 -04:00
2c71a23bb2 Detect when the VESA console driver should be in use 2018-06-07 11:28:51 -04:00
1e925e249f Prepare support for non-ELF modules 2018-06-07 11:28:51 -04:00
e9265d0fc7 No longer assume the console may be NULL 2018-06-07 11:28:51 -04:00
c094f968b7 Import missing include "drivers/console.h" 2018-06-07 11:28:51 -04:00
f037cd0996 Add a few comments 2018-06-07 11:28:51 -04:00
41bdc2fba2 Also include <string.h> as required 2018-06-07 11:28:51 -04:00
33aab60b09 Fix a return value 2018-06-07 11:28:51 -04:00
9e30bc0315 Reorganize the whole thing 2018-06-07 11:28:51 -04:00
89f9b74a83 Import more code to jump in 64-bit kernels 2018-06-07 11:28:51 -04:00
ccfc53af83 Use errno to store the error 2018-06-07 11:26:00 -04:00
3873e014e6 Clear the last lines when scrolling 2018-06-01 03:18:55 +02:00
8f493d836a Correct the VBE information in Multiboot 2018-05-30 00:46:40 +02:00
4e1048e71a Actually clear the stack after calling functions 2018-05-30 00:29:28 +02:00
1228db3c42 Use the correct flags for ukBootMultibootInfo 2018-05-27 20:15:36 +02:00
fbbaa8f17c Add constants for ukBootMultibootInfo's flags 2018-05-27 20:10:32 +02:00
1f9de79442 Fix building out of tree with object files already present 2018-05-27 20:07:16 +02:00
6e5f6d9fc8 Fix scrolling the console 2018-05-27 19:48:53 +02:00
fda77da39a Fix the optimization when scrolling the console 2018-05-27 19:48:07 +02:00
01befa0359 Import <ctype.h> into libuKernel 2018-05-27 16:17:14 +02:00
f6b2e9a7ab Give a NULL pointer for boot information in userland 2018-05-27 15:53:47 +02:00
7c68d824e3 Actually clear the stack after calling functions 2018-05-27 15:53:02 +02:00
88abf0ddfd Fix argc on i386 2018-04-13 04:44:23 +02:00
754e16241d Add the _edata symbol to the loader 2018-04-12 05:53:15 +02:00
eaf8800d78 Add the _end symbol to the loader 2018-04-12 05:53:05 +02:00
5c353eb5a7 Import memcmp() into <string.h> 2018-04-12 03:02:31 +02:00
ad36f07999 Correct some types in the bus API 2018-04-12 02:41:46 +02:00
e27eafa2f7 Initialize environ as well 2018-04-11 07:17:47 +02:00
a9aae10b39 Fix some instructions when starting and exiting the kernel 2018-04-11 07:14:47 +02:00
a1705d2c38 Code cleanup 2018-04-08 05:26:36 +02:00
43c67c0889 Fix setting the GDT 2018-04-08 05:25:09 +02:00
c8ba11c219 Import another linker script for 64-bit kernels 2018-04-08 00:48:55 +02:00
db320f41bd Fix finding the entrypoint for 64-bit kernels 2018-04-08 00:35:38 +02:00
2369a2338a Register a dependency 2018-04-08 00:21:50 +02:00