diff --git a/kernel/trunk/boot/preboot.inc b/kernel/trunk/boot/preboot.inc index 30c9a49103..269e60270b 100644 --- a/kernel/trunk/boot/preboot.inc +++ b/kernel/trunk/boot/preboot.inc @@ -8,31 +8,30 @@ $Revision$ -display_modechg db 0 ; display mode change for text, yes/no (0 or 2) - ; - ; !! Important note !! - ; - ; Must be set to 2, to avoid two screenmode - ; changes within a very short period of time. +display_modechg db 0 ; display mode change for text, yes/no (0 or 2) + ; + ; !! Important note !! + ; + ; Must be set to 2, to avoid two screenmode + ; changes within a very short period of time. -display_atboot db 0 ; show boot screen messages ( 2-no ) +display_atboot db 0 ; show boot screen messages ( 2-no ) -preboot_graph dw 0 ; graph mode -x_save dw 0 ; x -y_save dw 0 ; y -number_vm dw 0 ; +preboot_graph dw 0 ; graph mode +x_save dw 0 ; x +y_save dw 0 ; y +number_vm dw 0 ; ;pixel_save dw 0 ; per to pixel -preboot_gprobe db 0 ; probe vesa3 videomodes (1-no, 2-yes) -preboot_vrrm db 0 ; use VRR_M (1-yes, 2- no) -preboot_dma db 0 ; use DMA for access to HDD (1-always, 2-only for read, 3-never) -preboot_device db 0 ; boot device - ; (1-floppy 2-harddisk 3-kernel restart 4-format ram disk) - ;!!!! 0 - autodetect !!!! -preboot_blogesc db 1 ; start immediately after bootlog -preboot_biosdisk db 0 ; use V86 to access disks through BIOS (1-yes, 2-no) +preboot_gprobe db 0 ; probe vesa3 videomodes (1-no, 2-yes) +preboot_vrrm db 0 ; use VRR_M (1-yes, 2- no) +preboot_dma db 0 ; use DMA for access to HDD (1-always, 2-only for read, 3-never) +preboot_device db 0 ; boot device + ; (1-floppy 2-harddisk 3-kernel restart 4-format ram disk) + ;!!!! 0 - autodetect !!!! +preboot_biosdisk db 0 ; use V86 to access disks through BIOS (1-yes, 2-no) if $>0x200 ERROR: prebooting parameters must fit in first sector!!! end if -hdsysimage db 'KOLIBRI IMG' ; load from -image_save db 'KOLIBRI IMG' ; save to +hdsysimage db 'KOLIBRI IMG' ; load from +image_save db 'KOLIBRI IMG' ; save to diff --git a/kernel/trunk/data32.inc b/kernel/trunk/data32.inc index 5f96983175..f7e155f43e 100644 --- a/kernel/trunk/data32.inc +++ b/kernel/trunk/data32.inc @@ -48,26 +48,25 @@ keymap_alt: - boot_memdetect db 'Determining amount of memory',0 - boot_fonts db 'Fonts loaded',0 - boot_tss db 'Setting TSSs',0 - boot_cpuid db 'Reading CPUIDs',0 - boot_devices db 'Detecting devices',0 - boot_timer db 'Setting timer',0 - boot_irqs db 'Reprogramming IRQs',0 - boot_setmouse db 'Setting mouse',0 - boot_windefs db 'Setting window defaults',0 - boot_bgr db 'Calculating background',0 - boot_resirqports db 'Reserving IRQs & ports',0 - boot_setrports db 'Setting addresses for IRQs',0 - boot_setostask db 'Setting OS task',0 - boot_allirqs db 'Unmasking all IRQs',0 - boot_tsc db 'Reading TSC',0 - boot_pal_ega db 'Setting EGA/CGA 320x200 palette',0 - boot_pal_vga db 'Setting VGA 640x480 palette',0 - boot_failed db 'Failed to start first app',0 - boot_mtrr db 'Setting MTRR',0 - boot_tasking db 'All set - press ESC to start',0 + boot_memdetect db 'Determining amount of memory',0 + boot_fonts db 'Fonts loaded',0 + boot_tss db 'Setting TSSs',0 + boot_cpuid db 'Reading CPUIDs',0 + boot_devices db 'Detecting devices',0 + boot_timer db 'Setting timer',0 + boot_irqs db 'Reprogramming IRQs',0 + boot_setmouse db 'Setting mouse',0 + boot_windefs db 'Setting window defaults',0 + boot_bgr db 'Calculating background',0 + boot_resirqports db 'Reserving IRQs & ports',0 + boot_setrports db 'Setting addresses for IRQs',0 + boot_setostask db 'Setting OS task',0 + boot_allirqs db 'Unmasking all IRQs',0 + boot_tsc db 'Reading TSC',0 + boot_pal_ega db 'Setting EGA/CGA 320x200 palette',0 + boot_pal_vga db 'Setting VGA 640x480 palette',0 + boot_failed db 'Failed to start first app',0 + boot_mtrr db 'Setting MTRR',0 new_process_loading db 'K : New Process - loading',13,10,0 new_process_running db 'K : New Process - done',13,10,0 @@ -77,16 +76,16 @@ msg_unresolved db 'unresolved ',0 msg_module db 'in module ',0 msg_version db 'incompatible driver version',13,10,0 msg_www db 'please visit www.kolibrios.org',13,10,0 -msg_CR db 13,10,0 +msg_CR db 13,10,0 intel_str db "GenuineIntel",0 AMD_str db "AuthenticAMD",0 ;szSound db 'SOUND',0 ;szInfinity db 'INFINITY',0 -szHwMouse db 'ATI2D',0 -szPS2MDriver db 'PS2MOUSE',0 -szUSB db 'USB',0 +szHwMouse db 'ATI2D',0 +szPS2MDriver db 'PS2MOUSE',0 +szUSB db 'USB',0 szSTART db 'START',0 szEXPORTS db 'EXPORTS',0 @@ -95,17 +94,17 @@ szIMPORTS db 'IMPORTS',0 read_firstapp db '/sys/' firstapp db 'LAUNCHER',0 -char db '/sys/FONTS/CHAR.MT',0 -char2 db '/sys/FONTS/CHAR2.MT',0 +char db '/sys/FONTS/CHAR.MT',0 +char2 db '/sys/FONTS/CHAR2.MT',0 bootpath db '/KOLIBRI ' bootpath2 db 0 -vmode db '/sys/drivers/VMODE.MDR',0 -vrr_m db 'VRR_M',0 +vmode db '/sys/drivers/VMODE.MDR',0 +vrr_m db 'VRR_M',0 kernel_file db 'KERNEL MNT' align 4 - ;supported videomodes + ;supported videomodes mode_1280_1024_32: dw 1280,1024,32,60 mode_1280_1024_24: @@ -130,14 +129,14 @@ mode_320_240_8: ; mike.dld { db 0 dd servetable-0x10000 -draw_line dd __sys_draw_line -disable_mouse dd __sys_disable_mouse -draw_pointer dd __sys_draw_pointer +draw_line dd __sys_draw_line +disable_mouse dd __sys_disable_mouse +draw_pointer dd __sys_draw_pointer ;//mike.dld, 2006-08-02 [ ;drawbar dd __sys_drawbar -drawbar dd __sys_drawbar.forced +drawbar dd __sys_drawbar.forced ;//mike.dld, 2006-08-02 ] -putpixel dd __sys_putpixel +putpixel dd __sys_putpixel ; } mike.dld @@ -146,10 +145,10 @@ keyboard dd 1 sound_dma dd 1 syslang dd 1 -boot_y dd 10 +boot_y dd 10 -pci_bios_entry dd 0 - dw pci_code_sel +pci_bios_entry dd 0 + dw pci_code_sel if __DEBUG__ eq 1 include_debug_strings @@ -160,284 +159,284 @@ IncludeIGlobals align 16 gdts: - dw gdte-$-1 - dd gdts - dw 0 + dw gdte-$-1 + dd gdts + dw 0 ; Attention! Do not change the order of the first four selectors. They are used in Fast System Call ; must be : os_code, os_data, app_code, app_data, .... int_code_l: os_code_l: - dw 0xffff - dw 0x0000 - db 0x00 - dw 11011111b *256 +10011010b - db 0x00 + dw 0xffff + dw 0x0000 + db 0x00 + dw 11011111b *256 +10011010b + db 0x00 int_data_l: os_data_l: - dw 0xffff - dw 0x0000 - db 0x00 - dw 11011111b *256 +10010010b - db 0x00 + dw 0xffff + dw 0x0000 + db 0x00 + dw 11011111b *256 +10010010b + db 0x00 app_code_l: - dw 0xFFFF - dw 0 - db 0 - db cpl3 - dw G32+D32+(new_app_base shr 16)+0xF; + dw 0xFFFF + dw 0 + db 0 + db cpl3 + dw G32+D32+(new_app_base shr 16)+0xF; app_data_l: - dw 0xFFFF - dw 0 - db 0 - db drw3 - dw G32+D32+(new_app_base shr 16)+0xF; + dw 0xFFFF + dw 0 + db 0 + db drw3 + dw G32+D32+(new_app_base shr 16)+0xF; ; ------------- PCI BIOS ------------------ pci_code_32: - dw 0 ;lim 0-15 - dw 0 ;base 0-15 - db 0 ;base 16-23 - db cpl0 ;type - db D32 ;lim 16-19+props - db 0 ;base 24-31 + dw 0 ;lim 0-15 + dw 0 ;base 0-15 + db 0 ;base 16-23 + db cpl0 ;type + db D32 ;lim 16-19+props + db 0 ;base 24-31 pci_data_32: - dw 0 ;lim 0-15 - dw 0 ;base 0-15 - db 0 ;base 16-23 - db dpl0 ;type - db D32 ;lim 16-19+props - db 0 ;base 24-31 + dw 0 ;lim 0-15 + dw 0 ;base 0-15 + db 0 ;base 16-23 + db dpl0 ;type + db D32 ;lim 16-19+props + db 0 ;base 24-31 ; --------------- APM --------------------- apm_code_32: - dw 0x0f ; limit 64kb - db 0, 0, 0 - dw 11010000b *256 +10011010b - db 0x00 + dw 0x0f ; limit 64kb + db 0, 0, 0 + dw 11010000b *256 +10011010b + db 0x00 apm_code_16: - dw 0x0f - db 0, 0, 0 - dw 10010000b *256 +10011010b - db 0x00 + dw 0x0f + db 0, 0, 0 + dw 10010000b *256 +10011010b + db 0x00 apm_data_16: - dw 0x0f - db 0, 0, 0 - dw 10010000b *256 +10010010b - db 0x00 + dw 0x0f + db 0, 0, 0 + dw 10010000b *256 +10010010b + db 0x00 ; ----------------------------------------- graph_data_l: - dw 0x7ff - dw 0x0000 - db 0x00 - dw 11010000b *256 +11110010b - db 0x00 + dw 0x7ff + dw 0x0000 + db 0x00 + dw 11010000b *256 +11110010b + db 0x00 tss0_l: - dw TSS_SIZE-1 - dw tss and 0xFFFF - db (tss shr 16) and 0xFF - db 10001001b - dw (tss shr 16) and 0xFF00 + dw TSS_SIZE-1 + dw tss and 0xFFFF + db (tss shr 16) and 0xFF + db 10001001b + dw (tss shr 16) and 0xFF00 endofcode: gdte: align 16 -cur_saved_data rb 4096 -fpu_data: rb 512 +cur_saved_data rb 4096 +fpu_data: rb 512 ; device irq owners -irq_owner rd 16 ; process id +irq_owner rd 16 ; process id ; on irq read ports -irq00read rd 16 -irq01read rd 16 -irq02read rd 16 -irq03read rd 16 -irq04read rd 16 -irq05read rd 16 -irq06read rd 16 -irq07read rd 16 -irq08read rd 16 -irq09read rd 16 -irq10read rd 16 -irq11read rd 16 -irq12read rd 16 -irq13read rd 16 -irq14read rd 16 -irq15read rd 16 +irq00read rd 16 +irq01read rd 16 +irq02read rd 16 +irq03read rd 16 +irq04read rd 16 +irq05read rd 16 +irq06read rd 16 +irq07read rd 16 +irq08read rd 16 +irq09read rd 16 +irq10read rd 16 +irq11read rd 16 +irq12read rd 16 +irq13read rd 16 +irq14read rd 16 +irq15read rd 16 -irq_tab rd 16 +irq_tab rd 16 -mem_block_map rb 512 -event_map rb 64 -mem_block_list rd 64 -mem_block_mask rd 2 +mem_block_map rb 512 +event_map rb 64 +mem_block_list rd 64 +mem_block_mask rd 2 -mem_used.fd rd 1 -mem_used.bk rd 1 +mem_used.fd rd 1 +mem_used.bk rd 1 -mem_block_arr rd 1 +mem_block_arr rd 1 mem_block_start rd 1 -mem_block_end rd 1 +mem_block_end rd 1 -heap_mutex rd 1 -heap_size rd 1 -heap_free rd 1 -heap_blocks rd 1 -free_blocks rd 1 +heap_mutex rd 1 +heap_size rd 1 +heap_free rd 1 +heap_blocks rd 1 +free_blocks rd 1 mst MEM_STATE -page_start rd 1 -page_end rd 1 -events rd 1 -event_start rd 1 -event_end rd 1 -event_uid rd 1 -sys_page_map rd 1 -os_stack_seg rd 1 +page_start rd 1 +page_end rd 1 +events rd 1 +event_start rd 1 +event_end rd 1 +event_uid 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 -scr_width rd 1 -scr_height rd 1 +scr_width rd 1 +scr_height rd 1 -create_cursor rd 1 +create_cursor rd 1 select_hw_cursor rd 1 -set_hw_cursor rd 1 -hw_restore rd 1 +set_hw_cursor rd 1 +hw_restore rd 1 -def_cursor rd 1 -current_cursor rd 1 -hw_cursor rd 1 -cur_def_interl rd 1 -cur_saved_base rd 1 +def_cursor rd 1 +current_cursor rd 1 +hw_cursor rd 1 +cur_def_interl rd 1 +cur_saved_base rd 1 cur_saved_interl rd 1 -cur_saved_w rd 1 -cur_saved_h rd 1 +cur_saved_w rd 1 +cur_saved_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 -stall_mcs rd 1 -current_slot rd 1 +stall_mcs rd 1 +current_slot rd 1 ; status -hd1_status rd 1 ; 0 - free : other - pid +hd1_status rd 1 ; 0 - free : other - pid application_table_status rd 1 ; 0 - free : other - pid ; 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 -fat32part rd 1 ; for boot 0x1 -cdpos rd 1 +hdbase rd 1 ; for boot 0x1f0 +hdid rd 1 +hdpos rd 1 ; for boot 0x1 +fat32part rd 1 ; for boot 0x1 +cdpos rd 1 -sb16 rd 1 +sb16 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 +buttontype rd 1 windowtypechanged rd 1 -hd_entries rd 1 ;unused ? 0xfe10 +hd_entries rd 1 ;unused ? 0xfe10 ;* start code - Mario79 -mouse_active rd 1 -mouse_pause rd 1 +mouse_active rd 1 +mouse_pause rd 1 MouseTickCounter rd 1 com1_mouse_detected rb 1 com2_mouse_detected rb 1 ;* end code - Mario79 -img_background rd 1 -mem_BACKGROUND rd 1 +img_background rd 1 +mem_BACKGROUND rd 1 wraw_bacground_select rb 1 cache_ide0: -cache_ide0_pointer rd 1 -cache_ide0_size rd 1 ; not use +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_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_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_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_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_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_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_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 @@ -449,11 +448,11 @@ cd_appl_data rb 1 ; 0 = system cache, 1 - application cache 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 +timer_ticks_enable rb 1 ; for cd driver -NumBiosDisks rd 1 -BiosDisksData rb 200h -BiosDiskCaches rb 80h*(cache_ide1-cache_ide0) +NumBiosDisks rd 1 +BiosDisksData rb 200h +BiosDiskCaches rb 80h*(cache_ide1-cache_ide0) BiosDiskPartitions rd 80h IncludeUGlobals diff --git a/kernel/trunk/kernel.asm b/kernel/trunk/kernel.asm index 8fc92e46fa..a9bd7b8cdd 100644 --- a/kernel/trunk/kernel.asm +++ b/kernel/trunk/kernel.asm @@ -853,9 +853,6 @@ first_app_found: ; START MULTITASKING - mov esi,boot_tasking - call boot_log - ; mov [ENABLE_TASKSWITCH],byte 1 ; multitasking enabled ; UNMASK ALL IRQ'S @@ -914,21 +911,7 @@ boot_log: mov [novesachecksum],1000 call checkVga_N13 - cmp [preboot_blogesc+OS_BASE+0x10000],byte 1 - je .bll2 - - cmp esi,boot_tasking - jne .bll2 - ; begin ealex 04.08.05 -; in al,0x61 -; and al,01111111b -; out 0x61,al - ; end ealex 04.08.05 -.bll1: in al,0x60 ; wait for ESC key press - cmp al,129 - jne .bll1 - -.bll2: popad + popad ret