1 /******************************************************************************
3 * Name: actables.h - ACPI table management
6 *****************************************************************************/
9 * Copyright (C) 2000, 2001 R. Byron Moore
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
26 #ifndef __ACTABLES_H__
27 #define __ACTABLES_H__
30 /* Used in Acpi_tb_map_acpi_table for size parameter if table header is to be used */
32 #define SIZE_IN_HEADER 0
36 acpi_tb_handle_to_object (
38 ACPI_TABLE_DESC
**table_desc
);
41 * tbconvrt - Table conversion routines
45 acpi_tb_convert_to_xsdt (
46 ACPI_TABLE_DESC
*table_info
,
47 u32
*number_of_tables
);
50 acpi_tb_convert_table_fadt (
54 acpi_tb_build_common_facs (
55 ACPI_TABLE_DESC
*table_info
);
59 * tbget - Table "get" routines
63 acpi_tb_get_table_ptr (
64 ACPI_TABLE_TYPE table_type
,
66 ACPI_TABLE_HEADER
**table_ptr_loc
);
70 ACPI_PHYSICAL_ADDRESS physical_address
,
71 ACPI_TABLE_HEADER
*buffer_ptr
,
72 ACPI_TABLE_DESC
*table_info
);
76 ACPI_PHYSICAL_ADDRESS RSDP_physical_address
);
79 acpi_tb_get_table_facs (
80 ACPI_TABLE_HEADER
*buffer_ptr
,
81 ACPI_TABLE_DESC
*table_info
);
85 * tbgetall - Get all firmware ACPI tables
89 acpi_tb_get_all_tables (
91 ACPI_TABLE_HEADER
*buffer_ptr
);
95 * tbinstall - Table installation
99 acpi_tb_install_table (
100 ACPI_TABLE_HEADER
*table_ptr
,
101 ACPI_TABLE_DESC
*table_info
);
104 acpi_tb_recognize_table (
105 ACPI_TABLE_HEADER
*table_ptr
,
106 ACPI_TABLE_DESC
*table_info
);
109 acpi_tb_init_table_descriptor (
110 ACPI_TABLE_TYPE table_type
,
111 ACPI_TABLE_DESC
*table_info
);
115 * tbremove - Table removal and deletion
119 acpi_tb_delete_acpi_tables (
123 acpi_tb_delete_acpi_table (
124 ACPI_TABLE_TYPE type
);
127 acpi_tb_delete_single_table (
128 ACPI_TABLE_DESC
*table_desc
);
131 acpi_tb_uninstall_table (
132 ACPI_TABLE_DESC
*table_desc
);
135 acpi_tb_free_acpi_tables_of_type (
136 ACPI_TABLE_DESC
*table_info
);
140 * tbrsd - RSDP, RSDT utilities
144 acpi_tb_get_table_rsdt (
145 u32
*number_of_tables
);
148 acpi_tb_scan_memory_for_rsdp (
154 ACPI_TABLE_DESC
*table_info
);
158 * tbutils - common table utilities
162 acpi_tb_system_table_pointer (
166 acpi_tb_map_acpi_table (
167 ACPI_PHYSICAL_ADDRESS physical_address
,
169 void **logical_address
);
172 acpi_tb_verify_table_checksum (
173 ACPI_TABLE_HEADER
*table_header
);
181 acpi_tb_validate_table_header (
182 ACPI_TABLE_HEADER
*table_header
);
185 #endif /* __ACTABLES_H__ */