diff --git a/kernel/trunk/bus/pci/pci32.inc b/kernel/trunk/bus/pci/pci32.inc index 599525b241..6a5c67ecfe 100644 --- a/kernel/trunk/bus/pci/pci32.inc +++ b/kernel/trunk/bus/pci/pci32.inc @@ -101,17 +101,17 @@ pci_api_drv: pci_fn_0: ; PCI function 0: get pci version (AH.AL) - movzx eax, word [BOOT_VAR+0x9022] + movzx eax, word [BOOT_VARS+0x9022] ret pci_fn_1: ; PCI function 1: get last bus in AL - mov al, [BOOT_VAR+0x9021] + mov al, [BOOT_VARS+0x9021] ret pci_fn_2: ; PCI function 2: get pci access mechanism - mov al, [BOOT_VAR+0x9020] + mov al, [BOOT_VARS+0x9020] ret pci_service_not_supported: @@ -156,7 +156,7 @@ align 4 pci_read_reg: push ebx esi - cmp byte [BOOT_VAR+0x9020], 2;what mechanism will we use? + cmp byte [BOOT_VARS+0x9020], 2;what mechanism will we use? je pci_read_reg_2 ; mechanism 1 @@ -287,7 +287,7 @@ align 4 pci_write_reg: push esi ebx - cmp byte [BOOT_VAR+0x9020], 2;what mechanism will we use? + cmp byte [BOOT_VARS+0x9020], 2;what mechanism will we use? je pci_write_reg_2 ; mechanism 1 @@ -570,9 +570,9 @@ sys_pcibios: cmp ebp, 1 ; PCI_FUNCTION_ID jnz .not_PCI_BIOS_PRESENT mov edx, 'PCI ' - mov al, [BOOT_VAR + 0x9020] - mov bx, [BOOT_VAR + 0x9022] - mov cl, [BOOT_VAR + 0x9021] + mov al, [BOOT_VARS + 0x9020] + mov bx, [BOOT_VARS + 0x9022] + mov cl, [BOOT_VARS + 0x9021] xor ah, ah jmp .return_abcd @@ -715,7 +715,7 @@ end virtual .next_func: inc dword [.devfn] mov ah, [.bus] - cmp ah, [BOOT_VAR+0x9021] + cmp ah, [BOOT_VARS+0x9021] jbe .loop .nomemory: leave diff --git a/kernel/trunk/const.inc b/kernel/trunk/const.inc index c8dd63aa5c..16c176e1ac 100644 --- a/kernel/trunk/const.inc +++ b/kernel/trunk/const.inc @@ -192,8 +192,12 @@ TASK_BASE equ (OS_BASE+0x0003010) TASK_DATA equ (OS_BASE+0x0003020) TASK_EVENT equ (OS_BASE+0x0003020) -CDDataBuf equ (OS_BASE+0x0007000) -FLOPPY_BUFF equ (OS_BASE+0x0008000) ;18*512 +CDDataBuf equ (OS_BASE+0x0005000) + +;unused 0x6000 - 0x8fff + +BOOT_VARS equ (OS_BASE) ;0x9000 + idts equ (OS_BASE+0x000B100) WIN_STACK equ (OS_BASE+0x000C000) WIN_POS equ (OS_BASE+0x000C400) @@ -222,33 +226,13 @@ SLOT_BASE equ (OS_BASE+0x0080000) VGABasePtr equ (OS_BASE+0x00A0000) -;RAMDISK equ (OS_BASE+0x0100000) -;RAMDISK_FAT equ (OS_BASE+0x0280000) -;FLOPPY_FAT equ (OS_BASE+0x0282000) - -;CLEAN_ZONE equ 0x284000 -;IDE_DMA equ 0x284000 - CLEAN_ZONE equ (_CLEAN_ZONE-OS_BASE) IDE_DMA equ (_IDE_DMA-OS_BASE) -;BgrAuxTable equ (OS_BASE+0x0298000) ; unused? SB16Buffer equ (OS_BASE+0x02A0000) SB16_Status equ (OS_BASE+0x02B0000) -;BUTTON_INFO equ (OS_BASE+0x02B3FEE) - -;BPSLine_calc_area equ (OS_BASE+0x02C4000) -;d_width_calc_area equ (OS_BASE+0x02CA000) - -;RESERVED_PORTS equ (OS_BASE+0x02D0000) -;BOOT_VAR equ (OS_BASE+0x02E0000) - -;draw_data equ (OS_BASE+0x0320000) - -;sys_pgmap equ (OS_BASE+0x0324000) - UPPER_KERNEL_PAGES equ (OS_BASE+0x0400000) virtual at (OS_BASE+0x05FFF80) diff --git a/kernel/trunk/core/memory.inc b/kernel/trunk/core/memory.inc index 1ea2898728..d851b6b84f 100644 --- a/kernel/trunk/core/memory.inc +++ b/kernel/trunk/core/memory.inc @@ -358,7 +358,7 @@ proc init_LFB cmp dword [LFBAddress], -1 jne @f - mov [BOOT_VAR+BOOT_MTRR], byte 2 + mov [BOOT_VARS+BOOT_MTRR], byte 2 ; max VGA=640*480*4=1228800 bytes ; + 32*640*4=81920 bytes for mouse pointer stdcall alloc_pages, ((1228800+81920)/4096) @@ -378,7 +378,7 @@ proc init_LFB @@: test [SCR_MODE], word 0100000000000000b jnz @f - mov [BOOT_VAR+BOOT_MTRR], byte 2 + mov [BOOT_VARS+BOOT_MTRR], byte 2 ret @@: call init_mtrr @@ -1361,7 +1361,7 @@ endp align 4 proc init_mtrr - cmp [BOOT_VAR+BOOT_MTRR], byte 2 + cmp [BOOT_VARS+BOOT_MTRR], byte 2 je .exit bt [cpu_caps], CAPS_MTRR diff --git a/kernel/trunk/data32.inc b/kernel/trunk/data32.inc index 073a8f1158..0c7e619682 100644 --- a/kernel/trunk/data32.inc +++ b/kernel/trunk/data32.inc @@ -327,36 +327,36 @@ diff16 "end of .data segment",0,$ align 16 cur_saved_data: - rb 4096 + rb 4096 fpu_data: - rb 512 + rb 512 -mem_block_list rd 64*2 -mem_used_list rd 64*2 -mem_hash_cnt rd 64 +mem_block_list rd 64*2 +mem_used_list rd 64*2 +mem_hash_cnt rd 64 -cpu_freq rq 1 +cpu_freq rq 1 -heap_mutex MUTEX -heap_size rd 1 -heap_free rd 1 -heap_blocks rd 1 -free_blocks rd 1 +heap_mutex MUTEX +heap_size rd 1 +heap_free rd 1 +heap_blocks rd 1 +free_blocks rd 1 -mem_block_mask rd 2 -next_memblock rd 1 +mem_block_mask rd 2 +next_memblock rd 1 -mst MEM_STATE +mst MEM_STATE -page_start rd 1 -page_end rd 1 -sys_page_map rd 1 -os_stack_seg rd 1 +page_start rd 1 +page_end rd 1 +sys_page_map rd 1 +os_stack_seg rd 1 -srv.fd rd 1 -srv.bk rd 1 +srv.fd rd 1 +srv.bk rd 1 align 16 @@ -382,6 +382,7 @@ end if REDRAW_BACKGROUND rb 4 +align 4 draw_data: rb 16*256 BPSLine_calc_area rd 1440 d_width_calc_area rd 1140 @@ -402,6 +403,7 @@ MOUSE_COLOR_MEM rd 1 BTN_DOWN: rb 4 +align 4 def_cursor rd 1 def_cursor_clock rd 1 current_cursor rd 1 @@ -416,138 +418,142 @@ cur.bottom rd 1 cur.w rd 1 cur.h rd 1 -ipc_tmp rd 1 -ipc_pdir rd 1 -ipc_ptab rd 1 +ipc_tmp rd 1 +ipc_pdir rd 1 +ipc_ptab rd 1 -proc_mem_map rd 1 -proc_mem_pdir rd 1 -proc_mem_tab rd 1 +proc_mem_map rd 1 +proc_mem_pdir rd 1 +proc_mem_tab rd 1 -tmp_task_pdir rd 1 -tmp_task_ptab rd 1 +tmp_task_pdir rd 1 +tmp_task_ptab rd 1 -default_io_map rd 1 +default_io_map rd 1 -LFBSize rd 1 +LFBSize rd 1 -current_slot rd 1 +current_slot rd 1 ; status -hd1_status rd 1 ; 0 - free : other - pid -application_table_owner rd 1 ; 0 - free : other - pid -application_table_mutex MUTEX +hd1_status rd 1 ; 0 - free : other - pid +application_table_owner rd 1 ; 0 - free : other - pid +application_table_mutex MUTEX ; device addresses -mididp rd 1 -midisp rd 1 +mididp rd 1 +midisp rd 1 -cdbase rd 1 -cdid rd 1 +cdbase rd 1 +cdid rd 1 -hdbase rd 1 ; for boot 0x1f0 -hdid rd 1 -hdpos rd 1 ; for boot 0x1 +hdbase rd 1 ; for boot 0x1f0 +hdid rd 1 +hdpos rd 1 ; for boot 0x1 label known_part dword -fat32part rd 1 ; for boot 0x1 -cdpos rd 1 +fat32part rd 1 ; for boot 0x1 +cdpos rd 1 ;CPUID information -cpu_vendor rd 3 -cpu_sign rd 1 -cpu_info rd 1 -cpu_caps rd 4 +cpu_vendor rd 3 +cpu_sign rd 1 +cpu_info rd 1 +cpu_caps rd 4 -pg_data PG_DATA -heap_test rd 1 +pg_data PG_DATA +heap_test rd 1 -buttontype rd 1 -windowtypechanged rd 1 +buttontype rd 1 +windowtypechanged rd 1 -hd_entries rd 1 ;unused ? 0xfe10 +hd_entries rd 1 ;unused ? 0xfe10 -mouse_active rd 1 -mouse_pause rd 1 +mouse_active rd 1 +mouse_pause rd 1 -redrawmouse_unconditional rd 1 +redrawmouse_unconditional rd 1 -img_background rd 1 -mem_BACKGROUND rd 1 -static_background_data rd 1 +img_background rd 1 +mem_BACKGROUND rd 1 +static_background_data rd 1 -BgrDrawMode rd 1 -BgrDataWidth rd 1 -BgrDataHeight rd 1 +BgrDrawMode rd 1 +BgrDataWidth rd 1 +BgrDataHeight rd 1 -skin_data rd 1 +skin_data rd 1 cache_ide0: -cache_ide0_pointer rd 1 -cache_ide0_size rd 1 ; not use -cache_ide0_data_pointer rd 1 -cache_ide0_system_data_size rd 1 ; not use -cache_ide0_appl_data_size rd 1 ; not use -cache_ide0_system_data rd 1 -cache_ide0_appl_data rd 1 -cache_ide0_system_sad_size rd 1 -cache_ide0_appl_sad_size rd 1 -cache_ide0_search_start rd 1 -cache_ide0_appl_search_start rd 1 +cache_ide0_pointer rd 1 +cache_ide0_size rd 1 ; not use +cache_ide0_data_pointer rd 1 +cache_ide0_system_data_size rd 1 ; not use +cache_ide0_appl_data_size rd 1 ; not use +cache_ide0_system_data rd 1 +cache_ide0_appl_data rd 1 +cache_ide0_system_sad_size rd 1 +cache_ide0_appl_sad_size rd 1 +cache_ide0_search_start rd 1 +cache_ide0_appl_search_start rd 1 cache_ide1: -cache_ide1_pointer rd 1 -cache_ide1_size rd 1 ; not use -cache_ide1_data_pointer rd 1 -cache_ide1_system_data_size rd 1 ; not use -cache_ide1_appl_data_size rd 1 ; not use -cache_ide1_system_data rd 1 -cache_ide1_appl_data rd 1 -cache_ide1_system_sad_size rd 1 -cache_ide1_appl_sad_size rd 1 -cache_ide1_search_start rd 1 -cache_ide1_appl_search_start rd 1 +cache_ide1_pointer rd 1 +cache_ide1_size rd 1 ; not use +cache_ide1_data_pointer rd 1 +cache_ide1_system_data_size rd 1 ; not use +cache_ide1_appl_data_size rd 1 ; not use +cache_ide1_system_data rd 1 +cache_ide1_appl_data rd 1 +cache_ide1_system_sad_size rd 1 +cache_ide1_appl_sad_size rd 1 +cache_ide1_search_start rd 1 +cache_ide1_appl_search_start rd 1 cache_ide2: -cache_ide2_pointer rd 1 -cache_ide2_size rd 1 ; not use -cache_ide2_data_pointer rd 1 -cache_ide2_system_data_size rd 1 ; not use -cache_ide2_appl_data_size rd 1 ; not use -cache_ide2_system_data rd 1 -cache_ide2_appl_data rd 1 -cache_ide2_system_sad_size rd 1 -cache_ide2_appl_sad_size rd 1 -cache_ide2_search_start rd 1 -cache_ide2_appl_search_start rd 1 +cache_ide2_pointer rd 1 +cache_ide2_size rd 1 ; not use +cache_ide2_data_pointer rd 1 +cache_ide2_system_data_size rd 1 ; not use +cache_ide2_appl_data_size rd 1 ; not use +cache_ide2_system_data rd 1 +cache_ide2_appl_data rd 1 +cache_ide2_system_sad_size rd 1 +cache_ide2_appl_sad_size rd 1 +cache_ide2_search_start rd 1 +cache_ide2_appl_search_start rd 1 cache_ide3: -cache_ide3_pointer rd 1 -cache_ide3_size rd 1 ; not use -cache_ide3_data_pointer rd 1 -cache_ide3_system_data_size rd 1 ; not use -cache_ide3_appl_data_size rd 1 ; not use -cache_ide3_system_data rd 1 -cache_ide3_appl_data rd 1 -cache_ide3_system_sad_size rd 1 -cache_ide3_appl_sad_size rd 1 -cache_ide3_search_start rd 1 -cache_ide3_appl_search_start rd 1 +cache_ide3_pointer rd 1 +cache_ide3_size rd 1 ; not use +cache_ide3_data_pointer rd 1 +cache_ide3_system_data_size rd 1 ; not use +cache_ide3_appl_data_size rd 1 ; not use +cache_ide3_system_data rd 1 +cache_ide3_appl_data rd 1 +cache_ide3_system_sad_size rd 1 +cache_ide3_appl_sad_size rd 1 +cache_ide3_search_start rd 1 +cache_ide3_appl_search_start rd 1 -debug_step_pointer rd 1 -hdd_appl_data rb 1 ; 0 = system cache, 1 - application cache -cd_appl_data rb 1 ; 0 = system cache, 1 - application cache +debug_step_pointer rd 1 -lba_read_enabled rd 1 ; 0 = disabled , 1 = enabled -pci_access_enabled rd 1 ; 0 = disabled , 1 = enabled -timer_ticks_enable rb 1 ; for cd driver +lba_read_enabled rd 1 ; 0 = disabled , 1 = enabled +pci_access_enabled rd 1 ; 0 = disabled , 1 = enabled + +hdd_appl_data rb 1 ; 0 = system cache, 1 - application cache +cd_appl_data rb 1 ; 0 = system cache, 1 - application cache + +timer_ticks_enable rb 1 ; for cd driver + +align 4 +NumBiosDisks rd 1 +BiosDisksData rb 200h +BiosDiskCaches rb 80h*(cache_ide1-cache_ide0) +BiosDiskPartitions rd 80h -NumBiosDisks rd 1 -BiosDisksData rb 200h -BiosDiskCaches rb 80h*(cache_ide1-cache_ide0) -BiosDiskPartitions rd 80h align 16 -DRIVE_DATA: rb DRIVE_DATA_SIZE +DRIVE_DATA: rb DRIVE_DATA_SIZE IncludeUGlobals @@ -559,16 +565,17 @@ end if org (OS_BASE+0x0100000) -RAMDISK: rb 2880*512 -RAMDISK_FAT: rb 2856*2 -FLOPPY_FAT: rb 2856*2 +RAMDISK: rb 2880*512 +RAMDISK_FAT: rb 2856*2 +FLOPPY_FAT: rb 2856*2 _CLEAN_ZONE: align 4096 -_IDE_DMA rb 16*512 -BgrAuxTable rb 32768 -BUTTON_INFO rb 64*1024 -RESERVED_PORTS: rb 64*1024 -BOOT_VAR: rb 64*1024 -sys_pgmap: rb 1024*1024/8 +_IDE_DMA rb 16*512 +BgrAuxTable rb 32768 +BUTTON_INFO rb 64*1024 +RESERVED_PORTS: rb 64*1024 +FLOPPY_BUFF: rb 18*512 ;one track + +sys_pgmap: rb 1024*1024/8 diff --git a/kernel/trunk/init.inc b/kernel/trunk/init.inc index dcc1667b11..679971a0a8 100644 --- a/kernel/trunk/init.inc +++ b/kernel/trunk/init.inc @@ -15,7 +15,7 @@ MEM_UC equ 0 ;uncached memory align 4 proc mem_test ; if we have BIOS with fn E820, skip the test - cmp dword [BOOT_VAR-OS_BASE + 0x9100], 0 + cmp dword [BOOT_VARS-OS_BASE + 0x9100], 0 jnz .ret mov eax, cr0 @@ -35,12 +35,12 @@ proc mem_test and eax, not (CR0_CD+CR0_NW) ;enable caching mov cr0, eax - inc dword [BOOT_VAR-OS_BASE + 0x9100] + inc dword [BOOT_VARS-OS_BASE + 0x9100] xor eax, eax - mov [BOOT_VAR-OS_BASE + 0x9104], eax - mov [BOOT_VAR-OS_BASE + 0x9108], eax - mov [BOOT_VAR-OS_BASE + 0x910C], edi - mov [BOOT_VAR-OS_BASE + 0x9110], eax + mov [BOOT_VARS-OS_BASE + 0x9104], eax + mov [BOOT_VARS-OS_BASE + 0x9108], eax + mov [BOOT_VARS-OS_BASE + 0x910C], edi + mov [BOOT_VARS-OS_BASE + 0x9110], eax .ret: ret endp @@ -48,7 +48,7 @@ endp align 4 proc init_mem ; calculate maximum allocatable address and number of allocatable pages - mov edi, BOOT_VAR-OS_BASE + 0x9104 + mov edi, BOOT_VARS-OS_BASE + 0x9104 mov ecx, [edi-4] xor esi, esi; esi will hold total amount of memory xor edx, edx; edx will hold maximum allocatable address @@ -195,7 +195,7 @@ proc init_page_map rep stosd ; scan through memory map and mark free areas as available - mov ebx, BOOT_VAR-OS_BASE + 0x9104 + mov ebx, BOOT_VARS-OS_BASE + 0x9104 mov edx, [ebx-4] .scanmap: cmp [ebx+16], byte 1 @@ -453,6 +453,9 @@ acpi_dev_data rd 1 acpi_dev_size rd 1 acpi_rsdt_base rd 1 +acpi_fadt_base rd 1 +acpi_dsdt_base rd 1 +acpi_dsdt_size rd 1 acpi_madt_base rd 1 acpi_ioapic_base rd 1 @@ -464,6 +467,7 @@ ACPI_HI_RSDP_WINDOW_START equ 0x000E0000 ACPI_HI_RSDP_WINDOW_END equ 0x00100000 ACPI_RSDP_CHECKSUM_LENGTH equ 20 ACPI_MADT_SIGN equ 0x43495041 +ACPI_FADT_SIGN equ 0x50434146 acpi_locate: @@ -535,9 +539,22 @@ check_acpi: jz .done mov ecx, [eax+16] - mov edx, ACPI_MADT_SIGN + mov edx, 0x50434146 mov [acpi_rsdt_base-OS_BASE], ecx call rsdt_find + mov [acpi_fadt_base-OS_BASE], eax + test eax, eax + jz @f + + mov eax, [eax+40] + mov [acpi_dsdt_base-OS_BASE], eax + mov eax, [eax+4] + mov [acpi_dsdt_size-OS_BASE], eax + +@@: + mov edx, ACPI_MADT_SIGN + mov ecx, [acpi_rsdt_base-OS_BASE] + call rsdt_find test eax, eax jz .done diff --git a/kernel/trunk/kernel.asm b/kernel/trunk/kernel.asm index 6b5e0e251b..6cdaa5ff78 100644 --- a/kernel/trunk/kernel.asm +++ b/kernel/trunk/kernel.asm @@ -265,12 +265,11 @@ B32: ; SAVE & CLEAR 0-0xffff - xor esi, esi - mov edi, (BOOT_VAR-OS_BASE) - mov ecx, 0x10000 / 4 - rep movsd mov edi, 0x1000 - mov ecx, 0xf000 / 4 + mov ecx, 0x8000 / 4 + rep stosd + mov edi, 0xa000 + mov ecx, 0x6000 / 4 rep stosd call test_cpu @@ -359,13 +358,13 @@ high_code: ; SAVE REAL MODE VARIABLES xor eax, eax - mov ax, [BOOT_VAR + BOOT_IDE_PI_16] + mov ax, [BOOT_VARS + BOOT_IDE_PI_16] mov [IDEContrProgrammingInterface], ax - mov ax, [BOOT_VAR + BOOT_IDE_BASE_ADDR] + mov ax, [BOOT_VARS + BOOT_IDE_BASE_ADDR] mov [IDEContrRegsBaseAddr], ax - mov ax, [BOOT_VAR + BOOT_IDE_BAR0_16] + mov ax, [BOOT_VARS + BOOT_IDE_BAR0_16] mov [IDE_BAR0_val], ax - + cmp ax, 0 je @f cmp ax, 1 @@ -375,9 +374,9 @@ high_code: mov [hd_address_table], eax mov [hd_address_table+8], eax @@: - mov ax, [BOOT_VAR + BOOT_IDE_BAR1_16] + mov ax, [BOOT_VARS + BOOT_IDE_BAR1_16] mov [IDE_BAR1_val], ax - mov ax, [BOOT_VAR + BOOT_IDE_BAR2_16] + mov ax, [BOOT_VARS + BOOT_IDE_BAR2_16] mov [IDE_BAR2_val], ax cmp ax, 0 @@ -389,18 +388,18 @@ high_code: mov [hd_address_table+16], eax mov [hd_address_table+24], eax @@: - mov ax, [BOOT_VAR + BOOT_IDE_BAR3_16] + mov ax, [BOOT_VARS + BOOT_IDE_BAR3_16] mov [IDE_BAR3_val], ax - + ; --------------- APM --------------------- ; init selectors - mov ebx, [BOOT_VAR+BOOT_APM_ENTRY] ; offset of APM entry point - movzx eax, word [BOOT_VAR+BOOT_APM_CODE_32] ; real-mode segment base address of + mov ebx, [BOOT_VARS+BOOT_APM_ENTRY] ; offset of APM entry point + movzx eax, word [BOOT_VARS+BOOT_APM_CODE_32] ; real-mode segment base address of ; protected-mode 32-bit code segment - movzx ecx, word [BOOT_VAR+BOOT_APM_CODE_16]; real-mode segment base address of + movzx ecx, word [BOOT_VARS+BOOT_APM_CODE_16]; real-mode segment base address of ; protected-mode 16-bit code segment - movzx edx, word [BOOT_VAR+BOOT_APM_DATA_16]; real-mode segment base address of + movzx edx, word [BOOT_VARS+BOOT_APM_DATA_16]; real-mode segment base address of ; protected-mode 16-bit data segment shl eax, 4 @@ -421,28 +420,28 @@ high_code: mov dword[apm_entry], ebx mov word [apm_entry + 4], apm_code_32 - gdts - mov eax, [BOOT_VAR + BOOT_APM_VERSION] ; version & flags + mov eax, [BOOT_VARS + BOOT_APM_VERSION] ; version & flags mov [apm_vf], eax ; ----------------------------------------- - mov al, [BOOT_VAR+BOOT_DMA] ; DMA access + mov al, [BOOT_VARS+BOOT_DMA] ; DMA access mov [allow_dma_access], al - movzx eax, byte [BOOT_VAR+BOOT_BPP] ; bpp + movzx eax, byte [BOOT_VARS+BOOT_BPP] ; bpp mov [_display.bpp], eax mov [_display.vrefresh], 60 - movzx eax, word [BOOT_VAR+BOOT_X_RES]; X max + movzx eax, word [BOOT_VARS+BOOT_X_RES]; X max mov [_display.width], eax mov [display_width_standard], eax dec eax mov [Screen_Max_X], eax mov [screen_workarea.right], eax - movzx eax, word [BOOT_VAR+BOOT_Y_RES]; Y max + movzx eax, word [BOOT_VARS+BOOT_Y_RES]; Y max mov [_display.height], eax mov [display_height_standard], eax dec eax mov [Screen_Max_Y], eax mov [screen_workarea.bottom], eax - movzx eax, word [BOOT_VAR+BOOT_VESA_MODE] ; screen mode + movzx eax, word [BOOT_VARS+BOOT_VESA_MODE] ; screen mode mov dword [SCR_MODE], eax ; mov eax, [BOOT_VAR+0x9014] ; Vesa 1.2 bnk sw add ; mov [BANK_SWITCH], eax @@ -451,7 +450,7 @@ high_code: je @f cmp [SCR_MODE], word 0x12 ; VGA 640x480 je @f - movzx eax, word[BOOT_VAR+BOOT_PITCH] ; for other modes + movzx eax, word[BOOT_VARS+BOOT_PITCH] ; for other modes @@: mov [_display.pitch], eax mov eax, [_display.width] @@ -464,7 +463,7 @@ high_code: ; equal to [_display.width] * [ScreenBPP] / 8 call calculate_fast_getting_offset_for_LFB - mov esi, BOOT_VAR+0x9080 + mov esi, BOOT_VARS+0x9080 movzx ecx, byte [esi-1] mov [NumBiosDisks], ecx mov edi, BiosDisksData @@ -472,7 +471,7 @@ high_code: ; GRAPHICS ADDRESSES - mov eax, [BOOT_VAR+BOOT_LFB] + mov eax, [BOOT_VARS+BOOT_LFB] mov [LFBAddress], eax cmp [SCR_MODE], word 0100000000000000b @@ -917,22 +916,8 @@ end if ; LOAD FIRST APPLICATION cli -; cmp byte [BOOT_VAR+0x9030],1 -; jne no_load_vrr_m - -; mov ebp, vrr_m -; call fs_execute_from_sysdir -; -;; cmp eax,2 ; if vrr_m app found (PID=2) -; sub eax,2 -; jz first_app_found -; -;no_load_vrr_m: - mov ebp, firstapp call fs_execute_from_sysdir - -; cmp eax,2 ; continue if a process has been loaded test eax, eax jns first_app_found @@ -1066,17 +1051,17 @@ end if cmp [IDEContrRegsBaseAddr], 0 setnz [dma_hdd] - + cmp [dma_hdd], 0 je .print_pio .print_dma: DEBUGF 1, "K : IDE DMA mode\n" jmp .continue - + .print_pio: DEBUGF 1, "K : IDE PIO mode\n" .continue: - + mov [timer_ticks_enable], 1 ; for cd driver sti @@ -1284,10 +1269,10 @@ set_variables: loop .fl60 push eax - mov ax, [BOOT_VAR+BOOT_Y_RES] + mov ax, [BOOT_VARS+BOOT_Y_RES] shr ax, 1 shl eax, 16 - mov ax, [BOOT_VAR+BOOT_X_RES] + mov ax, [BOOT_VARS+BOOT_X_RES] shr ax, 1 mov [MOUSE_X], eax call wakeup_osloop @@ -1683,7 +1668,7 @@ endg cmp ecx, 1 jnz noprmahd - mov eax, [hd_address_table] + mov eax, [hd_address_table] mov [hdbase], eax ;0x1f0 and dword [hdid], 0x0 mov dword [hdpos], ecx @@ -2174,7 +2159,7 @@ sysfn_shutdown: ; 18.9 = system shutdown jl exit_for_anyone cmp ecx, 4 jg exit_for_anyone - mov [BOOT_VAR+0x9030], cl + mov [BOOT_VARS+0x9030], cl mov eax, [TASK_COUNT] mov [SYS_SHUTDOWN], al @@ -5628,7 +5613,7 @@ undefined_syscall: ; Undefined system call align 4 system_shutdown: ; shut down the system - cmp byte [BOOT_VAR+0x9030], 1 + cmp byte [BOOT_VARS+0x9030], 1 jne @F ret @@: @@ -5653,11 +5638,11 @@ if ~ defined extended_primary_loader rep movsb end if - mov esi, BOOT_VAR ; restore 0x0 - 0xffff - mov edi, OS_BASE - mov ecx, 0x10000/4 - cld - rep movsd +; mov esi, BOOT_VAR ; restore 0x0 - 0xffff +; mov edi, OS_BASE +; mov ecx, 0x10000/4 +; cld +; rep movsd call restorefatchain