diff options
Diffstat (limited to 'include/acpi/acdisasm.h')
-rw-r--r-- | include/acpi/acdisasm.h | 141 |
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 | ||
60 | extern struct acpi_external_list *acpi_gbl_external_list; | 60 | extern struct acpi_external_list *acpi_gbl_external_list; |
61 | 61 | ||
62 | /* Strings used for decoding flags to ASL keywords */ | 62 | typedef const struct acpi_dmtable_info { |
63 | u8 opcode; | ||
64 | u8 offset; | ||
65 | char *name; | ||
63 | 66 | ||
64 | extern const char *acpi_gbl_word_decode[4]; | 67 | } acpi_dmtable_info; |
65 | extern const char *acpi_gbl_irq_decode[2]; | 68 | |
66 | extern const char *acpi_gbl_lock_rule[ACPI_NUM_LOCK_RULES]; | 69 | /* |
67 | extern const char *acpi_gbl_access_types[ACPI_NUM_ACCESS_TYPES]; | 70 | * Values for Opcode above. |
68 | extern const char *acpi_gbl_update_rules[ACPI_NUM_UPDATE_RULES]; | 71 | * Note: 0-7 must not change, used as a flag shift value |
69 | extern 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 | |||
100 | typedef | ||
101 | void (*ACPI_TABLE_HANDLER) (struct acpi_table_header * table); | ||
102 | |||
103 | struct acpi_dmtable_data { | ||
104 | char *signature; | ||
105 | struct acpi_dmtable_info *table_info; | ||
106 | ACPI_TABLE_HANDLER table_handler; | ||
107 | }; | ||
70 | 108 | ||
71 | struct acpi_op_walk_info { | 109 | struct 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 | |||
127 | extern const char *acpi_gbl_word_decode[4]; | ||
128 | extern const char *acpi_gbl_irq_decode[2]; | ||
129 | extern const char *acpi_gbl_lock_rule[ACPI_NUM_LOCK_RULES]; | ||
130 | extern const char *acpi_gbl_access_types[ACPI_NUM_ACCESS_TYPES]; | ||
131 | extern const char *acpi_gbl_update_rules[ACPI_NUM_UPDATE_RULES]; | ||
132 | extern const char *acpi_gbl_match_ops[ACPI_NUM_MATCH_OPS]; | ||
133 | |||
134 | extern struct acpi_dmtable_info acpi_dm_table_info_asf0[]; | ||
135 | extern struct acpi_dmtable_info acpi_dm_table_info_asf1[]; | ||
136 | extern struct acpi_dmtable_info acpi_dm_table_info_asf2[]; | ||
137 | extern struct acpi_dmtable_info acpi_dm_table_info_asf3[]; | ||
138 | extern struct acpi_dmtable_info acpi_dm_table_info_asf4[]; | ||
139 | extern struct acpi_dmtable_info acpi_dm_table_info_asf_hdr[]; | ||
140 | extern struct acpi_dmtable_info acpi_dm_table_info_boot[]; | ||
141 | extern struct acpi_dmtable_info acpi_dm_table_info_cpep[]; | ||
142 | extern struct acpi_dmtable_info acpi_dm_table_info_cpep0[]; | ||
143 | extern struct acpi_dmtable_info acpi_dm_table_info_dbgp[]; | ||
144 | extern struct acpi_dmtable_info acpi_dm_table_info_ecdt[]; | ||
145 | extern struct acpi_dmtable_info acpi_dm_table_info_facs[]; | ||
146 | extern struct acpi_dmtable_info acpi_dm_table_info_fadt1[]; | ||
147 | extern struct acpi_dmtable_info acpi_dm_table_info_fadt2[]; | ||
148 | extern struct acpi_dmtable_info acpi_dm_table_info_gas[]; | ||
149 | extern struct acpi_dmtable_info acpi_dm_table_info_header[]; | ||
150 | extern struct acpi_dmtable_info acpi_dm_table_info_hpet[]; | ||
151 | extern struct acpi_dmtable_info acpi_dm_table_info_madt[]; | ||
152 | extern struct acpi_dmtable_info acpi_dm_table_info_madt0[]; | ||
153 | extern struct acpi_dmtable_info acpi_dm_table_info_madt1[]; | ||
154 | extern struct acpi_dmtable_info acpi_dm_table_info_madt2[]; | ||
155 | extern struct acpi_dmtable_info acpi_dm_table_info_madt3[]; | ||
156 | extern struct acpi_dmtable_info acpi_dm_table_info_madt4[]; | ||
157 | extern struct acpi_dmtable_info acpi_dm_table_info_madt5[]; | ||
158 | extern struct acpi_dmtable_info acpi_dm_table_info_madt6[]; | ||
159 | extern struct acpi_dmtable_info acpi_dm_table_info_madt7[]; | ||
160 | extern struct acpi_dmtable_info acpi_dm_table_info_madt8[]; | ||
161 | extern struct acpi_dmtable_info acpi_dm_table_info_madt_hdr[]; | ||
162 | extern struct acpi_dmtable_info acpi_dm_table_info_mcfg[]; | ||
163 | extern struct acpi_dmtable_info acpi_dm_table_info_mcfg0[]; | ||
164 | extern struct acpi_dmtable_info acpi_dm_table_info_rsdp1[]; | ||
165 | extern struct acpi_dmtable_info acpi_dm_table_info_rsdp2[]; | ||
166 | extern struct acpi_dmtable_info acpi_dm_table_info_sbst[]; | ||
167 | extern struct acpi_dmtable_info acpi_dm_table_info_slit[]; | ||
168 | extern struct acpi_dmtable_info acpi_dm_table_info_spcr[]; | ||
169 | extern struct acpi_dmtable_info acpi_dm_table_info_spmi[]; | ||
170 | extern struct acpi_dmtable_info acpi_dm_table_info_srat[]; | ||
171 | extern struct acpi_dmtable_info acpi_dm_table_info_srat0[]; | ||
172 | extern struct acpi_dmtable_info acpi_dm_table_info_srat1[]; | ||
173 | extern struct acpi_dmtable_info acpi_dm_table_info_tcpa[]; | ||
174 | extern struct acpi_dmtable_info acpi_dm_table_info_wdrt[]; | ||
175 | |||
176 | /* | ||
177 | * dmtable | ||
178 | */ | ||
179 | void acpi_dm_dump_data_table(struct acpi_table_header *table); | ||
180 | |||
181 | void | ||
182 | acpi_dm_dump_table(u32 table_length, | ||
183 | u32 table_offset, | ||
184 | void *table, | ||
185 | u32 sub_table_length, struct acpi_dmtable_info *info); | ||
186 | |||
187 | void acpi_dm_line_header(u32 offset, u32 byte_length, char *name); | ||
188 | |||
189 | void acpi_dm_line_header2(u32 offset, u32 byte_length, char *name, u32 value); | ||
190 | |||
191 | /* | ||
192 | * dmtbdump | ||
193 | */ | ||
194 | void acpi_dm_dump_asf(struct acpi_table_header *table); | ||
195 | |||
196 | void acpi_dm_dump_cpep(struct acpi_table_header *table); | ||
197 | |||
198 | void acpi_dm_dump_fadt(struct acpi_table_header *table); | ||
199 | |||
200 | void acpi_dm_dump_srat(struct acpi_table_header *table); | ||
201 | |||
202 | void acpi_dm_dump_mcfg(struct acpi_table_header *table); | ||
203 | |||
204 | void acpi_dm_dump_madt(struct acpi_table_header *table); | ||
205 | |||
206 | u32 acpi_dm_dump_rsdp(struct acpi_table_header *table); | ||
207 | |||
208 | void acpi_dm_dump_rsdt(struct acpi_table_header *table); | ||
209 | |||
210 | void acpi_dm_dump_slit(struct acpi_table_header *table); | ||
211 | |||
212 | void acpi_dm_dump_xsdt(struct acpi_table_header *table); | ||
213 | |||
87 | /* | 214 | /* |
88 | * dmwalk | 215 | * dmwalk |
89 | */ | 216 | */ |