On Mon, Mar 7, 2016 at 10:04 AM, Khalid Aziz <khalid.aziz@xxxxxxxxxx> wrote: > On 03/07/2016 09:56 AM, David Miller wrote: >> >> From: Khalid Aziz <khalid.aziz@xxxxxxxxxx> >> Date: Mon, 7 Mar 2016 08:07:53 -0700 >> >>> PR_GET_SPARC_ADICAPS >> >> >> Put this into a new ELF auxiliary vector entry via ARCH_DLINFO. >> >> So now all that's left is supposedly the TAG stuff, please explain >> that to me so I can direct you to the correct existing interface to >> provide that as well. >> >> Really, try to avoid prtctl, it's poorly typed and almost worse than >> ioctl(). >> > > The two remaining operations I am looking at are: > > 1. Is PSTATE.mcde bit set for the process? PR_SET_SPARC_ADI provides this in > its return value in the patch I sent. > > 2. Is TTE.mcd set for a given virtual address? PR_GET_SPARC_ADI_STATUS > provides this function in the patch I sent. > > Setting and clearing version tags can be done entirely from userspace: > > while (addr < end) { > asm volatile( > "stxa %1, [%0]ASI_MCD_PRIMARY\n\t" > : > : "r" (addr), "r" (version)); > addr += adicap.blksz; > } > so I do not have to add any kernel code for tags. Is the effect of that to change the tag associated with a page to which the caller has write access? I sense DoS issues in your future. -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html