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 |