> compile NEMU
221220000 张三 Linux zzy 5.15.146.1-microsoft-standard-WSL2 #1 SMP Thu Jan 11 04:09:03 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux 23:36:17 up 2 days, 13:50, 1 user, load average: 0.60, 0.55, 0.54
This commit is contained in:
@ -33,7 +33,6 @@ static uint32_t screen_size() {
|
|||||||
|
|
||||||
static void *vmem = NULL;
|
static void *vmem = NULL;
|
||||||
static uint32_t *vgactl_port_base = NULL;
|
static uint32_t *vgactl_port_base = NULL;
|
||||||
static uint32_t *sync_reg = NULL;
|
|
||||||
|
|
||||||
#ifdef CONFIG_VGA_SHOW_SCREEN
|
#ifdef CONFIG_VGA_SHOW_SCREEN
|
||||||
#ifndef CONFIG_TARGET_AM
|
#ifndef CONFIG_TARGET_AM
|
||||||
@ -75,10 +74,10 @@ static inline void update_screen() {
|
|||||||
void vga_update_screen() {
|
void vga_update_screen() {
|
||||||
// TODO: call `update_screen()` when the sync register is non-zero,
|
// TODO: call `update_screen()` when the sync register is non-zero,
|
||||||
// then zero out the sync register
|
// then zero out the sync register
|
||||||
if (*sync_reg != 0) {
|
if (vgactl_port_base[1] != 0) {
|
||||||
printf("Update Screen\n");
|
// printf("Update Screen\n");
|
||||||
update_screen();
|
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);
|
add_mmio_map("vgactl", CONFIG_VGA_CTL_MMIO, vgactl_port_base, 8, NULL);
|
||||||
#endif
|
#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());
|
vmem = new_space(screen_size());
|
||||||
add_mmio_map("vmem", CONFIG_FB_ADDR, vmem, screen_size(), NULL);
|
add_mmio_map("vmem", CONFIG_FB_ADDR, vmem, screen_size(), NULL);
|
||||||
IFDEF(CONFIG_VGA_SHOW_SCREEN, init_screen());
|
IFDEF(CONFIG_VGA_SHOW_SCREEN, init_screen());
|
||||||
|
Reference in New Issue
Block a user