🆕 重新初始化页表并重映射了VBE帧缓存区

This commit is contained in:
fslongjin
2022-03-01 20:21:32 +08:00
parent 1faa84d942
commit db8604c1e3
8 changed files with 304 additions and 108 deletions

View File

@ -354,13 +354,13 @@ ENTRY(_start64)
//
mov $__PML4E, %eax
mov $__PDPTE, %ebx
or $0x7, %ebx
or $0x3, %ebx
mov %ebx, 0(%eax)
//
mov $__PDPTE, %eax
mov $__PDE, %ebx
or $0x7, %ebx
or $0x3, %ebx
mov %ebx, 0(%eax)
@ -493,56 +493,56 @@ ENTRY(_stack_start)
.org 0x1000 //0x1000
__PML4E:
.quad 0x103007 // 访 31~12
.quad 0x103003 // 访 31~12
.fill 255,8,0
.quad 0x103007
.quad 0x103003
.fill 255,8,0
.org 0x2000
__PDPTE:
.quad 0x104007 // 访
.quad 0x104003 // 访
.fill 511,8,0
.org 0x3000
__PDE:
.quad 0x000087 // 访
.quad 0x200087
.quad 0x400087
.quad 0x600087
.quad 0x800087
.quad 0xa00087
.quad 0xc00087
.quad 0xe00087
.quad 0x1000087
.quad 0x1200087
.quad 0x1400087
.quad 0x1600087
.quad 0x1800087
.quad 0x1a00087
.quad 0x1c00087
.quad 0x1e00087
.quad 0x2000087
.quad 0x2200087
.quad 0x2400087
.quad 0x2600087
.quad 0x2800087
.quad 0x2a00087
.quad 0x2c00087
.quad 0x2e00087
.quad 0x000083 // 访
.quad 0x200083
.quad 0x400083
.quad 0x600083
.quad 0x800083
.quad 0xa00083
.quad 0xc00083
.quad 0xe00083
.quad 0x1000083
.quad 0x1200083
.quad 0x1400083
.quad 0x1600083
.quad 0x1800083
.quad 0x1a00083
.quad 0x1c00083
.quad 0x1e00083
.quad 0x2000083
.quad 0x2200083
.quad 0x2400083
.quad 0x2600083
.quad 0x2800083
.quad 0x2a00083
.quad 0x2c00083
.quad 0x2e00083
.quad 0xe0000087 /*虚拟地址0x 3000000 帧缓冲区映射到这里*/
.quad 0xe0200087
.quad 0xe0400087
.quad 0xe0600087 /*0x1000000*/
.quad 0xe0800087
.quad 0xe0a00087
.quad 0xe0c00087
.quad 0xe0e00087
.quad 0xe0000083 /*虚拟地址0x 3000000 初始情况下,帧缓冲区映射到这里*/
.quad 0xe0200083
.quad 0xe0400083
.quad 0xe0600083 /*0x1000000*/
.quad 0xe0800083
.quad 0xe0a00083
.quad 0xe0c00083
.quad 0xe0e00083
.fill 480,8,0
// GDT