Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 7130 → Rev 7132

/kernel/trunk/boot/bootcode.inc
282,18 → 282,18
jnz @f
mov word [cs:cfgmanager.loader_block], si
mov word [cs:cfgmanager.loader_block+2], ds
mov word [es:BOOT_KERNEL_RESTART], kernel_restart_bootblock
mov word [es:BOOT_LO.kernel_restart], kernel_restart_bootblock
@@:
; \end{diamond}[02.12.2005]
 
; if bootloader sets cx = 'HA' and dx = 'RD', then bx contains identifier of source disk
; (see comment to BOOT_BX_FROM_LOAD and loader_doc.txt)
mov word [es:BOOT_BX_FROM_LOAD], 'r1' ; default value: /rd/1
; (see comment to BOOT_LO.bx_from_load and loader_doc.txt)
mov word [es:BOOT_LO.bx_from_load], 'r1' ; default value: /rd/1
cmp cx, 'HA'
jnz no_hd_load
cmp dx, 'RD'
jnz no_hd_load
mov [es:BOOT_BX_FROM_LOAD], bx
mov [es:BOOT_LO.bx_from_load], bx
no_hd_load:
 
; set up stack
441,7 → 441,7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
sti
; --------------- APM ---------------------
and word [es:BOOT_APM_VERSION], 0 ; ver = 0.0 (APM not found)
and word [es:BOOT_LO.apm_version], 0 ; ver = 0.0 (APM not found)
mov ax, 0x5300
xor bx, bx
int 0x15
448,8 → 448,8
jc apm_end ; APM not found
test cx, 2
jz apm_end ; APM 32-bit protected-mode interface not supported
mov [es:BOOT_APM_VERSION], ax ; Save APM Version
mov [es:BOOT_APM_FLAGS], cx ; Save APM flags
mov [es:BOOT_LO.apm_version], ax ; Save APM Version
mov [es:BOOT_LO.apm_flags], cx ; Save APM flags
 
; Write APM ver ----
and ax, 0xf0f
468,10 → 468,10
xor bx, bx
int 0x15
 
mov [es:BOOT_APM_ENTRY], ebx
mov [es:BOOT_APM_CODE_32], ax
mov [es:BOOT_APM_CODE_16], cx
mov [es:BOOT_APM_DATA_16], dx
mov [es:BOOT_LO.apm_entry], ebx
mov [es:BOOT_LO.apm_code_32], ax
mov [es:BOOT_LO.apm_code_16], cx
mov [es:BOOT_LO.apm_data_16], dx
 
apm_end:
_setcursor d80x25_top_num, 0
951,26 → 951,26
 
; GRAPHICS ACCELERATION
; force yes
mov [es:BOOT_MTRR], byte 1
mov [es:BOOT_LO.mtrr], byte 1
 
; DMA ACCESS TO HD
 
mov al, [preboot_dma]
mov [es:BOOT_DMA], al
mov [es:BOOT_LO.dma], al
 
; Set kernel DEBUG mode - if nonzero, duplicates debug output to the screen.
mov al, [preboot_debug]
mov [es:BOOT_DEBUG_PRINT], al ;// 0x901E
mov [es:BOOT_LO.debug_print], al ;// 0x901E
 
; Start the first app (right now it's LAUNCHER) after kernel is loaded?
mov al, [preboot_launcher]
mov [es:BOOT_LAUNCHER_START], al ;// 0x901D
mov [es:BOOT_LO.launcher_start], al ;// 0x901D
 
; BOOT DEVICE
 
mov al, [preboot_device]
dec al
mov [es:BOOT_DEV], al
mov [es:BOOT_LO.dev], al
 
; GET MEMORY MAP
include '../detect/biosmem.inc'
977,7 → 977,7
 
; READ DISKETTE TO MEMORY
 
cmp byte [es:BOOT_DEV], 0
cmp byte [es:BOOT_LO.dev], 0
jne no_sys_on_floppy
mov si, diskload
call print
1304,7 → 1304,7
out dx, al
 
if defined extended_primary_loader
cmp [es:BOOT_DEV], 1
cmp [es:BOOT_LO.dev], 1
jne no_sys_from_primary
; load kolibri.img using callback from primary loader
and word [movedesc + 24 + 2], 0
1343,7 → 1343,7
xor ax, ax
mov es, ax
 
mov ax, [es:BOOT_VESA_MODE] ; vga & 320x200
mov ax, [es:BOOT_LO.vesa_mode] ; vga & 320x200
mov bx, ax
cmp ax, 0x13
je setgr
/kernel/trunk/boot/bootvesa.inc
731,9 → 731,9
mov bx, word [es:si+2] ; resolution Y
 
 
mov word [es:BOOT_X_RES], ax ; resolution X
mov word [es:BOOT_Y_RES], bx ; resolution Y
mov word [es:BOOT_VESA_MODE], cx ; number of mode
mov word [es:BOOT_LO.x_res], ax ; resolution X
mov word [es:BOOT_LO.y_res], bx ; resolution Y
mov word [es:BOOT_LO.vesa_mode], cx ; number of mode
 
cmp cx, 0x12
je .mode0x12_0x13
752,11 → 752,11
int 0x10
; LFB
mov eax, [es:mi.PhysBasePtr];di+0x28]
mov [es:BOOT_LFB], eax
mov [es:BOOT_LO.lfb], eax
; ---- vbe voodoo
BytesPerLine equ 0x10
mov ax, [es:di+BytesPerLine]
mov [es:BOOT_PITCH], ax
mov [es:BOOT_LO.pitch], ax
; BPP
cmp [es:mi.BitsPerPixel], 16
jne .l0
765,12 → 765,12
mov [es:mi.BitsPerPixel], 15
.l0:
mov al, byte [es:di+0x19]
mov [es:BOOT_BPP], al
mov [es:BOOT_LO.bpp], al
jmp .exit
 
.mode0x12_0x13:
mov byte [es:BOOT_BPP], 32
or dword [es:BOOT_LFB], 0xFFFFFFFF; 0x800000
mov byte [es:BOOT_LO.bpp], 32
or dword [es:BOOT_LO.lfb], 0xFFFFFFFF; 0x800000
 
 
; VESA 1.2 PM BANK SWITCH ADDRESS
789,7 → 789,7
; add eax, ebx
; push 0x0000
; pop es
; mov [es:BOOT_BANK_SW], eax
; mov [es:BOOT_LO.bank_sw], eax
.exit:
ret
 
/kernel/trunk/boot/rdload.inc
11,7 → 11,7
read_ramdisk:
; READ RAMDISK IMAGE FROM HD (only for IDE0, IDE1, IDE2, IDE3)
 
cmp byte [BOOT_DEV+OS_BASE+0x10000], 1
cmp byte [BOOT.dev+0x10000], 1
jne no_sys_on_hd.1
 
xor ebp, ebp
112,7 → 112,7
DEBUGF 1, "K : RD not found\n"
.1:
; test_to_format_ram_disk (need if not using ram disk)
cmp byte [BOOT_DEV+OS_BASE+0x10000], 3
cmp byte [BOOT.dev+0x10000], 3
jne not_format_ram_disk
; format_ram_disk
mov edi, RAMDISK
/kernel/trunk/boot/shutdown.inc
16,9 → 16,9
align 4
system_shutdown: ; shut down the system
 
cmp byte [BOOT_VARS+BOOT_SHUTDOWN_TYPE], SYSTEM_SHUTDOWN
cmp byte [BOOT.shutdown_type], SYSTEM_SHUTDOWN
jb @F
cmp byte [BOOT_VARS+BOOT_SHUTDOWN_TYPE], SYSTEM_RESTART
cmp byte [BOOT.shutdown_type], SYSTEM_RESTART
jbe .valid
@@:
ret
62,7 → 62,7
cli
call IRQ_mask_all
 
mov eax, [OS_BASE + BOOT_SHUTDOWN_TYPE]
mov eax, dword[BOOT.shutdown_type]
cmp al, SYSTEM_RESTART
jne @F
 
91,7 → 91,7
mov eax, cr3
mov cr3, eax
 
cmp byte [BOOT_SHUTDOWN_TYPE], SYSTEM_SHUTDOWN
cmp byte [BOOT_LO.shutdown_type], SYSTEM_SHUTDOWN
jne no_acpi_power_off
 
; system_power_off
179,7 → 179,7
restart_code_start:
org 0x50000
 
cmp byte [BOOT_SHUTDOWN_TYPE], SYSTEM_RESTART
cmp byte [BOOT_LO.shutdown_type], SYSTEM_RESTART
jne @F
 
mov esi, _CLEAN_ZONE-OS_BASE
277,7 → 277,7
 
xor ax, ax
mov ds, ax
mov al, [BOOT_SHUTDOWN_TYPE]
mov al, [BOOT_LO.shutdown_type]
cmp al, SYSTEM_RESTART
je .restart
 
350,7 → 350,7
pop ds
push 0
pop es
mov si, [es:BOOT_KERNEL_RESTART]
mov si, [es:BOOT_LO.kernel_restart]
mov ax, 'KL'
jmp 0x1000:0000
 
/kernel/trunk/boot/uefi4kos.asm
70,7 → 70,7
cmp [rdi + 8], rdx
jnz .not_acpi20
mov rax, [rdi + 16]
mov rdx, BOOT_ACPI_RSDP
mov rdx, BOOT_LO.acpi_rsdp
mov [rdx], eax
;jmp $
jmp .all_tables_done
157,18 → 157,18
mov rcx, [gop_info]
mov eax, [rcx + EFI_GRAPHICS_OUTPUT_MODE_INFORMATION.HorizontalResolution]
xor rdx, rdx
mov word [rdx + BOOT_X_RES], ax
mov word [rdx + BOOT_LO.x_res], ax
mov eax, [rcx + EFI_GRAPHICS_OUTPUT_MODE_INFORMATION.VerticalResolution]
mov word [rdx + BOOT_Y_RES], ax
mov word [rdx + BOOT_LO.y_res], ax
mov eax, [rcx + EFI_GRAPHICS_OUTPUT_MODE_INFORMATION.PixelsPerScanLine]
shl eax, 2
mov word [rdx + BOOT_PITCH], ax
mov word [rdx + BOOT_LO.pitch], ax
 
mov byte [rdx + BOOT_PCI_DATA + 0], 1
mov byte [rdx + BOOT_PCI_DATA + 1], 0
mov byte [rdx + BOOT_PCI_DATA + 2], 0x10
mov byte [rdx + BOOT_PCI_DATA + 3], 0x02
mov dword [rdx + BOOT_PCI_DATA + 4], 0xe3
mov byte [rdx + BOOT_LO.pci_data + 0], 1
mov byte [rdx + BOOT_LO.pci_data + 1], 0
mov byte [rdx + BOOT_LO.pci_data + 2], 0x10
mov byte [rdx + BOOT_LO.pci_data + 3], 0x02
mov dword [rdx + BOOT_LO.pci_data + 4], 0xe3
 
 
uefi_call_wrapper BootServices, GetMemoryMap, memory_map_size, memory_map, memory_map_key, descriptor_size, descriptor_ver
175,9 → 175,9
cmp eax, EFI_SUCCESS
jnz .error
 
mov rdi, BOOT_MEMMAP_BLOCK_CNT
mov rdi, BOOT_LO.memmap_block_cnt
mov dword[rdi], 0
mov rdi, BOOT_MEMMAP_BLOCKS
mov rdi, BOOT_LO.memmap_blocks
mov rax, [memory_map_size]
xor edx, edx
mov rcx, [descriptor_size]
215,24 → 215,24
rep movsq
 
xor esi, esi
mov byte[esi + BOOT_BPP], 32
mov word[esi + BOOT_VESA_MODE], 0
mov dword[esi + BOOT_BANK_SW], 0
mov byte[esi + BOOT_LO.bpp], 32
mov word[esi + BOOT_LO.vesa_mode], 0
mov dword[esi + BOOT_LO.bank_switch], 0
mov rdi, [fb_base]
mov dword[esi + BOOT_LFB], edi
mov byte[esi + BOOT_MTRR], 1
mov byte[esi + BOOT_LAUNCHER_START], 1
mov byte[esi + BOOT_DEBUG_PRINT], 1
mov byte[esi + BOOT_DMA], 0
; mov qword[esi + BOOT_PCI_DATA], 0
mov dword[esi + BOOT_APM_ENTRY], 0
mov word[esi + BOOT_APM_VERSION], 0
mov dword[esi + BOOT_APM_FLAGS], 0
mov word[esi + BOOT_APM_CODE_32], 0
mov word[esi + BOOT_APM_CODE_16], 0
mov word[esi + BOOT_APM_DATA_16], 0
mov byte[esi + BOOT_BIOS_HD_CNT], 0
mov word[esi + BOOT_BX_FROM_LOAD], 'r1' ; boot from /rd/1
mov dword[esi + BOOT_LO.lfb], edi
mov byte[esi + BOOT_LO.mtrr], 1
mov byte[esi + BOOT_LO.launcher_start], 1
mov byte[esi + BOOT_LO.debug_print], 1
mov byte[esi + BOOT_LO.dma], 0
; mov qword[esi + BOOT_LO.pci_data], 0
mov dword[esi + BOOT_LO.apm_entry], 0
mov word[esi + BOOT_LO.apm_version], 0
mov dword[esi + BOOT_LO.apm_flags], 0
mov word[esi + BOOT_LO.apm_code_32], 0
mov word[esi + BOOT_LO.apm_code_16], 0
mov word[esi + BOOT_LO.apm_data_16], 0
mov byte[esi + BOOT_LO.bios_hd_cnt], 0
mov word[esi + BOOT_LO.bx_from_load], 'r1' ; boot from /rd/1
 
 
lgdt [cs:GDTR]
341,7 → 341,7
.done:
mov [rdi + e820entry.type], eax
 
mov rax, BOOT_MEMMAP_BLOCK_CNT
mov rax, BOOT_LO.memmap_block_cnt
inc word[rax]
 
pop rdi rsi rdx rcx rbx rax