15529Snate@binkert.org# Copyright (c) 2007 The Regents of The University of Michigan
25529Snate@binkert.org# All rights reserved.
35529Snate@binkert.org#
45529Snate@binkert.org# Redistribution and use in source and binary forms, with or without
55529Snate@binkert.org# modification, are permitted provided that the following conditions are
65529Snate@binkert.org# met: redistributions of source code must retain the above copyright
75529Snate@binkert.org# notice, this list of conditions and the following disclaimer;
85529Snate@binkert.org# redistributions in binary form must reproduce the above copyright
95529Snate@binkert.org# notice, this list of conditions and the following disclaimer in the
105529Snate@binkert.org# documentation and/or other materials provided with the distribution;
115529Snate@binkert.org# neither the name of the copyright holders nor the names of its
125529Snate@binkert.org# contributors may be used to endorse or promote products derived from
135529Snate@binkert.org# this software without specific prior written permission.
145529Snate@binkert.org#
155529Snate@binkert.org# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
165529Snate@binkert.org# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
175529Snate@binkert.org# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
185529Snate@binkert.org# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
195529Snate@binkert.org# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
205529Snate@binkert.org# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
215529Snate@binkert.org# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
225529Snate@binkert.org# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
235529Snate@binkert.org# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
245529Snate@binkert.org# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
255529Snate@binkert.org# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
265529Snate@binkert.org#
275529Snate@binkert.org# Authors: Nathan Binkert
285529Snate@binkert.org
295529Snate@binkert.orgfrom m5.params import *
3013665Sandreas.sandberg@arm.com
3113665Sandreas.sandberg@arm.comfrom m5.objects.BaseCPU import BaseCPU
325529Snate@binkert.org
335529Snate@binkert.orgclass CheckerCPU(BaseCPU):
345529Snate@binkert.org    type = 'CheckerCPU'
355529Snate@binkert.org    abstract = True
369338SAndreas.Sandberg@arm.com    cxx_header = "cpu/checker/cpu.hh"
375529Snate@binkert.org    exitOnError = Param.Bool(False, "Exit on an error")
385529Snate@binkert.org    updateOnError = Param.Bool(False,
395529Snate@binkert.org        "Update the checker with the main CPU's state on an error")
408733Sgeoffrey.blake@arm.com    warnOnlyOnLoadError = Param.Bool(True,
415529Snate@binkert.org        "If a load result is incorrect, only print a warning and do not exit")
42