From efa38a7d5d6a44665d692439fb60e991d455a700 Mon Sep 17 00:00:00 2001 From: login Date: Wed, 12 Oct 2022 18:45:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=86=85=E6=A0=B8=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B=E6=9D=A5=E5=88=B7=E6=96=B0=E5=B1=8F=E5=B9=95=20(#57)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 修改了test-idr的错误 * new: 修复切换双缓冲的时候的卡顿问题 Signed-off-by: guanjinquan <1666320330@qq.com> Co-authored-by: guanjinquan <1666320330@qq.com> Co-authored-by: fslongjin --- .vscode/settings.json | 3 +- kernel/driver/pci/pci.c | 3 +- kernel/driver/video/video.c | 100 +++++++++++++++++++++--------- kernel/ktest/test-idr.c | 2 +- kernel/lib/libUI/screen_manager.c | 30 +++++---- kernel/lib/libUI/textui.c | 46 ++++++++------ kernel/main.c | 2 +- kernel/process/process.c | 43 +++++++------ kernel/sched/sched.c | 4 +- kernel/time/timer.h | 5 +- run.sh | 1 + 11 files changed, 152 insertions(+), 87 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 21352bc2..c4e42aef 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -144,7 +144,8 @@ "ktest_utils.h": "c", "kthread.h": "c", "lockref.h": "c", - "compiler_attributes.h": "c" + "compiler_attributes.h": "c", + "timer.h": "c" }, "C_Cpp.errorSquiggles": "Enabled", "esbonio.sphinx.confDir": "" diff --git a/kernel/driver/pci/pci.c b/kernel/driver/pci/pci.c index a1538493..db39e754 100644 --- a/kernel/driver/pci/pci.c +++ b/kernel/driver/pci/pci.c @@ -439,7 +439,8 @@ void pci_init() { if (ptr->Status & 0x10) { - kinfo("[ pci device %d ] class code = %d\tsubclass=%d\tstatus=%#010lx\tcap_pointer=%#010lx\tbar5=%#010lx", i, ptr->Class_code, ptr->SubClass, ptr->Status, ((struct pci_device_structure_general_device_t *)ptr)->Capabilities_Pointer, ((struct pci_device_structure_general_device_t *)ptr)->BAR5); + kinfo("[ pci device %d ] class code = %d\tsubclass=%d\tstatus=%#010lx\tcap_pointer=%#010lx\tbar5=%#010lx, vendor=%#08x, device id=%#08x", i, ptr->Class_code, ptr->SubClass, ptr->Status, ((struct pci_device_structure_general_device_t *)ptr)->Capabilities_Pointer, ((struct pci_device_structure_general_device_t *)ptr)->BAR5, + ptr->Vendor_ID, ptr->Device_ID); uint32_t tmp = pci_read_config(ptr->bus, ptr->device, ptr->func, ((struct pci_device_structure_general_device_t *)ptr)->Capabilities_Pointer); } else diff --git a/kernel/driver/video/video.c b/kernel/driver/video/video.c index 79be713e..c20d4ddd 100644 --- a/kernel/driver/video/video.c +++ b/kernel/driver/video/video.c @@ -1,17 +1,17 @@ #include "video.h" -#include -#include -#include -#include