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