Fixed the 286+ CPU timer running.
This commit is contained in:
@@ -73,12 +73,8 @@ extern int dontprint;
|
|||||||
|
|
||||||
#define OP_TABLE(name) ops_ ## name
|
#define OP_TABLE(name) ops_ ## name
|
||||||
|
|
||||||
#define CLOCK_CYCLES(c) do { cycles -= (c); \
|
#define CLOCK_CYCLES(c) cycles -= (c)
|
||||||
if (TIMER_VAL_LESS_THAN_VAL(timer_target, (uint32_t)tsc)) \
|
#define CLOCK_CYCLES_ALWAYS(c) cycles -= (c)
|
||||||
timer_process(); } while(0)
|
|
||||||
#define CLOCK_CYCLES_ALWAYS(c) do { cycles -= (c); \
|
|
||||||
if (TIMER_VAL_LESS_THAN_VAL(timer_target, (uint32_t)tsc)) \
|
|
||||||
timer_process(); } while(0)
|
|
||||||
|
|
||||||
#include "x86_ops.h"
|
#include "x86_ops.h"
|
||||||
|
|
||||||
@@ -252,9 +248,9 @@ dontprint=0;
|
|||||||
if (!timetolive)
|
if (!timetolive)
|
||||||
fatal("Life expired\n");
|
fatal("Life expired\n");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (TIMER_VAL_LESS_THAN_VAL(timer_target, (uint32_t)tsc))
|
if (TIMER_VAL_LESS_THAN_VAL(timer_target, (uint32_t)tsc))
|
||||||
timer_process();
|
timer_process();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -710,12 +710,8 @@ void leave_smm()
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define OP_TABLE(name) ops_ ## name
|
#define OP_TABLE(name) ops_ ## name
|
||||||
#define CLOCK_CYCLES(c) do { cycles -= (c); \
|
#define CLOCK_CYCLES(c) cycles -= (c)
|
||||||
if (TIMER_VAL_LESS_THAN_VAL(timer_target, (uint32_t)tsc)) \
|
#define CLOCK_CYCLES_ALWAYS(c) cycles -= (c)
|
||||||
timer_process(); } while(0)
|
|
||||||
#define CLOCK_CYCLES_ALWAYS(c) do { cycles -= (c); \
|
|
||||||
if (TIMER_VAL_LESS_THAN_VAL(timer_target, (uint32_t)tsc)) \
|
|
||||||
timer_process(); } while(0)
|
|
||||||
|
|
||||||
#include "386_ops.h"
|
#include "386_ops.h"
|
||||||
|
|
||||||
@@ -1138,10 +1134,10 @@ inrecomp=0;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (TIMER_VAL_LESS_THAN_VAL(timer_target, (uint32_t)tsc))
|
if (TIMER_VAL_LESS_THAN_VAL(timer_target, (uint32_t)tsc))
|
||||||
timer_process();
|
timer_process();
|
||||||
|
}
|
||||||
cycles_main -= (cycles_start - cycles);
|
cycles_main -= (cycles_start - cycles);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -65,7 +65,5 @@ static __inline void fetch_ea_16_long(uint32_t rmdat)
|
|||||||
|
|
||||||
#define OP_TABLE(name) dynarec_ops_ ## name
|
#define OP_TABLE(name) dynarec_ops_ ## name
|
||||||
#define CLOCK_CYCLES(c)
|
#define CLOCK_CYCLES(c)
|
||||||
#define CLOCK_CYCLES_ALWAYS(c) do { cycles -= (c); \
|
#define CLOCK_CYCLES_ALWAYS(c) cycles -= (c)
|
||||||
if (TIMER_VAL_LESS_THAN_VAL(timer_target, (uint32_t)tsc)) \
|
|
||||||
timer_process(); } while(0)
|
|
||||||
#include "386_ops.h"
|
#include "386_ops.h"
|
||||||
|
@@ -175,12 +175,8 @@ fetch_ea_16_long(uint32_t rmdat)
|
|||||||
|
|
||||||
#define OP_TABLE(name) ops_ ## name
|
#define OP_TABLE(name) ops_ ## name
|
||||||
|
|
||||||
#define CLOCK_CYCLES(c) do { cycles -= (c); \
|
#define CLOCK_CYCLES(c) cycles -= (c)
|
||||||
if (TIMER_VAL_LESS_THAN_VAL(timer_target, (uint32_t)tsc)) \
|
#define CLOCK_CYCLES_ALWAYS(c) cycles -= (c)
|
||||||
timer_process(); } while(0)
|
|
||||||
#define CLOCK_CYCLES_ALWAYS(c) do { cycles -= (c); \
|
|
||||||
if (TIMER_VAL_LESS_THAN_VAL(timer_target, (uint32_t)tsc)) \
|
|
||||||
timer_process(); } while(0)
|
|
||||||
|
|
||||||
#include "x86_ops.h"
|
#include "x86_ops.h"
|
||||||
|
|
||||||
|
@@ -471,12 +471,8 @@ void leave_smm()
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define OP_TABLE(name) ops_ ## name
|
#define OP_TABLE(name) ops_ ## name
|
||||||
#define CLOCK_CYCLES(c) do { cycles -= (c); \
|
#define CLOCK_CYCLES(c) cycles -= (c)
|
||||||
if (TIMER_VAL_LESS_THAN_VAL(timer_target, (uint32_t)tsc)) \
|
#define CLOCK_CYCLES_ALWAYS(c) cycles -= (c)
|
||||||
timer_process(); } while(0)
|
|
||||||
#define CLOCK_CYCLES_ALWAYS(c) do { cycles -= (c); \
|
|
||||||
if (TIMER_VAL_LESS_THAN_VAL(timer_target, (uint32_t)tsc)) \
|
|
||||||
timer_process(); } while(0)
|
|
||||||
|
|
||||||
#include "386_ops.h"
|
#include "386_ops.h"
|
||||||
|
|
||||||
|
@@ -64,8 +64,6 @@ static inline void fetch_ea_16_long(uint32_t rmdat)
|
|||||||
#define OP_TABLE(name) dynarec_ops_ ## name
|
#define OP_TABLE(name) dynarec_ops_ ## name
|
||||||
/*Temporary*/
|
/*Temporary*/
|
||||||
#define CLOCK_CYCLES(c)
|
#define CLOCK_CYCLES(c)
|
||||||
#define CLOCK_CYCLES_ALWAYS(c) do { cycles -= (c); \
|
#define CLOCK_CYCLES_ALWAYS(c) cycles -= (c)
|
||||||
if (TIMER_VAL_LESS_THAN_VAL(timer_target, (uint32_t)tsc)) \
|
|
||||||
timer_process(); } while(0)
|
|
||||||
|
|
||||||
#include "386_ops.h"
|
#include "386_ops.h"
|
||||||
|
Reference in New Issue
Block a user