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

Luke Kenneth Casson Leighton lkcl at lkcl.net
Tue Mar 9 19:37:05 GMT 2021


moving to the bugtracker, it is more appropriate than under an unnamed
"daily status update"

---
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68

On Tue, Mar 9, 2021 at 7:31 PM Luke Kenneth Casson Leighton
<lkcl at lkcl.net> wrote:
>
> 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().
> https://github.com/antonblanchard/microwatt/blob/6523acc74344b95e7cceb83611fb8cb2a030c1a3/mmu.vhdl#L235
>
> is a duplication of this:
> https://github.com/antonblanchard/microwatt/blob/master/mmu.vhdl#L318
>
> which has already been done as a function here:
> https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/decoder/isa/radixmmu.py;h=f860e417e9f22597c44294c6ab35e698c65baa01;hb=HEAD#l315
>
> l.



More information about the Libre-soc-dev mailing list