add some basic symbol stuff

This commit is contained in:
water
2020-09-07 13:28:16 -04:00
parent 1de0cbb6f6
commit ee4eb9f128
35 changed files with 841 additions and 81 deletions
+19 -1
View File
@@ -12,6 +12,7 @@
#include "kscheme.h"
#include "ksocket.h"
#include "klisten.h"
#include "kprint.h"
#ifdef _WIN32
#include "Windows.h"
@@ -133,7 +134,24 @@ void KernelCheckAndDispatch() {
auto old_listener = ListenerFunction->value;
// dispatch the kernel
//(**kernel_dispatcher)();
call_goal(Ptr<Function>(kernel_dispatcher->value), 0, 0, 0, s7.offset, g_ee_main_mem);
// todo remove. this is added while KERNEL.CGO is broken.
if (MasterUseKernel) {
call_goal(Ptr<Function>(kernel_dispatcher->value), 0, 0, 0, s7.offset, g_ee_main_mem);
} else {
if (ListenerFunction->value != s7.offset) {
auto cptr = Ptr<u8>(ListenerFunction->value).c();
for (int i = 0; i < 40; i++) {
printf("%x ", cptr[i]);
}
printf("\n");
auto result =
call_goal(Ptr<Function>(ListenerFunction->value), 0, 0, 0, s7.offset, g_ee_main_mem);
cprintf("%ld\n", result);
ListenerFunction->value = s7.offset;
}
}
// TODO-WINDOWS
#ifdef __linux__
ClearPending();