In such cases, the behaviors dictated by the attributes may be violated, and platform-specific mechanisms must be used to restore the expected behaviors.My understanding is that "the attributes" in the last sentence refers only to cacheability, idempotency, memory ordering, and main memory vs. I/O. Couldn't there be a loss of coherency and thus a violation of the coherency attribute?
Yes. Although pbmt's only directly affect certain attributes, if software allows "mismatched attributes" in how it uses pbmt's, then coherency between accesses using different cacheability attributes is "lost". Accesses using the same cacheability attribute will have coherency wrt each other. So in that sense coherency is maintained. But if software creates mismatched attributes, then global coherency across all types of accesses is "lost".
Perhaps there's also a clarification to be made in the PMA section text?
> Where a platform supports configurable cacheability settings for a
> memory region, a platform-specific machine-mode routine will change
> the settings and flush caches if necessary, so the system is only
> incoherent during the transition between cacheability settings. This
> transitory state should not be visible to lower privilege levels.
Specifically, "the system is only incoherent during the transition
between cacheability settings" could be interpreted as saying the
opposite of Greg's answer above, so maybe we should also find a way
to tweak this text with that in mind.
--
You received this message because you are subscribed to a topic in the Google Groups "RISC-V ISA Dev" group.
To unsubscribe from this topic, visit https://groups.google.com/a/groups.riscv.org/d/topic/isa-dev/nOrD9t9ImEw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to isa-dev+u...@groups.riscv.org.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/isa-dev/42d18f15-63d3-4e19-bdc7-5d2eb35b131an%40groups.riscv.org.
- Question: What about device drivers written expecting Strong Ordering, and thus do not use FENCE, .aq, or .rl?
It’s a good idea to be able to force strong ordering on memory mapped I/O.
--
You received this message because you are subscribed to the Google Groups "RISC-V ISA Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
isa-dev+u...@groups.riscv.org.