diff options
Diffstat (limited to 'qtmips_machine/physaddrspace.cpp')
-rw-r--r-- | qtmips_machine/physaddrspace.cpp | 7 |
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); |