Hi Hakan,

Excelent!

Diego

El vie, 11 sept 2026 a la(s) 2:32 p.m., Hakan Candar ([email protected])
escribió:

> Hi Diego,
>
> Thanks!  Applied to branch high-address-kernel with a small adjustment
> noted
> below.
>
> > ---
> >  riscv64/riscv64/pmap.h | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> >
> > diff --git a/riscv64/riscv64/pmap.h b/riscv64/riscv64/pmap.h
> > index f7359ccf..4355d297 100644
> > --- a/riscv64/riscv64/pmap.h
> > +++ b/riscv64/riscv64/pmap.h
> > @@ -32,6 +32,7 @@ typedef phys_addr_t pt_entry_t;
> >  #define PT_ENTRY_NULL        ((pt_entry_t *) 0)
> >
> >  #define RISCV_PT_LEVELS              3
> > +#define RISCV_PT_SHIFT               12      /* 12-bit page offset */
>
> PAGE_SHIFT already covers this, I dropped this definition.
>
> >  #define RISCV_VPN_BITS               9
> >  #define RISCV_PTE_SIZE               8
> >  #define RISCV_PT_ENTRIES     512
> > @@ -54,6 +55,14 @@ typedef phys_addr_t pt_entry_t;
> >  #define RISCV_PTE_A          (1UL << 6)
> >  #define RISCV_PTE_D          (1UL << 7)
> >
> > +/* Sv39 PPN occupies bits 53:10; upper PTE bits are reserved. */
> > +#define RISCV_PTE_PPN_FIELD_SHIFT    10
> > +#define RISCV_PTE_PPN_MASK   0x003ffffffffffc00UL
> > +
> > +#define pa_to_pte(pa)                (((pt_entry_t)(pa) >> 2) &
> RISCV_PTE_PPN_MASK)
> > +#define pte_to_pa(pte)               (((pte) & RISCV_PTE_PPN_MASK) << 2)
> > +#define pte_increment_pa(pte)        ((pte) += (1UL <<
> RISCV_PTE_PPN_FIELD_SHIFT))
> > +
> >  #define RISCV_PTE_IS_LEAF(pte) \
> >       ((pte) & (RISCV_PTE_R | RISCV_PTE_W | RISCV_PTE_X))
> >
> > --
> > 2.43.0
>
> Hakan
>

Reply via email to