Rev 1289 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1289 | Rev 1291 | ||
---|---|---|---|
Line 419... | Line 419... | ||
419 | mov %cx,%ss; |
419 | mov %cx,%ss; |
420 | mov %ebp,%esp; |
420 | mov %ebp,%esp; |
421 | 421 | ||
422 | ljmpl $gdtselector(KTEXT32_DES),$(vesa_init_protect-vesa_init+VESA_INIT_SEGMENT<<4); |
422 | ljmpl $gdtselector(KTEXT32_DES),$(vesa_init_protect-vesa_init+VESA_INIT_SEGMENT<<4); |
423 | 423 | ||
424 | vesa_init_protect: |
- | |
425 | .code32 |
- | |
426 | ret; |
- | |
427 | - | ||
428 | 0: #Error no Prefered mode found |
- | |
429 | 424 | ||
- | 425 | 0:#Error no Prefered mode found |
|
430 | mov $0x111,%cx; |
426 | mov $0x111,%cx; |
431 | push %di; |
427 | push %di; |
432 | push %cx; |
428 | push %cx; |
433 | mov $VESA_GET_MODE_INFO,%ax; |
429 | mov $VESA_GET_MODE_INFO,%ax; |
434 | int $0x10; |
430 | int $0x10; |
435 | pop %cx; |
431 | pop %cx; |
436 | pop %di; |
432 | pop %di; |
437 | cmp $VESA_OK,%al; |
433 | cmp $VESA_OK,%al; |
438 | jnz 1f; |
434 | jnz 1f; |
439 | jmp 2b; |
435 | jz 2b; /* Force relative jump */ |
440 | 436 | ||
- | 437 | ||
441 | 1:mov $0x0003,%ax; |
438 | 1:mov $0x0003,%ax; |
442 | int $0x10; |
439 | int $0x10; |
443 | mov $0xffffffff,%edi; /* EGA text mode used, because of problems with VESA */ |
440 | mov $0xffffffff,%edi; /* EGA text mode used, because of problems with VESA */ |
- | 441 | xor %ax,%ax |
|
- | 442 | jz 8b; /* Force relative jump */ |
|
- | 443 | ||
- | 444 | ||
- | 445 | vesa_init_protect: |
|
- | 446 | .code32 |
|
444 | jmp 8; |
447 | ret; |
445 | 448 | ||
446 | 449 | ||
447 | vesa_idt: |
450 | vesa_idt: |
448 | .word 0x03ff |
451 | .word 0x03ff |
449 | .long 0 |
452 | .long 0 |