summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/boot.obin3184 -> 0 bytes
-rw-r--r--kernel/con.obin6496 -> 0 bytes
-rwxr-xr-xkernel/kernelbin14092 -> 0 bytes
-rw-r--r--kernel/kmain.c2
-rw-r--r--kernel/kmain.obin3288 -> 0 bytes
-rw-r--r--kernel/vsprintf.c33
-rw-r--r--kernel/vsprintf.obin3464 -> 0 bytes
7 files changed, 35 insertions, 0 deletions
diff --git a/kernel/boot.o b/kernel/boot.o
deleted file mode 100644
index 41427be..0000000
--- a/kernel/boot.o
+++ /dev/null
Binary files differ
diff --git a/kernel/con.o b/kernel/con.o
deleted file mode 100644
index 49168c9..0000000
--- a/kernel/con.o
+++ /dev/null
Binary files differ
diff --git a/kernel/kernel b/kernel/kernel
deleted file mode 100755
index 664108b..0000000
--- a/kernel/kernel
+++ /dev/null
Binary files differ
diff --git a/kernel/kmain.c b/kernel/kmain.c
index 2dc9e76..efdf8e6 100644
--- a/kernel/kmain.c
+++ b/kernel/kmain.c
@@ -7,4 +7,6 @@ void kmain(void) {
printf("Kernel booting...\n");
printf("Kernel booted!\n");
+
+ printf("Hello %s %s\n", "world!", "second");
}
diff --git a/kernel/kmain.o b/kernel/kmain.o
deleted file mode 100644
index 9a3a76d..0000000
--- a/kernel/kmain.o
+++ /dev/null
Binary files differ
diff --git a/kernel/vsprintf.c b/kernel/vsprintf.c
index f3feb43..ed2d8be 100644
--- a/kernel/vsprintf.c
+++ b/kernel/vsprintf.c
@@ -1,7 +1,17 @@
#include <stdarg.h>
+#include <stdint.h>
+
+enum TYPE {
+ TYPE_INT = 1,
+ TYPE_UINT = 2,
+ TYPE_HEX = 3,
+ TYPE_STRING = 4
+};
int vsprintf(char *str, char *fmt, va_list ap) {
+ char *s;
char *start = str;
+ uint8_t type;
while(*fmt) {
if(*fmt != '%') {
@@ -10,6 +20,29 @@ int vsprintf(char *str, char *fmt, va_list ap) {
}
fmt++;
+ while(1) {
+ switch(*fmt) {
+ case 's':
+ if(type)
+ goto done;
+ type = TYPE_STRING;
+ break;
+ default:
+ goto done;
+ break;
+ }
+ fmt++;
+ }
+
+done:
+
+ switch(type) {
+ case TYPE_STRING:
+ s = va_arg(ap, char*);
+ while(*s)
+ *str++ = *s++;
+ break;
+ }
}
*str = 0;
diff --git a/kernel/vsprintf.o b/kernel/vsprintf.o
deleted file mode 100644
index b5359fe..0000000
--- a/kernel/vsprintf.o
+++ /dev/null
Binary files differ