From 6e65ab7c45124d613954cf22aadcf175ea8d22e3 Mon Sep 17 00:00:00 2001 From: "Evgeny Grechnikov (Diamond)" Date: Sat, 9 Feb 2008 21:30:06 +0000 Subject: [PATCH] fixed bug in V86-mode handling of IRQ>=8 git-svn-id: svn://kolibrios.org@724 a494cfbc-eb01-0410-851d-a64ba20cac60 --- kernel/trunk/boot/booteng.inc | 2 +- kernel/trunk/core/v86.inc | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/kernel/trunk/boot/booteng.inc b/kernel/trunk/boot/booteng.inc index f31b0b06cf..89f289126e 100644 --- a/kernel/trunk/boot/booteng.inc +++ b/kernel/trunk/boot/booteng.inc @@ -21,7 +21,7 @@ novesa db "Display: EGA/CGA",13,10,0 s_vesa db "Version of VESA: " .ver db "?.?",13,10,0 -gr_mode db "Select a vedeomode: ",13,10,0 +gr_mode db "Select a videomode: ",13,10,0 ;s_bpp db 13,10,186," Глубина цвета: " ; .bpp dw "??" ; db 13,10,0 diff --git a/kernel/trunk/core/v86.inc b/kernel/trunk/core/v86.inc index 810124b220..8f152fe74c 100644 --- a/kernel/trunk/core/v86.inc +++ b/kernel/trunk/core/v86.inc @@ -47,7 +47,7 @@ v86_create: ; first half (0x800 bytes) is page table for addresses 0 - 0x100000, ; second half is for V86-to-linear translation. ; Third and fourth are for I/O permission map. - push 8000h ;page block less 8Kb are discontinuous + push 8000h ; blocks less than 8 pages are discontinuous call kernel_alloc test eax, eax jz .fail2 @@ -170,7 +170,7 @@ v86_set_page: ; esi=handle ; out: eax=V86 address, para-aligned (0x10 multiple) ; destroys: nothing -; сан!!! +; недописана!!! ;v86_alloc: ; push ebx ecx edx edi ; lea ebx, [esi+V86_machine.mutex] @@ -190,7 +190,7 @@ v86_set_page: ; add edx, ecx ; cmp dword [edx], 0 ; free block? ; jnz .n -; cmp dword [edx+4], +; cmp dword [edx+4], ; and [esi+V86_machine.mutex], 0 ; pop edi edx ecx ebx ; ret @@ -390,8 +390,8 @@ v86_exc_c: jnz .nogp ; Otherwise we can safely access byte at CS:IP ; (because it is #GP, not #PF handler) -; сли хло склчен только - тен тов , -; уже хлотал ыло #GP +; Если бы мы могли схлопотать исключение только из-за чтения байтов кода, +; мы бы его уже схлопотали и это было бы не #GP movzx esi, word [esp+v86_regs.cs] shl esi, 4 add esi, [esp+v86_regs.eip] @@ -798,7 +798,7 @@ v86_irq2: lea eax, [edi+8] cmp al, 10h jb @f - add al, 70h-8 + add al, 60h @@: jmp v86_exc_c.simulate_int .notcurrent: @@ -854,7 +854,7 @@ v86_irq2: lea eax, [edi+8] cmp al, 10h jb @f - add al, 70h-8 + add al, 60h @@: mov cx, [eax*4] mov word [esi-v86_regs.size+v86_regs.eip], cx