From 4c25e0e35c0b352e9fd4ac5ec14c1c471fdee487 Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Wed, 26 Aug 2026 23:25:15 +0800 Subject: [PATCH] =?UTF-8?q?debug(desktop,uhci):=20malloc=20=E5=88=A4?= =?UTF-8?q?=E7=A9=BA=E5=A4=B1=E8=B4=A5=E5=A4=84=E6=89=93=E5=8D=B0=E5=AE=9E?= =?UTF-8?q?=E9=99=85=E8=BF=94=E5=9B=9E=E5=80=BC=EF=BC=8C=E5=AE=9A=E4=BD=8D?= =?UTF-8?q?=20mm.malloc=20=E8=BF=94=E5=9B=9E=E5=80=BC=E4=B8=8E=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E6=96=B9=E6=8E=A5=E6=94=B6=E4=B8=8D=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VKernel/Kernel/drivers/usb/uhci.vp | 4 ++++ VKernel/Kernel/services/desktop.vp | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/VKernel/Kernel/drivers/usb/uhci.vp b/VKernel/Kernel/drivers/usb/uhci.vp index 22e381c..298d2bc 100644 --- a/VKernel/Kernel/drivers/usb/uhci.vp +++ b/VKernel/Kernel/drivers/usb/uhci.vp @@ -7,6 +7,7 @@ import platform.pch.timer as timer import intr.idt as idt import platform.pch.pic as pic import drivers.usb.pci as pci +import viperlib UHCI_USBCMD: t.CDefine = 0x00 UHCI_USBSTS: t.CDefine = 0x02 @@ -253,6 +254,9 @@ def init(io_base: t.CUInt16T) -> t.CInt: serial.puts("[uhci] allocating frame list...\n") _frame_list = mm.malloc(UHCI_NUM_FRAMES * 4) + _dbg_fl: t.CArray[t.CChar, 96] + viperlib.snprintf(c.Addr(_dbg_fl), 96, "[dbg] frame_list ret=0x%lx\n", t.CUInt64T(_frame_list)) + serial.puts(c.Addr(_dbg_fl)) if _frame_list is None: serial.puts("[uhci] frame list alloc failed\n") return -2 diff --git a/VKernel/Kernel/services/desktop.vp b/VKernel/Kernel/services/desktop.vp index 5494914..8a18d73 100644 --- a/VKernel/Kernel/services/desktop.vp +++ b/VKernel/Kernel/services/desktop.vp @@ -1856,6 +1856,9 @@ def start(fb_ptr: t.CVoid | t.CPtr, w: t.CInt, h: t.CInt, pitch: t.CInt = 0) -> return None _back_fb = mm.malloc(w * h * 4) + _dbg_bf: t.CArray[t.CChar, 96] + viperlib.snprintf(c.Addr(_dbg_bf), 96, "[dbg] back_fb ret=0x%lx w=%d h=%d\n", t.CUInt64T(_back_fb), w, h) + serial.puts(c.Addr(_dbg_bf)) if _back_fb: string.memset(_back_fb, 0, w * h * 4) else: @@ -1863,12 +1866,18 @@ def start(fb_ptr: t.CVoid | t.CPtr, w: t.CInt, h: t.CInt, pitch: t.CInt = 0) -> return None _row_buf = mm.malloc(w * 4) + _dbg_rb: t.CArray[t.CChar, 96] + viperlib.snprintf(c.Addr(_dbg_rb), 96, "[dbg] row_buf ret=0x%lx\n", t.CUInt64T(_row_buf)) + serial.puts(c.Addr(_dbg_rb)) if _row_buf: string.memset(_row_buf, 0, w * 4) else: serial.puts("[desktop] row_buf malloc FAILED!\n") _bg_row_buf = mm.malloc(w * 4) + _dbg_br: t.CArray[t.CChar, 96] + viperlib.snprintf(c.Addr(_dbg_br), 96, "[dbg] bg_row_buf ret=0x%lx\n", t.CUInt64T(_bg_row_buf)) + serial.puts(c.Addr(_dbg_br)) if _bg_row_buf: desktop_init_col: t.CUInt32T = gfx.COLOR_RGB(25, 25, 35) for ri in range(w):