15627Sgblack@eecs.umich.edu# Copyright (c) 2008 The Hewlett-Packard Development Company 25627Sgblack@eecs.umich.edu# All rights reserved. 35627Sgblack@eecs.umich.edu# 47087Snate@binkert.org# The license below extends only to copyright in the software and shall 57087Snate@binkert.org# not be construed as granting a license to any other intellectual 67087Snate@binkert.org# property including but not limited to intellectual property relating 77087Snate@binkert.org# to a hardware implementation of the functionality of the software 87087Snate@binkert.org# licensed hereunder. You may use the software subject to the license 97087Snate@binkert.org# terms below provided that you ensure that this notice is replicated 107087Snate@binkert.org# unmodified and in its entirety in all distributions of the software, 117087Snate@binkert.org# modified or unmodified, in source code or in binary form. 125627Sgblack@eecs.umich.edu# 137087Snate@binkert.org# Redistribution and use in source and binary forms, with or without 147087Snate@binkert.org# modification, are permitted provided that the following conditions are 157087Snate@binkert.org# met: redistributions of source code must retain the above copyright 167087Snate@binkert.org# notice, this list of conditions and the following disclaimer; 177087Snate@binkert.org# redistributions in binary form must reproduce the above copyright 187087Snate@binkert.org# notice, this list of conditions and the following disclaimer in the 197087Snate@binkert.org# documentation and/or other materials provided with the distribution; 207087Snate@binkert.org# neither the name of the copyright holders nor the names of its 215627Sgblack@eecs.umich.edu# contributors may be used to endorse or promote products derived from 227087Snate@binkert.org# this software without specific prior written permission. 235627Sgblack@eecs.umich.edu# 245627Sgblack@eecs.umich.edu# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 255627Sgblack@eecs.umich.edu# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 265627Sgblack@eecs.umich.edu# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 275627Sgblack@eecs.umich.edu# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 285627Sgblack@eecs.umich.edu# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 295627Sgblack@eecs.umich.edu# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 305627Sgblack@eecs.umich.edu# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 315627Sgblack@eecs.umich.edu# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 325627Sgblack@eecs.umich.edu# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 335627Sgblack@eecs.umich.edu# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 345627Sgblack@eecs.umich.edu# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 355627Sgblack@eecs.umich.edu 367088Snate@binkert.orgfrom m5.params import * 377088Snate@binkert.orgfrom m5.SimObject import SimObject 387088Snate@binkert.org 397088Snate@binkert.org# ACPI description table header. Subclasses contain and handle the actual 407088Snate@binkert.org# contents as appropriate for that type of table. 417088Snate@binkert.orgclass X86ACPISysDescTable(SimObject): 427088Snate@binkert.org type = 'X86ACPISysDescTable' 437088Snate@binkert.org cxx_class = 'X86ISA::ACPI::SysDescTable' 449338SAndreas.Sandberg@arm.com cxx_header = 'arch/x86/bios/acpi.hh' 457088Snate@binkert.org abstract = True 467088Snate@binkert.org 477088Snate@binkert.org oem_id = Param.String('', 'string identifying the oem') 487088Snate@binkert.org oem_table_id = Param.String('', 'oem table ID') 497088Snate@binkert.org oem_revision = Param.UInt32(0, 'oem revision number for the table') 507088Snate@binkert.org 517088Snate@binkert.org creator_id = Param.String('', 527088Snate@binkert.org 'string identifying the generator of the table') 537088Snate@binkert.org creator_revision = Param.UInt32(0, 547088Snate@binkert.org 'revision number for the creator of the table') 557088Snate@binkert.org 567088Snate@binkert.orgclass X86ACPIRSDT(X86ACPISysDescTable): 577088Snate@binkert.org type = 'X86ACPIRSDT' 587088Snate@binkert.org cxx_class = 'X86ISA::ACPI::RSDT' 599338SAndreas.Sandberg@arm.com cxx_header = 'arch/x86/bios/acpi.hh' 607088Snate@binkert.org 617088Snate@binkert.org entries = VectorParam.X86ACPISysDescTable([], 'system description tables') 627088Snate@binkert.org 635627Sgblack@eecs.umich.educlass X86ACPIXSDT(X86ACPISysDescTable): 645627Sgblack@eecs.umich.edu type = 'X86ACPIXSDT' 655627Sgblack@eecs.umich.edu cxx_class = 'X86ISA::ACPI::XSDT' 669338SAndreas.Sandberg@arm.com cxx_header = 'arch/x86/bios/acpi.hh' 675627Sgblack@eecs.umich.edu 685627Sgblack@eecs.umich.edu entries = VectorParam.X86ACPISysDescTable([], 'system description tables') 695627Sgblack@eecs.umich.edu 705627Sgblack@eecs.umich.edu# Root System Description Pointer Structure 715627Sgblack@eecs.umich.educlass X86ACPIRSDP(SimObject): 725627Sgblack@eecs.umich.edu type = 'X86ACPIRSDP' 735627Sgblack@eecs.umich.edu cxx_class = 'X86ISA::ACPI::RSDP' 749338SAndreas.Sandberg@arm.com cxx_header = 'arch/x86/bios/acpi.hh' 755627Sgblack@eecs.umich.edu 765627Sgblack@eecs.umich.edu oem_id = Param.String('', 'string identifying the oem') 775627Sgblack@eecs.umich.edu # Because 0 encodes ACPI 1.0, 2 encodes ACPI 3.0, the version implemented 785627Sgblack@eecs.umich.edu # here. 795627Sgblack@eecs.umich.edu revision = Param.UInt8(2, 'revision of ACPI being used, zero indexed') 805627Sgblack@eecs.umich.edu 815825Sgblack@eecs.umich.edu rsdt = Param.X86ACPIRSDT(NULL, 'root system description table') 825627Sgblack@eecs.umich.edu xsdt = Param.X86ACPIXSDT(X86ACPIXSDT(), 835627Sgblack@eecs.umich.edu 'extended system description table') 84