SConscript revision 11263
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.comif env['TARGET_ISA'] == 'null':
4811263Sandreas.sandberg@arm.com    Return()
4911263Sandreas.sandberg@arm.com
5011263Sandreas.sandberg@arm.comSimObject('Ethernet.py')
5111263Sandreas.sandberg@arm.com
5211263Sandreas.sandberg@arm.com# Basic Ethernet infrastructure
5311263Sandreas.sandberg@arm.comSource('etherbus.cc')
5411263Sandreas.sandberg@arm.comSource('etherdevice.cc')
5511263Sandreas.sandberg@arm.comSource('etherdump.cc')
5611263Sandreas.sandberg@arm.comSource('etherint.cc')
5711263Sandreas.sandberg@arm.comSource('etherlink.cc')
5811263Sandreas.sandberg@arm.comSource('etherpkt.cc')
5911263Sandreas.sandberg@arm.comSource('ethertap.cc')
6011263Sandreas.sandberg@arm.com
6111263Sandreas.sandberg@arm.comSource('pktfifo.cc')
6211263Sandreas.sandberg@arm.com
6311263Sandreas.sandberg@arm.comDebugFlag('Ethernet')
6411263Sandreas.sandberg@arm.comDebugFlag('EthernetCksum')
6511263Sandreas.sandberg@arm.comDebugFlag('EthernetDMA')
6611263Sandreas.sandberg@arm.comDebugFlag('EthernetData')
6711263Sandreas.sandberg@arm.comDebugFlag('EthernetDesc')
6811263Sandreas.sandberg@arm.comDebugFlag('EthernetEEPROM')
6911263Sandreas.sandberg@arm.comDebugFlag('EthernetIntr')
7011263Sandreas.sandberg@arm.comDebugFlag('EthernetPIO')
7111263Sandreas.sandberg@arm.comDebugFlag('EthernetSM')
7211263Sandreas.sandberg@arm.com
7311263Sandreas.sandberg@arm.com# Multi gem5
7411263Sandreas.sandberg@arm.comSource('multi_packet.cc')
7511263Sandreas.sandberg@arm.comSource('multi_iface.cc')
7611263Sandreas.sandberg@arm.comSource('multi_etherlink.cc')
7711263Sandreas.sandberg@arm.comSource('tcp_iface.cc')
7811263Sandreas.sandberg@arm.com
7911263Sandreas.sandberg@arm.comDebugFlag('MultiEthernet')
8011263Sandreas.sandberg@arm.comDebugFlag('MultiEthernetPkt')
8111263Sandreas.sandberg@arm.com
8211263Sandreas.sandberg@arm.com# Ethernet controllers
8311263Sandreas.sandberg@arm.comSource('i8254xGBe.cc')
8411263Sandreas.sandberg@arm.comSource('ns_gige.cc')
8511263Sandreas.sandberg@arm.comSource('sinic.cc')
8611263Sandreas.sandberg@arm.com
8711263Sandreas.sandberg@arm.com
8811263Sandreas.sandberg@arm.com
8911263Sandreas.sandberg@arm.comCompoundFlag('EthernetAll', [ 'Ethernet', 'EthernetPIO', 'EthernetDMA',
9011263Sandreas.sandberg@arm.com    'EthernetData' , 'EthernetDesc', 'EthernetIntr', 'EthernetSM',
9111263Sandreas.sandberg@arm.com    'EthernetCksum', 'EthernetEEPROM' ])
9211263Sandreas.sandberg@arm.com
9311263Sandreas.sandberg@arm.comCompoundFlag('EthernetNoData', [ 'Ethernet', 'EthernetPIO', 'EthernetDesc',
9411263Sandreas.sandberg@arm.com    'EthernetIntr', 'EthernetSM', 'EthernetCksum' ])
95