Changed the way device timers are run, fixes DesqView/X.

This commit is contained in:
OBattler
2020-01-16 05:48:36 +01:00
parent 9b80d4b151
commit d516716b38
6 changed files with 33 additions and 12 deletions

View File

@@ -710,8 +710,12 @@ void leave_smm()
}
#define OP_TABLE(name) ops_ ## name
#define CLOCK_CYCLES(c) cycles -= (c)
#define CLOCK_CYCLES_ALWAYS(c) cycles -= (c)
#define CLOCK_CYCLES(c) do { cycles -= (c); \
if (TIMER_VAL_LESS_THAN_VAL(timer_target, (uint32_t)tsc)) \
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"