2.2.23 DVM messages

This section describes the DVM messages.

About DVM messages

To provide a Programmer’s View (PV) model of Distributed Virtual Memory (DVM) transactions, the AMBA-PV extension class contains a set of private attributes and a set of public access methods for DVM messages.

A given transaction only represents a DVM message if the snoop attribute is set to AMBA_PV_DVM_MESSAGE.

DVM messages are specific to ACE and ACE-Lite buses. They are ignored for transactions modeling transfers on the AXI, AHB and APB buses.

DVM default values

This section defines the DVM default values.

Table 2-2 DVM default values for the AMBA-PV extension attributes

Attribute Default value Default set status
VMID 0 false
ASID 0 false
Virtual Index 0 false
Completion false -
Message type AMBA_PV_TLB_INVALIDATE -
Operating system AMBA_PV_HYPERVISOR_OR_GUEST -
Security AMBA_PV_SECURE_AND_NON_SECURE -
Additional address 0 false
DVM transaction 0 -

DVM VMID attribute

This attribute defines the Virtual Machine Identifier for some DVM operations.

The method is_dvm_vmid_set() returns true if this attribute has been set. If the VMID attribute has not been set then this attribute value should not be used.

The method get_dvm_vmid() returns the value of this attribute. The method set_dvm_vmid() sets the value of this attribute.

This attribute is not set by default. The default value of this attribute is 0.

DVM ASID attribute

This attribute defines the Address Space Identifier for some DVM operations.

The method is_dvm_asid_set() returns true if this attribute has been set. If this attribute has not been set then this attribute value should not be used.

The method get_dvm_asid() returns the value of this attribute. The method set_dvm_asid() sets the value of this attribute.

This attribute is not set by default. The default value of this attribute is 0.

DVM Virtual Index attribute

You can use this attribute as part of the physical address by physical instruction cache invalidate DVM messages.

The method is_dvm_virtual_index_set() returns true if this attribute has been set. If this attribute has not been set then this attribute value should not be used.

The method get_dvm_virtual_index() returns the value of this attribute. The method set_dvm_virtual_index() sets the value of this attribute.

This attribute is not set by default. The default value of this attribute is 0.

DVM Completion attribute

This attribute identifies whether completion is required for DVM Sync messages.

The method is_dvm_completion_set() returns true if this attribute has been set. The method set_dvm_completion() sets the value of this attribute.

By default this attribute has the value false.

DVM Message type attribute

This attribute specifies the required DVM operation.

The method get_dvm_message_type() returns the value of this attribute. The method set_dvm_message_type() sets the value of this attribute.

By default this attribute has the value AMBA_PV_TLB_INVALIDATE.

DVM Operating system attribute

This attribute specifies the operating system that the DVM operation applies to.

The method get_dvm_os() returns the value of this attribute. The method set_dvm_os() sets the value of this attribute.

By default this attribute has the value AMBA_PV_HYPERVISOR_OR_GUEST.

DVM Security attribute

This attribute specifies how the DVM operation applies to the secure and non-secure worlds.

The method get_dvm_security() returns the value of this attribute. The method set_dvm_security() sets the value of this attribute.

By default this attribute has the value AMBA_PV_SECURE_AND_NON_SECURE.

DVM Additional address attribute

This attribute defines the additional address required by some DVM operations.

The method is_dvm_additional_address_set() returns true if this attribute has been set. If this attribute has not been set then this attribute value should not be used.

The method get_dvm_additional_address() returns the value of this attribute. The method set_dvm_additional_address() sets the value of this attribute.

This attribute is not set by default. The default value of this attribute is 0.

DVM transaction encoding

For ACE buses the DVM attributes are packed and encoded into the least significant 32 bits of the address channel.

The method get_dvm_transaction() returns the value of the VMID, ASID, Virtual Index, Completion, Message type, Operating system, and Security attributes as they would be packed and encoded on the address channel.

The method set_dvm_transaction() sets the value of the VMID, ASID, Virtual Index, Completion, Message type, Operating system, and Security attributes using a single 32-bit value encoded as the attributes would be packed and encoded on the address channel.

Non-ConfidentialPDF file icon PDF version100962_0200_03_en
Copyright © 2014–2018 Arm Limited (or its affiliates). All rights reserved.