Changeset 1496f87 in mainline for kernel/arch/ia32/src/boot/vesa_real.inc
- Timestamp:
- 2009-03-18T16:26:01Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- eada065e
- Parents:
- 7dfc120a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/boot/vesa_real.inc
r7dfc120a r1496f87 5 5 #define VESA_INFO_SIZE 1024 6 6 7 #define VESA_MODE_ATTRIBUTES_OFFSET 0 8 #define VESA_MODE_LIST_PTR_OFFSET 14 9 #define VESA_MODE_SCANLINE_OFFSET 16 10 #define VESA_MODE_WIDTH_OFFSET 18 11 #define VESA_MODE_HEIGHT_OFFSET 20 12 #define VESA_MODE_BPP_OFFSET 25 13 #define VESA_MODE_PHADDR_OFFSET 40 14 15 #define VESA_END_OF_MODES 0xffff 16 17 #define VESA_OK 0x4f 18 19 #define VESA_GET_INFO 0x4f00 20 #define VESA_GET_MODE_INFO 0x4f01 21 #define VESA_SET_MODE 0x4f02 22 #define VESA_SET_PALETTE 0x4f09 7 #define VESA_MODE_ATTRIBUTES_OFFSET 0 8 #define VESA_MODE_LIST_PTR_OFFSET 14 9 #define VESA_MODE_SCANLINE_OFFSET 16 10 #define VESA_MODE_WIDTH_OFFSET 18 11 #define VESA_MODE_HEIGHT_OFFSET 20 12 #define VESA_MODE_BPP_OFFSET 25 13 #define VESA_MODE_RED_MASK_OFFSET 31 14 #define VESA_MODE_RED_POS_OFFSET 32 15 #define VESA_MODE_GREEN_MASK_OFFSET 33 16 #define VESA_MODE_GREEN_POS_OFFSET 34 17 #define VESA_MODE_BLUE_MASK_OFFSET 35 18 #define VESA_MODE_BLUE_POS_OFFSET 36 19 #define VESA_MODE_PHADDR_OFFSET 40 20 21 #define VESA_END_OF_MODES 0xffff 22 23 #define VESA_OK 0x4f 24 25 #define VESA_GET_INFO 0x4f00 26 #define VESA_GET_MODE_INFO 0x4f01 27 #define VESA_SET_MODE 0x4f02 28 #define VESA_SET_PALETTE 0x4f09 23 29 24 30 .code32 … … 278 284 vga_not_set: 279 285 280 mov VESA_MODE_PHADDR_OFFSET(%di), %esi 281 mov VESA_MODE_WIDTH_OFFSET(%di), %ax 286 # store mode parameters 287 # eax = bpp[8] scanline[16] 288 # ebx = width[16] height[16] 289 # edx = red_mask[8] red_pos[8] green_mask[8] green_pos[8] 290 # esi = blue_mask[8] blue_pos[8] 291 # edi = linear frame buffer 292 293 mov VESA_MODE_BPP_OFFSET(%di), %al 294 xor %ah, %ah 282 295 shl $16, %eax 283 mov VESA_MODE_ HEIGHT_OFFSET(%di), %ax284 mov VESA_MODE_BPP_OFFSET(%di), %bl285 xor %bh, %bh296 mov VESA_MODE_SCANLINE_OFFSET(%di), %ax 297 298 mov VESA_MODE_WIDTH_OFFSET(%di), %bx 286 299 shl $16, %ebx 287 mov VESA_MODE_SCANLINE_OFFSET(%di), %bx 288 mov %eax, %edi 300 mov VESA_MODE_HEIGHT_OFFSET(%di), %bx 301 302 mov VESA_MODE_BLUE_MASK_OFFSET(%di), %dl 303 shl $8, %edx 304 mov VESA_MODE_BLUE_POS_OFFSET(%di), %dl 305 mov %edx, %esi 306 307 mov VESA_MODE_RED_MASK_OFFSET(%di), %dl 308 shl $8, %edx 309 mov VESA_MODE_RED_POS_OFFSET(%di), %dl 310 shl $8, %edx 311 mov VESA_MODE_GREEN_MASK_OFFSET(%di), %dl 312 shl $8, %edx 313 mov VESA_MODE_GREEN_POS_OFFSET(%di), %dl 314 315 mov VESA_MODE_PHADDR_OFFSET(%di), %edi 289 316 290 317 vesa_leave_real: 291 318 292 mov %cr0, %e ax293 or $1, %e ax294 mov %e ax, %cr0319 mov %cr0, %ecx 320 or $1, %ecx 321 mov %ecx, %cr0 295 322 296 323 jmp vesa_leave_real2
Note:
See TracChangeset
for help on using the changeset viewer.