Rev 1288 | Rev 1639 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1288 | Rev 1290 | ||
---|---|---|---|
Line 395... | Line 395... | ||
395 | mov %cx,%ss; |
395 | mov %cx,%ss; |
396 | mov %ebp,%esp; |
396 | mov %ebp,%esp; |
397 | 397 | ||
398 | ljmpl $KTEXT,$(vesa_init_protect-vesa_init+VESA_INIT_SEGMENT<<4); |
398 | ljmpl $KTEXT,$(vesa_init_protect-vesa_init+VESA_INIT_SEGMENT<<4); |
399 | 399 | ||
400 | vesa_init_protect: |
- | |
401 | .code32 |
- | |
402 | ret; |
- | |
403 | 400 | ||
404 | 0: #Error no Prefered mode found |
401 | 0: #Error no Prefered mode found |
405 | - | ||
406 | mov $0x111,%cx; |
402 | mov $0x111,%cx; |
407 | push %di; |
403 | push %di; |
408 | push %cx; |
404 | push %cx; |
409 | mov $VESA_GET_MODE_INFO,%ax; |
405 | mov $VESA_GET_MODE_INFO,%ax; |
410 | int $0x10; |
406 | int $0x10; |
411 | pop %cx; |
407 | pop %cx; |
412 | pop %di; |
408 | pop %di; |
413 | cmp $VESA_OK,%al; |
409 | cmp $VESA_OK,%al; |
414 | jnz 1f; |
410 | jnz 1f; |
415 | jmp 2b; |
411 | jz 2b; /* Force relative jump */ |
416 | 412 | ||
417 | 1:mov $0x0003,%ax; |
413 | 1:mov $0x0003,%ax; |
418 | int $0x10; |
414 | int $0x10; |
419 | mov $0xffffffff,%edi; /* EGA text mode used, because of problems with VESA */ |
415 | mov $0xffffffff,%edi; /* EGA text mode used, because of problems with VESA */ |
420 | jmp 8; |
416 | xor %ax,%ax |
- | 417 | jz 8b; /* Force relative jump */ |
|
421 | 418 | ||
- | 419 | vesa_init_protect: |
|
- | 420 | .code32 |
|
- | 421 | ret; |
|
422 | 422 | ||
423 | vesa_idt: |
423 | vesa_idt: |
424 | .word 0x03ff |
424 | .word 0x03ff |
425 | .long 0 |
425 | .long 0 |
426 | .align 4 |
426 | .align 4 |