From 92e152f11d7b70c83aa99204396cc3841f5c5e5c Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 15 Nov 2020 17:53:36 +0100 Subject: [PATCH] UserspaceEmulator: Add virtual data()/shadow_data() accessors to Region --- DevTools/UserspaceEmulator/MmapRegion.h | 4 ++-- DevTools/UserspaceEmulator/SharedBufferRegion.h | 3 ++- DevTools/UserspaceEmulator/SimpleRegion.h | 4 ++-- DevTools/UserspaceEmulator/SoftMMU.h | 3 +++ 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/DevTools/UserspaceEmulator/MmapRegion.h b/DevTools/UserspaceEmulator/MmapRegion.h index cfe5694c92..f1e1220707 100644 --- a/DevTools/UserspaceEmulator/MmapRegion.h +++ b/DevTools/UserspaceEmulator/MmapRegion.h @@ -47,8 +47,8 @@ public: virtual void write32(u32 offset, ValueWithShadow) override; virtual void write64(u32 offset, ValueWithShadow) override; - u8* data() { return m_data; } - u8* shadow_data() { return m_shadow_data; } + virtual u8* data() override { return m_data; } + virtual u8* shadow_data() override { return m_shadow_data; } virtual bool is_readable() const override { return m_prot & PROT_READ; } virtual bool is_writable() const override { return m_prot & PROT_WRITE; } diff --git a/DevTools/UserspaceEmulator/SharedBufferRegion.h b/DevTools/UserspaceEmulator/SharedBufferRegion.h index 80c76e1ebc..e2a6c1ecad 100644 --- a/DevTools/UserspaceEmulator/SharedBufferRegion.h +++ b/DevTools/UserspaceEmulator/SharedBufferRegion.h @@ -46,7 +46,8 @@ public: virtual void write32(u32 offset, ValueWithShadow) override; virtual void write64(u32 offset, ValueWithShadow) override; - u8* data() { return m_data; } + virtual u8* data() override { return m_data; } + virtual u8* shadow_data() override { return m_shadow_data; } bool is_shared_buffer() const override { return true; } diff --git a/DevTools/UserspaceEmulator/SimpleRegion.h b/DevTools/UserspaceEmulator/SimpleRegion.h index 4a65593041..1110299b85 100644 --- a/DevTools/UserspaceEmulator/SimpleRegion.h +++ b/DevTools/UserspaceEmulator/SimpleRegion.h @@ -45,8 +45,8 @@ public: virtual void write32(u32 offset, ValueWithShadow) override; virtual void write64(u32 offset, ValueWithShadow) override; - u8* data() { return m_data; } - u8* shadow_data() { return m_shadow_data; } + virtual u8* data() override { return m_data; } + virtual u8* shadow_data() override { return m_shadow_data; } virtual u8* cacheable_ptr(u32 offset) override; diff --git a/DevTools/UserspaceEmulator/SoftMMU.h b/DevTools/UserspaceEmulator/SoftMMU.h index f09c7f9776..5820b21ecf 100644 --- a/DevTools/UserspaceEmulator/SoftMMU.h +++ b/DevTools/UserspaceEmulator/SoftMMU.h @@ -73,6 +73,9 @@ public: virtual bool is_writable() const { return true; } virtual bool is_executable() const { return true; } + virtual u8* data() = 0; + virtual u8* shadow_data() = 0; + protected: Region(u32 base, u32 size) : m_base(base)