On Wed, 11 Mar 2020 at 06:44, Richard Henderson <richard.hender...@linaro.org> wrote: > > The goal here is to support MTE, but there's some cleanup to do. > > Technically, we have sufficient interfaces in cputlb.c now, but it > requires multiple tlb lookups on different interfaces to do so. > > Adding probe_access_flags() allows probing the tlb and getting out > some of the flags buried in the tlb comparator, such as TLB_MMIO > and TLB_WATCHPOINT. In addition, we get no-fault semantics, > which we don't have via probe_acccess(). > > Adding cpu_probe_watchpoint() allows to *not* stop a first-fault > or no-fault load when the page contains a watchpoint, but the actual > access does not hit. > > Having these available means that we can handle all of the watchpoints > for a given set of loads/stores all at once, before we begin doing any > actual memory operations. Further, the actual memory operation on a > page of ram that has a watchpoint can still use the fast path. > > Looking forward to MTE, we can examine the Tagged bit on a per-page > basis and avoid dozens of mte_check calls that must be Unchecked. > That comes later, in a new version of the MTE patch set, but I do > add comments for where the checks should be added.
Series reviewed; I didn't bother to flag up the checkpatch complaints, but I think all but one of them are legit, so please fix those too. thanks -- PMM