Comments (4)
I think it may be implicit, that No_Snoop=0 must do the right thing as long as hart effective PMAs are consistent. Making more things explicit sounds fine to me.
The existing wording is to allow implementations to ignore No_Snoop (i.e., always snooping).
from riscv-platform-specs.
The idea is that when No_Snoop is 1, hardware does not manage cache coherency and software will need to manage it.
So how about the following for a modified wording?
Memory that is cacheable by harts may not be kept coherent by hardware when PCIe transactions to that memory are marked with a No_Snoop bit of one. On platforms that honor the No_Snoop bit, software must manage coherency on such memory. otherwise, software and DMA operations are hardware coherent and software coherency management is not required.
from riscv-platform-specs.
from riscv-platform-specs.
Fixed. Thanks.
from riscv-platform-specs.
Related Issues (20)
- Unnecessary/Inappropriate documentation of kernel address space decisions HOT 9
- Missing LICENSE file HOT 10
- RVM platform requirements HOT 1
- How to handle non-coherent I/O masters HOT 5
- Inconsistent mtime requirements HOT 1
- CLIC requires original basic interrupt mode HOT 1
- both CLIC and CLINT seems to be used for the same thing HOT 4
- Hypervisor guard hole HOT 4
- relax "If Hypervisor extension is supported then the misa.H bit must be writable." HOT 2
- relax RAS precise exception on uncorrectable data HOT 2
- Server: System Date/Time: Improve explanation for GetTime() HOT 7
- Future interrupt controller of M platform
- Adopt the RISC-V documentation format HOT 1
- I/O ordering requirements (for non-PCIe devices) HOT 6
- Eventual completion for vacant memory HOT 17
- PCI ECAM requirements HOT 4
- Virtual timers require an offset value HOT 1
- Specify word-size accesses to UART registers HOT 1
- A question about self/cross-modifying code (SMC/CMC)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from riscv-platform-specs.