From c8f93d8d8f06ca1638989f8eb55dacbabc44d498 Mon Sep 17 00:00:00 2001 From: CleverMouse Date: Mon, 24 Jun 2013 07:49:56 +0000 Subject: [PATCH] fix V86 IRQ redirecting when task switch is needed, it never worked before git-svn-id: svn://kolibrios.org@3696 a494cfbc-eb01-0410-851d-a64ba20cac60 --- kernel/trunk/core/v86.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/trunk/core/v86.inc b/kernel/trunk/core/v86.inc index c6b4b3e41c..7460e45c7c 100644 --- a/kernel/trunk/core/v86.inc +++ b/kernel/trunk/core/v86.inc @@ -896,6 +896,7 @@ v86_irq2: iretd .found: mov cr3, eax + mov esi, [ebx+APPDATA.saved_esp0] sub word [esi-sizeof.v86_regs+v86_regs.esp], 6 mov ecx, [esi-sizeof.v86_regs+v86_regs.eip] mov word [edx], cx @@ -916,7 +917,7 @@ v86_irq2: call update_counters lea edi, [ebx + 0x100000000 - SLOT_BASE] shr edi, 3 - add edi, TASK_DATA + add edi, CURRENT_TASK call find_next_task.found call do_change_task popad