Commit Graph

67 Commits

Author SHA1 Message Date
67d8e3d42a Register some dependencies 2018-04-04 03:54:59 +02:00
7416dcb8ac Avoid some compilation warnings 2018-04-04 03:54:49 +02:00
d5a8a6b6ee Match the errno values from NetBSD for the moment 2018-04-04 03:54:06 +02:00
edbfc3602a Consider the address as the file descriptor 2018-04-04 03:46:34 +02:00
cfe8938f38 Also ship the "stdio" bus driver 2018-04-04 03:45:42 +02:00
5e2ba55f86 Also ship the "stdio" console driver 2018-04-04 03:45:20 +02:00
ca9dc4bb53 Use buses for the userland implementation as well 2018-04-04 03:29:15 +02:00
7bb329e41a Migrate the console driver to a class 2018-04-04 02:43:48 +02:00
9bd6b85451 Code cleanup 2018-04-04 02:12:00 +02:00
202e0bb0ce Add a prefix to kernel classes 2018-04-04 02:11:01 +02:00
0ef750cd7e Migrate the bus driver to a class 2018-04-04 02:04:09 +02:00
e938588d31 Always report success from outb() 2018-04-04 02:00:17 +02:00
520baba815 Add support for moving the cursor 2018-04-04 01:47:03 +02:00
d67fe7e2f0 Introduce the "ioport" bus 2018-04-04 01:46:35 +02:00
0daf183bb0 Introduce <stdbool.h> 2018-04-04 01:43:03 +02:00
00360e361d Introduce <errno.h> 2018-04-04 01:37:36 +02:00
c1fa89b2fb Code cleanup 2018-04-02 12:35:36 +02:00
d1d4cc194e Factor common code for syscalls 2018-04-02 12:34:57 +02:00
290855355a Add support for OpenBSD to the user-land kernel 2018-03-29 22:47:19 +02:00
0602e738c2 Register a missing dependency 2018-03-29 22:47:19 +02:00
61dd856d6c Really disable the stack protector on OpenBSD 2018-03-28 06:25:39 +02:00
f46f70cc18 Fix importing crt{begin,end}.o
This may not bring the right versions of the object files though
(missing flags to $(CC)).
2018-03-28 05:52:45 +02:00
80045e1887 Also build the userland kernel with platform.sh 2018-03-28 05:43:41 +02:00
7a4342dfba Determine the {C,LD}FLAGS from a shell script
This should simplify targeting specific architectures for the moment.
2018-03-28 05:20:30 +02:00
5ca17648bf Begin a port on the amd64 architecture
This is still far from working.
2018-03-27 00:11:45 +02:00
30630b7e33 Mention cross-compilation 2018-03-27 00:06:52 +02:00
90eda9829f Markup 2018-03-27 00:06:44 +02:00
8d00697ed8 Add copyright information 2018-03-27 00:04:18 +02:00
335a0e4395 Code cleanup 2018-03-27 00:03:20 +02:00
d07ee6b951 No longer build with -m32 by default
This is currently correct, since only i386 is supported. To
cross-compile from amd64, it is still possible to use CC="gcc -m32".
2018-03-27 00:02:17 +02:00
e7113a8b49 Build libuKernel with -fPIC by default 2018-03-27 00:01:17 +02:00
28e7fcd905 Register uKernel 2018-03-27 00:00:24 +02:00
dcf2dc2e67 Build a userland version of the kernel for tests 2018-03-23 14:03:06 +01:00
5e6d68106b Move libuKernel to a subdirectory 2018-03-23 02:43:26 +01:00
6bd4ff4773 Also link with crt{begin,end}.o 2018-03-23 02:34:57 +01:00
c5addb33f4 Add support for the global constructors 2018-03-23 02:28:54 +01:00
195bd77aa6 Register more object types 2018-03-23 02:07:22 +01:00
008fa95b52 Import missing file 2018-03-22 00:47:45 +01:00
638a448eb3 Let qemu create a VGA console 2018-03-22 00:36:23 +01:00
1ff7ed8a50 Also link to the GitHub mirror for configure(1) 2018-03-22 00:36:12 +01:00
9a2cf8af5c Introduce libuKernel 2018-03-21 22:45:11 +01:00
22b23c8521 Register some dependencies 2018-03-21 03:17:51 +01:00
3a0315f9aa Implement abort() with exit() 2018-03-21 03:15:28 +01:00
2d55e05bfc Add support for stack-smashing protection (SSP) 2018-03-21 03:04:45 +01:00
ad9d9babd1 Always expose <stddef.h> from <string.h>
This is closer to a typical userland's behaviour.
2018-03-21 02:59:34 +01:00
15e2dc18d4 Add uint32_t 2018-03-21 02:59:11 +01:00
c9245359ef Add memset() 2018-03-21 02:30:12 +01:00
532ac8f131 Implement screen scrolling (untested) 2018-03-21 02:28:45 +01:00
1a773d7ab2 Print a message while booting 2018-03-21 02:08:31 +01:00
00ef683c6b Move definitions into vga.h 2018-03-21 01:59:28 +01:00