[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH 1/2] kernel2: vm86: ip nach Zwei-Byte-Instruktionen gefixt
! kernel2: Der Instruktionsemulator hat ip immer nur um ein Byte
hochgezählt, auch wenn die Instruktion in Wirklichkeit zwei Bytes hat.
Das ist natürlich falsch.
Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
src/kernel2/src/arch/i386/vm86.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/kernel2/src/arch/i386/vm86.c b/src/kernel2/src/arch/i386/vm86.c
index 5686667..566f2af 100644
--- a/src/kernel2/src/arch/i386/vm86.c
+++ b/src/kernel2/src/arch/i386/vm86.c
@@ -389,7 +389,7 @@ int vm86_exception(interrupt_stack_frame_t* isf)
case 0x66ed: /* inl eax, dx */
isf->eax = inl(isf->edx);
- isf->eip++;
+ isf->eip += 2;
break;
case 0xee: /* outb dx, al */
@@ -404,7 +404,7 @@ int vm86_exception(interrupt_stack_frame_t* isf)
case 0x66ef: /* outl dx, eax */
outl(isf->edx, isf->eax);
- isf->eip++;
+ isf->eip += 2;
break;
case 0xfa: /* cli */
--
2.1.4