Subversion Repositories Kolibri OS

Rev

Rev 9942 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9942 Rev 9958
Line 9... Line 9...
9
;;  KolibriOS 16-bit loader,                                    ;;
9
;;  KolibriOS 16-bit loader,                                    ;;
10
;;                        based on bootcode for MenuetOS        ;;
10
;;                        based on bootcode for MenuetOS        ;;
11
;;                                                              ;;
11
;;                                                              ;;
12
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
12
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 13... Line 13...
13
 
13
 
Line 14... Line 14...
14
$Revision: 9942 $
14
$Revision: 9958 $
15
 
15
 
16
 
16
 
Line 478... Line 478...
478
        mov     [es:BOOT_LO.apm_data_16], dx
478
        mov     [es:BOOT_LO.apm_data_16], dx
Line 479... Line 479...
479
 
479
 
480
apm_end:
480
apm_end:
Line -... Line 481...
-
 
481
        _setcursor d80x25_top_num, 0
-
 
482
 
-
 
483
; --------------- ACPI ---------------------
-
 
484
ACPI_LO_RSDP_WINDOW_END    = 0x000A0000
-
 
485
ACPI_HI_RSDP_WINDOW_START  = 0x000E0000
-
 
486
 
-
 
487
acpi:
-
 
488
        xor     eax, eax
-
 
489
        mov     [es:BOOT_LO.devicesdat_data], eax
-
 
490
        mov     [es:BOOT_LO.devicesdat_size], eax
-
 
491
        mov     [es:BOOT_LO.acpi_rsdp], eax
-
 
492
        push    ds
-
 
493
        mov     ds, ax
-
 
494
        mov     ax, word [40Eh]
-
 
495
        add     ax, 64
-
 
496
.check:
-
 
497
        mov     ds, ax
-
 
498
        cmp     [ds:0], dword 'RSD '
-
 
499
        jne     .next
-
 
500
        cmp     [ds:4], dword 'PTR '
-
 
501
        jne     .next
-
 
502
        shl     eax, 4
-
 
503
        mov     [es:BOOT_LO.acpi_rsdp], eax
-
 
504
        jmp     .end
-
 
505
.next:
-
 
506
        inc     ax
-
 
507
        ; skip VRAM and ROM area A0000h to E0000h
-
 
508
        cmp     ax, (ACPI_LO_RSDP_WINDOW_END shr 4)
-
 
509
        jne     @f
-
 
510
        add     ax, ((ACPI_HI_RSDP_WINDOW_START - ACPI_LO_RSDP_WINDOW_END) shr 4)
-
 
511
@@:     ; end of 1Mb?
-
 
512
        or      ax, ax
-
 
513
        jnz     .check
-
 
514
.end:
481
        _setcursor d80x25_top_num, 0
515
        pop     ds
482
 
516
 
483
if ~ defined extended_primary_loader
517
if ~ defined extended_primary_loader
484
;CHECK current of code
518
;CHECK current of code
485
        cmp     [cfgmanager.loader_block], -1
519
        cmp     [cfgmanager.loader_block], -1