ACPI.py (7087:fb8d5786ff30) ACPI.py (7088:84bd4089958b)
1# Copyright (c) 2008 The Hewlett-Packard Development Company
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license

--- 19 unchanged lines hidden (view full) ---

28# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35
1# Copyright (c) 2008 The Hewlett-Packard Development Company
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license

--- 19 unchanged lines hidden (view full) ---

28# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35
36from m5.params import *
37from m5.SimObject import SimObject
38
39# ACPI description table header. Subclasses contain and handle the actual
40# contents as appropriate for that type of table.
41class X86ACPISysDescTable(SimObject):
42 type = 'X86ACPISysDescTable'
43 cxx_class = 'X86ISA::ACPI::SysDescTable'
44 abstract = True
45
46 oem_id = Param.String('', 'string identifying the oem')
47 oem_table_id = Param.String('', 'oem table ID')
48 oem_revision = Param.UInt32(0, 'oem revision number for the table')
49
50 creator_id = Param.String('',
51 'string identifying the generator of the table')
52 creator_revision = Param.UInt32(0,
53 'revision number for the creator of the table')
54
55class X86ACPIRSDT(X86ACPISysDescTable):
56 type = 'X86ACPIRSDT'
57 cxx_class = 'X86ISA::ACPI::RSDT'
58
59 entries = VectorParam.X86ACPISysDescTable([], 'system description tables')
60
36class X86ACPIXSDT(X86ACPISysDescTable):
37 type = 'X86ACPIXSDT'
38 cxx_class = 'X86ISA::ACPI::XSDT'
39
40 entries = VectorParam.X86ACPISysDescTable([], 'system description tables')
41
42# Root System Description Pointer Structure
43class X86ACPIRSDP(SimObject):
44 type = 'X86ACPIRSDP'
45 cxx_class = 'X86ISA::ACPI::RSDP'
46
47 oem_id = Param.String('', 'string identifying the oem')
48 # Because 0 encodes ACPI 1.0, 2 encodes ACPI 3.0, the version implemented
49 # here.
50 revision = Param.UInt8(2, 'revision of ACPI being used, zero indexed')
51
52 rsdt = Param.X86ACPIRSDT(NULL, 'root system description table')
53 xsdt = Param.X86ACPIXSDT(X86ACPIXSDT(),
54 'extended system description table')
61class X86ACPIXSDT(X86ACPISysDescTable):
62 type = 'X86ACPIXSDT'
63 cxx_class = 'X86ISA::ACPI::XSDT'
64
65 entries = VectorParam.X86ACPISysDescTable([], 'system description tables')
66
67# Root System Description Pointer Structure
68class X86ACPIRSDP(SimObject):
69 type = 'X86ACPIRSDP'
70 cxx_class = 'X86ISA::ACPI::RSDP'
71
72 oem_id = Param.String('', 'string identifying the oem')
73 # Because 0 encodes ACPI 1.0, 2 encodes ACPI 3.0, the version implemented
74 # here.
75 revision = Param.UInt8(2, 'revision of ACPI being used, zero indexed')
76
77 rsdt = Param.X86ACPIRSDT(NULL, 'root system description table')
78 xsdt = Param.X86ACPIXSDT(X86ACPIXSDT(),
79 'extended system description table')