aboutsummaryrefslogtreecommitdiff
path: root/qtmips_machine/physaddrspace.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qtmips_machine/physaddrspace.cpp')
-rw-r--r--qtmips_machine/physaddrspace.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/qtmips_machine/physaddrspace.cpp b/qtmips_machine/physaddrspace.cpp
index 1c96d55..9053e48 100644
--- a/qtmips_machine/physaddrspace.cpp
+++ b/qtmips_machine/physaddrspace.cpp
@@ -66,6 +66,13 @@ std::uint32_t PhysAddrSpace::rword(std::uint32_t address) const {
return p_range->mem_acces->read_word(address - p_range->start_addr);
}
+enum LocationStatus PhysAddrSpace::location_status(std::uint32_t address) {
+ const RangeDesc *p_range = find_range(address);
+ if (p_range == nullptr)
+ return LOCSTAT_ILLEGAL;
+ return p_range->mem_acces->location_status(address - p_range->start_addr);
+}
+
PhysAddrSpace::RangeDesc *PhysAddrSpace::find_range(std::uint32_t address) const {
PhysAddrSpace::RangeDesc *p_range;
auto i = ranges_by_addr.lowerBound(address);