Hello community!
I have started a bare-metal kernel for the purpose of education. Currently trying to implement the user space (EL0). Have want to use the TLB maintenance operations which requires a valid ASID, to avoid invalidation from all tables. In the reference manual I have seen a specific ASID can be assigned to the addresses for the level 0 tables in TTBR0_EL1 or TTBR1_EL1, depending on the selected register in TCR_EL1 which hold the ASID.
Can this only be done in TTBR0_EL1 or TTBR1_EL1 and not in the table entries? Unfortunately I didn't find any hint in the reference manual. Neither in the upper nor in the lower attributes from the next level table or the block and page entries. If this can really only be done in the TTBRx_EL1 registers then I lack in the understanding for the purpose of the ASID.
Hope somebody can clarify that.