in ARM ACE protocol DVM operations are supported for both one part and two part messaging's. exactly when we go for one - part and when for two - part messaging - can anyone please clarify
Hi there, thank you for asking a question. Please look at the list of forums that we have here: Support forums and let me know where is best to move your question to.
thinking that ARM virtual Hardware forum as best as dvm deals with virtual memory
Thanks, I have moved your question now.
The choice between a one or two part DVM message depends on the operation that you wish to perform. Table A15.8 in the AXI.K Specification describes which messages require a 2 part message as indicated by the Addr field = 1.
Similar tables exist for Instruction Cache invalidation, and the other DVM types.
In effect, if the DVM contains address information then it will require two parts as a one part DVM does not have enough payload space on ARADDR.
Christopher Tory Thanks for the info. so to invalidate entire mappings we go for one-part message and if we want to remove only corresponding mapping we go for two - part messaging ......... correct me if i am wrong
That's broadly correct, but the way to do this and avoid errors is to ensure you're setting all the fields correctly for the operation that you're performing as defined in the Specification.
There are variations of TLB operations that do not remove all entries, but also do not need a two part DVM - for example Guest OS TLBI by ASID.
It might be more accurate to say that two part message apply to all DVMs that use an address as part of the operation.
Christopher Tory Thankyou.....