On Fri, Jun 5, 2020 at 6:49 AM Hesham Almatary <heshamelmat...@gmail.com> wrote:
>
> Hello Utkarsh,
>
> TTBR1 is there primarily for UNIX-like kernels to be re-mapped at very
> high addresses and user space can use TTBR0. In the case of RTEMS, we
> don't have that user vs kernel separation. Furthermore, using TTBR1
> won't allow us to do 1:1 fixed mappings.
>
> Could you give more details why having different page sizes would be
> an issue? You would normally have multi-level page tables for more
> fine-grained page sizes.
+1

>
> On Thu, 4 Jun 2020 at 11:44, Utkarsh Rai <utkarsh.ra...@gmail.com> wrote:
> >
> > Hello,
> >
> > Section B3.3.3 of the ARMv7-A Reference manual says that we can have TTBR0 
> > and 1 split up the address space into two parts, where each register has 
> > the address of the translation table base
> > of the divided address space.
> > One of the ways to simplify the implementation of thread-stack protection 
> > in ARMv7-A MMU can be, to have the global statically allocated sections 
> > being pointed by the TTBR1 register and the work-space area being pointed 
> > out by the TTBR0 register. This way during context switch we would only 
> > have to change the TTBR0 register, this would also simplify the 
> > implementation as we won't have to worry about addresses of different page 
> > sizes being pointed by the same translation-table base.
> > In the current implementation, TTB is put in TTBR0, and TTBR1 is not used.

To clear a possible confusion, you can't have multiple workspaces.
That is the dynamic memory region (e.g., program heap) used by RTEMS
to manage object allocations.

> > Is the above-suggested implementation feasible?
> >
> > Regards,
> > Utkarsh
>
>
>
> --
> Hesham
> _______________________________________________
> devel mailing list
> devel@rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to