* unknown/unsupported videomode at boot leads to return in config manager
* boot config manager now allows to totally disable DMA access to HD git-svn-id: svn://kolibrios.org@514 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
1 parent
4c1ad6f2c7
commit
875ba74b27
9 files changed
+573
-562
No files matched your search
Executable → Regular
+7
-3
@@ -54,6 +54,9 @@ hd_read:
|
||||
call find_empty_slot ; ret in edi
|
||||
cmp [hd_error],0
|
||||
jne return_01
|
||||
; DMA read is permitted if [allow_dma_access]=1 or 2
|
||||
cmp [allow_dma_access], 2
|
||||
ja .nodma
|
||||
cmp [dma_hdd], 1
|
||||
jnz .nodma
|
||||
call hd_read_dma
|
||||
@@ -229,8 +232,9 @@ write_cache:
|
||||
cmp eax,[PARTITION_END]
|
||||
ja danger
|
||||
|
||||
cmp [allow_dma_write], 1
|
||||
jnz .nodma
|
||||
; DMA write is permitted only if [allow_dma_access]=1
|
||||
cmp [allow_dma_access], 2
|
||||
jae .nodma
|
||||
cmp [dma_hdd], 1
|
||||
jnz .nodma
|
||||
; Объединяем запись цепочки последовательных секторов в одно обращение к диску
|
||||
@@ -601,7 +605,7 @@ cache_chain_size db 0
|
||||
cache_chain_started db 0
|
||||
dma_task_switched db 0
|
||||
dma_hdd db 0
|
||||
allow_dma_write db 0
|
||||
allow_dma_access db 0
|
||||
endg
|
||||
|
||||
align 4
|
||||
|
||||
+552
-549
File diff suppressed because it is too large.
Load diff
@@ -34,7 +34,7 @@ vrrmprint db "Apply VRR? (picture frequency greater than 60Hz"
|
||||
; db " Select port [1-3]: ",0
|
||||
;no_com1 db 13,10,186, " No COM1 mouse",0
|
||||
;no_com2 db 13,10,186, " No COM2 mouse",0
|
||||
ask_dma db "Use DMA for HDD writing? [1-yes/2-no]: ",0
|
||||
ask_dma db "Use DMA for HDD access? [1-yes, 2-only for reading, 3-no]: ",0
|
||||
;gr_direct db 186," Use direct LFB writing? "
|
||||
; db "[1-yes/2-no] ? ",0
|
||||
;mem_model db 13,10,186," Motherboard memory [1-16 Mb / 2-32 Mb / "
|
||||
@@ -80,9 +80,10 @@ mode9 db "320x200, EGA/CGA 256 colors",0
|
||||
mode10 db "640x480, VGA 16 colors",0
|
||||
probeno_msg db " (standard mode)",0
|
||||
probeok_msg db " (check nonstandard modes)",0
|
||||
dma_msg db " [b] Use DMA for HDD writing:",0
|
||||
dma_msg db " [b] Use DMA for HDD access:",0
|
||||
on_msg db " on",13,10,0
|
||||
off_msg db " off",13,10,0
|
||||
readonly_msg db " only for reading",13,10,0
|
||||
vrrm_msg db " [c] Use VRR:",0
|
||||
preboot_device_msg db " [d] Floppy image: ",0
|
||||
preboot_device_msgs dw 0,pdm1,pdm2,pdm3
|
||||
|
||||
@@ -34,7 +34,7 @@ vrrmprint db "Kinnita VRR? (ekraani sagedus suurem kui 60Hz"
|
||||
; db " Vali port [1-3]: ",0
|
||||
;no_com1 db 13,10,186, " No COM1 mouse",0
|
||||
;no_com2 db 13,10,186, " No COM2 mouse",0
|
||||
ask_dma db "Use DMA for HDD writing? [1-jah/2-ei]: ",0
|
||||
ask_dma db "Use DMA for HDD access? [1-yes, 2-only for reading, 3-no]: ",0
|
||||
;gr_direct db 186," Use direct LFB writing? "
|
||||
; db "[1-yes/2-no] ? ",0
|
||||
;mem_model db 13,10,186," Motherboard memory [1-16 Mb / 2-32 Mb / "
|
||||
@@ -80,9 +80,10 @@ mode9 db "320x200, EGA/CGA 256 v
|
||||
mode10 db "640x480, VGA 16 vфrvi",0
|
||||
probeno_msg db " (standard reziim)",0
|
||||
probeok_msg db " (kontrolli ebastandardseid reziime)",0
|
||||
dma_msg db " [b] Use DMA for HDD writing:",0
|
||||
dma_msg db " [b] Use DMA for HDD access:",0
|
||||
on_msg db " sees",13,10,0
|
||||
off_msg db " vфljas",13,10,0
|
||||
readonly_msg db " only for reading",13,10,0
|
||||
vrrm_msg db " [c] Kasuta VRR:",0
|
||||
preboot_device_msg db " [d] Disketi kujutis: ",0
|
||||
preboot_device_msgs dw 0,pdm1,pdm2,pdm3
|
||||
|
||||
@@ -39,7 +39,7 @@ vrrmprint db "VRR verwenden? (Monitorfrequenz groesser als 60Hz"
|
||||
; db " Waehle Port [1-3]: ",0
|
||||
;no_com1 db 13,10,186, " Keine COM1 Maus",0
|
||||
;no_com2 db 13,10,186, " Keine COM2 Maus",0
|
||||
ask_dma db "Nutze DMA zum HDD Aufschreiben? [1-ja/2-nein]: ",0
|
||||
ask_dma db "Nutze DMA zum HDD Zugriff? [1-ja, 2-allein fur Lesen, 3-nein]: ",0
|
||||
;gr_direct db 186," Benutze direct LFB? "
|
||||
; db "[1-ja/2-nein] ? ",0
|
||||
;mem_model db 13,10,186," Hauptspeicher [1-16 Mb / 2-32 Mb / "
|
||||
@@ -88,6 +88,7 @@ probeok_msg db " (teste nicht-standard Modi)",0
|
||||
dma_msg db " [b] Nutze DMA zum HDD Aufschreiben:",0
|
||||
on_msg db " an",13,10,0
|
||||
off_msg db " aus",13,10,0
|
||||
readonly_msg db " fur Lesen",13,10,0
|
||||
vrrm_msg db " [c] Nutze VRR:",0
|
||||
preboot_device_msg db " [d] Diskettenimage: ",0
|
||||
preboot_device_msgs dw 0,pdm1,pdm2,pdm3
|
||||
|
||||
@@ -34,7 +34,7 @@ vrrmprint db "
|
||||
; db " Выберите порт [1-3]: ",0
|
||||
;no_com1 db 13,10,186," No COM1 mouse",0
|
||||
;no_com2 db 13,10,186," No COM2 mouse",0
|
||||
ask_dma db "Использовать DMA для записи на HDD? [1-да/2-нет]: ",0
|
||||
ask_dma db "Использовать DMA для доступа к HDD? [1-да, 2-только чтение, 3-нет]: ",0
|
||||
;gr_direct db 186," Использовать линейный видеобуфер? "
|
||||
; db "[1-да/2-нет]: ",0
|
||||
;mem_model db 13,10,186," Объ+м памяти [1-16 Mb / 2-32 Mb / "
|
||||
@@ -80,9 +80,10 @@ mode9 db "320x200, EGA/CGA 256 梥⮢",0
|
||||
mode10 db "640x480, VGA 16 цветов",0
|
||||
probeno_msg db " (стандартный видеорежим)",0
|
||||
probeok_msg db " (проверить нестандартные режимы)",0
|
||||
dma_msg db " [b] Использование DMA для записи на HDD:",0
|
||||
dma_msg db " [b] Использование DMA для доступа к HDD:",0
|
||||
on_msg db " вкл",13,10,0
|
||||
off_msg db " выкл",13,10,0
|
||||
readonly_msg db " только чтение",13,10,0
|
||||
vrrm_msg db " [c] Использование VRR:",0
|
||||
preboot_device_msg db " [d] Образ дискеты: ",0
|
||||
preboot_device_msgs dw 0,pdm1,pdm2,pdm3
|
||||
|
||||
@@ -18,7 +18,7 @@ display_atboot db 0 ; show boot screen messages ( 2-no )
|
||||
preboot_graph db 0 ; graph mode
|
||||
preboot_gprobe db 0 ; probe vesa3 videomodes (1-no, 2-yes)
|
||||
preboot_vrrm db 0 ; use VRR_M (1-yes, 2- no)
|
||||
preboot_dma_write db 0 ; use DMA for writing to HDD (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)
|
||||
;!!!! 0 - autodetect !!!!
|
||||
|
||||
@@ -321,8 +321,8 @@ high_code:
|
||||
; -----------------------------------------
|
||||
; movzx eax,byte [BOOT_VAR+0x9010] ; mouse port
|
||||
; mov [0xF604],byte 1 ;al
|
||||
mov al, [BOOT_VAR+0x901F] ; DMA writing
|
||||
mov [allow_dma_write], al
|
||||
mov al, [BOOT_VAR+0x901F] ; DMA access
|
||||
mov [allow_dma_access], al
|
||||
mov al,[BOOT_VAR+0x9000] ; bpp
|
||||
mov [ScreenBPP],al
|
||||
movzx eax,word [BOOT_VAR+0x900A] ; X max
|
||||
|
||||
Executable → Regular
File mode changed.
Reference in new issue
Block a user