111263Sandreas.sandberg@arm.com# -*- mode:python -*- 211263Sandreas.sandberg@arm.com 311263Sandreas.sandberg@arm.com# Copyright (c) 2015 ARM Limited 411263Sandreas.sandberg@arm.com# All rights reserved. 511263Sandreas.sandberg@arm.com# 611263Sandreas.sandberg@arm.com# The license below extends only to copyright in the software and shall 711263Sandreas.sandberg@arm.com# not be construed as granting a license to any other intellectual 811263Sandreas.sandberg@arm.com# property including but not limited to intellectual property relating 911263Sandreas.sandberg@arm.com# to a hardware implementation of the functionality of the software 1011263Sandreas.sandberg@arm.com# licensed hereunder. You may use the software subject to the license 1111263Sandreas.sandberg@arm.com# terms below provided that you ensure that this notice is replicated 1211263Sandreas.sandberg@arm.com# unmodified and in its entirety in all distributions of the software, 1311263Sandreas.sandberg@arm.com# modified or unmodified, in source code or in binary form. 1411263Sandreas.sandberg@arm.com# 1511263Sandreas.sandberg@arm.com# Copyright (c) 2006 The Regents of The University of Michigan 1611263Sandreas.sandberg@arm.com# All rights reserved. 1711263Sandreas.sandberg@arm.com# 1811263Sandreas.sandberg@arm.com# Redistribution and use in source and binary forms, with or without 1911263Sandreas.sandberg@arm.com# modification, are permitted provided that the following conditions are 2011263Sandreas.sandberg@arm.com# met: redistributions of source code must retain the above copyright 2111263Sandreas.sandberg@arm.com# notice, this list of conditions and the following disclaimer; 2211263Sandreas.sandberg@arm.com# redistributions in binary form must reproduce the above copyright 2311263Sandreas.sandberg@arm.com# notice, this list of conditions and the following disclaimer in the 2411263Sandreas.sandberg@arm.com# documentation and/or other materials provided with the distribution; 2511263Sandreas.sandberg@arm.com# neither the name of the copyright holders nor the names of its 2611263Sandreas.sandberg@arm.com# contributors may be used to endorse or promote products derived from 2711263Sandreas.sandberg@arm.com# this software without specific prior written permission. 2811263Sandreas.sandberg@arm.com# 2911263Sandreas.sandberg@arm.com# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 3011263Sandreas.sandberg@arm.com# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 3111263Sandreas.sandberg@arm.com# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 3211263Sandreas.sandberg@arm.com# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 3311263Sandreas.sandberg@arm.com# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 3411263Sandreas.sandberg@arm.com# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 3511263Sandreas.sandberg@arm.com# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 3611263Sandreas.sandberg@arm.com# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 3711263Sandreas.sandberg@arm.com# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 3811263Sandreas.sandberg@arm.com# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 3911263Sandreas.sandberg@arm.com# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 4011263Sandreas.sandberg@arm.com# 4111263Sandreas.sandberg@arm.com# Authors: Steve Reinhardt 4211263Sandreas.sandberg@arm.com# Gabe Black 4311263Sandreas.sandberg@arm.com# Andreas Sandberg 4411263Sandreas.sandberg@arm.com 4511263Sandreas.sandberg@arm.comImport('*') 4611263Sandreas.sandberg@arm.com 4711263Sandreas.sandberg@arm.comSimObject('Ethernet.py') 4811263Sandreas.sandberg@arm.com 4911263Sandreas.sandberg@arm.com# Basic Ethernet infrastructure 5011263Sandreas.sandberg@arm.comSource('etherbus.cc') 5111317Sm.alian1369@gmail.comSource('etherswitch.cc') 5211263Sandreas.sandberg@arm.comSource('etherdevice.cc') 5311263Sandreas.sandberg@arm.comSource('etherdump.cc') 5411263Sandreas.sandberg@arm.comSource('etherint.cc') 5511263Sandreas.sandberg@arm.comSource('etherlink.cc') 5611263Sandreas.sandberg@arm.comSource('etherpkt.cc') 5711263Sandreas.sandberg@arm.comSource('ethertap.cc') 5811263Sandreas.sandberg@arm.com 5911263Sandreas.sandberg@arm.comSource('pktfifo.cc') 6011263Sandreas.sandberg@arm.com 6111263Sandreas.sandberg@arm.comDebugFlag('Ethernet') 6211263Sandreas.sandberg@arm.comDebugFlag('EthernetCksum') 6311263Sandreas.sandberg@arm.comDebugFlag('EthernetDMA') 6411263Sandreas.sandberg@arm.comDebugFlag('EthernetData') 6511263Sandreas.sandberg@arm.comDebugFlag('EthernetDesc') 6611263Sandreas.sandberg@arm.comDebugFlag('EthernetEEPROM') 6711263Sandreas.sandberg@arm.comDebugFlag('EthernetIntr') 6811263Sandreas.sandberg@arm.comDebugFlag('EthernetPIO') 6911263Sandreas.sandberg@arm.comDebugFlag('EthernetSM') 7011263Sandreas.sandberg@arm.com 7111290Sgabor.dozsa@arm.com# Dist gem5 7211290Sgabor.dozsa@arm.comSource('dist_iface.cc') 7311290Sgabor.dozsa@arm.comSource('dist_etherlink.cc') 7411263Sandreas.sandberg@arm.comSource('tcp_iface.cc') 7511263Sandreas.sandberg@arm.com 7611290Sgabor.dozsa@arm.comDebugFlag('DistEthernet') 7711290Sgabor.dozsa@arm.comDebugFlag('DistEthernetPkt') 7811290Sgabor.dozsa@arm.comDebugFlag('DistEthernetCmd') 7911263Sandreas.sandberg@arm.com 8011263Sandreas.sandberg@arm.com# Ethernet controllers 8111263Sandreas.sandberg@arm.comSource('i8254xGBe.cc') 8211263Sandreas.sandberg@arm.comSource('ns_gige.cc') 8311263Sandreas.sandberg@arm.comSource('sinic.cc') 8411263Sandreas.sandberg@arm.com 8511263Sandreas.sandberg@arm.com 8611263Sandreas.sandberg@arm.com 8711263Sandreas.sandberg@arm.comCompoundFlag('EthernetAll', [ 'Ethernet', 'EthernetPIO', 'EthernetDMA', 8811263Sandreas.sandberg@arm.com 'EthernetData' , 'EthernetDesc', 'EthernetIntr', 'EthernetSM', 8911263Sandreas.sandberg@arm.com 'EthernetCksum', 'EthernetEEPROM' ]) 9011263Sandreas.sandberg@arm.com 9111263Sandreas.sandberg@arm.comCompoundFlag('EthernetNoData', [ 'Ethernet', 'EthernetPIO', 'EthernetDesc', 9211263Sandreas.sandberg@arm.com 'EthernetIntr', 'EthernetSM', 'EthernetCksum' ]) 93