diff --git a/guest/hals/hwcomposer/Android.mk b/guest/hals/hwcomposer/vsoc-future/Android.mk
similarity index 100%
rename from guest/hals/hwcomposer/Android.mk
rename to guest/hals/hwcomposer/vsoc-future/Android.mk
diff --git a/guest/hals/hwcomposer/hwcomposer.cpp b/guest/hals/hwcomposer/vsoc-future/hwcomposer.cpp
similarity index 100%
rename from guest/hals/hwcomposer/hwcomposer.cpp
rename to guest/hals/hwcomposer/vsoc-future/hwcomposer.cpp
diff --git a/guest/hals/hwcomposer/legacy/Android.mk b/guest/hals/hwcomposer/vsoc/Android.mk
similarity index 100%
rename from guest/hals/hwcomposer/legacy/Android.mk
rename to guest/hals/hwcomposer/vsoc/Android.mk
diff --git a/guest/hals/hwcomposer/legacy/base_composer.cpp b/guest/hals/hwcomposer/vsoc/base_composer.cpp
similarity index 100%
rename from guest/hals/hwcomposer/legacy/base_composer.cpp
rename to guest/hals/hwcomposer/vsoc/base_composer.cpp
diff --git a/guest/hals/hwcomposer/legacy/base_composer.h b/guest/hals/hwcomposer/vsoc/base_composer.h
similarity index 100%
rename from guest/hals/hwcomposer/legacy/base_composer.h
rename to guest/hals/hwcomposer/vsoc/base_composer.h
diff --git a/guest/hals/hwcomposer/legacy/geometry_utils.cpp b/guest/hals/hwcomposer/vsoc/geometry_utils.cpp
similarity index 100%
rename from guest/hals/hwcomposer/legacy/geometry_utils.cpp
rename to guest/hals/hwcomposer/vsoc/geometry_utils.cpp
diff --git a/guest/hals/hwcomposer/legacy/geometry_utils.h b/guest/hals/hwcomposer/vsoc/geometry_utils.h
similarity index 100%
rename from guest/hals/hwcomposer/legacy/geometry_utils.h
rename to guest/hals/hwcomposer/vsoc/geometry_utils.h
diff --git a/guest/hals/hwcomposer/legacy/hwcomposer.cpp b/guest/hals/hwcomposer/vsoc/hwcomposer.cpp
similarity index 98%
rename from guest/hals/hwcomposer/legacy/hwcomposer.cpp
rename to guest/hals/hwcomposer/vsoc/hwcomposer.cpp
index 9711656..bae889b 100644
--- a/guest/hals/hwcomposer/legacy/hwcomposer.cpp
+++ b/guest/hals/hwcomposer/vsoc/hwcomposer.cpp
@@ -350,8 +350,10 @@
       (struct vsoc_hwc_composer_device_1_t*)data;
   setpriority(PRIO_PROCESS, 0, HAL_PRIORITY_URGENT_DISPLAY);
 
+  int64_t nanoseconds = static_cast<int64_t>(1e9);
+
   int64_t base_timestamp = pdev->vsync_base_timestamp;
-  int64_t last_logged = base_timestamp / 1e9;
+  int64_t last_logged = base_timestamp / nanoseconds;
   int sent = 0;
   int last_sent = 0;
   static const int log_interval = 60;
@@ -363,13 +365,13 @@
       ALOGE("%s:%d error in vsync thread clock_gettime: %s", __FILE__, __LINE__,
             strerror(errno));
     }
-    int64_t timestamp = int64_t(rt.tv_sec) * 1e9 + rt.tv_nsec;
+    int64_t timestamp = int64_t(rt.tv_sec) * nanoseconds + rt.tv_nsec;
     // Given now's timestamp calculate the time of the next timestamp.
     timestamp += pdev->vsync_period_ns -
                  (timestamp - base_timestamp) % pdev->vsync_period_ns;
 
-    rt.tv_sec = timestamp / 1e9;
-    rt.tv_nsec = timestamp % static_cast<int32_t>(1e9);
+    rt.tv_sec = timestamp / nanoseconds;
+    rt.tv_nsec = timestamp % static_cast<int32_t>(nanoseconds);
     int err = clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &rt, NULL);
     if (err == -1) {
       ALOGE("error in vsync thread: %s", strerror(errno));
diff --git a/guest/hals/hwcomposer/legacy/hwcomposer.mk b/guest/hals/hwcomposer/vsoc/hwcomposer.mk
similarity index 100%
rename from guest/hals/hwcomposer/legacy/hwcomposer.mk
rename to guest/hals/hwcomposer/vsoc/hwcomposer.mk
diff --git a/guest/hals/hwcomposer/legacy/hwcomposer_common.h b/guest/hals/hwcomposer/vsoc/hwcomposer_common.h
similarity index 100%
rename from guest/hals/hwcomposer/legacy/hwcomposer_common.h
rename to guest/hals/hwcomposer/vsoc/hwcomposer_common.h
diff --git a/guest/hals/hwcomposer/legacy/stats_keeper.cpp b/guest/hals/hwcomposer/vsoc/stats_keeper.cpp
similarity index 100%
rename from guest/hals/hwcomposer/legacy/stats_keeper.cpp
rename to guest/hals/hwcomposer/vsoc/stats_keeper.cpp
diff --git a/guest/hals/hwcomposer/legacy/stats_keeper.h b/guest/hals/hwcomposer/vsoc/stats_keeper.h
similarity index 100%
rename from guest/hals/hwcomposer/legacy/stats_keeper.h
rename to guest/hals/hwcomposer/vsoc/stats_keeper.h
diff --git a/guest/hals/hwcomposer/legacy/vsoc_composer.cpp b/guest/hals/hwcomposer/vsoc/vsoc_composer.cpp
similarity index 100%
rename from guest/hals/hwcomposer/legacy/vsoc_composer.cpp
rename to guest/hals/hwcomposer/vsoc/vsoc_composer.cpp
diff --git a/guest/hals/hwcomposer/legacy/vsoc_composer.h b/guest/hals/hwcomposer/vsoc/vsoc_composer.h
similarity index 100%
rename from guest/hals/hwcomposer/legacy/vsoc_composer.h
rename to guest/hals/hwcomposer/vsoc/vsoc_composer.h
