Remove Base class

BUG: 69965828
Change-Id: I91d63d7d0aa49fc8c447341b5043896f13c9e970
diff --git a/common/vsoc/shm/base.h b/common/vsoc/shm/base.h
index 2f65415..f820153 100644
--- a/common/vsoc/shm/base.h
+++ b/common/vsoc/shm/base.h
@@ -33,20 +33,13 @@
 namespace layout {
 
 /**
- * Base class that should be used for all shared memory objects
- */
-class Base {
-};
-ASSERT_SHM_COMPATIBLE(Base, multi_region);
-
-/**
  * Memory is shared between Guest and Host kernels. In some cases we need
  * flag to indicate which side we're on. In those cases we'll use this
  * simple structure.
  *
  * These are carefully formatted to make Guest and Host a bitfield.
  */
-struct Sides : public Base {
+struct Sides {
   static const uint32_t NoSides = 0;
   static const uint32_t Guest = 1;
   static const uint32_t Host = 2;
@@ -66,7 +59,7 @@
 /**
  * Base class for all region layout structures.
  */
-class RegionLayout : public Base {
+class RegionLayout {
 };
 ASSERT_SHM_COMPATIBLE(RegionLayout, multi_region);
 
diff --git a/common/vsoc/shm/circqueue.h b/common/vsoc/shm/circqueue.h
index aa236ee..5422b8e 100644
--- a/common/vsoc/shm/circqueue.h
+++ b/common/vsoc/shm/circqueue.h
@@ -34,7 +34,7 @@
  * as the parameter to TypedRegion.
  */
 template <uint32_t SizeLog2>
-class CircularQueueBase : public Base {
+class CircularQueueBase {
   CircularQueueBase() = delete;
   CircularQueueBase(const CircularQueueBase&) = delete;
   CircularQueueBase& operator=(const CircularQueueBase&) = delete;
diff --git a/common/vsoc/shm/e2e_test_region_layout.h b/common/vsoc/shm/e2e_test_region_layout.h
index e9a35e6..f0a24e9 100644
--- a/common/vsoc/shm/e2e_test_region_layout.h
+++ b/common/vsoc/shm/e2e_test_region_layout.h
@@ -56,7 +56,7 @@
  * Structure that grants permission to write in the region to either the guest
  * or the host. This size of these fields is arbitrary.
  */
-struct E2EMemoryFill : public ::vsoc::layout::Base {
+struct E2EMemoryFill {
   static const std::size_t kOwnedFieldSize = 32;
 
   // The compiler must not attempt to optimize away reads and writes to the
@@ -70,10 +70,6 @@
 /**
  * Structure that grants permission to write in the region to either the guest
  * or the host. This size of these fields is arbitrary.
- *
- * Note normally this would inherit from vsoc::layout::Base. However, it appears
- * as the first member of the E2E layout structure, and that combination
- * disables clang EBO and changes the structure size.
  */
 class E2ETestStageRegister {
  public:
diff --git a/common/vsoc/shm/gralloc_layout.h b/common/vsoc/shm/gralloc_layout.h
index eed1e23..d7f9c49 100644
--- a/common/vsoc/shm/gralloc_layout.h
+++ b/common/vsoc/shm/gralloc_layout.h
@@ -28,7 +28,7 @@
 
 namespace gralloc {
 
-struct BufferEntry : public Base {
+struct BufferEntry {
   uint32_t owned_by;
   vsoc_reg_off_t buffer_begin;
   vsoc_reg_off_t buffer_end;
diff --git a/common/vsoc/shm/graphics.h b/common/vsoc/shm/graphics.h
index 58a1684..feaf7f8 100644
--- a/common/vsoc/shm/graphics.h
+++ b/common/vsoc/shm/graphics.h
@@ -142,7 +142,7 @@
 
 // VSoC memory layout for a register that accepts a single pixel format.
 // The value is volatile to ensure that the compiler does not eliminate stores.
-struct PixelFormatRegister : public Base {
+struct PixelFormatRegister {
   volatile PixelFormat value_;
 };
 ASSERT_SHM_COMPATIBLE(PixelFormatRegister, multi_region);
@@ -150,7 +150,7 @@
 // Register layout for a mask giving different PixelFormats. Reserve enough
 // space to allow for future expansion. For example, we may well end with
 // a 12 bit per channel format in the future.
-struct PixelFormatMaskRegister : public Base {
+struct PixelFormatMaskRegister {
   volatile uint64_t value_;
 
   bool HasValue(PixelFormat in) {
diff --git a/common/vsoc/shm/lock.h b/common/vsoc/shm/lock.h
index 433714f..2cae5bc 100644
--- a/common/vsoc/shm/lock.h
+++ b/common/vsoc/shm/lock.h
@@ -54,7 +54,7 @@
  * This lock should never be used when the amount of work in the critical
  * section cannot be bounded.
  */
-class SpinLock : public Base {
+class SpinLock {
  public:
   /**
    * Acquire the spinlock on the queue. This will effectively block all
@@ -82,7 +82,7 @@
  * This is a generic synchronization primitive that provides space for the
  * owner of the lock to write platform-specific information.
  */
-class WaitingLockBase : public Base {
+class WaitingLockBase {
  protected:
   // Common code to handle locking
   // Must be called with the kernel's thread id