1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
|
/******************************************************************************
*
* Name: actables.h - ACPI table management
* $Revision: 32 $
*
*****************************************************************************/
/*
* Copyright (C) 2000, 2001 R. Byron Moore
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __ACTABLES_H__
#define __ACTABLES_H__
/* Used in Acpi_tb_map_acpi_table for size parameter if table header is to be used */
#define SIZE_IN_HEADER 0
acpi_status
acpi_tb_handle_to_object (
u16 table_id,
acpi_table_desc **table_desc);
/*
* tbconvrt - Table conversion routines
*/
acpi_status
acpi_tb_convert_to_xsdt (
acpi_table_desc *table_info,
u32 *number_of_tables);
acpi_status
acpi_tb_convert_table_fadt (
void);
acpi_status
acpi_tb_build_common_facs (
acpi_table_desc *table_info);
u32
acpi_tb_get_table_count (
RSDP_DESCRIPTOR *RSDP,
acpi_table_header *RSDT);
/*
* tbget - Table "get" routines
*/
acpi_status
acpi_tb_get_table_ptr (
acpi_table_type table_type,
u32 instance,
acpi_table_header **table_ptr_loc);
acpi_status
acpi_tb_get_table (
ACPI_PHYSICAL_ADDRESS physical_address,
acpi_table_header *buffer_ptr,
acpi_table_desc *table_info);
acpi_status
acpi_tb_verify_rsdp (
ACPI_PHYSICAL_ADDRESS RSDP_physical_address);
acpi_status
acpi_tb_get_table_facs (
acpi_table_header *buffer_ptr,
acpi_table_desc *table_info);
ACPI_PHYSICAL_ADDRESS
acpi_tb_get_rsdt_address (
void);
acpi_status
acpi_tb_validate_rsdt (
acpi_table_header *table_ptr);
acpi_status
acpi_tb_get_table_pointer (
ACPI_PHYSICAL_ADDRESS physical_address,
u32 flags,
u32 *size,
acpi_table_header **table_ptr);
/*
* tbgetall - Get all firmware ACPI tables
*/
acpi_status
acpi_tb_get_all_tables (
u32 number_of_tables,
acpi_table_header *buffer_ptr);
/*
* tbinstall - Table installation
*/
acpi_status
acpi_tb_install_table (
acpi_table_header *table_ptr,
acpi_table_desc *table_info);
acpi_status
acpi_tb_recognize_table (
acpi_table_header *table_ptr,
acpi_table_desc *table_info);
acpi_status
acpi_tb_init_table_descriptor (
acpi_table_type table_type,
acpi_table_desc *table_info);
/*
* tbremove - Table removal and deletion
*/
void
acpi_tb_delete_acpi_tables (
void);
void
acpi_tb_delete_acpi_table (
acpi_table_type type);
void
acpi_tb_delete_single_table (
acpi_table_desc *table_desc);
acpi_table_desc *
acpi_tb_uninstall_table (
acpi_table_desc *table_desc);
void
acpi_tb_free_acpi_tables_of_type (
acpi_table_desc *table_info);
/*
* tbrsd - RSDP, RSDT utilities
*/
acpi_status
acpi_tb_get_table_rsdt (
u32 *number_of_tables);
u8 *
acpi_tb_scan_memory_for_rsdp (
u8 *start_address,
u32 length);
acpi_status
acpi_tb_find_rsdp (
acpi_table_desc *table_info,
u32 flags);
/*
* tbutils - common table utilities
*/
acpi_status
acpi_tb_map_acpi_table (
ACPI_PHYSICAL_ADDRESS physical_address,
u32 *size,
acpi_table_header **logical_address);
acpi_status
acpi_tb_verify_table_checksum (
acpi_table_header *table_header);
u8
acpi_tb_checksum (
void *buffer,
u32 length);
acpi_status
acpi_tb_validate_table_header (
acpi_table_header *table_header);
#endif /* __ACTABLES_H__ */
|