[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