aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi/acdisasm.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/acpi/acdisasm.h')
-rw-r--r--include/acpi/acdisasm.h141
1 files changed, 134 insertions, 7 deletions
diff --git a/include/acpi/acdisasm.h b/include/acpi/acdisasm.h
index f004461a7753..70b52ffa969e 100644
--- a/include/acpi/acdisasm.h
+++ b/include/acpi/acdisasm.h
@@ -59,14 +59,52 @@ struct acpi_external_list {
59 59
60extern struct acpi_external_list *acpi_gbl_external_list; 60extern struct acpi_external_list *acpi_gbl_external_list;
61 61
62/* Strings used for decoding flags to ASL keywords */ 62typedef const struct acpi_dmtable_info {
63 u8 opcode;
64 u8 offset;
65 char *name;
63 66
64extern const char *acpi_gbl_word_decode[4]; 67} acpi_dmtable_info;
65extern const char *acpi_gbl_irq_decode[2]; 68
66extern const char *acpi_gbl_lock_rule[ACPI_NUM_LOCK_RULES]; 69/*
67extern const char *acpi_gbl_access_types[ACPI_NUM_ACCESS_TYPES]; 70 * Values for Opcode above.
68extern const char *acpi_gbl_update_rules[ACPI_NUM_UPDATE_RULES]; 71 * Note: 0-7 must not change, used as a flag shift value
69extern const char *acpi_gbl_match_ops[ACPI_NUM_MATCH_OPS]; 72 */
73#define ACPI_DMT_FLAG0 0
74#define ACPI_DMT_FLAG1 1
75#define ACPI_DMT_FLAG2 2
76#define ACPI_DMT_FLAG3 3
77#define ACPI_DMT_FLAG4 4
78#define ACPI_DMT_FLAG5 5
79#define ACPI_DMT_FLAG6 6
80#define ACPI_DMT_FLAG7 7
81#define ACPI_DMT_FLAGS0 8
82#define ACPI_DMT_FLAGS2 9
83#define ACPI_DMT_UINT8 10
84#define ACPI_DMT_UINT16 11
85#define ACPI_DMT_UINT24 12
86#define ACPI_DMT_UINT32 13
87#define ACPI_DMT_UINT56 14
88#define ACPI_DMT_UINT64 15
89#define ACPI_DMT_STRING 16
90#define ACPI_DMT_NAME4 17
91#define ACPI_DMT_NAME6 18
92#define ACPI_DMT_NAME8 19
93#define ACPI_DMT_CHKSUM 20
94#define ACPI_DMT_SPACEID 21
95#define ACPI_DMT_GAS 22
96#define ACPI_DMT_MADT 23
97#define ACPI_DMT_SRAT 24
98#define ACPI_DMT_EXIT 25
99
100typedef
101void (*ACPI_TABLE_HANDLER) (struct acpi_table_header * table);
102
103struct acpi_dmtable_data {
104 char *signature;
105 struct acpi_dmtable_info *table_info;
106 ACPI_TABLE_HANDLER table_handler;
107};
70 108
71struct acpi_op_walk_info { 109struct acpi_op_walk_info {
72 u32 level; 110 u32 level;
@@ -84,6 +122,95 @@ struct acpi_resource_tag {
84 char *tag; 122 char *tag;
85}; 123};
86 124
125/* Strings used for decoding flags to ASL keywords */
126
127extern const char *acpi_gbl_word_decode[4];
128extern const char *acpi_gbl_irq_decode[2];
129extern const char *acpi_gbl_lock_rule[ACPI_NUM_LOCK_RULES];
130extern const char *acpi_gbl_access_types[ACPI_NUM_ACCESS_TYPES];
131extern const char *acpi_gbl_update_rules[ACPI_NUM_UPDATE_RULES];
132extern const char *acpi_gbl_match_ops[ACPI_NUM_MATCH_OPS];
133
134extern struct acpi_dmtable_info acpi_dm_table_info_asf0[];
135extern struct acpi_dmtable_info acpi_dm_table_info_asf1[];
136extern struct acpi_dmtable_info acpi_dm_table_info_asf2[];
137extern struct acpi_dmtable_info acpi_dm_table_info_asf3[];
138extern struct acpi_dmtable_info acpi_dm_table_info_asf4[];
139extern struct acpi_dmtable_info acpi_dm_table_info_asf_hdr[];
140extern struct acpi_dmtable_info acpi_dm_table_info_boot[];
141extern struct acpi_dmtable_info acpi_dm_table_info_cpep[];
142extern struct acpi_dmtable_info acpi_dm_table_info_cpep0[];
143extern struct acpi_dmtable_info acpi_dm_table_info_dbgp[];
144extern struct acpi_dmtable_info acpi_dm_table_info_ecdt[];
145extern struct acpi_dmtable_info acpi_dm_table_info_facs[];
146extern struct acpi_dmtable_info acpi_dm_table_info_fadt1[];
147extern struct acpi_dmtable_info acpi_dm_table_info_fadt2[];
148extern struct acpi_dmtable_info acpi_dm_table_info_gas[];
149extern struct acpi_dmtable_info acpi_dm_table_info_header[];
150extern struct acpi_dmtable_info acpi_dm_table_info_hpet[];
151extern struct acpi_dmtable_info acpi_dm_table_info_madt[];
152extern struct acpi_dmtable_info acpi_dm_table_info_madt0[];
153extern struct acpi_dmtable_info acpi_dm_table_info_madt1[];
154extern struct acpi_dmtable_info acpi_dm_table_info_madt2[];
155extern struct acpi_dmtable_info acpi_dm_table_info_madt3[];
156extern struct acpi_dmtable_info acpi_dm_table_info_madt4[];
157extern struct acpi_dmtable_info acpi_dm_table_info_madt5[];
158extern struct acpi_dmtable_info acpi_dm_table_info_madt6[];
159extern struct acpi_dmtable_info acpi_dm_table_info_madt7[];
160extern struct acpi_dmtable_info acpi_dm_table_info_madt8[];
161extern struct acpi_dmtable_info acpi_dm_table_info_madt_hdr[];
162extern struct acpi_dmtable_info acpi_dm_table_info_mcfg[];
163extern struct acpi_dmtable_info acpi_dm_table_info_mcfg0[];
164extern struct acpi_dmtable_info acpi_dm_table_info_rsdp1[];
165extern struct acpi_dmtable_info acpi_dm_table_info_rsdp2[];
166extern struct acpi_dmtable_info acpi_dm_table_info_sbst[];
167extern struct acpi_dmtable_info acpi_dm_table_info_slit[];
168extern struct acpi_dmtable_info acpi_dm_table_info_spcr[];
169extern struct acpi_dmtable_info acpi_dm_table_info_spmi[];
170extern struct acpi_dmtable_info acpi_dm_table_info_srat[];
171extern struct acpi_dmtable_info acpi_dm_table_info_srat0[];
172extern struct acpi_dmtable_info acpi_dm_table_info_srat1[];
173extern struct acpi_dmtable_info acpi_dm_table_info_tcpa[];
174extern struct acpi_dmtable_info acpi_dm_table_info_wdrt[];
175
176/*
177 * dmtable
178 */
179void acpi_dm_dump_data_table(struct acpi_table_header *table);
180
181void
182acpi_dm_dump_table(u32 table_length,
183 u32 table_offset,
184 void *table,
185 u32 sub_table_length, struct acpi_dmtable_info *info);
186
187void acpi_dm_line_header(u32 offset, u32 byte_length, char *name);
188
189void acpi_dm_line_header2(u32 offset, u32 byte_length, char *name, u32 value);
190
191/*
192 * dmtbdump
193 */
194void acpi_dm_dump_asf(struct acpi_table_header *table);
195
196void acpi_dm_dump_cpep(struct acpi_table_header *table);
197
198void acpi_dm_dump_fadt(struct acpi_table_header *table);
199
200void acpi_dm_dump_srat(struct acpi_table_header *table);
201
202void acpi_dm_dump_mcfg(struct acpi_table_header *table);
203
204void acpi_dm_dump_madt(struct acpi_table_header *table);
205
206u32 acpi_dm_dump_rsdp(struct acpi_table_header *table);
207
208void acpi_dm_dump_rsdt(struct acpi_table_header *table);
209
210void acpi_dm_dump_slit(struct acpi_table_header *table);
211
212void acpi_dm_dump_xsdt(struct acpi_table_header *table);
213
87/* 214/*
88 * dmwalk 215 * dmwalk
89 */ 216 */