The C-bit was recently dropped, there is a new proposal for Page BasedC-bit still needs discussion, we shouldn't drop it directly.
Memory Attributes (PBMT) that we can work on / push for.
Raise a page fault won't solve anything. We still need access to the
page with proper performance.
We need PTEs to provide a non-coherency solution, and only CMO
instructions are not enough. We can't modify so many Linux drivers to
fit it.
From Linux non-coherency view, we need:
- Non-cache + Strong Order PTE attributes to deal with drivers' DMA descriptors
- Non-cache + weak order to deal with framebuffer drivers
- CMO dma_sync to sync cache with DMA devices
- Userspace icache_sync solution, which prevents calls to S-mode with
IPI fence.i. (Necessary to JIT java scenarios.)
All above are not in spec, but the real chips are done.
(Actually, these have been talked about for more than five years, we
still haven't the uniform idea.)
The idea of C-bit is really important for us which prevents our chips
violates the spec.