dev-arm: add FVP Base Power Controller model

This is a reduced model of the FVP Base platforms Power Controller.
As of now it allows the following functions from software:
- Checking for core presence
- Reporting the power state of a core / cluster
- Explicitly powering off a core on WFI
- Explicitly powering off cores in a CPU cluster on WFI
- Explicitly powering on a core through writes to PPONR register

Change-Id: Ia1d4d3ae8e4bfb2d23b2c6077396a4d8500e2e30
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/26463
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Adrian Herrera
2019-10-25 10:49:23 +01:00
committed by Giacomo Travaglini
parent 8cfa988335
commit 5719da9fff
8 changed files with 518 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
# -*- mode:python -*-
# Copyright (c) 2009, 2012-2013 ARM Limited
# Copyright (c) 2009, 2012-2013, 2020 ARM Limited
# All rights reserved.
#
# The license below extends only to copyright in the software and shall
@@ -92,6 +92,7 @@ if env['TARGET_ISA'] == 'arm':
Source('vio_mmio.cc')
Source('ufs_device.cc')
Source('energy_ctrl.cc')
Source('fvp_base_pwr_ctrl.cc')
DebugFlag('AMBA')
DebugFlag('FlashDevice')
@@ -106,6 +107,7 @@ if env['TARGET_ISA'] == 'arm':
DebugFlag('SMMUv3Hazard')
DebugFlag('Sp805')
DebugFlag('EnergyCtrl')
DebugFlag('FVPBasePwrCtrl')
DebugFlag('UFSHostDevice')
DebugFlag('VGIC')
DebugFlag('NoMali')