diff --git a/libc/runtime/mman.internal.h b/libc/runtime/mman.internal.h index 0af3bb84e..9f96ed695 100644 --- a/libc/runtime/mman.internal.h +++ b/libc/runtime/mman.internal.h @@ -26,8 +26,9 @@ struct mman { or pixels (graphics) */ unsigned short pc_video_height; /* 0x1d2e — height in chars. (text) or pixels (graphics) */ - uint32_t pc_video_framebuffer; /* 0x1d30 */ - uint32_t pc_video_framebuffer_size; /* 0x1d34 */ + uint64_t pc_video_framebuffer; /* 0x1d30 — physical address of + video frame buffer */ + uint64_t pc_video_framebuffer_size; /* 0x1d38 */ }; COSMOPOLITAN_C_END_ diff --git a/libc/vga/rlinit-vga.S b/libc/vga/rlinit-vga.S index 914b2a4fa..e61b6b438 100644 --- a/libc/vga/rlinit-vga.S +++ b/libc/vga/rlinit-vga.S @@ -66,6 +66,9 @@ movw $25,mm+"struct mman::pc_video_height" movl $0xb8000,mm+"struct mman::pc_video_framebuffer" movl $0x8000,mm+"struct mman::pc_video_framebuffer_size" + xor %eax,%eax + mov %eax,mm+"struct mman::pc_video_framebuffer"+4 + mov %eax,mm+"struct mman::pc_video_framebuffer_size"+4 mov $0x1003,%ax # enable/disable VGA text blinking #ifdef VGA_USE_BLINK mov $1,%bx