Attempt to fix the internal_illegal problem plagung the AMD K* and I686 CPU instructions code.

This commit is contained in:
OBattler
2018-04-26 00:00:22 +02:00
parent e62d40052e
commit 82ba691450
3 changed files with 12 additions and 21 deletions

View File

@@ -8,7 +8,7 @@
*
* 286/386+ instruction handlers list.
*
* Version: @(#)386_ops.h 1.0.2 2018/02/18
* Version: @(#)386_ops.h 1.0.3 2018/04/25
*
* Author: Sarah Walker, <http://pcem-emulator.co.uk/>
* leilei,
@@ -147,6 +147,15 @@ static int ILLEGAL(uint32_t fetchdat)
return 0;
}
#if defined(DEV_BRANCH) && (defined(USE_AMD_K) || defined(USE_I686))
static int internal_illegal(char *s)
{
cpu_state.pc = cpu_state.oldpc;
x86gpf(s, 0);
return cpu_state.abrt;
}
#endif
#include "x86seg.h"
#ifdef DEV_BRANCH
#ifdef USE_AMD_K

View File

@@ -8,21 +8,12 @@
*
* AMD SYSCALL and SYSRET CPU Instructions.
*
* Version: @(#)x86_ops_amd.h 1.0.2 2018/03/26
* Version: @(#)x86_ops_amd.h 1.0.3 2018/04/25
*
* Author: Miran Grca, <mgrca8@gmail.com>
* Copyright 2016-2018 Miran Grca.
*/
#ifndef internal_illegal
static int internal_illegal(char *s)
{
cpu_state.pc = cpu_state.oldpc;
x86gpf(s, 0);
return cpu_state.abrt;
}
#endif
/* 0 = Limit 0-15
1 = Base 0-15
2 = Base 16-23 (bits 0-7), Access rights

View File

@@ -8,21 +8,12 @@
*
* x86 i686 (Pentium Pro/Pentium II) CPU Instructions.
*
* Version: @(#)x86_ops_i686.h 1.0.3 2018/03/26
* Version: @(#)x86_ops_i686.h 1.0.4 2018/04/25
*
* Author: Miran Grca, <mgrca8@gmail.com>
* Copyright 2016-2018 Miran Grca.
*/
#ifndef internal_illegal
static int internal_illegal(char *s)
{
cpu_state.pc = cpu_state.oldpc;
x86gpf(s, 0);
return cpu_state.abrt;
}
#endif
/* 0 = Limit 0-15
1 = Base 0-15
2 = Base 16-23 (bits 0-7), Access rights