3.2.1 MSIRewriter

Recognise writes to the GITS_TRANSLATER register and rewrite them to go to the GITS_TRANSLATE64R register. The DeviceID is expected to be in the bottom 32 bits of ExtendedID of the transaction. Debug transactions and reads are not rewritten. This component can also, optionally, apply a 16 bit 'label' to the top 16 bits of the MasterID in the same way that the Labeller component does. This model is written in LISA+.

MSIRewriter contains the following CADI targets:

  • MSIRewriter
  • PVBusMapper

MSIRewriter contains the following MTI components:

Table 3-38 Ports

Name Protocol Type Description
pvbus_m PVBus Master -
pvbus_s PVBus Slave -

Table 3-39 Parameters for MSIRewriter

Name Type Default value Description
GITS_TRANSLATE64R_OFFSET int 0x10048 It is an offset from ITS0-Base.
ITS0-base int 0x0 Register base address for ITS0. This base address is used to recognise writes to the GITS_TRANSLATER register within the ITS0's register frame.
enable_rewriting bool 0x1 Enable rewriting.
label int 0xffffffff If < 2**16 then this is a label that is put in the top 16 bits of MasterID in the same way that the component Labeller does. This labelling is not controlled by enable_rewriting and is performed on all transactions (even rewritten ones)
log int 0x0 Log level, 0 is off.

Table 3-40 Parameters for PVBusMapper

Name Type Default value Description
pvbusmodifier.handling_of_dvm_messages_from_downstream string "forward" What to do with DVM (Distributed Virtual Memory) messages received from downstream. The options are to 'forward' them upstream unaltered, to 'terminate' them, or to 'handle' them locally and get called through handleDownstreamDVMMessage()
pvbusmodifier.handling_of_dvm_messages_from_upstream string "forward" What to do with DVM (Distributed Virtual Memory) messages received from upstream. The options are to 'forward' them downstream unaltered, to 'terminate' them, or to 'handle' them locally and get called through handleUpstreamDVMMessage()
pvbusmodifier.handling_of_upstream_snoop_requests string "forward" What to do with snoop requests from downstream. The options are to 'forward', 'terminate' or 'handle'. NOTE that currently the snoop request addresses are _not_ translated and so if your device alters the address translation then you will almost certainly want to 'terminate'.
Non-ConfidentialPDF file icon PDF version100964_1161_00_en
Copyright © 2014–2019 Arm Limited or its affiliates. All rights reserved.