From c710a9535261528ccea40cf5c433bb3c37c89851 Mon Sep 17 00:00:00 2001 From: daniel-k Date: Tue, 9 Jan 2018 16:29:33 +0100 Subject: [PATCH] lib/ip: generalize getting mapped addresses --- fpga/include/villas/fpga/ip.hpp | 6 +++++- fpga/lib/ip.cpp | 5 +++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/fpga/include/villas/fpga/ip.hpp b/fpga/include/villas/fpga/ip.hpp index 172cbcb9e..d78edb850 100644 --- a/fpga/include/villas/fpga/ip.hpp +++ b/fpga/include/villas/fpga/ip.hpp @@ -114,7 +114,11 @@ public: protected: uintptr_t - getBaseaddr() const; + getBaseaddr() const + { return getAddrMapped(this->baseaddr); } + + uintptr_t + getAddrMapped(uintptr_t address) const; struct IrqPort { int num; diff --git a/fpga/lib/ip.cpp b/fpga/lib/ip.cpp index e84c7cb0e..8324c86fe 100644 --- a/fpga/lib/ip.cpp +++ b/fpga/lib/ip.cpp @@ -143,9 +143,10 @@ IpCoreFactory* IpCoreFactory::lookup(const Vlnv &vlnv) } uintptr_t -IpCore::getBaseaddr() const { +IpCore::getAddrMapped(uintptr_t address) const +{ assert(card != nullptr); - return reinterpret_cast(card->map) + this->baseaddr; + return reinterpret_cast(card->map) + address; }