From ca91605b1dd8169239e81f3d412181149705da91 Mon Sep 17 00:00:00 2001 From: tracer-ics2023 Date: Sat, 14 Sep 2024 23:36:18 +0800 Subject: [PATCH] =?UTF-8?q?>=20=20compile=20NEMU=20221220000=20=E5=BC=A0?= =?UTF-8?q?=E4=B8=89=20Linux=20zzy=205.15.146.1-microsoft-standard-WSL2=20?= =?UTF-8?q?#1=20SMP=20Thu=20Jan=2011=2004:09:03=20UTC=202024=20x86=5F64=20?= =?UTF-8?q?x86=5F64=20x86=5F64=20GNU/Linux=20=2023:36:17=20up=202=20days,?= =?UTF-8?q?=2013:50,=20=201=20user,=20=20load=20average:=200.60,=200.55,?= =?UTF-8?q?=200.54?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nemu/src/device/vga.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/nemu/src/device/vga.c b/nemu/src/device/vga.c index 7b9c26d..44313aa 100644 --- a/nemu/src/device/vga.c +++ b/nemu/src/device/vga.c @@ -33,7 +33,6 @@ static uint32_t screen_size() { static void *vmem = NULL; static uint32_t *vgactl_port_base = NULL; -static uint32_t *sync_reg = NULL; #ifdef CONFIG_VGA_SHOW_SCREEN #ifndef CONFIG_TARGET_AM @@ -75,10 +74,10 @@ static inline void update_screen() { void vga_update_screen() { // TODO: call `update_screen()` when the sync register is non-zero, // then zero out the sync register - if (*sync_reg != 0) { - printf("Update Screen\n"); + if (vgactl_port_base[1] != 0) { + // printf("Update Screen\n"); update_screen(); - *sync_reg = 0; + vgactl_port_base[1] = 0; } } @@ -91,9 +90,6 @@ void init_vga() { add_mmio_map("vgactl", CONFIG_VGA_CTL_MMIO, vgactl_port_base, 8, NULL); #endif - sync_reg = (uint32_t*)new_space(8); - add_mmio_map("sync", CONFIG_VGA_CTL_MMIO + 8, sync_reg, 8, NULL); - vmem = new_space(screen_size()); add_mmio_map("vmem", CONFIG_FB_ADDR, vmem, screen_size(), NULL); IFDEF(CONFIG_VGA_SHOW_SCREEN, init_screen());