# -*- mode:python -*- # Copyright (c) 2009, 2012-2013, 2020 ARM Limited # All rights reserved. # # The license below extends only to copyright in the software and shall # not be construed as granting a license to any other intellectual # property including but not limited to intellectual property relating # to a hardware implementation of the functionality of the software # licensed hereunder. You may use the software subject to the license # terms below provided that you ensure that this notice is replicated # unmodified and in its entirety in all distributions of the software, # modified or unmodified, in source code or in binary form. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer; # redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution; # neither the name of the copyright holders nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Import('*') SimObject('AbstractNVM.py', sim_objects=['AbstractNVM'], tags='arm isa') SimObject('Display.py', sim_objects=['Display'], tags='arm isa') SimObject('Doorbell.py', sim_objects=['Doorbell'], tags='arm isa') SimObject('FlashDevice.py', sim_objects=['FlashDevice'], enums=['DataDistribution'], tags='arm isa') SimObject('GenericTimer.py', sim_objects=[ 'SystemCounter', 'GenericTimer', 'GenericTimerFrame', 'GenericTimerMem'], tags='arm isa') 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', 'RealViewTemperatureSensor', 'AmbaFake', 'Pl011', 'Sp804', 'Sp805', 'GenericWatchdog', 'CpuLocalTimer', 'PL031', 'Pl050', 'Pl111', 'HDLcd', 'FVPBasePwrCtrl', 'RealView', 'SysSecCtrl'], enums=['ArmPciIntRouting'], tags='arm isa') SimObject('SMMUv3.py', sim_objects=['SMMUv3DeviceInterface', 'SMMUv3'], tags='arm isa') SimObject('UFSHostDevice.py', sim_objects=['UFSHostDevice'], tags='arm isa') SimObject('EnergyCtrl.py', sim_objects=['EnergyCtrl'], tags='arm isa') SimObject('NoMali.py', sim_objects=['NoMaliGpu', 'CustomNoMaliGpu'], enums=['NoMaliGpuType'], tags='arm isa') SimObject('VirtIOMMIO.py', sim_objects=['MmioVirtIO'], tags='arm isa') if env['CONF']['USE_ARM_FASTMODEL']: SimObject('VExpressFastmodel.py', sim_objects=[], tags='arm isa') Source('a9scu.cc', tags='arm isa') Source('amba_device.cc', tags='arm isa') Source('amba_fake.cc', tags='arm isa') Source('base_gic.cc', tags='arm isa') Source('display.cc', tags='arm isa') Source('flash_device.cc', tags='arm isa') Source('generic_timer.cc', tags='arm isa') Source('gic_v2.cc', tags='arm isa') Source('gic_v2m.cc', tags='arm isa') Source('gic_v3.cc', tags='arm isa') 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') Source('kmi.cc', tags='arm isa') Source('smmu_v3.cc', tags='arm isa'); Source('smmu_v3_caches.cc', tags='arm isa'); Source('smmu_v3_cmdexec.cc', tags='arm isa'); Source('smmu_v3_defs.cc', tags='arm isa'); Source('smmu_v3_events.cc', tags='arm isa'); Source('smmu_v3_ports.cc', tags='arm isa'); Source('smmu_v3_proc.cc', tags='arm isa'); Source('smmu_v3_deviceifc.cc', tags='arm isa'); Source('smmu_v3_transl.cc', tags='arm isa'); Source('ssc.cc', tags='arm isa'); Source('timer_sp804.cc', tags='arm isa') Source('watchdog_generic.cc', tags='arm isa') Source('watchdog_sp805.cc', tags='arm isa') Source('gpu_nomali.cc', tags='arm isa') Source('pci_host.cc', tags='arm isa') Source('rv_ctrl.cc', tags='arm isa') Source('realview.cc', tags='arm isa') Source('rtc_pl031.cc', tags='arm isa') Source('timer_cpulocal.cc', tags='arm isa') Source('vgic.cc', tags='arm isa') Source('vio_mmio.cc', tags='arm isa') Source('ufs_device.cc', tags='arm isa') Source('energy_ctrl.cc', tags='arm isa') Source('fvp_base_pwr_ctrl.cc', tags='arm isa') DebugFlag('AMBA', tags='arm isa') DebugFlag('FlashDevice', tags='arm isa') DebugFlag('HDLcd', tags='arm isa') DebugFlag('PL111', tags='arm isa') DebugFlag('GICV2M', tags='arm isa') DebugFlag('Pl050', tags='arm isa') DebugFlag('GIC', tags='arm isa') DebugFlag('ITS', tags='arm isa') DebugFlag('RVCTRL', tags='arm isa') DebugFlag('SMMUv3', tags='arm isa') DebugFlag('SMMUv3Hazard', tags='arm isa') DebugFlag('Sp805', tags='arm isa') DebugFlag('EnergyCtrl', tags='arm isa') DebugFlag('FVPBasePwrCtrl', tags='arm isa') DebugFlag('UFSHostDevice', tags='arm isa') DebugFlag('VGIC', tags='arm isa') DebugFlag('NoMali', tags='arm isa')