diff --git a/Apps/Terminal/main.vp b/Apps/Terminal/main.vp index 8f24780..31f80b8 100644 --- a/Apps/Terminal/main.vp +++ b/Apps/Terminal/main.vp @@ -8,7 +8,7 @@ import vpsdk.stdio as stdio import string import viperlib from stdint import * -import t, c + @__attribute__(section(".text.startup"), aligned(16)) export def _start() -> int: diff --git a/Libs/SerialLogger/serial_logger.vp b/Libs/SerialLogger/serial_logger.vp index d143968..8815a9f 100644 --- a/Libs/SerialLogger/serial_logger.vp +++ b/Libs/SerialLogger/serial_logger.vp @@ -1,7 +1,7 @@ import vpsdk.devfs as devfs -import t, c -# S4:原先三次 SERIAL_PUTS 私有 syscall,现改为写 /dev/serial0 设备节点。 + + export def log_info(msg: const str): devfs.serial_puts("[SerialLogger] ") devfs.serial_puts(msg) diff --git a/vpsdk/dynlib.vp b/vpsdk/dynlib.vp index 0b19f1b..5839413 100644 --- a/vpsdk/dynlib.vp +++ b/vpsdk/dynlib.vp @@ -5,7 +5,4 @@ def load_so(path: const str) -> uint64: return syscall._syscall1(uint64(syscall.Syscall.LOAD_SO), uint64(path)) def so_call1(sym_name: const str, arg1: rawptr) -> int: - # arg1 只是原样交给系统调用的裸地址,故用 rawptr(未定/通配指针)而非 t.CPtr: - # 后者是具体类型的一级指针,调用方传字符串字面量(二级指针)会被判成级数不符 - # (CastError: pointer level differs, source level 2 -> target level 1)。 return int(syscall._syscall2(uint64(syscall.Syscall.SO_CALL1), uint64(sym_name), uint64(arg1)))