X86TLB.py revision 5236
16928SBrad.Beckmann@amd.com# Copyright (c) 2007 The Hewlett-Packard Development Company 26928SBrad.Beckmann@amd.com# All rights reserved. 36928SBrad.Beckmann@amd.com# 46928SBrad.Beckmann@amd.com# Redistribution and use of this software in source and binary forms, 56928SBrad.Beckmann@amd.com# with or without modification, are permitted provided that the 66928SBrad.Beckmann@amd.com# following conditions are met: 76928SBrad.Beckmann@amd.com# 86928SBrad.Beckmann@amd.com# The software must be used only for Non-Commercial Use which means any 96928SBrad.Beckmann@amd.com# use which is NOT directed to receiving any direct monetary 106928SBrad.Beckmann@amd.com# compensation for, or commercial advantage from such use. Illustrative 116928SBrad.Beckmann@amd.com# examples of non-commercial use are academic research, personal study, 126928SBrad.Beckmann@amd.com# teaching, education and corporate research & development. 136928SBrad.Beckmann@amd.com# Illustrative examples of commercial use are distributing products for 146928SBrad.Beckmann@amd.com# commercial advantage and providing services using the software for 156928SBrad.Beckmann@amd.com# commercial advantage. 166928SBrad.Beckmann@amd.com# 176928SBrad.Beckmann@amd.com# If you wish to use this software or functionality therein that may be 186928SBrad.Beckmann@amd.com# covered by patents for commercial use, please contact: 196928SBrad.Beckmann@amd.com# Director of Intellectual Property Licensing 206928SBrad.Beckmann@amd.com# Office of Strategy and Technology 216928SBrad.Beckmann@amd.com# Hewlett-Packard Company 226928SBrad.Beckmann@amd.com# 1501 Page Mill Road 236928SBrad.Beckmann@amd.com# Palo Alto, California 94304 246928SBrad.Beckmann@amd.com# 256928SBrad.Beckmann@amd.com# Redistributions of source code must retain the above copyright notice, 266928SBrad.Beckmann@amd.com# this list of conditions and the following disclaimer. Redistributions 276928SBrad.Beckmann@amd.com# in binary form must reproduce the above copyright notice, this list of 286928SBrad.Beckmann@amd.com# conditions and the following disclaimer in the documentation and/or 296928SBrad.Beckmann@amd.com# other materials provided with the distribution. Neither the name of 306928SBrad.Beckmann@amd.com# the COPYRIGHT HOLDER(s), HEWLETT-PACKARD COMPANY, nor the names of its 316928SBrad.Beckmann@amd.com# contributors may be used to endorse or promote products derived from 326928SBrad.Beckmann@amd.com# this software without specific prior written permission. No right of 336928SBrad.Beckmann@amd.com# sublicense is granted herewith. Derivatives of the software and 346928SBrad.Beckmann@amd.com# output created using the software may be prepared, but only for 356928SBrad.Beckmann@amd.com# Non-Commercial Uses. Derivatives of the software may be shared with 366928SBrad.Beckmann@amd.com# others provided: (i) the others agree to abide by the list of 376928SBrad.Beckmann@amd.com# conditions herein which includes the Non-Commercial Use restrictions; 386928SBrad.Beckmann@amd.com# and (ii) such Derivatives of the software include the above copyright 396928SBrad.Beckmann@amd.com# notice to acknowledge the contribution from this software where 406928SBrad.Beckmann@amd.com# applicable, this list of conditions and the disclaimer below. 416928SBrad.Beckmann@amd.com# 426928SBrad.Beckmann@amd.com# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 436928SBrad.Beckmann@amd.com# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 446928SBrad.Beckmann@amd.com# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 456928SBrad.Beckmann@amd.com# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 466928SBrad.Beckmann@amd.com# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 476928SBrad.Beckmann@amd.com# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 486928SBrad.Beckmann@amd.com# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 496928SBrad.Beckmann@amd.com# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 506928SBrad.Beckmann@amd.com# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 516928SBrad.Beckmann@amd.com# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 526928SBrad.Beckmann@amd.com# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 536928SBrad.Beckmann@amd.com# 546928SBrad.Beckmann@amd.com# Authors: Gabe Black 556928SBrad.Beckmann@amd.com 566928SBrad.Beckmann@amd.comfrom MemObject import MemObject 576928SBrad.Beckmann@amd.comfrom m5.params import * 586928SBrad.Beckmann@amd.com 596928SBrad.Beckmann@amd.comclass X86TLB(MemObject): 606928SBrad.Beckmann@amd.com type = 'X86TLB' 616928SBrad.Beckmann@amd.com abstract = True 626928SBrad.Beckmann@amd.com size = Param.Int("TLB size") 636928SBrad.Beckmann@amd.com walker_port = Port("Port for the hardware table walker") 646928SBrad.Beckmann@amd.com system = Param.System(Parent.any, "system object") 656928SBrad.Beckmann@amd.com 666928SBrad.Beckmann@amd.comclass X86DTB(X86TLB): 676928SBrad.Beckmann@amd.com type = 'X86DTB' 686928SBrad.Beckmann@amd.com cxx_namespace = 'X86ISA' 696928SBrad.Beckmann@amd.com cxx_class = 'DTB' 706928SBrad.Beckmann@amd.com 716928SBrad.Beckmann@amd.com size = 64 726928SBrad.Beckmann@amd.com 736928SBrad.Beckmann@amd.comclass X86ITB(X86TLB): 746928SBrad.Beckmann@amd.com type = 'X86ITB' 756928SBrad.Beckmann@amd.com cxx_namespace = 'X86ISA' 766928SBrad.Beckmann@amd.com cxx_class = 'ITB' 776928SBrad.Beckmann@amd.com 786928SBrad.Beckmann@amd.com size = 64 796928SBrad.Beckmann@amd.com