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] |