[Libre-soc-dev] daily kan-ban update 09mar2021

Luke Kenneth Casson Leighton lkcl at lkcl.net
Tue Mar 9 19:31:24 GMT 2021

On Tue, Mar 9, 2021 at 7:11 PM Tobias Platen
<libre-soc at platen-software.de> wrote:
> I just had a look at _get_prtable_addr which takes an argument shift.
> I guess shift depends on the page size.

how far down the page-table walk things are progressing, something
like that.  let's look...

here, right at the beginning of mmu.vhdl:

            -- rts == radix tree size, # address bits being translated
            rts := unsigned('0' & pgtbl(62 downto 61) & pgtbl(7 downto 5));
            -- mbits == # address bits to index top level of tree
            mbits := unsigned('0' & pgtbl(4 downto 0));
            -- set v.shift to rts so that we can use finalmask for the
segment check
            v.shift := rts;

ahhh that's interesting.  that code starting at line 235 is a
duplication of _decode_rte().

is a duplication of this:

which has already been done as a function here:


More information about the Libre-soc-dev mailing list