aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi/actables.h
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2007-02-02 11:48:18 -0500
committerLen Brown <len.brown@intel.com>2007-02-02 21:14:21 -0500
commitf3d2e7865c816258c699ff965768e46b50d536d3 (patch)
tree83d21269e506109275b77d3ed161883bba8a39cf /include/acpi/actables.h
parent2e42005bcdb4f63bed1cea7f537a5534d4bd7a57 (diff)
ACPICA: Implement simplified Table Manager
The Table Manager component has been completely redesigned and reimplemented. The new design is much simpler, and reduces the overall code and data size of the kernel-resident ACPICA by approximately 5%. Also, it is now possible to obtain the ACPI tables very early during kernel initialization, even before dynamic memory management is initialized. Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi/actables.h')
-rw-r--r--include/acpi/actables.h103
1 files changed, 30 insertions, 73 deletions
diff --git a/include/acpi/actables.h b/include/acpi/actables.h
index 4dbaf02fe526..1737a2f045f6 100644
--- a/include/acpi/actables.h
+++ b/include/acpi/actables.h
@@ -44,105 +44,62 @@
44#ifndef __ACTABLES_H__ 44#ifndef __ACTABLES_H__
45#define __ACTABLES_H__ 45#define __ACTABLES_H__
46 46
47/* Used in acpi_tb_map_acpi_table for size parameter if table header is to be used */
48
49#define SIZE_IN_HEADER 0
50
51/*
52 * tbconvrt - Table conversion routines
53 */
54acpi_status acpi_tb_convert_to_xsdt(struct acpi_table_desc *table_info);
55
56acpi_status acpi_tb_convert_table_fadt(void);
57
58acpi_status acpi_tb_build_common_facs(struct acpi_table_desc *table_info);
59
60u32
61acpi_tb_get_table_count(struct rsdp_descriptor *RSDP,
62 struct acpi_table_header *RSDT);
63
64/* 47/*
65 * tbget - Table "get" routines 48 * tbfind - find ACPI table
66 */ 49 */
67acpi_status 50acpi_status
68acpi_tb_get_table(struct acpi_pointer *address, 51acpi_tb_find_table(char *signature,
69 struct acpi_table_desc *table_info); 52 char *oem_id,
70 53 char *oem_table_id, acpi_native_uint * table_index);
71acpi_status
72acpi_tb_get_table_header(struct acpi_pointer *address,
73 struct acpi_table_header *return_header);
74
75acpi_status
76acpi_tb_get_table_body(struct acpi_pointer *address,
77 struct acpi_table_header *header,
78 struct acpi_table_desc *table_info);
79
80acpi_status
81acpi_tb_get_table_ptr(acpi_table_type table_type,
82 u32 instance, struct acpi_table_header **table_ptr_loc);
83
84acpi_status acpi_tb_verify_rsdp(struct acpi_pointer *address);
85
86void acpi_tb_get_rsdt_address(struct acpi_pointer *out_address);
87
88acpi_status acpi_tb_validate_rsdt(struct acpi_table_header *table_ptr);
89 54
90/* 55/*
91 * tbgetall - get multiple required tables 56 * tbinstal - Table removal and deletion
92 */ 57 */
93acpi_status acpi_tb_get_required_tables(void); 58acpi_status acpi_tb_resize_root_table_list(void);
94 59
95/* 60acpi_status acpi_tb_verify_table(struct acpi_table_desc *table_desc);
96 * tbinstall - Table installation
97 */
98acpi_status acpi_tb_install_table(struct acpi_table_desc *table_info);
99 61
100acpi_status 62acpi_status
101acpi_tb_recognize_table(struct acpi_table_desc *table_info, u8 search_type); 63acpi_tb_add_table(struct acpi_table_header *table,
64 acpi_native_uint * table_index);
102 65
103acpi_status 66acpi_status
104acpi_tb_init_table_descriptor(acpi_table_type table_type, 67acpi_tb_store_table(acpi_physical_address address,
105 struct acpi_table_desc *table_info); 68 struct acpi_table_header *table,
69 u32 length, u8 flags, acpi_native_uint * table_index);
106 70
107/* 71void acpi_tb_delete_table(acpi_native_uint table_index);
108 * tbremove - Table removal and deletion
109 */
110void acpi_tb_delete_all_tables(void);
111 72
112void acpi_tb_delete_tables_by_type(acpi_table_type type); 73void acpi_tb_terminate(void);
113 74
114void acpi_tb_delete_single_table(struct acpi_table_desc *table_desc); 75void acpi_tb_delete_namespace_by_owner(acpi_native_uint table_index);
115 76
116struct acpi_table_desc *acpi_tb_uninstall_table(struct acpi_table_desc 77acpi_status acpi_tb_allocate_owner_id(acpi_native_uint table_index);
117 *table_desc); 78
79acpi_status acpi_tb_release_owner_id(acpi_native_uint table_index);
118 80
119/*
120 * tbxfroot - RSDP, RSDT utilities
121 */
122acpi_status 81acpi_status
123acpi_tb_find_table(char *signature, 82acpi_tb_get_owner_id(acpi_native_uint table_index, acpi_owner_id * owner_id);
124 char *oem_id,
125 char *oem_table_id, struct acpi_table_header **table_ptr);
126 83
127acpi_status acpi_tb_get_table_rsdt(void); 84u8 acpi_tb_is_table_loaded(acpi_native_uint table_index);
128 85
129acpi_status acpi_tb_validate_rsdp(struct rsdp_descriptor *rsdp); 86void acpi_tb_set_table_loaded_flag(acpi_native_uint table_index, u8 is_loaded);
130 87
131/* 88/*
132 * tbutils - common table utilities 89 * tbutils - table manager utilities
133 */ 90 */
134acpi_status acpi_tb_is_table_installed(struct acpi_table_desc *new_table_desc); 91void
92acpi_tb_print_table_header(acpi_physical_address address,
93 struct acpi_table_header *header);
135 94
136acpi_status 95u8 acpi_tb_checksum(u8 * buffer, acpi_native_uint length);
137acpi_tb_verify_table_checksum(struct acpi_table_header *table_header);
138 96
139u8 acpi_tb_sum_table(void *buffer, u32 length); 97void acpi_tb_convert_fadt(struct acpi_table_fadt *fadt);
140 98
141u8 acpi_tb_generate_checksum(struct acpi_table_header *table); 99acpi_status acpi_tb_parse_root_table(struct acpi_table_rsdp *rsdp, u8 flags);
142 100
143void acpi_tb_set_checksum(struct acpi_table_header *table); 101void *acpi_tb_map(acpi_physical_address address, u32 length, u32 flags);
144 102
145acpi_status 103void acpi_tb_unmap(void *pointer, u32 length, u32 flags);
146acpi_tb_validate_table_header(struct acpi_table_header *table_header);
147 104
148#endif /* __ACTABLES_H__ */ 105#endif /* __ACTABLES_H__ */