3.9.27 IDAU

IDAU is device which provides Security attribute relating to the address pass to it. For each memory access (data and instruction), the CPU checks the IDAU and sets the security of its transactions based on it. This model is written in C++.

About IDAU

An Implementation Defined Attribution Unit (IDAU) is a device that provides a security attribute relating to an address passed to it. For each memory access (data and instructions), the CPU checks the IDAU and sets the security of its transactions based on it.

The IDAU model uses the pv::IDAUSignal struct to return the security attributes for the address that is passed to it. Unlike the hardware, the CPU Fast Model does not query the IDAU for each access. Communication is at a higher abstraction level to maintain simulation speed.

The fields of the pv::IDAUSignal struct map to the hardware signals as follows:

Table 3-340 Mappings between pv::IDAUSignal fields and hardware signals

Hardware signal pv::IDAUSignal field Description
IDAUNS bool ns Non-secure region response.
IDAUNSC bool nsc Non-secure-callable region response.
IDAUID uint8_t region Region number.
IDAUIDV bool valid Region number valid.
IDAUNCHK bool exempt Region exempt from attribution check.

Masters can read or write to the pvbus_s port as follows:

Read
Reads return the IDAU region's pv::IdauRegion struct (32 bytes), which contains information about the IDAU region for the requested address. pv::IdauRegion contains the start address, end address, pv::IDAUSignal and 8 bytes of padding to make it 32-byte aligned.
Write
The port only supports 32-byte write operations to pass in a pv::IdauRegion struct for updating an internal IDAU region.
DMI
The port adds support for DMI requests and provides a pointer to a pv::IdauRegion for the requested address. An invalid DMI call back occurs if the IDAU updates its regions.

Table 3-341 Ports

Name Protocol Type Description
invalidate_region Value_64 Master This port is used as a call back to inform masters that the IDAU has updated its region information.
pvbus_s PVBus Slave -
Non-ConfidentialPDF file icon PDF version100964_1110_00_en
Copyright © 2014–2020 Arm Limited or its affiliates. All rights reserved.