summaryrefslogtreecommitdiff
path: root/src/cpu/kvm
diff options
context:
space:
mode:
authorSean Wilson <spwilson2@wisc.edu>2017-06-27 16:22:24 -0500
committerSean Wilson <spwilson2@wisc.edu>2017-07-12 20:07:05 +0000
commite5c9e9c4d439e1937db33a954ac231032dab69f2 (patch)
tree9337b4df1004b0fb9b4ccd6aee0561b83261a23c /src/cpu/kvm
parent8c1ea47b3c2fc90378eb16f3ad92d4ae522567c5 (diff)
downloadgem5-e5c9e9c4d439e1937db33a954ac231032dab69f2.tar.xz
kvm, mem: Refactor some Event subclasses into lambdas
Change-Id: Ifafdcf4692d58a17f90e66ff8de8fa3e146c34bb Signed-off-by: Sean Wilson <spwilson2@wisc.edu> Reviewed-on: https://gem5-review.googlesource.com/3924 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Diffstat (limited to 'src/cpu/kvm')
-rw-r--r--src/cpu/kvm/base.cc3
-rw-r--r--src/cpu/kvm/base.hh16
2 files changed, 3 insertions, 16 deletions
diff --git a/src/cpu/kvm/base.cc b/src/cpu/kvm/base.cc
index 23a408084..250c6a270 100644
--- a/src/cpu/kvm/base.cc
+++ b/src/cpu/kvm/base.cc
@@ -74,7 +74,8 @@ BaseKvmCPU::BaseKvmCPU(BaseKvmCPUParams *params)
vcpuID(vm.allocVCPUID()), vcpuFD(-1), vcpuMMapSize(0),
_kvmRun(NULL), mmioRing(NULL),
pageSize(sysconf(_SC_PAGE_SIZE)),
- tickEvent(*this),
+ tickEvent([this]{ tick(); }, "BaseKvmCPU tick",
+ false, Event::CPU_Tick_Pri),
activeInstPeriod(0),
perfControlledByTimer(params->usePerfOverflow),
hostFactor(params->hostFactor),
diff --git a/src/cpu/kvm/base.hh b/src/cpu/kvm/base.hh
index 6f30c55e4..29872e744 100644
--- a/src/cpu/kvm/base.hh
+++ b/src/cpu/kvm/base.hh
@@ -630,20 +630,6 @@ class BaseKvmCPU : public BaseCPU
pthread_t vcpuThread;
private:
- struct TickEvent : public Event
- {
- BaseKvmCPU &cpu;
-
- TickEvent(BaseKvmCPU &c)
- : Event(CPU_Tick_Pri), cpu(c) {}
-
- void process() { cpu.tick(); }
-
- const char *description() const {
- return "BaseKvmCPU tick";
- }
- };
-
/**
* Service MMIO requests in the mmioRing.
*
@@ -708,7 +694,7 @@ class BaseKvmCPU : public BaseCPU
/** Cached page size of the host */
const long pageSize;
- TickEvent tickEvent;
+ EventFunctionWrapper tickEvent;
/**
* Setup an instruction break if there is one pending.