[Libre-soc-bugs] [Bug 604] ISACaller simulator needs RADIX MMU support
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Fri Apr 16 18:50:38 BST 2021
https://bugs.libre-soc.org/show_bug.cgi?id=604
--- Comment #38 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
Tobias Platen <libre-soc at platen-software.de>
6:36 PM (12 minutes ago)
to libre-soc-dev
On Fri, 2021-04-16 at 18:21 +0200, Tobias Platen wrote:
> today: first carefully reading the cleaned up radixmmu.py, then more
> testing
Found a bug in:
def _new_lookup(self, data, shift):
"""
mbits := unsigned('0' & data(4 downto 0));
if mbits < 5 or mbits > 16 or mbits > r.shift then
v.state := RADIX_FINISH;
v.badtree := '1'; -- throw error
else
v.shift := v.shift - mbits;
v.mask_size := mbits(4 downto 0);
v.pgbase := data(55 downto 8) & x"00"; NLB?
v.state := RADIX_LOOKUP; --> next level
end if;
"""
This needs to be
def _new_lookup(self, data, r_shift, v_shift):
assuming that r_shift and v_shift are not identical.
I'll investigate that by reading the microwatt source code.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list