summaryrefslogtreecommitdiff
path: root/usr/src/uts/i86pc/os/timestamp.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/i86pc/os/timestamp.c')
-rw-r--r--usr/src/uts/i86pc/os/timestamp.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/usr/src/uts/i86pc/os/timestamp.c b/usr/src/uts/i86pc/os/timestamp.c
index e93f9de2c8..02b4cb529c 100644
--- a/usr/src/uts/i86pc/os/timestamp.c
+++ b/usr/src/uts/i86pc/os/timestamp.c
@@ -134,7 +134,6 @@ static volatile int tsc_sync_go;
}
int tsc_master_slave_sync_needed = 1;
-extern int platform_is_virt;
static int tsc_max_delta;
static hrtime_t tsc_sync_tick_delta[NCPU];
@@ -415,8 +414,11 @@ tsc_sync_master(processorid_t slave)
hrtime_t write_time, x, mtsc_after, tdelta;
tsc_sync_t *tsc = tscp;
int cnt;
+ int hwtype;
- if (!tsc_master_slave_sync_needed || platform_is_virt)
+ hwtype = get_hwenv();
+ if (!tsc_master_slave_sync_needed || hwtype == HW_XEN_HVM ||
+ hwtype == HW_VMWARE)
return;
flags = clear_int_flag();
@@ -492,8 +494,11 @@ tsc_sync_slave(void)
hrtime_t s1;
tsc_sync_t *tsc = tscp;
int cnt;
+ int hwtype;
- if (!tsc_master_slave_sync_needed || platform_is_virt)
+ hwtype = get_hwenv();
+ if (!tsc_master_slave_sync_needed || hwtype == HW_XEN_HVM ||
+ hwtype == HW_VMWARE)
return;
flags = clear_int_flag();