4.1.4. 751476: Missed Watchpoint on the Second Part of an Unaligned Access Crossing a Page Boundary
Under rare conditions, a watchpoint might be undetected if it occurs on the second part of an unaligned access that crosses a 4K page boundary and misses the μTLB for the second part of its request.
This erratum requires a previous conditional instruction which accesses the second 4 KB memory region (where the watchpoint is set), which misses in the μTLB and causes a condition fail. This erratum also requires that no other μTLB miss occurs between this conditional failed instruction and the unaligned access, which implies that the unaligned access must hit in the μTLB for the first part of its access.
ImpactA watchpoint does not trigger when it should.
WorkaroundBecause this erratum might occur in the case when a watchpoint is set on any of the first 3 bytes of a 4 KB memory region and unaligned accesses are not being faulted, the workaround is to set a guard watchpoint on the last byte of the previous page and to deal with any false positive matches if they occur.
Did you find the information on this page useful?