Attempt to fix the internal_illegal problem plagung the AMD K* and I686 CPU instructions code.
This commit is contained in:
@@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
* 286/386+ instruction handlers list.
|
* 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/>
|
* Author: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||||
* leilei,
|
* leilei,
|
||||||
@@ -147,6 +147,15 @@ static int ILLEGAL(uint32_t fetchdat)
|
|||||||
return 0;
|
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"
|
#include "x86seg.h"
|
||||||
#ifdef DEV_BRANCH
|
#ifdef DEV_BRANCH
|
||||||
#ifdef USE_AMD_K
|
#ifdef USE_AMD_K
|
||||||
|
@@ -8,21 +8,12 @@
|
|||||||
*
|
*
|
||||||
* AMD SYSCALL and SYSRET CPU Instructions.
|
* 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>
|
* Author: Miran Grca, <mgrca8@gmail.com>
|
||||||
* Copyright 2016-2018 Miran Grca.
|
* 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
|
/* 0 = Limit 0-15
|
||||||
1 = Base 0-15
|
1 = Base 0-15
|
||||||
2 = Base 16-23 (bits 0-7), Access rights
|
2 = Base 16-23 (bits 0-7), Access rights
|
||||||
|
@@ -8,21 +8,12 @@
|
|||||||
*
|
*
|
||||||
* x86 i686 (Pentium Pro/Pentium II) CPU Instructions.
|
* 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>
|
* Author: Miran Grca, <mgrca8@gmail.com>
|
||||||
* Copyright 2016-2018 Miran Grca.
|
* 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
|
/* 0 = Limit 0-15
|
||||||
1 = Base 0-15
|
1 = Base 0-15
|
||||||
2 = Base 16-23 (bits 0-7), Access rights
|
2 = Base 16-23 (bits 0-7), Access rights
|
||||||
|
Reference in New Issue
Block a user