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