Subversion Repositories Kolibri OS

Rev

Rev 7130 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7130 Rev 7132
Line 68... Line 68...
68
        cmp     [rdi + 0], rax
68
        cmp     [rdi + 0], rax
69
        jnz     .not_acpi20
69
        jnz     .not_acpi20
70
        cmp     [rdi + 8], rdx
70
        cmp     [rdi + 8], rdx
71
        jnz     .not_acpi20
71
        jnz     .not_acpi20
72
        mov     rax, [rdi + 16]
72
        mov     rax, [rdi + 16]
73
        mov     rdx, BOOT_ACPI_RSDP
73
        mov     rdx, BOOT_LO.acpi_rsdp
74
        mov     [rdx], eax
74
        mov     [rdx], eax
75
;jmp $
75
;jmp $
76
        jmp     .all_tables_done
76
        jmp     .all_tables_done
77
  .not_acpi20:
77
  .not_acpi20:
78
        add     rdi, 24
78
        add     rdi, 24
Line 155... Line 155...
155
        cmp     rax, EFI_SUCCESS
155
        cmp     rax, EFI_SUCCESS
156
        jnz     .error
156
        jnz     .error
157
        mov     rcx, [gop_info]
157
        mov     rcx, [gop_info]
158
        mov     eax, [rcx + EFI_GRAPHICS_OUTPUT_MODE_INFORMATION.HorizontalResolution]
158
        mov     eax, [rcx + EFI_GRAPHICS_OUTPUT_MODE_INFORMATION.HorizontalResolution]
159
        xor     rdx, rdx
159
        xor     rdx, rdx
160
        mov     word [rdx + BOOT_X_RES], ax
160
        mov     word [rdx + BOOT_LO.x_res], ax
161
        mov     eax, [rcx + EFI_GRAPHICS_OUTPUT_MODE_INFORMATION.VerticalResolution]
161
        mov     eax, [rcx + EFI_GRAPHICS_OUTPUT_MODE_INFORMATION.VerticalResolution]
162
        mov     word [rdx + BOOT_Y_RES], ax
162
        mov     word [rdx + BOOT_LO.y_res], ax
163
        mov     eax, [rcx + EFI_GRAPHICS_OUTPUT_MODE_INFORMATION.PixelsPerScanLine]
163
        mov     eax, [rcx + EFI_GRAPHICS_OUTPUT_MODE_INFORMATION.PixelsPerScanLine]
164
        shl     eax, 2
164
        shl     eax, 2
165
        mov     word [rdx + BOOT_PITCH], ax
165
        mov     word [rdx + BOOT_LO.pitch], ax
Line 166... Line 166...
166
 
166
 
167
        mov     byte [rdx + BOOT_PCI_DATA + 0], 1
167
        mov     byte [rdx + BOOT_LO.pci_data + 0], 1
168
        mov     byte [rdx + BOOT_PCI_DATA + 1], 0
168
        mov     byte [rdx + BOOT_LO.pci_data + 1], 0
169
        mov     byte [rdx + BOOT_PCI_DATA + 2], 0x10
169
        mov     byte [rdx + BOOT_LO.pci_data + 2], 0x10
170
        mov     byte [rdx + BOOT_PCI_DATA + 3], 0x02
170
        mov     byte [rdx + BOOT_LO.pci_data + 3], 0x02
Line 171... Line 171...
171
        mov     dword [rdx + BOOT_PCI_DATA + 4], 0xe3
171
        mov     dword [rdx + BOOT_LO.pci_data + 4], 0xe3
172
 
172
 
173
 
173
 
Line 174... Line 174...
174
        uefi_call_wrapper BootServices, GetMemoryMap, memory_map_size, memory_map, memory_map_key, descriptor_size, descriptor_ver
174
        uefi_call_wrapper BootServices, GetMemoryMap, memory_map_size, memory_map, memory_map_key, descriptor_size, descriptor_ver
175
        cmp     eax, EFI_SUCCESS
175
        cmp     eax, EFI_SUCCESS
176
        jnz     .error
176
        jnz     .error
177
 
177
 
178
        mov     rdi, BOOT_MEMMAP_BLOCK_CNT
178
        mov     rdi, BOOT_LO.memmap_block_cnt
179
        mov     dword[rdi], 0
179
        mov     dword[rdi], 0
180
        mov     rdi, BOOT_MEMMAP_BLOCKS
180
        mov     rdi, BOOT_LO.memmap_blocks
181
        mov     rax, [memory_map_size]
181
        mov     rax, [memory_map_size]
Line 213... Line 213...
213
        mov     rdi, RAMDISK_BASE
213
        mov     rdi, RAMDISK_BASE
214
        mov     rcx, (kolibri_img_data_end - kolibri_img_data_begin + 7 ) / 8
214
        mov     rcx, (kolibri_img_data_end - kolibri_img_data_begin + 7 ) / 8
215
        rep movsq
215
        rep movsq
Line 216... Line 216...
216
 
216
 
217
        xor     esi, esi
217
        xor     esi, esi
218
        mov     byte[esi + BOOT_BPP], 32
218
        mov     byte[esi + BOOT_LO.bpp], 32
219
        mov     word[esi + BOOT_VESA_MODE], 0
219
        mov     word[esi + BOOT_LO.vesa_mode], 0
220
        mov     dword[esi + BOOT_BANK_SW], 0
220
        mov     dword[esi + BOOT_LO.bank_switch], 0
221
        mov     rdi, [fb_base]
221
        mov     rdi, [fb_base]
222
        mov     dword[esi + BOOT_LFB], edi
222
        mov     dword[esi + BOOT_LO.lfb], edi
223
        mov     byte[esi + BOOT_MTRR], 1
223
        mov     byte[esi + BOOT_LO.mtrr], 1
224
        mov     byte[esi + BOOT_LAUNCHER_START], 1
224
        mov     byte[esi + BOOT_LO.launcher_start], 1
225
        mov     byte[esi + BOOT_DEBUG_PRINT], 1
225
        mov     byte[esi + BOOT_LO.debug_print], 1
226
        mov     byte[esi + BOOT_DMA], 0
226
        mov     byte[esi + BOOT_LO.dma], 0
227
;        mov     qword[esi + BOOT_PCI_DATA], 0
227
;        mov     qword[esi + BOOT_LO.pci_data], 0
228
        mov     dword[esi + BOOT_APM_ENTRY], 0
228
        mov     dword[esi + BOOT_LO.apm_entry], 0
229
        mov     word[esi + BOOT_APM_VERSION], 0
229
        mov     word[esi + BOOT_LO.apm_version], 0
230
        mov     dword[esi + BOOT_APM_FLAGS], 0
230
        mov     dword[esi + BOOT_LO.apm_flags], 0
231
        mov     word[esi + BOOT_APM_CODE_32], 0
231
        mov     word[esi + BOOT_LO.apm_code_32], 0
232
        mov     word[esi + BOOT_APM_CODE_16], 0
232
        mov     word[esi + BOOT_LO.apm_code_16], 0
233
        mov     word[esi + BOOT_APM_DATA_16], 0
233
        mov     word[esi + BOOT_LO.apm_data_16], 0
234
        mov     byte[esi + BOOT_BIOS_HD_CNT], 0
234
        mov     byte[esi + BOOT_LO.bios_hd_cnt], 0
Line 235... Line 235...
235
        mov     word[esi + BOOT_BX_FROM_LOAD], 'r1'   ; boot from /rd/1
235
        mov     word[esi + BOOT_LO.bx_from_load], 'r1'   ; boot from /rd/1
Line 236... Line 236...
236
 
236
 
Line 339... Line 339...
339
        jmp     .done
339
        jmp     .done
Line 340... Line 340...
340
 
340
 
341
  .done:
341
  .done:
Line 342... Line 342...
342
        mov     [rdi + e820entry.type], eax
342
        mov     [rdi + e820entry.type], eax
343
 
343
 
Line 344... Line 344...
344
        mov     rax, BOOT_MEMMAP_BLOCK_CNT
344
        mov     rax, BOOT_LO.memmap_block_cnt
345
        inc     word[rax]
345
        inc     word[rax]