git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Implement APIC, RTC, basic ACPI parser and timer support
[lunaix-os.git]
/
lunaix-os
/
kernel
/
k_main.c
diff --git
a/lunaix-os/kernel/k_main.c
b/lunaix-os/kernel/k_main.c
index 9468db342abcf8bf3fea778c1eebd17564b7e82e..8104408692b8f4111a0aa168c8125c24266e7160 100644
(file)
--- a/
lunaix-os/kernel/k_main.c
+++ b/
lunaix-os/kernel/k_main.c
@@
-1,38
+1,38
@@
-#include <stdint.h>
-#include <lunaix/mm/vmm.h>
-#include <lunaix/mm/kalloc.h>
#include <hal/cpu.h>
#include <hal/cpu.h>
-#include <libc/stdio.h>
+#include <hal/rtc.h>
+#include <lunaix/syslog.h>
+#include <lunaix/mm/kalloc.h>
+#include <lunaix/mm/vmm.h>
#include <lunaix/spike.h>
#include <lunaix/spike.h>
+#include <stdint.h>
extern uint8_t __kernel_start;
extern uint8_t __kernel_start;
+LOG_MODULE("LX")
+
void
_kernel_main()
{
char buf[64];
void
_kernel_main()
{
char buf[64];
-
-
printf(
"Hello higher half kernel world!\nWe are now running in virtual "
+
+
kprintf(KINFO
"Hello higher half kernel world!\nWe are now running in virtual "
"address space!\n\n");
"address space!\n\n");
-
+
cpu_get_brand(buf);
cpu_get_brand(buf);
- printf("CPU: %s\n\n", buf);
+
k
printf("CPU: %s\n\n", buf);
void* k_start = vmm_v2p(&__kernel_start);
void* k_start = vmm_v2p(&__kernel_start);
-
printf(
"The kernel's base address mapping: %p->%p\n", &__kernel_start, k_start);
+
kprintf(KINFO
"The kernel's base address mapping: %p->%p\n", &__kernel_start, k_start);
// test malloc & free
// test malloc & free
-
- uint8_t** arr = (uint8_t**) lxmalloc(10 * sizeof(uint8_t*));
-
- for (size_t i = 0; i < 10; i++)
- {
- arr[i] = (uint8_t*) lxmalloc((i + 1) * 2);
- }
+ uint8_t** arr = (uint8_t**)lxmalloc(10 * sizeof(uint8_t*));
+
+ for (size_t i = 0; i < 10; i++) {
+ arr[i] = (uint8_t*)lxmalloc((i + 1) * 2);
+ }
- for (size_t i = 0; i < 10; i++)
- {
+ for (size_t i = 0; i < 10; i++) {
lxfree(arr[i]);
}
lxfree(arr[i]);
}
@@
-41,18
+41,11
@@
_kernel_main()
big_[1] = 23;
big_[2] = 3;
big_[1] = 23;
big_[2] = 3;
-
printf("%u, %u, %u
", big_[0], big_[1], big_[2]);
-
+
kprintf(KINFO "%u, %u, %u\n
", big_[0], big_[1], big_[2]);
+
// good free
lxfree(arr);
lxfree(big_);
// good free
lxfree(arr);
lxfree(big_);
- // uint8_t* bad1 = lxmalloc(123);
- // void* bad2 = lxmalloc(1);
-
- // *((uint32_t*)(bad1 - 4)) = 0xc2343312UL;
-
- // // bad free
- // lxfree(bad1);
- // lxfree(bad2 - 2);
+ spin();
}
\ No newline at end of file
}
\ No newline at end of file