TIMER: Fix recently revised sim_idle_capable for hosts which aren't idle capable.
This commit is contained in:
parent
b3b038900c
commit
44ef17f971
3 changed files with 10 additions and 7 deletions
9
scp.c
9
scp.c
|
@ -4276,14 +4276,15 @@ if (vdelt)
|
|||
fprintf (st, " %s", SIM_VERSION_MODE);
|
||||
#endif
|
||||
if (flag) {
|
||||
uint32 idle_capable, os_tick_size;
|
||||
t_bool idle_capable;
|
||||
uint32 os_ms_sleep_1, os_tick_size;
|
||||
|
||||
fprintf (st, "\n\tSimulator Framework Capabilities:");
|
||||
fprintf (st, "\n\t\t%s", sim_si64);
|
||||
fprintf (st, "\n\t\t%s", sim_sa64);
|
||||
fprintf (st, "\n\t\t%s", eth_capabilities());
|
||||
idle_capable = sim_timer_idle_capable (&os_tick_size);
|
||||
fprintf (st, "\n\t\tIdle/Throttling support is %savailable", ((idle_capable == 0) ? "NOT " : ""));
|
||||
idle_capable = sim_timer_idle_capable (&os_ms_sleep_1, &os_tick_size);
|
||||
fprintf (st, "\n\t\tIdle/Throttling support is %savailable", idle_capable ? "" : "NOT ");
|
||||
if (sim_disk_vhd_support())
|
||||
fprintf (st, "\n\t\tVirtual Hard Disk (VHD) support");
|
||||
if (sim_disk_raw_support())
|
||||
|
@ -4333,7 +4334,7 @@ if (flag) {
|
|||
fprintf (st, "\n\t\tNo RegEx support for EXPECT commands");
|
||||
#endif
|
||||
fprintf (st, "\n\t\tOS clock resolution: %dms", os_tick_size);
|
||||
fprintf (st, "\n\t\tTime taken by msleep(1): %dms", idle_capable);
|
||||
fprintf (st, "\n\t\tTime taken by msleep(1): %dms", os_ms_sleep_1);
|
||||
#if defined(__VMS)
|
||||
if (1) {
|
||||
char *arch =
|
||||
|
|
|
@ -743,11 +743,13 @@ return (sim_idle_rate_ms != 0);
|
|||
|
||||
/* sim_timer_idle_capable - tell if the host is Idle capable and what the host OS tick size is */
|
||||
|
||||
uint32 sim_timer_idle_capable (uint32 *host_tick_ms)
|
||||
t_bool sim_timer_idle_capable (uint32 *host_ms_sleep_1, uint32 *host_tick_ms)
|
||||
{
|
||||
if (host_tick_ms)
|
||||
*host_tick_ms = sim_os_clock_resoluton_ms;
|
||||
return sim_idle_rate_ms;
|
||||
if (host_ms_sleep_1)
|
||||
*host_ms_sleep_1 = sim_os_sleep_min_ms;
|
||||
return (sim_idle_rate_ms != 0);
|
||||
}
|
||||
|
||||
/* sim_show_timers - show running timer information */
|
||||
|
|
|
@ -124,7 +124,7 @@ t_stat sim_register_clock_unit (UNIT *uptr);
|
|||
t_stat sim_clock_coschedule (UNIT *uptr, int32 interval);
|
||||
t_stat sim_clock_coschedule_tmr (UNIT *uptr, int32 tmr, int32 interval);
|
||||
double sim_timer_inst_per_sec (void);
|
||||
uint32 sim_timer_idle_capable (uint32 *hoat_tick_ms);
|
||||
t_bool sim_timer_idle_capable (uint32 *host_ms_sleep_1, uint32 *host_tick_ms);
|
||||
|
||||
extern t_bool sim_idle_enab; /* idle enabled flag */
|
||||
extern volatile t_bool sim_idle_wait; /* idle waiting flag */
|
||||
|
|
Loading…
Add table
Reference in a new issue