summaryrefslogtreecommitdiff
path: root/tb/avalon.impl.hpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tb/avalon.impl.hpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/tb/avalon.impl.hpp b/tb/avalon.impl.hpp
index 4dee4f2..6f4bfb9 100644
--- a/tb/avalon.impl.hpp
+++ b/tb/avalon.impl.hpp
@@ -146,12 +146,15 @@ namespace taller::avalon
}
template<class Platform>
- void interconnect<Platform>::patch(std::uint32_t addr, std::uint32_t writedata)
+ bool interconnect<Platform>::patch(std::uint32_t addr, std::uint32_t writedata)
{
std::uint32_t avl_address = addr << 2;
auto *dev = resolve_external(avl_address);
- assert(dev);
+ if(!dev)
+ {
+ return false;
+ }
auto pos = (avl_address & ~dev->address_mask()) >> dev->word_bits();
@@ -159,6 +162,8 @@ namespace taller::avalon
{
continue;
}
+
+ return true;
}
template<class Platform>