Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/drivers/acpi/acpica/actables.h
26285 views
1
/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
2
/******************************************************************************
3
*
4
* Name: actables.h - ACPI table management
5
*
6
* Copyright (C) 2000 - 2025, Intel Corp.
7
*
8
*****************************************************************************/
9
10
#ifndef __ACTABLES_H__
11
#define __ACTABLES_H__
12
13
acpi_status acpi_allocate_root_table(u32 initial_table_count);
14
15
/*
16
* tbxfroot - Root pointer utilities
17
*/
18
u32 acpi_tb_get_rsdp_length(struct acpi_table_rsdp *rsdp);
19
20
acpi_status acpi_tb_validate_rsdp(struct acpi_table_rsdp *rsdp);
21
22
u8 *acpi_tb_scan_memory_for_rsdp(u8 *start_address, u32 length);
23
24
/*
25
* tbdata - table data structure management
26
*/
27
acpi_status
28
acpi_tb_get_next_table_descriptor(u32 *table_index,
29
struct acpi_table_desc **table_desc);
30
31
void
32
acpi_tb_init_table_descriptor(struct acpi_table_desc *table_desc,
33
acpi_physical_address address,
34
u8 flags, struct acpi_table_header *table);
35
36
acpi_status
37
acpi_tb_acquire_temp_table(struct acpi_table_desc *table_desc,
38
acpi_physical_address address,
39
u8 flags, struct acpi_table_header *table);
40
41
void acpi_tb_release_temp_table(struct acpi_table_desc *table_desc);
42
43
acpi_status acpi_tb_validate_temp_table(struct acpi_table_desc *table_desc);
44
45
acpi_status
46
acpi_tb_verify_temp_table(struct acpi_table_desc *table_desc,
47
char *signature, u32 *table_index);
48
49
u8 acpi_tb_is_table_loaded(u32 table_index);
50
51
void acpi_tb_set_table_loaded_flag(u32 table_index, u8 is_loaded);
52
53
/*
54
* tbfadt - FADT parse/convert/validate
55
*/
56
void acpi_tb_parse_fadt(void);
57
58
void acpi_tb_create_local_fadt(struct acpi_table_header *table, u32 length);
59
60
/*
61
* tbfind - find ACPI table
62
*/
63
acpi_status
64
acpi_tb_find_table(char *signature,
65
char *oem_id, char *oem_table_id, u32 *table_index);
66
67
/*
68
* tbinstal - Table removal and deletion
69
*/
70
acpi_status acpi_tb_resize_root_table_list(void);
71
72
acpi_status acpi_tb_validate_table(struct acpi_table_desc *table_desc);
73
74
void acpi_tb_invalidate_table(struct acpi_table_desc *table_desc);
75
76
void acpi_tb_override_table(struct acpi_table_desc *old_table_desc);
77
78
acpi_status
79
acpi_tb_acquire_table(struct acpi_table_desc *table_desc,
80
struct acpi_table_header **table_ptr,
81
u32 *table_length, u8 *table_flags);
82
83
void
84
acpi_tb_release_table(struct acpi_table_header *table,
85
u32 table_length, u8 table_flags);
86
87
acpi_status
88
acpi_tb_install_standard_table(acpi_physical_address address,
89
u8 flags,
90
struct acpi_table_header *table,
91
u8 reload, u8 override, u32 *table_index);
92
93
void acpi_tb_uninstall_table(struct acpi_table_desc *table_desc);
94
95
acpi_status
96
acpi_tb_load_table(u32 table_index, struct acpi_namespace_node *parent_node);
97
98
acpi_status
99
acpi_tb_install_and_load_table(acpi_physical_address address,
100
u8 flags,
101
struct acpi_table_header *table,
102
u8 override, u32 *table_index);
103
104
acpi_status acpi_tb_unload_table(u32 table_index);
105
106
void acpi_tb_notify_table(u32 event, void *table);
107
108
void acpi_tb_terminate(void);
109
110
acpi_status acpi_tb_delete_namespace_by_owner(u32 table_index);
111
112
acpi_status acpi_tb_allocate_owner_id(u32 table_index);
113
114
acpi_status acpi_tb_release_owner_id(u32 table_index);
115
116
acpi_status acpi_tb_get_owner_id(u32 table_index, acpi_owner_id *owner_id);
117
118
/*
119
* tbutils - table manager utilities
120
*/
121
acpi_status acpi_tb_initialize_facs(void);
122
123
void
124
acpi_tb_print_table_header(acpi_physical_address address,
125
struct acpi_table_header *header);
126
127
void acpi_tb_check_dsdt_header(void);
128
129
struct acpi_table_header *acpi_tb_copy_dsdt(u32 table_index);
130
131
void
132
acpi_tb_install_table_with_override(struct acpi_table_desc *new_table_desc,
133
u8 override, u32 *table_index);
134
135
acpi_status acpi_tb_parse_root_table(acpi_physical_address rsdp_address);
136
137
acpi_status
138
acpi_tb_get_table(struct acpi_table_desc *table_desc,
139
struct acpi_table_header **out_table);
140
141
void acpi_tb_put_table(struct acpi_table_desc *table_desc);
142
143
/*
144
* tbxfload
145
*/
146
acpi_status acpi_tb_load_namespace(void);
147
148
#endif /* __ACTABLES_H__ */
149
150