From 9470f6e09759172ad3df872bb6b4d03e73231018 Mon Sep 17 00:00:00 2001 From: "Evgeny Grechnikov (Diamond)" Date: Mon, 25 May 2009 12:22:51 +0000 Subject: [PATCH] fixed V86 task switch on IRQ broken in rev. 1055 git-svn-id: svn://kolibrios.org@1082 a494cfbc-eb01-0410-851d-a64ba20cac60 --- kernel/trunk/core/v86.inc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/kernel/trunk/core/v86.inc b/kernel/trunk/core/v86.inc index 56a94c4f59..c90de2e859 100644 --- a/kernel/trunk/core/v86.inc +++ b/kernel/trunk/core/v86.inc @@ -925,12 +925,11 @@ v86_irq2: mov cx, [eax*4+2] mov word [esi-v86_regs.size+v86_regs.cs], cx and byte [esi-v86_regs.size+v86_regs.eflags+1], not 3 - ; push ebx call update_counters - ; pop ebx - ; sub ebx, SLOT_BASE - ; shr ebx, 8 - ; mov esi, [CURRENT_TASK] + lea edi, [ebx - SLOT_BASE] + shr edi, 3 + add edi, TASK_DATA + call find_next_task.found call do_change_task popad iretd