gem5
v20.1.0.0
arch
x86
bios
acpi.hh
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2008 The Hewlett-Packard Development Company
3
* All rights reserved.
4
*
5
* The license below extends only to copyright in the software and shall
6
* not be construed as granting a license to any other intellectual
7
* property including but not limited to intellectual property relating
8
* to a hardware implementation of the functionality of the software
9
* licensed hereunder. You may use the software subject to the license
10
* terms below provided that you ensure that this notice is replicated
11
* unmodified and in its entirety in all distributions of the software,
12
* modified or unmodified, in source code or in binary form.
13
*
14
* Redistribution and use in source and binary forms, with or without
15
* modification, are permitted provided that the following conditions are
16
* met: redistributions of source code must retain the above copyright
17
* notice, this list of conditions and the following disclaimer;
18
* redistributions in binary form must reproduce the above copyright
19
* notice, this list of conditions and the following disclaimer in the
20
* documentation and/or other materials provided with the distribution;
21
* neither the name of the copyright holders nor the names of its
22
* contributors may be used to endorse or promote products derived from
23
* this software without specific prior written permission.
24
*
25
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
29
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
*/
37
38
#ifndef __ARCH_X86_BIOS_ACPI_HH__
39
#define __ARCH_X86_BIOS_ACPI_HH__
40
41
#include <string>
42
#include <vector>
43
44
#include "
base/types.hh
"
45
#include "
sim/sim_object.hh
"
46
47
class
Port
;
48
49
struct
X86ACPIRSDPParams;
50
51
struct
X86ACPISysDescTableParams;
52
struct
X86ACPIRSDTParams;
53
struct
X86ACPIXSDTParams;
54
55
namespace
X86ISA
56
{
57
58
namespace
ACPI
59
{
60
61
class
RSDT
;
62
class
XSDT
;
63
class
SysDescTable
;
64
65
class
RSDP
:
public
SimObject
66
{
67
protected
:
68
typedef
X86ACPIRSDPParams
Params
;
69
70
static
const
char
signature
[];
71
72
std::string
oemID
;
73
uint8_t
revision
;
74
75
RSDT
*
rsdt
;
76
XSDT
*
xsdt
;
77
78
public
:
79
RSDP
(
Params
*
p
);
80
};
81
82
class
SysDescTable
:
public
SimObject
83
{
84
protected
:
85
typedef
X86ACPISysDescTableParams
Params
;
86
87
const
char
*
signature
;
88
uint8_t
revision
;
89
90
std::string
oemID
;
91
std::string
oemTableID
;
92
uint32_t
oemRevision
;
93
94
std::string
creatorID
;
95
uint32_t
creatorRevision
;
96
97
public
:
98
SysDescTable
(
Params
*
p
,
const
char
* _signature, uint8_t _revision);
99
};
100
101
class
RSDT
:
public
SysDescTable
102
{
103
protected
:
104
typedef
X86ACPIRSDTParams
Params
;
105
106
std::vector<SysDescTable *>
entries
;
107
108
public
:
109
RSDT
(
Params
*
p
);
110
};
111
112
class
XSDT
:
public
SysDescTable
113
{
114
protected
:
115
typedef
X86ACPIXSDTParams
Params
;
116
117
std::vector<SysDescTable *>
entries
;
118
119
public
:
120
XSDT
(
Params
*
p
);
121
};
122
123
}
// namespace ACPI
124
125
}
// namespace X86ISA
126
127
#endif // __ARCH_X86_BIOS_E820_HH__
X86ISA::ACPI::RSDP::oemID
std::string oemID
Definition:
acpi.hh:72
X86ISA::ACPI::RSDT::Params
X86ACPIRSDTParams Params
Definition:
acpi.hh:104
X86ISA::ACPI::SysDescTable::revision
uint8_t revision
Definition:
acpi.hh:88
X86ISA::ACPI::SysDescTable::Params
X86ACPISysDescTableParams Params
Definition:
acpi.hh:85
std::vector
STL vector class.
Definition:
stl.hh:37
X86ISA::ACPI::SysDescTable::signature
const char * signature
Definition:
acpi.hh:87
X86ISA::ACPI::XSDT::XSDT
XSDT(Params *p)
Definition:
acpi.cc:68
X86ISA::ACPI::XSDT::entries
std::vector< SysDescTable * > entries
Definition:
acpi.hh:117
X86ISA::ACPI::RSDT::entries
std::vector< SysDescTable * > entries
Definition:
acpi.hh:106
X86ISA::ACPI::RSDP::rsdt
RSDT * rsdt
Definition:
acpi.hh:75
X86ISA::ACPI::RSDP
Definition:
acpi.hh:65
X86ISA::ACPI::RSDP::revision
uint8_t revision
Definition:
acpi.hh:73
X86ISA::ACPI::SysDescTable::oemTableID
std::string oemTableID
Definition:
acpi.hh:91
sim_object.hh
X86ISA::ACPI::RSDT::RSDT
RSDT(Params *p)
Definition:
acpi.cc:64
Port
Ports are used to interface objects to each other.
Definition:
port.hh:56
X86ISA::ACPI::XSDT::Params
X86ACPIXSDTParams Params
Definition:
acpi.hh:115
X86ISA::ACPI::SysDescTable::oemRevision
uint32_t oemRevision
Definition:
acpi.hh:92
X86ISA::ACPI::RSDP::signature
static const char signature[]
Definition:
acpi.hh:70
X86ISA::ACPI::SysDescTable
Definition:
acpi.hh:82
X86ISA
This is exposed globally, independent of the ISA.
Definition:
acpi.hh:55
X86ISA::ACPI::SysDescTable::creatorRevision
uint32_t creatorRevision
Definition:
acpi.hh:95
X86ISA::p
Bitfield< 0 > p
Definition:
pagetable.hh:151
types.hh
X86ISA::ACPI::RSDP::RSDP
RSDP(Params *p)
Definition:
acpi.cc:52
X86ISA::ACPI::RSDP::Params
X86ACPIRSDPParams Params
Definition:
acpi.hh:68
X86ISA::ACPI::SysDescTable::SysDescTable
SysDescTable(Params *p, const char *_signature, uint8_t _revision)
Definition:
acpi.cc:56
X86ISA::ACPI::RSDT
Definition:
acpi.hh:101
X86ISA::ACPI::SysDescTable::creatorID
std::string creatorID
Definition:
acpi.hh:94
X86ISA::ACPI::RSDP::xsdt
XSDT * xsdt
Definition:
acpi.hh:76
X86ISA::ACPI::SysDescTable::oemID
std::string oemID
Definition:
acpi.hh:90
X86ISA::ACPI::XSDT
Definition:
acpi.hh:112
SimObject
Abstract superclass for simulation objects.
Definition:
sim_object.hh:92
Generated on Wed Sep 30 2020 14:02:07 for gem5 by
doxygen
1.8.17