misc: Make PartitionFieldExtention private to Arm

The new ISA-agnostic interface is the PartitionManager.
We therefore make the PartitionFieldExtention private to the
Arm implementation of memory partitioning (FEAT_MPAM)

Any other partitioning implementation should override the
PartitionManager::readPacketPartitionID to provide a mean
for extracting partitioning data (partition_id) from the
incoming Packet.

With this commit we also define an MPAM MSC which is
supposed to be the partitioning manager for the
Memory System Component

Change-Id: I6959ace0c0cbca549dcc1aacd53dff223b5fe328
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
This commit is contained in:
Giacomo Travaglini
2024-03-12 16:44:18 +00:00
parent 82a82c8793
commit dd45e1c319
9 changed files with 179 additions and 43 deletions

View File

@@ -49,6 +49,7 @@ SimObject('Gic.py', sim_objects=[
'BaseGic', 'ArmInterruptPin', 'ArmSPI', 'ArmPPI', 'ArmSigInterruptPin',
'GicV2', 'Gicv2mFrame', 'Gicv2m', 'VGic', 'Gicv3Its', 'Gicv3'],
enums=['ArmInterruptType'], tags='arm isa')
SimObject('Mpam.py', sim_objects=['MpamMSC'], tags='arm isa')
SimObject('RealView.py', sim_objects=[
'AmbaPioDevice', 'AmbaIntDevice', 'AmbaDmaDevice', 'A9SCU',
'GenericArmPciHost', 'RealViewCtrl', 'RealViewOsc',
@@ -80,6 +81,7 @@ Source('gic_v3_cpu_interface.cc', tags='arm isa')
Source('gic_v3_distributor.cc', tags='arm isa')
Source('gic_v3_redistributor.cc', tags='arm isa')
Source('gic_v3_its.cc', tags='arm isa')
Source('mpam.cc', tags='arm isa')
Source('pl011.cc', tags='arm isa')
Source('pl111.cc', tags='arm isa')
Source('hdlcd.cc', tags='arm isa')